v1

latestOpenAPI 3.0.02026-07-2671142187.3 KB
Helcim Pay

Creates a HelcimPay.js Checkout Session

post/helcim-pay/initialize

Headers

api-tokenstring required

API Access Token

Request body

paymentTypestring required

Payment Type. Valid payment types are purchase | preauth | verify

amountnumber required

The amount of the transaction to be processed.

currencystring required

Currency abbreviation. CAD | USD

customerCodestring

This is the code of an existing customer in Helcim associated with this checkout.

invoiceNumberstring

This is the number of an existing invoice in Helcim associated with this checkout.

paymentMethodstring

This is the payment method (credit card, ACH) that customer can use to pay the amount. cc | ach | cc-ach

allowPartialnumber

This is used to determine whether the partial payment UI will be displayed to the customer.

hasConvenienceFeenumber

This is used to apply the convenience fee rate to credit card transaction should customer chooses this payment method.

taxAmountnumber

This is used to enable level 2 processing lower rates. The value should be the dollar amount of the tax to 2 decimal places.

hideExistingPaymentDetailsnumber

This is used to hide the existing payment information of the customer.

setAsDefaultPaymentMethodnumber

This is used to set the payment method of the transaction to default for that customer.

terminalIdnumber

This is used to process the card transaction on the specified terminal.

confirmationScreenboolean

This is used to display transaction information such as the amount paid and invoice number to the user after a successful transaction.

If true, a confirmation screen will be displayed after a successful transaction.

If false, no confirmation screen will be displayed.

digitalWalletstring

This is used to enable digital wallets as payment methods, currently Google Pay is available.

If a given digital wallet is set to 1 it will be enabled, if it is set to 0 it will not be enabled.

By default, no digital wallets are enabled.

displayContactFieldsnumber

This is used to add phone and email input fields to the modal, allowing customers to provide additional billing information.

Set the value to 1 to enable these fields, or 0 to keep them disabled.

Note that the contact fields cannot be used in combination with a customer code.

By default, display contact fields are disabled.

Example request

{
  "paymentType": "purchase",
  "amount": 100,
  "currency": "CAD",
  "customerCode": "CST1000",
  "invoiceNumber": "INV1000",
  "paymentMethod": "cc-ach",
  "allowPartial": 1,
  "hasConvenienceFee": 1,
  "taxAmount": 3.67,
  "hideExistingPaymentDetails": 1,
  "setAsDefaultPaymentMethod": 1,
  "terminalId": 1,
  "confirmationScreen": true,
  "digitalWallet": "{\"google-pay\": 1}",
  "displayContactFields": 1,
  "customStyling": {
    "appearance": "light",
    "brandColor": "815AF0",
    "cornerRadius": "rounded",
    "ctaButtonText": "pay"
  },
  "customerRequest": {
    "customerCode": "CST1000",
    "contactName": "John Smith",
    "businessName": "Best Company",
    "cellPhone": "123-456-7890",
    "billingAddress": {
      "name": "John Smith/Helcim",
      "street1": "123 Street",
      "city": "Calgary",
      "province": "AB",
      "country": "CAN",
      "postalCode": "H0H0H0",
      "phone": "1234567890",
      "email": "john@example.com"
    },
    "shippingAddress": {
      "name": "John Smith/Helcim",
      "street1": "123 Street",
      "city": "Calgary",
      "province": "AB",
      "country": "CAN",
      "postalCode": "H0H0H0",
      "phone": "1234567890",
      "email": "john@example.com"
    }
  },
  "invoiceRequest": {
    "invoiceNumber": "INV1000",
    "shipping": {
      "details": "Standard Shipping",
      "address": {
        "name": "John Smith/Helcim",
        "street1": "123 Street",
        "city": "Calgary",
        "province": "AB",
        "country": "CAN",
        "postalCode": "H0H0H0",
        "phone": "1234567890",
        "email": "john@example.com"
      }
    },
    "pickup": {
      "name": "John Smith"
    },
    "tax": {
      "amount": 1.25,
      "details": "GST"
    },
    "discount": {
      "amount": 5.25,
      "details": "Spring Sale"
    }
  }
}

Response

Successful

checkoutTokenstring

The checkout token is used to initialize Helcim Pay

secretTokenstring

The secret token is used to validate the transaction response