3DS
We prioritize the security and protection of card payments through the implementation of 3D Secure (3DS), an advanced authentication protocol. 3DS adds an extra layer of security to online transactions, reducing the risk of fraudulent activities and ensuring a safer payment experience for you and your consumers.
Overview of 3DS
3D Secure 2.0 is an authentication protocol that provides an additional layer of security for online credit and debit card transactions.
-
European Union (EU):
- Directive: Payment Services Directive 2 (PSD2).
- Regions: All EU member states, including the European Economic Area (EEA) countries.
-
United States:
- No specific directive at the federal level. However, individual card networks like Visa, Mastercard, American Express, and Discover have implemented their own 3DS programs to enhance security for card-not-present transactions.
-
Canada:
- Directive: There is no specific federal directive, but individual card networks may enforce 3DS requirements.
3DS 2.0 allows you to authenticate consumers by using a wide range of data elements, such as biometric data, device information, and transaction history. This reduces the likelihood of fraudulent transactions and provides a more secure online shopping experience.
Liability Shift in 3DS
One of the significant benefits of 3D Secure is the liability shift. When a transaction is successfully authenticated through 3DS, the liability for any chargeback resulting from fraudulent use of the card shifts from you to the card issuer or issuing bank. This means that in cases where a 3DS-authenticated transaction is later disputed as fraudulent, you are protected from financial liability, and the responsibility falls on the card issuer to investigate and resolve the dispute.
With Paysafe's support for 3DS, you can provide consumers with a secure payment environment while safeguarding your business from potential losses due to fraudulent chargebacks. By leveraging 3DS, you can build trust and confidence, enhancing the overall payment experience for consumers.
How Paysafe Checkout supports 3DS
We offer comprehensive support for 3DS, seamlessly integrating the authentication process into the payment flow. When a consumer initiates a card payment, our system communicates with the issuing bank or card network to enable 3DS authentication. The consumer may be redirected to their card issuer's authentication page, where they provide additional verification, such as a one-time password (OTP) or biometric data.
With Paysafe Checkout, it's easy to configure 3DS settings with the click of a mouse button. You can choose to skip 3DS for all consumer transactions completely, or you can even set a certain limit to enforce 3DS authentication.
- Skip 3DS (only available for non-EU regions).
- Enable 3DS 2.0.
Skip 3DS
To skip 3DS authentication, contact the Integrations team - this option is only available for non-EU regions.
3DS should be enabled for the card account and support schemes - the Integration Support team can assist you with this.
Setup
- Provide your Public API key.
- Provide the following parameters in the options object:
- currency, amount, merchantRefNum, customer, threeDs.
- paymentMethodDetails - mandatory, but can be sent as an empty object.
With multiple accounts, provide accountId for the account you want to use to process the payment.
- Invoke a resultCallback function to capture the transaction details.
To understand the payment handle status before taking the next action, invoke a closeCallback function (optional). - Checkout tokenizes the information provided by the consumer and responds with a paymentHandleToken.
- The payment is authorized following completion of the Payments API call.
- The funds are transferred following completion of the settlement process.
Server-to-server calls
- Capture the amount, paymentHandleToken and transactionType from the result object in the resultCallback function.
- If transactionType is PAYMENT, call the Payments API.
- We send transaction and settlement details in the payments response, which you can use for reconciliation.
- Make a note of the id returned in the payments response because it can be used for void authorization, settlement and refunds.
Payments code example: No consumer restriction
<html>
<head>
<script src="https://api.test.paysafe.com/checkout/v2/paysafe.checkout.min.js"></script>
</head>
<body>
<button onclick="checkout()">Deposit</button>
</body>
<script>
function checkout() {
var API_key = "c3V0LTM0ODg2MDpCLXFhMi0wLTVkM2VjYjMwLTEtMzAyYzAyMTQyYTM3NjgxMmE2YzJhYzRlNmQxMjI4NTYwNGMwNDAwNGU2NWI1YzI4MDIxNDU1N2EyNGFiNTcxZTJhOWU2MDVlNWQzMjk3MjZjMmIzZWNjNjJkNWY=";
options = {
currency: "USD",
amount: 540,
merchantRefNum: "162938285366512",
customer: {
firstName: "Kumar",
lastName: "Priyanshu",
email: "priyanshukumar.0309@gmail.com",
},
/*************************************3DS Object**********************************************/
"threeDs": {
"merchantUrl": "https://api.qa.paysafe.com/checkout/v2/index.html#/desktop",
"deviceChannel": "BROWSER",
"messageCategory": "PAYMENT",
"authenticationPurpose": "PAYMENT_TRANSACTION",
"transactionIntent": "GOODS_OR_SERVICE_PURCHASE"
},
/********************************************************************************************/
paymentMethodDetails: {
card: { accountId: 1001461040
}
},
"billingDetails": {
"nickName": "John Doe",
"street": "20735 Stevens Creek Blvd",
"street2": "Montessori",
"city" :"Los Angeles",
"state": "CA",
"country": "US",
"zip": "90001"
},
};
paysafe.checkout.setup(
API_key,
options,
function resultCallback(instance, error, result) {
if (result && result.paymentHandleToken) {
instance.showSuccessScreen( "Your goods are now purchased. Expect them to be delivered in next 5 business days.");
if (instance.isOpen()) {
instance.close();
}
// make AJAX call to Payments API
} else {
console.error(error); // Handle the error
instance.showFailureScreen( "The payment was declined. Please, try again with the same or another payment method.");
}
},
function(stage, expired) {
if (stage) {
switch (stage) {
case "PAYMENT_HANDLE_NOT_CREATED" :
case "PAYMENT_HANDLE_CREATED" :
case "PAYMENT_HANDLE_REDIRECT" :
case "PAYMENT_HANDLE_PAYABLE" :
default:
}
}
else {
console.log(expired) //Add action in case Checkout is expired
}
}
);
}
</script>
</html>
3DS object parameters
| Element | Type | Description |
|---|---|---|
| authenticationPurpose | enum, Mandatory | The type of authentication request. This data element provides additional information to the ACS to determine the best approach for handling an authentication request. Possible values are:
|
| deviceChannel | enum, Mandatory | The type of channel interface used to initiate the transaction. Possible values are:
|
| merchantUrl | string, Mandatory length =2048 | The fully qualified URL of the merchant's commercial or consumer care website. |
| messageCategory | enum, Mandatory | The category of the message for a specific use case. Possible values are:
|
For more information, see Perform a 3D secure 2 Authentication.
Payment Handle status
Mastercard
| ThreeDResult | ECI | CAVV | Authentication Experience | Liability (for disputed transaction or chargebacks) | Recommended Action | Payment Handle |
|---|---|---|---|---|---|---|
| A - Authentication attempted | 1 | Present | Frictionless | Card Issuer | Proceed to card authorization | Payable |
| N - Authentication failed | 0 | Not Present | Challenge/ Frictionless | Merchant | Do not proceed with the transaction | Failed |
| R - Authentication rejected | 0 | Not Present | Frictionless | Merchant | Do not proceed with the transaction | Failed |
| U - Authentication unavailable | 0 | Not Present | Challenge/ Frictionless | Merchant | Do not proceed with the transaction | Failed |
| Y - Authentication successful | 2 | Present | Challenge/ Frictionless | Card Issuer | Proceed to card authorization | Payable |
Visa
| ThreeDResult | ECI | CAVV | Authentication Experience | Liability (for disputed transaction or chargebacks) | Recommended Action | Payment Handle |
|---|---|---|---|---|---|---|
| Y - Authentication successful | 5 | Present | Challenge/ Frictionless | Card Issuer | Proceed to card authorization | Payable |
| A - Authentication attempted | 6 | Present | Frictionless | Card Issuer | Proceed to card authorization | Payable |
| N - Authentication failed | 7 | Not Present | Challenge/ Frictionless | Merchant | Do not proceed with the transaction | Failed |
| U - Authentication unavailable | 7 | Not Present | Challenge/ Frictionless | Merchant | Do not proceed with the transaction | Failed |
| R - Authentication rejected | 7 | Not Present | Frictionless | Merchant | Do not proceed with the transaction | Failed |
Amex
| ThreeDResult | ECI | CAVV | Authentication Experience | Liability (for disputed transaction or chargebacks) | Recommended Action | Payment Handle |
|---|---|---|---|---|---|---|
| Y - Authentication successful | 5 | Present | Challenge/ Frictionless | Card Issuer | Proceed to card authorization | Payable |
| A - Authentication attempted | 6 | Present | Frictionless | Card Issuer | Proceed to card authorization | Payable |
| N - Authentication failed | 7 | Not Present | Challenge/ Frictionless | Merchant | Do not proceed with the transaction | Failed |
| U - Authentication unavailable | 7 | Not Present | Challenge/ Frictionless | Merchant | Do not proceed with the transaction | Failed |
| R - Authentication rejected | 7 | Not Present | Frictionless | Merchant | Do not proceed with the transaction | Failed |
3D Secure 2.0 test cards
| Card Type | 3DS 2.0 Test Cards | threeDResult before challenge | Status before challenge | threeDResult after challenge | Status after challenge |
|---|---|---|---|---|---|
| Visa | 4000000000001026 | A | COMPLETED | N/A | N/A |
| 4000000000001091 | C | PENDING | Y | COMPLETED | |
| 4000000000001109 | C | PENDING | N | COMPLETED | |
| 4000000000001117 | C | PENDING | U | COMPLETED | |
| 4000000000001067 | Error | N/A | N/A | N/A | |
| 4000000000001083 | N/A | FAILED | N/A | N/A | |
| 4000000000001018 | N | COMPLETED | N/A | N/A | |
| 4000000000001042 | R | COMPLETED | N/A | N/A | |
| 4000000000001059 | U | COMPLETED | N/A | N/A | |
| 4000000000001000 | Y | COMPLETED | N/A | N/A | |
| Master Card | 5200000000001021 | A | COMPLETED | N/A | N/A |
| 5200000000001104 | C | PENDING | N | COMPLETED | |
| 5200000000001096 | C | PENDING | Y | COMPLETED | |
| 5200000000001112 | C | PENDING | U | COMPLETED | |
| 5200000000001062 | Error | N/A | N/A | N/A | |
| 5200000000001088 | N/A | FAILED | N/A | N/A | |
| 5200000000001013 | N | COMPLETED | N/A | N/A | |
| 5200000000001047 | R | COMPLETED | N/A | N/A | |
| 5200000000001039 | U | COMPLETED | N/A | N/A | |
| 5200000000001005 | Y | COMPLETED | N/A | N/A | |
| American Express | 340000000001023 | A | COMPLETED | N/A | N/A |
| 340000000001098 | C | PENDING | Y | COMPLETED | |
| 340000000001106 | C | PENDING | N | COMPLETED | |
| 340000000001114 | C | PENDING | U | COMPLETED | |
| 340000000001064 | Error | N/A | N/A | N/A | |
| 340000000001080 | N/A | FAILED | N/A | N/A | |
| 340000000001015 | N | COMPLETED | N/A | N/A | |
| 340000000001049 | R | COMPLETED | N/A | N/A | |
| 340000000001031 | U | COMPLETED | N/A | N/A | |
| 340000000001007 | Y | COMPLETED | N/A | N/A |
Error codes
For detailed 3DS error codes specific to cards, see 3D Secure 2 Errors.





