KNET for Payment Setup API
Last updated: April 30, 2026
To accept KNET payments, you must:
- Create a payment setup.
- Confirm the payment.
- Redirect the customer to KNET.
Call the Create a payment setup endpoint.
Information
Your base URL's {prefix} value is unique to your account and environment. To learn how to retrieve your base URLs for the sandbox and production environments, see API endpoints.
post
https://{prefix}.api.checkout.com/payments/setups
1{2"amount": 1000,3"currency": "KWD",4"processing_channel_id": "pc_wzjki6hw5puepb5fnvqlizj2e4",5"reference": "ORD-5023-4E89",6"payment_methods": {7"knet": {8"language": "en"9}10},11"settings": {12"success_url": "https://example.com/payments/success",13"failure_url": "https://example.com/payments/failure"14}15}
In the request body, provide the following:
| Field | Description |
|---|---|
number | The payment amount, in the minor currency unit. |
string | Three-letter ISO 4217 currency code. Set to |
string | Supported values:
|
string | The processing channel's unique identifier. |
string | The URL to redirect the customer to after a failed payment. |
string | The URL to redirect the customer to after a successful payment. |
string | A description of the payment. |
string | A unique reference for the payment. |
1{2"id": "set_rcmepwrchqab2wsergcafvijfy",3"processing_channel_id": "pc_wzjki6hw5puepb5fnvqlizj2e4",4"amount": 1000,5"currency": "KWD",6"payment_type": "Regular",7"reference": "ORD-5023-4E89",8"payment_methods": {9"knet": {10"status": "ready",11"flags": []12}13},14"available_payment_methods": [15"knet"16],17"settings": {18"success_url": "https://example.com/payments/success",19"failure_url": "https://example.com/payments/failure"20}21}
The response returns a payment_methods object with the payment methods enabled on your account.
Providing all required fields sets the payment_methods.knet object to a ready status.
Confirm the payment by calling the Confirm a payment setup endpoint and provide:
- The payment setup
idas the{id}path parameter. knetas the{payment_method_name}path parameter.
post
https://{prefix}.api.checkout.com/payments/setups/{id}/confirm/knet
If you receive a 202 Success response containing a status field set to Pending, your request was successful.
1{2"id": "pay_4gubyq2w335upc54dx7a4257lq",3"status": "Pending",4"customer": {5"id": "cus_r3cajfpbj3ju7jyq7afcg3qc4a"6},7"_links": {8"self": {9"href": "https://{prefix}.api.sandbox.checkout.com/payments/pay_4gubyq2w335upc54dx7a4257lq"10},11"redirect": {12"href": "https://sbapi.ckotech.co/knet-external/redirect/tok_tl6kftlhdpzephqelsbpyovl4i/pay"13}14}15}
Redirect the customer to the redirect.href URL from the confirm response. The customer completes payment on the KNET page and is then sent to your settings.success_url or settings.failure_url.