Testing payment declines and CVV responses

Test potential decline and AVS responses returned by HelcimPay.js or the Payment API endpoints.

When a transaction attempt is declined by the issuing bank, the Helcim API will return a response 0 with HTTP status 500 and an error message indicating the reason for the decline.

We suggest a general catch all function for the majority of potential decline reasons, with a recommendation to the user of trying a different card or payment method. Many transaction declines can only reasonably be resolved by the end user connecting with their issuing bank for more information.

Showing more granular decline reasoning is only recommended where a change in user behaviour may result in a different transaction outcome if attempted a second time, such as invalid CVV.

Testing payment declines through the Payment API

Card transaction declines can be simulated in a test environment through the Payment API endpoints if enabled for full card numbers. This is done by sending a CVV2 value of 200 or higher. The table below shows some of the decline codes that you can generate.

CVV InputError Message
200"Transaction Declined: DECLINE CVV2 - Do not honor due to CVV2 mismatch\failure"
201"Transaction Declined: PICK UP CARD - Pick up card"
202"Transaction Declined: AMOUNT ERROR - Tran Amount Error"
203"Transaction Declined: AMT OVER SVC LMT - Amount is more than established service limit"
204"Transaction Declined: APPL TYPE ERROR - Call support for help with this error"
205"Transaction Declined: CANNOT CONVERT - Check is ok, but cannot convert. Do Not Honor"
206"Transaction Declined: DECLINED T4 - Do Not Honor. Failed negative check, unpaid items"
207"Transaction Declined: DECLINED-HELP 9999 - System Error"
208"Transaction Declined: DUP CHECK NBR - Duplicate Check Number"
209"Transaction Declined: DECLINED - Do Not Honor"
210"Transaction Declined: EXPIRED CARD - Expired Card"
212"Transaction Declined: INVALID CARD - Invalid Card"
213"Transaction Declined: INVALID CAVV - Invalid Cardholder Authentication Verification Value"
214"Transaction Declined: INVALID TERM ID - Invalid Terminal ID"
222"Transaction Declined: NETWORK ERROR - General System Error"
223"Transaction Declined: PLEASE RETRY - Please Retry/Reenter Transaction"
225"Transaction Declined: REQ. EXCEEDS BAL. - Req. exceeds balance"
227"Transaction Declined: SERV NOT ALLOWED - Invalid request"
229"Transaction Declined: CALL AUTH. CENTER - Refer to Issuer"

Testing CVV responses

When a payment is processed with a CVV, the value is assessed by the issuing banks and a response is provided to indicate the outcome of that check. If you are processing with a cardToken that is stored in your card vault, then the CVV is not checked and no response is provided.

The following CVV responses can be checked and tested through the Helcim API.

CVV InputMessageCVV ResponseDescription
100APPROVALMThe CVV provided matches the information on file with the issuing bank.
101APPROVALPThe CVV provided was not processed.
102APPROVALSService not supported by issuing bank.
103APPROVALUThe CVV provided was received, but the issuing bank did not completed a verification, likely caused by the payment being declined before this check took place.
104APPROVALNThe CVV provided does not match the information on file with the issuing bank.