KNET
Start accepting payments using KNET debit cards, the leading payment method in Kuwait.
To start accepting KNET payments, please contact your customer success manager.
Process a KNET payment
KNET payments follow a two-step process:
Step 1: Request a KNET payment
The request
Use the details below to set up your request.
Endpoints
Live
Sandbox
Header parameters
Header | Value |
---|---|
|
|
|
|
Body parameters
The table below describes the minimum recommended fields. You can find the full list, as well as complete request and response examples, in our API reference.
Field name | Description |
---|---|
amount Integer required | The payment amount. |
| The currency in which the payment is being made (three-letter ISO 4217 code). Set this to |
| Details about the payment source. |
| The type of payment source. Set this to |
| The customer's preferred language (2-letter ISO code). Set this to either |
| You can use this to pass and store any additional transaction data you wish to archive with the transaction and make available as searching criteria.\ <= 255 characters. Alphanumeric characters and spaces only. |
| You can use this to pass and store any additional transaction data you wish to archive with the transaction and make available as searching criteria.\ <= 255 characters. Alphanumeric characters and spaces only. |
| You can use this to pass and store any additional transaction data you wish to archive with the transaction and make available as searching criteria.
|
| This token (an eight-digit token generated by the merchant) allows you to re-use card details for multiple payments. When a subsequent payment is initialized with the same card token, the customer will be presented with two options: pay with KFast (where they don't need to enter their card details again), or with KNET as usual.
|
| You can use this to pass and store any additional transaction data you wish to archive with the transaction and make available as searching criteria.\ <= 255 characters. Alphanumeric characters and spaces only. |
| You can use this to pass and store any additional transaction data you wish to archive with the transaction and make available as searching criteria.
|
| This is an ID for merchant PTLF functionality tracking. The value will appear on the bank statement.
|
Payment requests including a card token
When sending a payment request that includes
source.card_token
, the option to pay via KFast is offered. If the token is new, the first payment will happen via the usual flow, but with the option to "register for KFast" before submitting. This flow is not testable in the sandbox environment because the registration for KFast requires the customer to enter a one-time password sent to the mobile phone number registered with the bank, which is not present in sandbox.
Request example
{
"amount": 1000,
"currency": "KWD",
"source": {
"type": "knet",
"language": "en",
"user_defined_field1": "first user defined field",
"user_defined_field2": "second user defined field",
"card_token": "01234567",
"user_defined_field4": "fourth user defined field",
"ptlf": "96033587c7b5"
}
}
The response
If you receive a 202 Success
response containing a status
field set to Pending
, your request was successful.
Response example
{
"id": "pay_4gubyq2w335upc54dx7a4257lq",
"status": "Pending",
"customer": {
"id": "cus_r3cajfpbj3ju7jyq7afcg3qc4a"
},
"_links": {
"self": {
"href": "https://api.sandbox.checkout.com/payments/pay_4gubyq2w335upc54dx7a4257lq"
},
"redirect": {
"href": "https://sbapi.ckotech.co/knet-external/redirect/tok_tl6kftlhdpzephqelsbpyovl4i/pay"
}
}
}
Step 2: Redirect the customer
Redirect your customer to the redirect
link’s href in the response. This will allow the customer to authorize the payment, before they are transferred to your predefined success or failure URL.
Get details about a KNET payment
You can retrieve details about an existing KNET payment with the following endpoint.
The request
Use the details below to set up your request.
Endpoint
Live
Sandbox
Header and path parameters
Header | Value |
---|---|
|
|
|
|
Path | Value |
---|---|
| The payment ID found in the response of the initial payment. |
The response
Response example
{
"id": "pay_4gubyq2w335upc54dx7a4257lq",
"requested_on": "2019-05-23T17:04:05Z",
"source": {
"type": "knet",
"language": "en",
"user_defined_field1": "first user defined field",
"user_defined_field2": "second user defined field",
"user_defined_field4": "fourth user defined field",
"card_token": "01234567",
"ptlf": "96033587c7b5",
"knet_payment_id": "100201914315601265",
"knet_result": "Captured",
"bank_reference": "914310000349",
"knet_transaction_id": "201914384388126",
"auth_code": "B00775",
"post_date": "0524",
"avr": "N"
},
"amount": 1000,
"currency": "KWD",
"payment_type": "Regular",
"status": "Captured",
"approved": true,
"risk": {
"flagged": false
},
"customer": {
"id": "cus_kx75h5tcegyednxeyvtn6vy3sq"
},
"_links": {
"self": {
"href": "https://api.sandbox.checkout.com/payments/pay_c2ynk5nnjacuxia3r4matf5wmu"
},
"actions": {
"href": "https://api.sandbox.checkout.com/payments/pay_c2ynk5nnjacuxia3r4matf5wmu/actions"
}
}
}
Refund a KNET payment
If you want to refund a KNET payment, you need to do so through KNET's own portal.
Any refunds processed via KNET will not appear in your Checkout.com Hub account or be available in reports you create with our reconciliation API.
Cancel a KNET payment
If the customer fails to complete their payment within seven minutes, we will automatically void the payment and send a payment_expired
webhook.
If the customer cancels their payment, we will send a payment_canceled
webhook.
Testing KNET
To start testing, you'll need to:
- create a test account, and
- contact your customer success manager or integrations engineer to activate KNET payments in the sandbox environment.
-
Create a KNET transaction as above, following the redirect link in the response to KNET's website.
-
Enter the following details:
  -   Select your bank: Knet Test Card [KNET1]
  -   Card number: 888888 000 000 000 1
  -   Expiration date: 09 | 2021
  -   PIN: 1234 -
Click "Submit", and then "Confirm".
-
You should then be redirected to your predefined success URL.
Can we help?
Thanks for using Checkout.com. If you need any help or just have a question, please get in touch with our support team at [email protected].
Updated 5 months ago