Test card numbers
Airwallex helps merchants confirm that their integration is successful with a suite of test cards. This will allow merchants to perform test transactions before going live.
Payment scenarios
These cards numbers will simulate payments with different response codes in your test environment.
Amounts following the format $8x.xx
are generally used to trigger error cases. Airwallex does not recommend using those amounts when expecting a successful transaction. The CVC (or CVV) and the expiry year can be anything.
PAN | Card Scheme | Card Type | Amount | Issuer Response Code | Issuer Response Description | Internal Error Code | Error Message |
---|---|---|---|---|---|---|---|
4035 5010 0000 0008 | Visa | Any | This card will always make payment succeed regardless of amount | - | - | - | - |
4012 0003 0000 1003 | Visa | Credit | 80.59 | 59 | Suspected fraud | issuer_declined | The issuer declined this transaction. |
4012 0003 0000 1003 | Visa | Credit | 80.07 | 07 | Pick up Card | issuer_declined | The issuer declined this transaction. |
4646 4646 4646 4644 | Visa | Credit | Any | N/A | N/A | risk_declined | Declined by fraud risk engine |
2223 0000 1018 1375 | Mastercard | Debit | 80.05 | 05 | Do not Honor | issuer_declined | The issuer declined this transaction. |
5307 8373 6054 4518 | Mastercard | Credit | 80.05 | 05 | Do not Honor | issuer_declined | The issuer declined this transaction. |
2223 0000 1018 1375 | Mastercard | Debit | 80.14 | 14 | Invalid Card Number | issuer_declined | The issuer declined this transaction. |
5307 8373 6054 4518 | Mastercard | Credit | 80.14 | 14 | Invalid card number | issuer_declined | The issuer declined this transaction. |
2223 0000 1018 1375 | Mastercard | Debit | 80.51 | 51 | Insufficient Funds | issuer_declined | The issuer declined this transaction. |
5307 8373 6054 4518 | Mastercard | Credit | 80.51 | 51 | Insufficient Funds | issuer_declined | The issuer declined this transaction. |
3703 5368 7686779 | American Express | Credit | 81.00 | 100 | Deny | issuer_declined | The card issuer declined this transaction. |
3706 3680 3809 394 | American Express | Any | This card will always make the payment succeed regardless of the amount | - | - | - | - |
3569 5999 9909 7585 | JCB | Any | This card will always make the payment succeed regardless of the amount | - | - | - | - |
6011 2009 0000 0000000 | Discover | Any | This card will always make the payment succeed regardless of the amount | - | - | - | - |
3609 5355 9056 9202 | Diners | Any | This card will always make the payment succeed regardless of the amount | - | - | - | - |
6250 9410 0652 8599 | UnionPay | Debit | This card will always make the payment succeed regardless of the amount | - | - | - | - |
6252 4701 4444 4939 | UnionPay | Credit | This card will always make the payment succeed regardless of the amount | - | - | - | - |
1111 1111 1111 1111 | Invalid | Any | Any | - | - | validation_error | The card number is invalid. |
3DS authentication scenarios
Use these test details to simulate various 3D Secure (3DS) authentication scenarios.
Stage | Scenario | Trigger Condition | Message |
---|---|---|---|
Payment Success | Frictionless Mode Success without device data collection | card: 4012000300000005 | 200 OK |
Payment Success | Challenge Mode Success without device data collection | card: 4012000300000062(OTP input 1234) | 200 OK |
Payment Success | Frictionless Mode Success with device data collection | card: 4012000300000021 | 200 OK |
Payment Success | Challenge Mode Success with device data collection | card: 4012000300000088(OTP input 1234) | 200 OK |
Payment Fail(authentication failed) at 3DS | Frictionless Mode(NOT ENROLLED), fail at confirm API call | card: 4012000300000013 | 400 { "code": "authentication_declined", "message": "User failed 3DS authentication." } |
Payment Fail(authentication failed) at 3DS | Frictionless Mode(NOT ENROLLED), fail at confirm API call | card: 4012000300000047 | 400 { "code": "no_3ds_liability_shift", "message": "Declined due to no 3DS liability shift." } |
Payment Fail(authentication failed) at 3DS | Challenge Mode, fail at the second confirm_continue(after user input OTP code) | card: 4012000300000070 | 400 {"code": "authentication_declined", "message": "User failed 3DS authentication." } |
Payment Fail(authorization failed) at authorization | Frictionless Mode(NOT ENROLLED), fail at confirm API call | card: 4012000300000039 amount: 88.88 | 400 { "code": "authentication_declined", "message": "User failed 3DS authentication." } |
Payment Fail (authentication failed) at 3DS | Challenge Mode, fail at the second confirm_continue(after user input OTP code) | card: 4012000300000070 amount: 88.88 | 400 {"code": "authentication_declined", "message": "User failed 3DS authentication." } |
Payment Fail (authentication failed) at 3DS | Challenge Mode, fail at the second confirm_continue(after user input OTP code) | card: 4012000300000104 amount: 88.88 | 400 { "code": "no_3ds_liability_shift", "message": "Declined due to no 3DS liability shift." } |
Payment Fail rejected at 3DS | Fail at confirm API call, rejected by 3ds | card: 5582464537874128 (mastercard anonymous card) | 400 { "code": "3ds_not_supported", "message": "3DS is required but not supported by this card." } |
Payment Fail rejected at 3DS | Fail at confirm API call, rejected by 3ds | create intent with force3ds param. card: 4012000300000138 (visa anonymous card) | 400 { "code": "3ds_not_supported", "message": "3DS is required but not supported by this card." } |
Apple Pay payment scenarios
Airwallex enables you to test your Apple Pay integration on web/mobile using a real card and demo API keys. Airwallex will recognize that you are in demo environment and will return a successful test card token for you to test the end-to-end Apple Pay process.
Apple Pay transaction processing involves various steps as detailed in the Apple Pay guide. Follow the instructions below to simulate various errors in those processing steps.
You can use your own cards in your wallet along with the trigger condition mentioned in the table to simulate the exact scenario. Note that your card will be mapped to following cards according to their card brand:
- Visa: 4035501000000008
- Mastercard: 5354563134257854
- UnionPay: 6250941006528599
- JCB: 3569599999097585
- American Express: 370636803809394
Scenario | Environment | Trigger Condition | Error code | Error message | Error stage |
---|---|---|---|---|---|
Transaction success | iOS & Web | Any card number and amount combination apart from special conditions mentioned below | N/A | N/A | After Confirm PaymentIntent API |
Transaction declined by issuer | iOS & Web | Transaction amount : 80.51 | issuer_declined | The card issuer declined this transaction. Please refer to the original response code. | After Confirm PaymentIntent API |
Domain not registered | Web | Use an unregistered domain to collect Apple Pay payment | validation_error | The transaction failed because you have not registered your web domain or iOS certificate for Apple Pay | After Start Session API(see step 2) |
Incorrect merchant certificate | iOS | Use a different payment processing certificate from the certificate already uploaded to Airwallex | configuration_error | Invalid request against merchant configuration. Please contact your Account Manager. | After Confirm PaymentIntent API |
Transaction blocked by the Airwallex risk system | iOS & Web | Transaction currency: AUD; Amount: 20.41 | risk_declined | The transaction is blocked because of risk concern. | After Confirm PaymentIntent API |
- Testing is not possible if your country doesn't support Apple Pay, please see this list for supported countries.
- Apple Pay on the web only works on Safari web browsers, both desktop and mobile.
- Airwallex does not support Apple Pay’s sandbox environment.
Google Pay payment scenarios
Airwallex enables you to test your Google Pay integration on web/mobile using a real card and demo API keys. For more information, see Google Pay's test environment setup for web or for Android . Payments made using real cards on demo environment will not be charged.
Google Pay transaction processing involves various steps as detailed in the Google Pay guide. Follow the instructions below to simulate various errors in those processing steps.
You can use your own cards in your wallet along with the trigger condition mentioned in the table to simulate the exact scenario. Note that your card will be mapped to following cards according to their card brand:
- Visa: 4035501000000008
- Mastercard: 5354563134257854
- UnionPay: 6250941006528599
- JCB: 3569599999097585
- American Express: 370636803809394
Scenario | Environment | Trigger Condition | Error code | Error message | Error stage |
---|---|---|---|---|---|
Transaction success | Mobile & Web | Any card number and amount combination apart from special conditions mentioned below | N/A | N/A | After Confirm PaymentIntent API |
Transaction declined by issuer | Mobile & Web | Transaction amount: 80.51 | issuer_declined | The card issuer declined this transaction. Please refer to the original response code. | After Confirm PaymentIntent API |
Incorrect payment token encryption | Mobile & Web | Provide wrong encrypted_payment_token in Confirm PaymentIntent API request. | validation_error | Invalid Google Pay token | After Confirm PaymentIntent API |
Authentication declined in frictionless mode | Mobile & Web | Transaction currency: AUD; Amount: 20.42 | authentication_declined | N/A | After Confirm PaymentIntent API and 3DS processing |
Authentication declined in challenge mode | Mobile & Web | Transaction currency: AUD; Amount: 20.43 | authentication_declined | N/A | After Confirm PaymentIntent API and 3DS processing |
Transaction blocked by Airwallex risk system | Mobile & Web | Transaction currency: AUD; Amount: 20.41 | risk_declined | The transaction is blocked because of risk concern. | After Confirm PaymentIntent API |
- Google Pay supports different processing modes :
- PAN_ONLY : When the card is saved on google account like Youtube or similar products.
- CRYPTOGRAM_3DS : When the card is saved on the android device wallet with 3DS cryptogram
- You can switch between Google account & Android wallet to simulate the processing modes mentioned above.
- Google pay PAN_ONLY mode can be tested together with Airwallex internal 3DS. When 3DS triggered for your Google Pay test transaction, it will go through successfully under challenge mode.
AVS scenarios
Use these test details to simulate various AVS (Address Verification Service) results. See AVS codes for a full list of response codes that you might receive when AVS is performed.
PAN | Amount | AVS Code |
---|---|---|
2223000010181375 | 20.23 | Y |
5185540000000019 | 99.99 | N |
2223000010181375 | 20.20 | U |