---
title: "Process a Verify Transaction"
method: POST
path: "/payment/verify"
tags: ["Payment"]
---

# Process a Verify Transaction

`POST /payment/verify`

## Headers

- `idempotency-key` string, uuid, required

## Request body

- VerifyRequest
  - `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.
  - `currency` string, required — The currency abbreviation of the transaction.
  - `amount` number, required — Amount to be verified
  - `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
  - `invoice` object
    - `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.
    - `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.
  - `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, 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

## Response `200`

Successful

- SuccessfulPaymentResponse
  - `transactionId` number — The transaction id
  - `cardBatchId` number — The id of associated card batch
  - `dateCreated` string — The date(Mountain Time) when the transaction is created.
  - `status` string — The status of the transaction. possible values are APPROVED | DECLINED
  - `user` string — Full name of the user who processed the transaction. Default value is Helcim System
  - `type` string — The type of the transaction. possible values are purchase | preauth | verify
  - `amount` number — The amount of processed transaction
  - `currency` string — The abbreviation of the transaction's currency
  - `avsResponse` string — AVS Response
  - `cvvResponse` string — CVV Response
  - `cardType` string — 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
  - `approvalCode` string — Approval Code
  - `cardToken` string — Card token associated to the transaction
  - `cardNumber` string — First-6 Last-4 numbers of the card number associated to the transaction
  - `cardHolderName` string — Cardholdername associated to the transaction
  - `customerCode` string — Customer code associated to the transaction
  - `invoiceNumber` string — Invoice number associated to the transaction
  - `warning` string — Warnings

## 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)
