Payment statuses

Endpoint: GET /sdk-partner/alternative-mobile-pay/mobile-pay/{id}/status

Use the current payment status to decide whether to wait, redirect the buyer, 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.

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.
redirect_pending Google Pay requires 3DS. Obtain redirect_data from the response and redirect the buyer. If this status arrived in a webhook, first query GET status; the webhook does not contain redirect_data.
pending, order_scheduled Processing is ongoing. Continue checking for a final result or a required action.

The API Reference contains response schemas and examples. See the Google Pay guide for the redirect flow 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.