---
title: "Process a Withdraw Transaction"
method: POST
path: "/payment/withdraw"
tags: ["Payment"]
deprecated: true
---

# Process a Withdraw Transaction

`POST /payment/withdraw`

> **Deprecated.**

## Headers

- `idempotency-key` string, uuid, required

## Request body

- object
  - `ipAddress` string, required — IP address of the customer making the transaction, used as part of fraud detection.
  - `ecommerce` boolean — Set to indicate that the transaction is e-commerce. When set, the Helcim Fraud Defender will provide further analysis.
  - `terminalId` integer — 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.
  - `currency` string, required — The currency abbreviation of the invoice, such as CAD or USD. This should match currency of existing invoice.
  - `amount` number, required — Amount to be processed
  - `customerCode` string — Existing customer code associated with the transaction
  - `invoiceNumber` string — To be filled when associating transaction to existing invoice. Invoice should be associated to the same customer linked to the card
  - `cardData` Card, required
    - `cardNumber` string, required — The full card number (13 to 16 digits) from merchant to process "purchase", "pre-auth", and "verify" transactions.
    - `cardExpiry` string, required — The card expiry date, in MMYY format (total of 4 digits without spaces or slashes).
    - `cardCVV` string, required — The card CVV (3-4 digits on back of credit card).
    - `cardHolderName` string, required — The name of the card holder as it appears on the card.
  - `billingAddress` Address
    - `name` string, required — Contact Name or Business Name
    - `street1` string, required
    - `street2` string
    - `city` string
    - `province` string — 2 letter abbreviation of the province (AB, BC, CA). Required field if country is CAN or USA.
    - `country` string — 3-letter abbreviation of the country (CAN, USA)
    - `postalCode` string, required
    - `phone` string — 10 to 15 digits phone number.
    - `email` string
  - `invoice` object — To be filled when creating new invoice to be associated to transaction. Will be linked to Customer owning the Card used
    - `invoiceNumber` string — Invoice number of invoice to be created. Will be generated if blank
    - `notes` string — Comment to appear at the bottom of the invoice, visible to the customer.
    - `tipAmount` number — Tip amount
    - `shipping` Shipping
      - `amount` number, float, required — The total shipping amount for the invoice.
      - `details` string, required — A description of the shipping method. This information appears on the invoice.
      - `address` Address, required
        - `name` string, required — Contact Name or Business Name
        - `street1` string, required
        - `street2` string
        - `city` string
        - `province` string — 2 letter abbreviation of the province (AB, BC, CA). Required field if country is CAN or USA.
        - `country` string — 3-letter abbreviation of the country (CAN, USA)
        - `postalCode` string, required
        - `phone` string — 10 to 15 digits phone number.
        - `email` string
    - `pickup` Pickup
      - `date` string, required — The scheduled pickup date and time in the format: `YYYY-MM-DD HH:MM:SS`.
      - `name` string — Read-only. Derived from the linked customer's contact name (empty when no customer is linked to the invoice). A `name` supplied in a create or update request is ignored — only `date` is writable. To change the displayed pickup name, update the linked customer's contact name.
    - `tax` Tax
      - `amount` number, float, required — The total tax amount applied at the invoice level. This does not include item-level taxes.
      - `details` string, required — A description of the tax or tax breakdown.
    - `discount` Discount
      - `amount` number, float, required — The total discount amount applied at the invoice level. This does not include item-level discounts.
      - `details` string, required — A description or code identifying the discount.
    - `lineItems` LineItem[]
      - `sku` string
      - `description` string, required — The description of the item or product.
      - `quantity` number, required — Quantity of the item.
      - `price` number, required — Unit price of the item.
      - `total` number, required — Total amount based on quantity and price of the item.
      - `taxAmount` number — Tax amount on the item.
      - `discountAmount` number — Discount amount on the item.
  - `bankData` union, required
    - BankAccount
      - `firstName` string, required — The bank account holder first name
      - `lastName` string, required — The bank account holder last name
      - `companyName` string, required — The company name
      - `bankAccountNumber` string, required — Bank account number
      - `accountType` string, required — CHECKING - Chequing, SAVINGS - Savings
      - `accountCorporate` string, required — PERSONAL - Personal Bank Account, CORPORATE - Corporate Bank Account
      - `bankIdNumber` string — Required for Canadian Bank Account Holder, the institution number - three digits - identifies your bank.
      - `transitNumber` string — Required for Canadian Bank Account Holder, the transit number - five digits - shows which branch you opened your account at.
      - `routingNumber` string — Required for US Bank Account Holder, a nine-digit code printed on the bottom of checks to identify the financial institution on which it was drawn.
      - `streetAddress` string, required
      - `city` string, required
      - `country` string, required — Only allow CAN - Canada, USA - United States
      - `province` string, required
      - `postalCode` string, required
      - `padAgreement` boolean — Customer given permission for a company or financial institution to debit a bank account when the payment is due.
    - BankToken
      - `bankToken` string, required — The token for the bank account on file.

## Response `200`

Successful

- SuccessfulAchTransactionResponse
  - `transactionId` number — The transaction id
  - `batchId` number — The id of associated card batch
  - `dateCreated` string — The date(Mountain Time) when the transaction is created.
  - `statusAuth` string — The status of the transaction. possible values are APPROVED | DECLINED | IN_PROGRESS | CANCELLED | PENDING
  - `statusClearing` string — The status of the transaction. possible values are OPENED | CLEARED | REJECTED | CONTESTED | RETURNED
  - `type` string — The type of the transaction. possible values are WITHDRAWAL | DEPOSIT | SETTLE | REVERSE | REFUND
  - `amount` number — The amount of processed transaction
  - `currency` string — The abbreviation of the transaction's currency
  - `approvalCode` string — Approval Code
  - `bankAccountNumber` string — Bank account number
  - `bankToken` string — Bank Token associated with bankAccount
  - `invoiceNumber` string — Invoice number associated to the transaction

## Other responses

- `default` — Failed

---

[API](https://skmtc.net/helcim/apis/the-helcim-api.md) · [All operations](https://skmtc.net/helcim/apis/the-helcim-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/helcim/the-helcim-api/versions/345052ca6578/schema)
