Skip to main content

Payment page

You can show the payment details to the customer yourself, or send them to our page:

https://cabinet.example.com/payment/{orderId}

{orderId} is the ord_… id from the create response. The page is public: it needs no login and shows nothing about you or the provider, only what the customer needs to pay.

What the customer sees

While the order is open:

  • the amount and currency, with a copy button;
  • a countdown to expiresAt, green above five minutes, amber above two, red below;
  • the payment details for the rail: card number, phone number, account number, IBAN or UPI id, holder and bank as applicable, each with a copy button; Kaspi shows the card and the phone together;
  • for SBP, a QR code that opens the phone number in the customer's banking app; for UPI, a QR code with the UPI id and the amount that any UPI app opens;
  • for UPI, a field for the UTR the customer's bank issued. It is stored on the order as payerReference and shown in your cabinet and to the reviewer; it does not change the status;
  • I have paid, which opens a short explanation that the status updates on its own, and Cancel, which sends the customer to failUrl.

The page polls the order every three seconds and switches to a result screen on its own:

Order stateScreenLink
Completed"Payment completed" with the amountsuccessUrl, or backUrl if not set
Canceled"Payment cancelled: the window expired or the payment was cancelled"failUrl, or backUrl if not set
Dispute"Your payment is under review"none

Links are shown only when the URL was given on the order and is an absolute http(s) address.

What it does not do

The page never changes an order's status. "I have paid" does not mark anything, and the UTR field only stores what the customer typed: only the provider's confirmation moves an order forward. If the customer paid and nothing changed after a few minutes, the receipt goes to you, and you open an appeal.

Using your own page

The create response carries everything the page shows. If you render the details yourself, keep the countdown honest: after expiresAt the details are no longer valid, and a transfer made to them lands in an appeal rather than in a completion.