Payment API

Process credit card payments online using the Payment API.

The Payment API allows you to process credit card payments online, through your existing website or application. Payment types include Purchase, Preauthorization, Capture, Verify, Refund, Reverse, and ACH Withdraw.

A successful payment processed through the Payment API will create a transaction object in the Helcim system. Where an existing customerCode or invoiceNumber was not associated with the payment, new ones will be created and returned in the response.

Payment API functionality

The Payment API allows you to process a range of credit card payment types that will create a transaction object in the Helcim system.

Payments

A transaction object is created as the result of a credit card payment attempt and is the primary means through which you will charge your customers for goods and services through the Helcim API.

A transaction stores a number of core details about a payment, including:

  • Unique transactionId and cardBatchId values to manage the payment and it's associated credit card batch.
  • Information about the type, amount, status, and currency of the payment.
  • Information about the card type used to process the payment, the first 6 and last 4 digits of the card number, the cardholder name, and the unique cardToken for the card object created by the payment.
  • The customerCode and invoiceNumber for the customer and invoice objects associated with the payment, as well as the user that processed the payment.
  • The unique approval code, and AVS or CVV response values from the issuing bank.

📘

ACH bank payments

A transaction object created as the result of an ACH bank payment will differ from a credit card transaction. It has a number of unique parameters within the object related to ACH bank payments.

Card batches

A card batch object is created as a the result of a card payment processed through any Helcim payment tool, including the Payment API or HelcimPay.js. A card batch may have one or more transaction objects stored within it and once closed will go through a settlement process and ultimately be deposited into the provided bank account.

A card batch stores a number of core details about your payments, including:

  • The unique cardBatchId value that is also stored in any transaction object included in the card batch.
  • The date values for when the card batch was created, last updated, and closed.
  • The card batchNumber and whether the card batch is in an open or closed state.
  • The card terminalId that the transactions in this card batch were processed on.

Card terminals

A card terminal object is created when a Helcim merchants account is onboarded with our acquiring bank, or when a developer test account is created for integration testing.

A card terminal stores a number of core details about your processing, including:

  • A unique card terminalId that can be optionally passed in requests to Payment API endpoints or HelcimPay.js to specify the card terminal to process on.
  • The currency of the card terminal for payments processed through it.
  • The current status of the card terminal, indicating whether it is active or inactive.
  • An address sub-object that stores the address given during account registration.

Payment API endpoints

Payments

Create transaction objects by processing credit card payments using the following endpoints.

Retrieve existing transaction objects using the following endpoints.

Card batches

Retrieve and settle existing card batch objects using the following endpoints.

Card terminals

Retrieve existing card terminal objects using the following endpoint.