Tabby for Payment Setup API
Last updated: May 13, 2026
To accept Tabby payments, you must:
- Create a payment setup.
- Confirm the payment.
- Redirect the customer to Tabby.
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": 10000,3"currency": "AED",4"reference": "ORDER_01234",5"customer": {6"name": "Hannah Bret",7"email": {8"address": "hannah.bret@example.com"9},10"phone": {11"country_code": "+971",12"number": "500000001"13}14},15"settings": {16"success_url": "https://example.com/payments/success",17"failure_url": "https://example.com/payments/failure"18}19}
In the request body, provide the following:
| Field | Description |
|---|---|
number | The payment amount, in the minor currency unit. |
string | The three-letter ISO 4217 currency code. |
string | A reference you can use to identify the payment. |
string | The URL to redirect the customer to if the payment fails. |
string | The URL to redirect the customer to if the payment is successful. |
object | The customer's details. Provide as many fields as possible to support Tabby's credit assessment and improve the acceptance rate. |
string | The locale of the customer's device. For example, |
string | The customer's email address. |
string | The date of the customer's first transaction with you. |
string | The customer's identifier in your account. |
string | The date of the customer's last payment with you. |
string | The date the customer registered an account with you. |
string | The customer's full name. |
string | The customer's phone number. |
string | A description of the payment. |
array | Accommodation industry data, for travel sector merchants. |
string | The check-in date. |
string | The check-out date. |
string | The guest's date of birth. |
integer | The number of rooms booked. |
array | Airline industry data, for travel sector merchants. |
string | The flight's departure date. |
string | The passenger's date of birth. |
number | The total discount amount applied to the order, in the minor currency unit. |
array | An array of items in the order. |
number | The discount amount applied to the item, in the minor currency unit. |
string | The URL of an image of the item. |
integer | The quantity of the item. |
number | The unit price of the item, in the minor currency unit. |
string | A URL with more information about the item. |
number | The total shipping amount for the order, in the minor currency unit. |
number | The total tax amount applied to the order, in the minor currency unit. |
1{2"id": "set_rcmepwrchqab2wsergcafvijfy",3"processing_channel_id": "pc_wzjki6hw5puepb5fnvqlizj2e4",4"amount": 10000,5"currency": "AED",6"payment_type": "Regular",7"reference": "ORDER_01234",8"description": "Tabby payment",9"payment_methods": {10"tabby": {11"status": "ready",12"flags": []13}14},15"available_payment_methods": [16"tabby"17],18"settings": {19"success_url": "https://example.com/payments/success",20"failure_url": "https://example.com/payments/failure"21}22}
The response returns a payment_methods object, which contains the payment methods enabled on your account.
When all required fields are present, the payment_methods.tabby object shows a ready status.
Confirm the payment by calling the Confirm a payment setup endpoint and provide:
- The payment setup
idas the{id}path parameter. tabbyas the{payment_method_name}path parameter.
post
https://{prefix}.api.checkout.com/payments/setups/{id}/confirm/tabby
1{2"id": "pay_mbabizu24mvu3mela5njyhpit4",3"status": "Pending",4"reference": "ORDER_01234",5"customer": {6"id": "cus_y3oqhf46pyzuxjbcn2giaqnb44",7"email": "hannah.bret@example.com",8"name": "Hannah Bret",9"phone": {10"country_code": "+971",11"number": "500000001"12}13},14"_links": {15"self": {16"href": "https://{prefix}.api.checkout.com/payments/pay_mbabizu24mvu3mela5njyhpit4"17},18"redirect": {19"href": "https://checkout.tabby.ai/?sessionId=ad76fb0e-3b52-4c8f-85d3-5171d84e5b6b&apiKey=pk_test_e7522500-ea7b-44d4-9f76-22b3ef8167b7&product=installments&merchantCode=CKOAED"20}21}22}
Redirect the customer to the _links.redirect.href URL from the response. The customer completes the payment on the Tabby page and is then redirected back to your settings.success_url or settings.failure_url.
If the customer has a Tabby account, they receive a one-time password (OTP) to authenticate. If the customer does not have an account, they are redirected to sign up for an account with Tabby.
Information
The sign-up option is only available in the production environment.