Overview
3D Secure (3DS) adds an extra layer of authentication for card payments. When a card issuer requires 3DS, the Flowlix API returns arequires_action status with a redirect URL. Your integration must handle this status and redirect the customer to complete authentication.
Flowlix supports 3DS 2.0 (the current standard mandated by PSD2/SCA in Europe). The decision on whether 3DS is needed is made by the card issuer — you don’t need to request it explicitly.
How it works
- Create a payment with
return_url - If 3DS is needed, the response includes
status: "requires_action"andnext_action - Redirect the customer to
next_action.redirect_url - Customer completes authentication (SMS code, biometric, etc.)
- Customer is redirected back to your
return_url - Check the payment status — it will be
succeededorfailed
Creating a payment with 3DS support
Includereturn_url in your payment request. All card and customer sub-fields are required by the API — see Direct API for the complete list.
Handling the response
No 3DS required
GET /v1/payments/{id} until the status becomes succeeded or failed.
3DS required
After 3DS
The customer returns to yourreturn_url. Check the payment status:
succeeded, failed, or still pending (poll until resolved).
Timeout
If the customer doesn’t complete 3DS in time, the payment status changes toexpired. Create a new payment to retry.
Test cards
| Card | Behavior |
|---|---|
4635 4400 0000 2223 | Triggers 3DS challenge (sandbox) |
4111 1111 1111 1111 | Approves without 3DS (sandbox) |