Demo Testing and Test Cards

The E-xact Demo is a testing environment that mimics the live production gateway. It allows you to build, test, and troubleshoot your integration without processing live transactions.

🚧

Important Testing Rule

Never use real credit card numbers in the Sandbox environment.


Test Credit Card Numbers

You can use the following test card numbers to simulate successful transactions. When testing, you can use any future Expiry Date (e.g., 1230 for Dec 2030) and a valid-length Security Code / CVV (e.g.123 for Visa/MC/Discover, or 1234 for Amex).

Card BrandTest Card NumberCVV LengthExpected Result
Visa41111111111111113 digitsApproved
Mastercard54545454545454543 digitsApproved
American Express3782822463100054 digitsApproved
Discover60111111111111173 digitsApproved
JCB35660020203605053 digitsApproved
Union Pay62000000000000053 digitsApproved

Triggering Errors and Declines

To ensure your application handles errors gracefully, you need to test how your system reacts when a transaction is rejected. In the Sandbox environment, you can trigger specific error codes by submitting transactions in the $5,000.00 to $5999.99 range.

Depending on whether you modify the dollars or the cents, you can simulate either a Bank Decline or an internal ETG Gateway Error.

1. Bank Declines ($5000 to 5999 Dollar Range)

To simulate a standard bank decline (where the customer's issuing bank rejects the card), submit a transaction where the dollar amount is in the $5000s, ending in .00.

Transaction AmountSimulated ResponseBank Decline Code
$5005.00Transaction not approved05
$5100.00Transaction not approved100
$5200.00Auth Declined200
$5300.00Invalid Term ID300

2. ETG Gateway Errors ($5000.00 to $5000.99 Cents Range)

Sometimes a transaction is blocked by the gateway before it reaches the bank (e.g., due to invalid formatting, missing fields, fraud filters, or velocity controls).

To simulate these internal ETG Gateway Error Codes, submit a transaction for exactly $5000, and use the cents to specify the ETG error code you want to trigger.

Transaction AmountSimulated ResponseETG CodeExample Scenario
$5000.08Bad Request08CVV2/CID/CVC2 Data not verified.
$5000.12Server Error12Message Timed-out at Host
$5000.22Invalid Credit Card Number22The credit card is invalid
$5000.44Transaction Error44Address not Verified.
$5000.69Bad Request69Invalid Transaction Tag.
$5000.72Server Error72Transaction sent to bank.

(Note: You can replace the cents above with whichever specific ETG response codes you are building error-handling logic for).

3. Testing CVV/CVD/CVC Functionality:

In the Demo environment, you can simulate specific CVV/CVD/CVC security code verification responses.

1. Simulating a Match (Approval)

To simulate a successful CVV match (M), use the security code 123.

2. Simulating a Mismatch (Decline)

To simulate a failed CVV check (N), use the security code 234.

All Simulated CVV Responses

If you need to test other cases, here is the complete list of simulation triggers:

First DigitExample ValueSimulated CVV ResponseRPM Filter Name / Description
1123MCard is authentic (Match)
2234NCVV2 does not match
3345PCard expiration not provided or card does not have valid CVD code
4456SMerchant indicated that CVV2 is not present on card
5567UCard issuer is not certified and/or has not provided visa encryption keys

How to Submit the CVV Value:

  • Hosted Checkout (HCO): Enter your simulated value (e.g., 234) directly into the standard Security Code field on the payment collection form.
  • API Transactions: Pass the simulated value in the VerificationStr2 attribute of your request. The CVD_Presence_Ind property must also be set to 1for the verification rule to trigger.
📘

Note on CVV Declines

Passing a mismatched CVV will only decline the transaction if your terminal has the matching filter checked inside your RPM Terminal settings under CVV2 Filters.

4. Testing AVS (Address Verification) Responses

You can simulate specific AVS response codes by setting the first character of the billing address value to the exact AVS letter code you wish to trigger.

Simulating a Specific AVS Code

To simulate a response, simply prefix your test street address with the desired response letter.

Example: Simulating a "No Match" (N) If you want to simulate an N (No match) response, you would set the address value to N123 Main St.

How to Submit the AVS Value:

  • Hosted Checkout (HCO): Enter your simulated address value (e.g., N123 Main St) directly into the standard Billing Street Address field on the payment collection form.
  • API Transactions: Pass the simulated address value (e.g., N123 Main St) in the VerificationStr1 attribute of your API request.

Supported AVS Response Codes

You can use any of the following letters at the start of your address string to trigger the corresponding AVS response:

AVS CodeDescription & Explanation
XExact match: 9-digit ZIP
YExact match: 5-digit ZIP (Street Address and 5-digit ZIP Code match)
APartial match: Street Address matches, ZIP Code does not
WPartial match: ZIP Code matches, Street Address does not
ZPartial match: 5-digit ZIP Code match only
NNo match: No Address or ZIP Code match
UUnavailable: Address information is unavailable for that account number, or the card issuer does not support
GService not supported: Non-US Issuer does not participate
RRetry: Issuer system unavailable, retry later
EError: Not a mail or phone order
SService not supported

📘

Note on AVS Declines

Simulating an N response will only cause the transaction to fail if your terminal has the "No match" AVS filter checked inside your RPM Terminal Administration settings. Otherwise, the transaction may still approve but return the N warning in the response payload.


Verifying Your Tests

Once you have run a few test transactions, you can verify the exact payloads, response codes, and timestamps by logging into the Demo RPM and navigating to the Transactions tab.