---
title: "Make a payment with token"
method: POST
path: "/v3/payment?token="
---

# Make a payment with token

`POST /v3/payment?token=`

## Request

- Base URL: `https://sandbox.api.mxmerchant.com/checkout`
- URL: `https://sandbox.api.mxmerchant.com/checkout/v3/payment?token=`
- Auth: none required
- TypeScript: <https://skmtc.dev/mxmerchant/apis/checkout-api/docs/v3/payment%3Ftoken=/post.ts> (a function with typed inputs; its response is checked against the schema)

Make a payment with the one-time-use token

## Query parameters

- `token` string, required
- `echo` boolean

## Request body

- object
  - `merchantId` integer, required: Merchant id
  - `tenderType` string, required: Tender type. Values: Card, Cash, Check, ACH (if enabled)
  - `amount` number, float, required: Amount
  - `cardAccount` object, required: Card account object
    - `number` string: Card Number
    - `expiryMonth` string: Card Expiration Month
    - `expiryYear` string: Card Expiration Year
    - `token` string: Vaulted Payment Token
    - `avsStreet` string: Billing Street Address (required if Loss Prevention Setting is turned on)
    - `avsZip` string: Billing Postal Code (required if Loss Prevention Setting is turned on)
    - `cvv` string: 3 or 4 digit card verification value (CVV) (required if Loss Prevention Setting is turned on)
    - `magstripe` string: Magnetic Stripe Data
    - `alias` string: Client provided, easy to remember name for the card
    - `emvData` string: Byte array converted to string - ICC, chip data for EMV transactions
    - `emvDataKsn` string: KSN for encrypted emv data
    - `track1` string: Track 1 data - base64 encrypted value or plaintext
    - `track2` string: Track 2 data - base64 encrypted value or plaintext
    - `track1Ksn` string: KSN for encrypted track 1 data
    - `track2Ksn` string: KSN for encrypted track 2 data

## Response `200`

200

- object
  - `created` string
  - `paymentToken` string
  - `id` integer
  - `creatorName` string
  - `merchantId` integer
  - `batch` string
  - `batchId` integer
  - `tenderType` string
  - `currency` string
  - `amount` string
  - `cardAccount` object
    - `cardType` string
    - `entryMode` string
    - `last4` string
    - `cardId` string
    - `token` string
    - `expiryMonth` string
    - `expiryYear` string
    - `hasContract` boolean
    - `cardPresent` boolean
  - `authOnly` boolean
  - `authCode` string
  - `status` string
  - `risk` object
  - `requireSignature` boolean
  - `customer` object
    - `id` integer
    - `created` string
    - `name` string
    - `firstName` string
    - `lastName` string
    - `number` string
    - `sales` string
    - `loyaltyStatus` string
    - `loyaltyEnrolled` string
    - `customFields` object[]
    - `displayColor` string
  - `settledAmount` string
  - `settledCurrency` string
  - `settledDate` string
  - `cardPresent` boolean
  - `authMessage` string
  - `availableAuthAmount` string
  - `reference` string
  - `tax` string
  - `invoice` string
  - `customerCode` string
  - `customerName` string
  - `clientReference` string
  - `type` string
  - `taxExempt` boolean
  - `reviewIndicator` integer
  - `source` string

## Other responses

- `400`: 400

---

[API](https://skmtc.dev/mxmerchant/apis/checkout-api.md) - [All operations](https://skmtc.dev/mxmerchant/apis/checkout-api/llms.txt) - [OpenAPI document](https://skmtc.dev/mxmerchant/apis/checkout-api/revisions/6807b698abcb?raw)
