Testing PaySubs

You can use the following credentials and test card numbers to simulate different transaction results through the PaySubs web interface.

Remember to update these credentials after testing; security is paramount. Detailed results and error codes are documented in a later section.

Test Credentials

DescriptionValue
PayGate ID10011072130
Passwordsecret
CurrenciesZAR, EUR, USD

Approved Transactions

Result Code:990017, Transaction Status: 1

Card BrandCard NumberRisk Indicator
Visa4000000000000002Authenticated (AX)
MasterCard5200000000000015Authenticated (AX)
American Express378282246310005Not Authenticated (NX)

Insufficient Funds

Result Code:900003, Transaction Status: 2

Card BrandCard NumberRisk Indicator
MasterCard5200000000000023Not Authenticated (NX)
Visa4000000000000028Not Authenticated (NX)
American Express371449635398431Not Authenticated (NX)

Declined Transactions

Result Code:900007, Transaction Status: 2

Card BrandCard NumberRisk Indicator
Visa4000000000000036Authenticated (AX)
MasterCard5200000000000049Authenticated (AX)
Diners Club30569309025904Not Applicable (XX)

Unprocessed Transactions

Result Code:990022, Transaction Status: 0

Card BrandCard NumberRisk Indicator
MasterCard5200000000000064Not Applicable (XX)

Invalid Card Number

Result Code:900004, Transaction Status: 2

All other card numbers will simulate invalid card conditions.
Expiry Date must be in thefuture. Cardholder name and CVV can be any value.


Common Error Codes

Here are some common error codes and their meaning when testing PaySubs:

CodeDescription
DATA_AMT_NUMAmount is not a number
DATA_AMT_ZEROAmount value is zero
DATA_CHKChecksum is calculated incorrectly
DATA_CREFNo transaction reference
DATA_PS_CURInvalid currency
DATA_PS_PNASPROCESS_NOW set to NO but amount supplied
DATA_PS_PYNASPROCESS_NOW set to YES but no amount given
DATA_PS_VERIncorrect version number
ND_INV_PGIDInvalid PayGate ID
NO_TRANS_DATANo transaction data found
PAYSUBS_VAL_ERRDate ranges are not valid

MasterCard SecureCode & Verified by Visa

3D Secure Authentication is applied when testing with certain Visa or MasterCard cards.

  • Authenticated (A) means the cardholder successfully passed the authentication challenge.

  • Not Authenticated (N) means authentication was attempted but failed or skipped.

  • Not Applicable (X) means no authentication was performed (e.g. Amex, Diners).

Authentication Outcome Example:

If the first character of the RISK_INDICATOR is:

  • A → Cardholder authenticated (merchant is protected).

  • N → Cardholder not authenticated (merchant should verify further).

  • XNot applicable (e.g., Diners Club, Amex).


Frequently Asked Questions

How do I know a transaction was approved?

Check:

  • TRANSACTION_STATUS = 1

  • RESULT_CODE = 990017

  • AUTH_CODE is not blank

📘

If PROCESS_NOW = NO, then TRANSACTION_STATUS = 5 instead, meaning the subscription was created, but no payment was processed.


What happens if the customer clicks Cancel?

  • TRANSACTION_STATUS = 3

  • RESULT_CODE = 990028

  • TRANSACTION_ID is blank


Do I always get chargeback protection with 3D Secure?

Only if:

  • RISK_INDICATOR starts with A (Authenticated)

What if a card is authenticated, but still declined?

Authentication occurs before authorization. A bank can still decline after a successful authentication due to lack of funds or other reasons.


Can I disable 3D Secure?

Only with explicit permission from your acquiring bank, and it must be configured by PayGate.