Last updated

Two Step Payment - Authenticate First, Confirm Later

In some e-commerce scenarios, it's useful to separate the moment a customer is authenticated from the moment their payment is finalized. This two-step flow allows you to authenticate a customer and initiate a payment intent without immediately authorizing the funds. Such an approach is particularly relevant when final order approval or stock confirmation is required before completing the transaction.

Implementation Workflow

The implementation follows two key steps:

Step 1: Authentication

You can initiate a payment with authentication only intent via any of the three integration types we provide

  • Hosted Payment Page: Submit Create checkout session with paymentMethods.card.eventToken=ORDER

  • Hosted Forms: Submit Create payment with:

    {
      ...
      "paymentMethods": {
        "integrationType": "HOSTED",
        "type": "CARD",
        "card": {
            "eventToken": "ORDER",
            ...
        }
      }
    }
  • Direct Integration: Submit Create payment with:

    {
      ...
      "paymentMethods": {
        "integrationType": "DIRECT",
        "type": "CARD",
        "card": {
            "eventToken": "ORDER",
            ...
        }
      }
    }
    

Step 2: Confirm Payment

Once you're ready to proceed with charging the customer, send a Confirm payment request using the payId returned in the inital call and with paymentMethods.card.eventToken=ORDER.