For general setup instructions, see Library Setup.
How It Works
When 3DS is required:- Customer enters card details (or uses Google Pay/Apple Pay)
- Library detects 3DS requirement from the issuer
- Authentication challenge displays (popup or iframe)
- Customer completes verification (password, SMS code, biometric, or app confirmation)
- Result returned to your callback with 3DS data
When 3DS Triggers
3DS may be triggered by:| Trigger | Description |
|---|---|
| Card issuer requirement | Bank requires authentication for this card/amount |
| Regional regulations | PSD2/SCA in Europe, similar rules in other regions |
| Transaction amount | High-value transactions often require 3DS |
| Risk assessment | Issuer flags transaction as requiring verification |
| Gateway configuration | Your PSP settings may require 3DS |
Supported Payment Methods
| Method | 3DS Support |
|---|---|
| CardPay | Yes (automatic) |
| GooglePay | Yes (automatic) |
| ApplePay | Yes (automatic) |
| PayPal | N/A (uses own authentication) |
| BankPay | N/A (uses bank authentication) |
3DS Data in Results
After successful 3DS authentication, the result includes authentication data intokenAndMaskedCardModel.threeDs:
ThreeDS Fields
| Field | Description |
|---|---|
version | 3DS protocol version (e.g., “2.1.0”, “2.2.0”) |
eci | Electronic Commerce Indicator - liability shift indicator |
authenticationValue | Cardholder Authentication Verification Value (CAVV/AAV) |
xid | Transaction identifier |
sli | Service Level Indicator (Mastercard only) |
ECI Values
The ECI indicates the authentication result and liability:| ECI | Visa/Amex | Mastercard | Meaning |
|---|---|---|---|
| 05 | 02 | Fully authenticated | Liability shift to issuer |
| 06 | 01 | Attempted (issuer not enrolled) | Liability shift to issuer |
| 07 | 00 | Not authenticated | No liability shift |
Handling 3DS Failures
If 3DS authentication fails, the payment will not complete. The callback receives a result withclientSuccess: false:
PSP Requirements
3DS requires a payment processor that supports 3DS connections. Not all PSPs support 3DS for all card types. When configuring your PSP in Orchestra, ensure:- PSP supports 3DS (check with your provider)
- 3DS credentials are configured in your PSP account
threeDsAccountNameis set when creating sessions (if using a separate 3DS provider)
Frictionless vs. Challenge Flow
3DS 2.x supports two flows:| Flow | Description | User Experience |
|---|---|---|
| Frictionless | Risk-based authentication passes silently | No interruption |
| Challenge | User must complete verification | Popup/redirect |