Payment intent statuses

The statuses represent the various states of a customer's payment as it interacts with the hosted checkout integration.

  • REQUIRES_PAYMENT_METHOD: The initial status of the payment intent. A payment method must be attached to the payment intent before the payment intent can be confirmed and the payment amount captured. Attempts to confirm a payment intent with this status will fail. A payment intent moves back to the REQUIRES_PAYMENT_METHOD status if the payment method fails to authorize the payment.

  • PROCESSING: The payment intent moves to the PROCESSING status once your integration calls the confirmIntent function. The payment intent cannot be modified while in the PROCESSING status.

    Important

    In the event of a payment processor outage, the confirm payment intent endpoint results in the payment intent remaining in the PROCESSING status. The hosted checkout integration invokes the success callback function in the SDK, but it is up to you to decide if a payment intent in the PROCESSING status after confirm payment intent returns is acceptable as a success or a failure. If you accept the risk that the payment authorization may fail once the payment processor comes back online, you can consider the payment intent as a success and proceed with creating the order. If you do not accept the risk and want to consider the payment intent as a failure, you should not proceed with creating the order.

  • REQUIRES_CAPTURE: The payment intent moves into the REQUIRES_CAPTURE status if the payment intent has been successfully confirmed. The payment method has an associated authorization that can capture the payment amount in the payment intent. Modifications to the payment intent in this status return an HTTP 409 conflict response code. You use the externalReferenceId in the payment intent as the payment identifier for a Toast platform check.

  • REQUIRES_CONFIRMATION: This status is reserved for future use.

  • SUCCEEDED: The payment intent moves to the SUCCEEDED status if the payment amount was successfully captured.

  • REQUIRES_ACTION: This status is reserved for future use.

  • FAILED: The payment intent failed to authorize or capture the payment amount.

  • CANCELLED: The payment was cancelled before authorization or the payment was voided.