Simulate Authorizations and Refunds
Simulation card data
Do not enter production data in the Highnote Test environment, which is for exploring features and training. Use only dummy or test data.
To test your payments integration, you can use test Primary Account Numbers (PANs), addresses, and CVCs to simulate various scenarios, including specific card brands, error code responses, and successful payments.
We currently support simulation card data for the following brands:
| Card Network | PAN | CVV/CVC | Expiration | Address |
|---|---|---|---|---|
| Visa | 4000 0000 0000 0002 | 111 | Any future date | 1234 Visa St, Visa, CA 12345 |
| Mastercard | 5555 5555 5555 4444 | 222 | Any future date | 2134 Mastercard St, Mastercard, CA 21345 |
Simulate successful authorization
To simulate a successful authorization, use the following inputs in your payment form:
- A valid simulation PAN
- A valid simulation CVC
- Any valid future expiration date
- A valid simulation postal code
Use the corresponding simulation values of the card network of your choosing for each of the required inputs by referencing the simulation card data table above.
Simulate declines
The following transaction amounts will generate specific decline codes for cards. Set the desired card network using the simulation card data listed above:
| Error Code Response | Amounts | Retries Allowed |
|---|---|---|
DO_NOT_HONOR | $1.11 | |
INVALID_CARD_NUMBER | $2.22 | |
INSUFFICIENT_FUNDS | $3.33 | |
EXPIRED_CARD | $4.44 | |
BAD_CVV2 | $6.67 | |
UNACTIVATED_CARD | $7.77 | |
SUSPENDED_CARD | $8.88 | |
TERMINATED_CARD | $9.99 | |
INVALID_AUTHORIZATION_EXPIRATION | $11.11 | |
BLOCKED_CARD | $22.22 | |
TRANSACTION_NOT_PERMITTED | $33.33 | |
RE_ENTER_TRANSACTION | $44.44 | |
CLOSED_ACCOUNT | $55.55 | |
SPECIAL_CONDITION_NO_PICK_UP | $66.66 | |
INVALID_MERCHANT | $77.77 | |
INVALID_TRANSACTION | $88.88 | |
EXCEEDS_APPROVAL_AMOUNT_LIMIT | $99.99 | |
EXCEEDS_WITHDRAWAL_FREQUENCY_LIMIT | $111.11 | |
RESTRICTED_LOCATION | $222.22 |
Simulate refund declines
Refunds in the Highnote API are processed as a PaymentCreditTransaction. Unlike authorizations, there are no dedicated refund event types. Instead, refund outcomes are represented using the following events:
| Refund outcome | Event |
|---|---|
| Approved | CardPaymentAuthorizedEvent |
| Declined | CardPaymentAuthorizationDeclinedEvent |
To simulate a declined refund, use the refundPaymentTransaction mutation with one of the decline amounts from the Simulate declines table above. For example, a refund amount of $1.11 triggers a DO_NOT_HONOR decline.
To simulate an approved refund, use any amount that is not in the decline amounts table and does not exceed the captured amount of the original transaction.