Declined transactions
Why was a transaction declined?
This section describes how to identify transaction declines and whether you can retry a transaction or not.
The general information about the approval flow and the information about the Visa Category Codes and the Merchant Advice Codes applies to all merchants. The detailed information about the payment gateway applies to CardCorp merchant accounts.
Transaction approval flow
To understand why a transaction was declined, it is helpful to know that the transaction approval process goes to the entities in this order.
- Gateway
- Acquirer
- Card Issuer (Card Schemes)
If a transaction is declined, it may not get through the whole process.

Transaction response workflow
Declined transactions
If a transaction is approved, the gateway result code will be 000.000.000 in the live environment. Other values mean the transaction was declined (or you are using a test environment). For gateway result codes, see Gateway documentation of result codes.
CardCorp gateway
The CardCorp gateway returns one or more codes to the merchant to give information about a decline.
For example, if a card is expired, the gateway will directly decline the transaction. The Result Code will be 100.100.303.
If the acquirer or card issuer declines a transaction, the gateway returns a Result Code and Description. For example, a code of 800.100.152 means the issuer declined the card. The Description is transaction declined by authorization system.
Acquirer and scheme responses
There may also be a non-zero Scheme Response Code or Acquirer Response Code and an Extended Description can provide more details of why the transaction was declined.
For recurring payments, declined transactions may also have a Visa Category Code or Merchant Advice Code. These codes define whether the transaction was hard-declined due to a permanent issue with the card or soft-declined due to a temporary issue with the card.
- If the transaction is hard-declined, you cannot retry it.
- If the transaction is soft-declined, you can retry it up to 15 times within 30 days of the soft decline.
If there is no Merchant Advice Code, Visa Category Code, or Scheme Response Code, it is possible that the transaction was soft-declined or failed at the payment gateway.
Visa table of Visa Category Codes (VCCs)
| Description | Visa Category Code (VCC) | In BillPro |
|---|---|---|
| Approved | 0 | Approved |
| Issuer will never approve | 1 | Hard-declined |
| Issuer cannot approve at this time | 2 | Soft-declined |
| Data quality issues / revalidate data | 3 | Soft-declined |
| Generic response codes | 4 | Soft-declined |
MasterCard table of Merchant Advice Codes (MACs)
| MAC Code | Description | In BillPro |
|---|---|---|
| 00 | Approved | Approved |
| 01 | Updated/additional information needed | Soft-declined |
| 02 | Try again later | Soft-declined |
| 03 | Do not try again | Hard-declined |
| 04 | Token requirements are not fulfilled for this token type | Soft-declined |
| 21 | Payment cancellation | Hard-declined |
Examples of transaction details
The following examples show declined transactions for the CardCorp gateway. For a description of the transaction details, see Transaction details.
Expired card
For example, for an expired Visa card, the gateway sends a result code of 100.100.303.

A transaction that was hard declined due to an expired card
Soft declined transaction
The following transaction was soft-declined. For MasterCard, a code value of 02 is soft-declined, and for Visa a code value of 2 is soft-declined. When a transaction is soft-declined, you can retry it (automatically or manually) up to 15 times in the following month. You can also configure BillPro to retry transactions automatically. See Auto-retry billing events.
Hard declined transaction
The following transaction was hard-declined. For MasterCard, a code value of 03 is hard-declined, and for Visa, a code value of 1 is hard-declined. When a transaction is hard-declined, you cannot retry it. You must contact the customer and update the card details. See Update cards.

Updated 25 days ago