Possible Statuses

Understand the possible statuses of a payment, when each one occurs, and how to handle final, intermediate, and Sandbox behaviors.

Use payment statuses to decide when to wait for processing, finalize an operation, investigate a failure, or update your integration's internal state.

When to use

Refer to this page when handling a payment's return, reconciling the status displayed to the customer, or processing events related to the payment cycle. The status indicates whether the operation is still processing, completed successfully, failed, or was cancelled/refunded.

Statuses and recommended handling

StatusDescriptionHow to handle in the integration
PENDINGAwaiting processing.Keep the payment as pending and wait for a status update.
BANK_PROCESSINGSent to the bank.Indicate that the payment is in bank processing and do not finalize the operation as paid.
PAIDPaid and settled.Mark the payment as completed and release the flow dependent on the confirmation.
FAILEDFailed — check the reason in the return.Log the failure, read the returned reason, and guide the user to try again when applicable.
CANCELLEDPayment cancelled before execution.Stop the execution flow and keep the cancellation history.
REFUNDEDAmount refunded.Update the payment as refunded and reflect the refund in your internal balance or report.
AWAITING_CHECKOUT_RISK_ANALYSIS_REQUESTUnder analysis.Treat as an intermediate state: wait for the analysis to finish before confirming or rejecting the payment.

Common status flow

  1. After the payment is created, treat PENDING as an initial waiting state.
  2. When the payment is sent for external processing, treat BANK_PROCESSING as an intermediate state.
  3. Only finalize the flow upon receiving a conclusive status, such as PAID, FAILED, CANCELLED, or REFUNDED.
  4. If you receive AWAITING_CHECKOUT_RISK_ANALYSIS_REQUEST, wait for the analysis before releasing the product, service, or next step of the journey.
PENDING → BANK_PROCESSING → PAID
                         ↘ FAILED
PENDING → CANCELLED
PAID → REFUNDED
AWAITING_CHECKOUT_RISK_ANALYSIS_REQUEST → wait for new update

Important fields and decisions

When processing the response, validate at least the following information:

InformationWhen to observeRecommended decision
Payment statusOn every updateUse the status as the primary source for updating your internal database.
Failure reasonWhen the status is FAILEDDisplay an appropriate operational message and log the reason for support.
EnvironmentDuring Sandbox testingDo not use the Sandbox result as evidence of real bank settlement.

Best practices

  • Do not release access, product, or service while the status is PENDING, BANK_PROCESSING, or AWAITING_CHECKOUT_RISK_ANALYSIS_REQUEST.
  • Update your database idempotently (the same update may be received more than once and should not duplicate effects).
  • Log the previous status and the new status to facilitate auditing and support.
  • For failures, check the returned reason before guiding a retry attempt.
📘

In Sandbox, all payments return FAILED after creation. This is expected, since there is no real bank settlement in the testing environment.

Related content



Did this page help you?