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 sessionCreate checkout session with
paymentMethods.card.eventToken=ORDERHosted forms: Submit Create paymentCreate payment with:
{ ... "paymentMethods": { "integrationType": "HOSTED", "type": "CARD", "card": { "eventToken": "ORDER", ... } } }Direct integration: Submit Create paymentCreate 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 paymentConfirm payment request using the payId returned in the inital call and with paymentMethods.card.eventToken=ORDER.