Payment statuses
Endpoint: GET /sdk-partner/alternative-mobile-pay/mobile-pay/{id}/status
Use the current payment status to decide whether to wait or process a final result. A browser redirect is not payment confirmation. New payments start as pending; a repeated create request returns the current state of the existing payment.
Start polling 5 seconds after the create and continue until the status is final. Webhooks can bring the result sooner, but delivery can be delayed: rely on polling.
| Status | Action |
|---|---|
paid |
Payment completed. This is a final payment outcome. |
order_failed |
Payment failed. This is a final payment outcome. |
refunded |
A partial or full refund has been confirmed. Use refunded_amount to determine how much was returned; this status does not imply a full refund. |
pending |
Processing is ongoing. If the response carries redirect_data, send the buyer to redirect_data.url. Keep polling. |
order_scheduled |
Deprecated. Replaced by pending; handle it as pending. |
redirect_pending |
Deprecated. Google Pay; replaced by pending; handle it as pending. |
The API Reference contains response schemas and examples. See the payment page step for Apple Pay and Google Pay and Refunds for the separate refund operation and its statuses.
Unknown status or timeout
If you receive a status you do not recognize, keep the result unresolved: do not treat it as success or failure. Poll at a reasonable interval and set an overall timeout on your side.
If the result remains unresolved past that timeout, stop automated polling and contact support with the payment id. Your timeout does not cancel the payment or prove that it failed. Keep the operation available for reconciliation and continue accepting late webhooks; do not create a replacement payment merely because the original timed out.