API Endpoint | Purpose | Method |
---|---|---|
/api/v2/checkout | Create session and payment | POST |
/api/v2/checkout/{id of session}/send_hpp_link | Send payment link via SMS/Push | POST |
/api/v2/payments/{payment.id} | Retrieve payment status | GET |
/api/v2/checkout/{id of session}/cancel | Cancel session | POST |
Key Status Codes | Description |
---|---|
CREATED | Payment initiated, waiting for completion |
AUTHORIZED | Payment approved, not yet captured |
CLOSED with “captures” object | Payment approved and captured successfully |
REJECTED | Payment declined |
EXPIRED | Session/payment expired or cancelled |
Register with Tabby and finish the application
Collect the Test API Keys and Merchant codes from Tabby Merchant Dashboard or your Tabby Account manager
Set up the Tabby session creation from your terminal
Make sure a payment link is successfully sent as an SMS to the customer
Set up Payment Processing on your Backend
Once the payment is complete - print the receipt for the customer
Test your Integration, contact Tabby Integrations Team in the Integration email thread to complete the testing process
After successful testing passed receive the Live API keys and deploy to production
required
in the API Docs, as additional data allows Tabby to increase the AOVs and conversion approval rates.
“created”
or “rejected”
:
“created”
- save the id of the session (will be required for cancellation step) and payment.id (will be required for payment status check and refund steps) received in the response:“rejected”
- show the Payment failure screen and offer the customer an alternative payment method.“rejection_reason”
field can take the following values, you may optionally add human readable messages for cashier:
Reason | English | Arabic |
---|---|---|
not_available | Sorry, Tabby is unable to approve this purchase. Please use an alternative payment method for your order. | نأسف، تابي غير قادرة على الموافقة على هذه العملية. الرجاء استخدام طريقة دفع أخرى. |
order_amount_too_high | This purchase is above your current spending limit with Tabby, try a smaller cart or use another payment method | قيمة الطلب تفوق الحد الأقصى المسموح به حاليًا مع تابي. يُرجى تخفيض قيمة السلة أو استخدام وسيلة دفع أخرى. |
order_amount_too_low | The purchase amount is below the minimum amount required to use Tabby, try adding more items or use another payment method | قيمة الطلب أقل من الحد الأدنى المطلوب لاستخدام خدمة تابي. يُرجى زيادة قيمة الطلب أو استخدام وسيلة دفع أخرى. |
“created”
status in the response to the previous request.CREATED
.authorized
or closed
status is received - mark the order as successful in your OMS. You can ignore other Webhooks received for this payment.id
.rejected
status - mark the payment as unsuccessful and ask the customer to pay with another payment method.CREATED
- the payment has not been completed yet, wait for it to change to one of the terminal statuses.AUTHORIZED
or CLOSED
- a payment was placed successfully, mark orders as successful and proceed with the order on your POS/OMS.REJECTED
or EXPIRED
- a payment is not successful. Ask the customer to pay with a different payment method.authorized
, while Retrieve Request - in upper case: AUTHORIZED
.CREATED
. Once canceled - the status will change to EXPIRED
.
If the payment has already been authorized, attempting to cancel it will return the following error: 400 Bad Request
AUTHORIZED
or CLOSED
. Then show a success screen, print a receipt and proceed with the order.
AUTHORIZED
, CLOSED
, REJECTED
or EXPIRED
- the session cannot be cancelled.payment.id
by matched payment.order.reference_id
in your OMS.
You can also process a refund from the Tabby Merchant Dashboard.
CLOSED
with a captured amount present in the “captures”:[]
array of objects can be refunded.CAPTURED
.Receipt data template |
---|
Merchant Order / Transaction ID |
Date and Time |
Tabby logo |
Tabby Payment ID (optional) |
Merchant name (optional) |
OTP:8888
on Tabby Checkout Page.“created”
- the customer is eligible to use Tabby.CAPTURED
CLOSED
, captured amount is present in the “captures”:[]
array of objects.NEW
on the Merchant Dashboard or AUTHORIZED
via Retrieve Payment API call - kindly contact your Tabby Account manager or partner@tabby.ai
to update auto-capture settings.“rejected”
- the customer is not eligible to use Tabby.
“created”
- the customer is eligible to use Tabby.EXPIRED
.“EXPIRED”
after session expiry timeout + 5 minutes (20 + 5 by default). After that the payment will remain in status “EXPIRED”
, no need to check it further.OTP:8888
on Tabby Checkout Page.“created”
- the customer is eligible to use Tabby.REJECTED
.Secret API Key
and merchant_code
into the appropriate Collection Variables.