Card Not Present
Process an Online Card Transaction
This article describes the different scenarios that can be simulated in the Sandbox environment. The payment.amount field is used to control the desired behaviour.
NOTE: These scenarios use the POST operation against the /transactions resource. You can use card details directly, a Secure Panel one-time token, or a customer token with a card as the payment instrument.
Simulate an Approved Online Card Transaction
Any amount value not listed in the below scenarios will result in an approved payment. The result.status will return as approved. The result.codes array will contain a code and message indicative of the approval message returned by the card issuing bank.
| Code | Message | Amount |
|---|---|---|
| A02000 | approved | 14400 |
| A02008 | honor_with_identification | 14408 |
| A02010 | approved_for_partial_amount | 14410 |
| A02011 | approved_vip | 14411 |
| A02016 | approved_update_track_3 | 14416 |
Simulate a Declined Online Card Transaction
This scenario simulates an online card transaction being submitted, but then declined by the customer’s bank. The result.status will return as declined. The result.codes array will contain a code and message indicating the reason for the decline.
| Code | Message | Amount |
|---|---|---|
| D04401 | refer_to_issuer | 14401 |
| D04403 | no_merchant | 14403 |
| D04404 | pick_up_card | 14404 |
| D04405 | do_not_honour | 14405 |
| D04406 | error | 14406 |
| D04412 | invalid_transaction | 14412 |
| D04413 | invalid_amount | 14413 |
| D04414 | invalid_card_number | 14414 |
| D04415 | no_issuer | 14415 |
| D04422 | suspected_malfunction | 14422 |
| D04430 | format_error | 14430 |
| D04431 | bank_not_supported_by_switch | 14431 |
| D04434 | suspected_fraud_retain_card | 14434 |
| D04441 | lost_card | 14441 |
| D04442 | no_universal_account | 14442 |
| D04443 | stolen_card | 14443 |
| D04451 | insufficient_funds | 14451 |
| D04454 | expired_card | 14454 |
| D04456 | no_card_record | 14456 |
| D04457 | function_not_permitted_to_cardholder | 14457 |
| D04458 | function_not_permitted_to_terminal | 14458 |
| D04459 | suspected_fraud | 14459 |
| D04462 | restricted_card | 14462 |
| D04467 | capture_card | 14467 |
| D04491 | card_issuer_unavailable | 14491 |
| D04492 | unable_to_route_transaction | 14492 |
Simulate a Declined Refund for a Online Card Transaction
This scenario simulates a refund being submitted and getting declined by the customer’s bank. To simulate a failed refund, use the payment.amount values from the table above. The result.status will return as declined. The result.codes array will contain a code and message indicating the reason for the decline.
Simulate a 3DS Transaction (PayUI only)
This scenario simulates a 3DS authentication though PayUI (embeddable checkout component).
The payment.amount field on the Payment Request controls the 3DS behavior.
Amounts not listed below result in a Successful Frictionless Authentication transaction (when 3DS is enabled).
| Code | Scenario | Amount |
|---|---|---|
| A02000 | Successful Frictionless Authentication | 13301 |
| A02000 | Successful Step-Up Authentication | 13302 |
| D04417 | Unsuccessful Frictionless Authentication | 13303 |
| D04417 | Unsuccessful Step-Up Authentication | 13304 |