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
| Description | Value |
|---|---|
| PayGate ID | 10011072130 |
| Password | secret |
| Currencies | ZAR, EUR, USD |
Approved Transactions
Result Code:990017, Transaction Status: 1
| Card Brand | Card Number | Risk Indicator |
|---|---|---|
| Visa | 4000000000000002 | Authenticated (AX) |
| MasterCard | 5200000000000015 | Authenticated (AX) |
| American Express | 378282246310005 | Not Authenticated (NX) |
Insufficient Funds
Result Code:900003, Transaction Status: 2
| Card Brand | Card Number | Risk Indicator |
|---|---|---|
| MasterCard | 5200000000000023 | Not Authenticated (NX) |
| Visa | 4000000000000028 | Not Authenticated (NX) |
| American Express | 371449635398431 | Not Authenticated (NX) |
Declined Transactions
Result Code:900007, Transaction Status: 2
| Card Brand | Card Number | Risk Indicator |
|---|---|---|
| Visa | 4000000000000036 | Authenticated (AX) |
| MasterCard | 5200000000000049 | Authenticated (AX) |
| Diners Club | 30569309025904 | Not Applicable (XX) |
Unprocessed Transactions
Result Code:990022, Transaction Status: 0
| Card Brand | Card Number | Risk Indicator |
|---|---|---|
| MasterCard | 5200000000000064 | Not 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:
| Code | Description |
|---|---|
DATA_AMT_NUM | Amount is not a number |
DATA_AMT_ZERO | Amount value is zero |
DATA_CHK | Checksum is calculated incorrectly |
DATA_CREF | No transaction reference |
DATA_PS_CUR | Invalid currency |
DATA_PS_PNAS | PROCESS_NOW set to NO but amount supplied |
DATA_PS_PYNAS | PROCESS_NOW set to YES but no amount given |
DATA_PS_VER | Incorrect version number |
ND_INV_PGID | Invalid PayGate ID |
NO_TRANS_DATA | No transaction data found |
PAYSUBS_VAL_ERR | Date 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). -
X→ Not 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_CODEis not blank
IfPROCESS_NOW = NO, thenTRANSACTION_STATUS = 5instead, meaning the subscription was created, but no payment was processed.
What happens if the customer clicks Cancel?
-
TRANSACTION_STATUS=3 -
RESULT_CODE=990028 -
TRANSACTION_IDis blank
Do I always get chargeback protection with 3D Secure?
Only if:
RISK_INDICATORstarts withA(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.
