---
title: "Place Checkout Order"
method: POST
path: "/v1/pay/checkout/order"
---

# Place Checkout Order

`POST /v1/pay/checkout/order`

Place an order at the cashier. Returns prepay ID, payment URL, QR content, and chain/address information for the consumer to complete payment.

## Headers

- `X-GatePay-Certificate-ClientId` string, required
- `X-GatePay-Signature` string, required
- `X-GatePay-Timestamp` string, required
- `X-GatePay-Nonce` string, required

## Request body

- CheckoutOrderRequest
  - `merchantTradeNo` string, required — Merchant order number, must be unique
  - `currency` string — Crypto currency in uppercase, e.g. USDT, BTC. Required for crypto orders together with orderAmount. Omit when creating a pure fiat order with fiatCurrency and fiatAmount (system converts to USDT).
  - `orderAmount` string — Crypto order amount, max precision 8 digits. Required together with currency for crypto orders. Omit for pure fiat orders that use fiatCurrency and fiatAmount.
  - `surchargeAmount` string — Surcharge, a fee borne by the consumer
  - `toleranceAmount` string — Tolerance amount
  - `fiatCurrency` string — Fiat currency in uppercase. For pure fiat orders, provide together with fiatAmount and omit currency/orderAmount.
  - `fiatAmount` string — Fiat order amount, max precision 2 digits. For pure fiat orders, provide together with fiatCurrency and omit currency/orderAmount.
  - `payCurrency` string — Payment currency for address payment
  - `env` CheckoutEnv, required
    - `terminalType` 'APP' | 'WEB' | 'WAP' | 'MINIAPP' | 'OTHERS', required — Transaction source
    - `scene` string — Payment scene
  - `goods` CheckoutGoods, required
    - `goodsName` string, required — Goods name
    - `goodsDetail` string — Goods detail description
  - `orderExpireTime` integer — Order expiration time in milliseconds
  - `returnUrl` string, uri — Return URL after successful payment
  - `cancelUrl` string, uri — Return URL after failed payment
  - `merchantUserId` integer, required — Unique consumer ID from merchant's platform
  - `chain` string, required — Selected chain name
  - `fullCurrType` string, required — Currency field containing chain name
  - `channelId` string — Client name
  - `actualCurrency` string — Actual settlement currency
  - `payAmount` string — Payment amount
  - `address` string — Blockchain address

## Response `200`

Order created successfully

- CheckoutOrderResponse
  - `status` 'SUCCESS' | 'ERROR' — Response status
  - `code` string — Response code, 000000 indicates success
  - `errorMessage` string — Error message, empty on success
  - `data` CheckoutOrderData
    - `prepayId` string — Pre-order ID
    - `orderAmount` string — Order amount
    - `currency` string — Crypto order currency
    - `surchargeAmount` string — Surcharge
    - `toleranceAmount` string — Tolerance amount
    - `fiatCurrency` string — Fiat currency
    - `fiatAmount` string — Fiat order amount
    - `terminalType` string — Transaction source
    - `expireTime` integer — Order expiration time in milliseconds
    - `qrContent` string — QR code content for payment
    - `location` string, uri — Cashier redirect URL
    - `payCurrency` string — Payment currency
    - `payAmount` string — Payment amount
    - `chain` CheckoutChainData
      - `chain_type` string — Chain name
      - `address` string — Deposit address for the order
      - `fullCurrType` string — Currency field containing chain name
    - `goodsName` string — Goods name
    - `inUsdt` string — Corresponding USDT amount

---

[API](https://skmtc.net/gate/apis/gatepay-api-2.md) · [All operations](https://skmtc.net/gate/apis/gatepay-api-2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/gate/gatepay-api-2/versions/db3687218ec6/schema)
