v1

latestOpenAPI 3.0.02026-07-2671142187.3 KB
Payment

Process a Withdraw Transaction

post/payment/withdraw

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",
    "tipAmount": 0.99,
    "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"
    }
  },
  "bankData": {
    "firstName": "John",
    "lastName": "Smith",
    "companyName": "Microsoft",
    "accountType": "CHECKING",
    "accountCorporate": "PERSONAL",
    "streetAddress": "440 - something",
    "city": "Calgary",
    "country": "CAN",
    "province": "AB",
    "postalCode": "T2T2T2",
    "padAgreement": true
  }
}

Response

Successful

transactionIdnumber

The transaction id

batchIdnumber

The id of associated card batch

dateCreatedstring

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

statusAuthstring

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

statusClearingstring

The status of the transaction. possible values are OPENED | CLEARED | REJECTED | CONTESTED | RETURNED

typestring

The type of the transaction. possible values are WITHDRAWAL | DEPOSIT | SETTLE | REVERSE | REFUND

amountnumber

The amount of processed transaction

currencystring

The abbreviation of the transaction's currency

approvalCodestring

Approval Code

bankAccountNumberstring

Bank account number

bankTokenstring

Bank Token associated with bankAccount

invoiceNumberstring

Invoice number associated to the transaction

Example response

{
  "transactionId": 10,
  "batchId": 11,
  "dateCreated": "2020-01-01 00:00:00",
  "statusAuth": "APPROVED",
  "statusClearing": "OPENED",
  "type": "WITHDRAWAL",
  "amount": 11.99,
  "currency": "CAD",
  "approvalCode": "HCMAPPRV",
  "bankAccountNumber": "A1B2C3D4E5F6G7",
  "bankToken": "-A1B2C3D4E5F6G7*",
  "invoiceNumber": "INV2022"
}