Testing
A 3DS check may end up with one of the following outcomes.
-
3DS check successful
fz.sca.success
event is triggered by fatzebra.js. If you own your own payments form and use theverifyCard
method of fatzebra.js to perform 3DS checks, 3DS result data will be provided in thefz.sca.success
event payload. Using this 3DS result data in your Purchase or Refund API call will qualify that transaction for liability shift. -
3DS check unsuccessful
fz.sca.error
event is triggered by fatzebra.js. An error code will be returned in the event payload indicating the reason for the error. This could be due to the card issuer not support 3DS2 or if the cardholder was unable to verify their card when prompted with a 3DS challenge flow (e.g. they entered the wrong one-time pin that was sent to their mobile device). -
Server Error or timeout.
fz.sca.error
event is triggered by fatzebra.js. No error code will be returned in the event payload. In this event we recommend that you prompt your users to retry the 3DS check/payment.
Test cards
FatZebra provides a number of test cards to simulate various 3DS scenarios in the Sandbox environment. Each of the following card numbers will simulate a predetermined outcome:
Successful 3DS2 check
Scenario | Cards |
---|---|
Successful frictionless authentication | Visa: 4000000000001000 |
Attempts processing frictionless authentication | Visa: 4000000000001026 |
Successful step-up authentication | Visa: 4000000000001091 |
fz.sca.success sample payload
{
"message": "FatZebra.3DS: 3DS success - Successful Frictionless Authentication",
"data": {
"cavv": "xxx",
"par": "xxx",
"sli": "xxx",
"xid": "xxx",
"ver": "xxx",
"directoryServerTxnId": "xxx",
"threedsVersion": "xxx"
}
}
Unsuccessful 3DS check
fz.sca.error sample payload
{
"errors": [
"FatZebra.3DS: 3DS error - Rejected Frictionless Authentication"
],
"data": {
"errorCode": "005"
}
}
Updated over 1 year ago