Tokenization Errors
Tokenization errors are returned in the response body. The body is a JSON structure with a format resembling this example:
- json
{
"error": "Invalid amount",
"message": {
"max_amount": "0.00"
},
"request-uuid": "a-unique-identifier-for-the-request"
}
Error | Explanation | Message | HTTP Status Code |
---|---|---|---|
Cannot tokenize payment instrument | The payment instrument type does not support tokenization. | payment_instrument_type : the type of payment instrument | 400 |
Card declined by issuer | Card verification failed. | None | 422 |
Card is expired | Expired cards are unsupported. | None | 422 |
Denied due to risk | Denied due to fraudulent behavior. Note: To prevent information disclosure, this reason should never be displayed to the customer. | None | 422 |
Invalid amount | The specified max_amount was unsupported or invalid. | max_amount : The invalid value passed for the maximum amount | 422 |
Invalid expire_at | The specified expire_at was in the past or invalid. | expire_at : The invalid value passed for the datetime after which the tokenized PAN should be considered invalid | 422 |
PayPal billing agreement cancelled | The customer requested a cancellation of all future transactions on their PayPal account. Reach out to the customer for more information or an alternative payment method. | None | 422 |
PayPal payer restriction | The customer's PayPal account can't be used for transactions at this time. The customer will need to contact PayPal for more information or use an alternative payment method. | None | 422 |
The provided payment instrument does not currently support tokenization with a cryptogram | Currently, only Visa cards are eligible for cryptograms. | None | 422 |
Unsupported issuer | The issuer is based in an unsupported country, or does not support tokenization. | issuer_country : The ISO Alpha-2 country code of the issuer | 422 |
Tokenization failed | An unhandled exception occurred. | None | 500 |
Test credit card numbers and nonces
The following credit card numbers can be used to trigger specific unsuccessful tokenization responses in the sandbox environment.
Error | Test Value | Card Type | Corresponding Test Nonces |
---|---|---|---|
Card declined by issuer | 4000111111111115 | Visa | fake-processor-declined-visa-nonce |
5105105105105100 | Mastercard | fake-processor-declined-mastercard-nonce | |
378734493671000 | American Express | fake-processor-declined-amex-nonce | |
6011000990139424 | Discover | fake-processor-declined-discover-nonce | |
3566002020360505 | JCB | fake-processor-failure-jcb-nonce | |
Denied due to risk | 4000111111111511 | Visa | fake-gateway-rejected-fraud-nonce |
Unsupported issuer | 3530111333300000 | JCB | fake-valid-jcb-nonce |
Negative testing with PayPal tokenization
Triggering a mock PayPal rejection currently leverages max_amount
for parity with transaction processing.
Error | Test Value |
---|---|
PayPal billing agreement cancelled | 2070.00 |
PayPal payer restriction | 2075.00 |