v1

latestOpenAPI 3.0.02026-07-2671142187.3 KB
Payment

Process a Preauth Transaction

post/payment/preauth

Headers

idempotency-keystring uuid required

A UUID-formatted idempotency key. Accepted format is 25-36 alphanumeric characters (including '-' and '_').

Request body

ipAddressstring required

IP address of the customer making the transaction, used as part of fraud detection.

ecommerceboolean

Set to indicate that the transaction is e-commerce. When set, the Helcim Fraud Defender will provide further analysis.

terminalIdinteger

For card transactions only. Id of the terminal you would want to use. Default terminal for of the currency will be used if you dont send this.

currencystring required

The currency abbreviation of the invoice, such as CAD or USD. This should match currency of existing invoice.

amountnumber required

Amount to be processed

customerCodestring

Existing customer code associated with the transaction

invoiceNumberstring

To be filled when associating transaction to existing invoice. Invoice should be associated to the same customer linked to the card

Example request

{
  "ipAddress": "192.168.1.1",
  "ecommerce": true,
  "terminalId": 3215,
  "currency": "CAD",
  "amount": 100.99,
  "cardData": {
    "cardHolderName": "John Doe"
  },
  "billingAddress": {
    "name": "John Smith/Helcim",
    "street1": "123 Street",
    "city": "Calgary",
    "province": "AB",
    "country": "CAN",
    "postalCode": "H0H0H0",
    "phone": "1234567890",
    "email": "john@example.com"
  },
  "invoice": {
    "notes": "No vegetables please",
    "shipping": {
      "amount": 10.99,
      "details": "Canada Post 1-day shipping",
      "address": {
        "name": "John Smith/Helcim",
        "street1": "123 Street",
        "city": "Calgary",
        "province": "AB",
        "country": "CAN",
        "postalCode": "H0H0H0",
        "phone": "1234567890",
        "email": "john@example.com"
      }
    },
    "pickup": {
      "date": "2022-01-25 13:55:55",
      "name": "Jane Smith"
    },
    "tax": {
      "amount": 5.99,
      "details": "GST 5%"
    },
    "discount": {
      "amount": 10.99,
      "details": "DISC100"
    }
  }
}

Response

Successful

transactionIdnumber

The transaction id

cardBatchIdnumber

The id of associated card batch

dateCreatedstring

The date(Mountain Time) when the transaction is created.

statusstring

The status of the transaction. possible values are APPROVED | DECLINED

userstring

Full name of the user who processed the transaction. Default value is Helcim System

typestring

The type of the transaction. possible values are purchase | preauth | verify

amountnumber

The amount of processed transaction

currencystring

The abbreviation of the transaction's currency

avsResponsestring

AVS Response

cvvResponsestring

CVV Response

cardTypestring

Abbreviated card issuer name

  • VI - Visa
  • MC - MasterCard
  • AX - American Express
  • DI - Discover
  • DCI - Diners Club
  • JCB - JCB
  • UP - China Union Pay
  • MR - Maestro
  • AF - AFFN
  • AO - Alaska Option
  • CU - Credit Union 24
  • EB - EBT Network
  • EX - Accel
  • IL - Interlink
  • NT - Nets
  • NY - NYCE
  • PS - Pulse
  • ST - Star
  • SZ - Shazam
  • AT - ATH
  • IN - Interac
  • DB - Debit
approvalCodestring

Approval Code

cardTokenstring

Card token associated to the transaction

cardNumberstring

First-6 Last-4 numbers of the card number associated to the transaction

cardHolderNamestring

Cardholdername associated to the transaction

customerCodestring

Customer code associated to the transaction

invoiceNumberstring

Invoice number associated to the transaction

warningstring

Warnings

Example response

{
  "transactionId": 10,
  "cardBatchId": 11,
  "dateCreated": "2020-01-01 00:00:00",
  "status": "APPROVED",
  "user": "Helcim System",
  "type": "purchase",
  "amount": 11.99,
  "currency": "CAD",
  "avsResponse": "M",
  "cvvResponse": "Y",
  "cardType": "Visa",
  "approvalCode": "HCMAPPRV",
  "cardToken": "5454HCMXTEST5454",
  "cardHolderName": "John Smith",
  "customerCode": "CST1010",
  "invoiceNumber": "INV2022",
  "warning": "Failed to link customer to invoice"
}