Developer testing

Testing your integration and card transactions flows with Helcim should be done without submitting real authorizations to the card networks, as this can have a negative impact on your production processing terminal and account.

If you have an existing Helcim account, or you're looking to try potential solutions to see if we're a good fit, then we recommend getting set up with a developer test account. A developer test account will allow you to test your integration to the Helcim API without impacting any production accounts or submitting real transactions through to the card networks.

In addition to allowing you to test your integration to the Helcim API, our developer test accounts also provide access to the developer tools available in the Helcim system and the full range of products and services available on our platform, including our no code options, the Helcim Online Checkout and Hosted Payment Pages.

Requesting a test account

In order to have a test account set up to test the Helcim API, HelcimPay.js, or Helcim.js, then please connect with [email protected] with your request and confirmation of your existing Helcim merchant ID number and we would be happy to get a test environment up and running.

🚧

New Helcim merchants

Please note that being provided with a developer test account is not confirmation that a new merchant to Helcim would be approved for processing. All businesses will go through a verification process when registering for any production Helcim account.

We recommend reading our Acceptable Use Policy for more information on restricted industries and business types in advance of integrating to the Helcim API.

Test credit card numbers

Real credit cards should never be used for testing as per PCI-DSS compliance requirements. Test cards processed on a developer test account can be used to replicate the behaviour of a production environment. This will reduce the security scope and PCI-DSS compliant requirements of merchants while testing and integrating with Helcim.

By default, Helcim merchants cannot send full card numbers, expiry dates, or CVV numbers, via the Payment API.

  • Verify and tokenize these test card numbers using the HelcimPay.js tool and send the respective cardToken through the Process Purchase Transaction endpoint to replicate a live transaction flow.
  • Utilize HelcimPay.js to process purchase transactions without the need to call additional API endpoints.

Visit the following guide to learn more about HelcimPay.js.

❗️

Important note:

Transactions processed with test credit cards on a production account and processing terminal, will be declined by the card networks, and charges may apply.

Card TypeCard NumberExpiry MonthExpiry YearCVV
Mastercard54133300890991300125100
Mastercard54133300890200110125100
Visa41249399999999900125100
Visa40000000000000280125100
American Express37424500175100601251000
Discover Card60119737000000050125100
Discover Card60114501033333330125100

Testing declined payments

Declined card transactions can be simulated on developer test accounts through the Payment API endpoints if enabled for full card numbers, or through HelcimPay.js. This is done by sending a CVV value of 200 or higher. The table below shows some of the decline codes that you can generate.

CVV InputResponseError Message
2000"Transaction Declined: DECLINE CVV2 - Do not honor due to CVV2 mismatch\failure"
2010"Transaction Declined: PICK UP CARD - Pick up card"
2020"Transaction Declined: AMOUNT ERROR - Tran Amount Error"
2030"Transaction Declined: AMT OVER SVC LMT - Amount is more than established service limit"
2040"Transaction Declined: APPL TYPE ERROR - Call support for help with this error"
2050"Transaction Declined: CANNOT CONVERT - Check is ok, but cannot convert. Do Not Honor"
2060"Transaction Declined: DECLINED T4 - Do Not Honor. Failed negative check, unpaid items"
2070"Transaction Declined: DECLINED-HELP 9999 - System Error"
2080"Transaction Declined: DUP CHECK NBR - Duplicate Check Number"
2090"Transaction Declined: DECLINED - Do Not Honor"
2100"Transaction Declined: EXPIRED CARD - Expired Card"
2120"Transaction Declined: INVALID CARD - Invalid Card"
2130"Transaction Declined: INVALID CAVV - Invalid Cardholder Authentication Verification Value"
2140"Transaction Declined: INVALID TERM ID - Invalid Terminal ID"
2220"Transaction Declined: NETWORK ERROR - General System Error"
2230"Transaction Declined: PLEASE RETRY - Please Retry/Reenter Transaction"
2250"Transaction Declined: REQ. EXCEEDS BAL. - Req. exceeds balance"
2270"Transaction Declined: SERV NOT ALLOWED - Invalid request"
2290"Transaction Declined: CALL AUTH. CENTER - Refer to Issuer"

📘

Testing in HelcimPay.js

When testing in HelcimPay.js, the checkout session will return a decline error message rendered within confirmation toast, based on the CVV passed in the payment modal.

Testing Address Verification Service (AVS) responses

Card networks provide an address verification service (AVS) as part of card authorizations. The service checks if the address of a credit card is the same as the address and postal / zip code entered into the Helcim API.

The AVS response will not impact the approval or decline of a transaction, but can help as an indicator on whether you should proceed with the transaction or complete additional verifications with your customer before proceeding.

Although the street address can sometimes be tricky to match, the postal/zip code is usually a more accurate indicator. AVS is mostly supported by banks throughout Canada, the United States, and the United Kingdom. Most card issuers outside of those countries do not participate in the address verification service.

You can test various responses by sending a specific CVV.

CVV InputResponseMessageAVS ResponseCVV ResponseDescription
1001APPROVALXM
1011APPROVALXP
1021APPROVALXSService not supported by issuer
1031APPROVALXU
1041APPROVALXN

Switching your integration to production

Helcim developer test accounts are separate from Helcim production accounts. If you signed up for a developer test account before registering for a live Helcim account, you will need to complete the signup at www.helcim.com to begin processing live transactions.

When your integration is ready to be switched to your production account, you can follow the simple steps below.

  1. Create new API access tokens in your production account.
  2. Set the permissions for these new tokens to mirror the API access tokens used on your test account.
  3. Send your production API tokens in your requests to the Helcim API.

Once processing through your production environment, the Helcim test credit card numbers will no longer process transactions successfully and will be declined by the card networks.