Skip to content
Guarantee Pay Docs

API

Return URL & statuses

When the payment reaches a final state, the checkout page sends the customer to your return URL with extra query parameters. Any parameters already in your URL are kept.

https://shop.example.com/pay/return?order_id=ORD-1001&pp_status=completed&transaction_ref=k3J9x…&pp_id=k3J9x…
ParameterMeaning
pp_statusPayment status when the customer left checkout.
pp_idThe payment ID from create charge.
transaction_refSame value as pp_id, kept for older clients.
Treat these parameters as a hint only. Anyone can type pp_status=completed into a URL. Call verify-payment on your server before you fulfil.

Payment statuses

StatusMeaningFinal?
initiatedCreated. The customer has not submitted a payment yet.no
pendingThe customer submitted a payment and it is waiting for SMS or gateway confirmation.no
completedPaid and confirmed. The only status you should fulfil on.yes
canceledThe customer cancelled, or an admin cancelled the payment.yes
expiredA sender-number checkout was not confirmed within its wait window (15 minutes).yes*
refundedMarked as refunded by an admin or the refund API.yes

* Expired sender-number checkouts are deleted by the cron job. After that, verify-payment returns INVALID_PP_ID. Treat that response for an unpaid order as "not paid", and create a new charge if the customer tries again.