Skip to main content
POST
/
v1
/
pay
/
batch
/
transfer
Create merchant batch transfer
curl --request POST \
  --url https://openplatform.gateapi.io/v1/pay/batch/transfer \
  --header 'Content-Type: application/json' \
  --header 'X-GatePay-Certificate-ClientId: <x-gatepay-certificate-clientid>' \
  --header 'X-GatePay-Nonce: <x-gatepay-nonce>' \
  --header 'X-GatePay-Signature: <x-gatepay-signature>' \
  --header 'X-GatePay-Timestamp: <x-gatepay-timestamp>' \
  --data '
{
  "merchant_batch_no": "RB202606300001",
  "currency": "USDT",
  "batchorderList": [
    {
      "user_id": 100001,
      "amount": "12.5",
      "currency": "USDT",
      "rewardId": "reward_001"
    },
    {
      "user_id": 100002,
      "amount": "8.8",
      "currency": "USDT",
      "rewardId": "reward_002"
    }
  ]
}
'
{
  "status": "SUCCESS",
  "code": "000000",
  "errorMessage": "",
  "data": {
    "merchant_batch_no": "RB202606300001",
    "batch_id": "237394559478075550"
  }
}

Overview

This page documents the POST /v1/pay/batch/transfer endpoint, which creates a merchant batch transfer order for reward distribution scenarios. The full request schema, response structure, and examples are rendered from the linked OpenAPI definition above.

Notes

  • Authentication uses the standard GatePay signed headers.
  • This endpoint is grouped under PayoutReward Distribution in institution merchant APIs.
  • X-GatePay-On-Behalf-Of is optional for this endpoint. Pass it only when you need to specify the initiating account context in an institution-delegated scenario.
  • For shared signing rules, see /api-reference/version/100/en/common/securityAndSignature.

Headers

X-GatePay-Certificate-ClientId
string
required

The clientId assigned when the merchant registers an application in the Gate merchant console.

Example:

"4186d0c6-6a35-55a9-8dc6-5312769dbff8"

X-GatePay-Signature
string
required

Request signature. GatePay uses this signature to verify whether the request is valid.

X-GatePay-Timestamp
string
required

UTC timestamp in milliseconds when the request is generated. GatePay will not process requests where the difference from the receive time exceeds 10 seconds.

Example:

"1672905655498"

X-GatePay-Nonce
string
required

Random string. Must comply with HTTP header rules; recommended length is within 32 characters, composed of digits and letters.

Example:

"9578"

X-GatePay-On-Behalf-Of
string

Optional delegated-subject header. Pass the initiating account ID only when an institution-delegated context needs to be identified; otherwise this header can be omitted.

Body

application/json

Request body for creating a merchant batch transfer order.

merchant_batch_no
string
required

Merchant batch number. Must be unique on the merchant side.

currency
string
required

Batch transfer currency.

batchorderList
object[]
required

List of transfer sub-orders.

bizscene
string

Business scenario identifier.

name
string

Display name of the batch transfer.

description
string

Description of the batch transfer.

channelId
string

Channel ID, optional.

is_coupon
boolean

Whether this is a coupon scenario. Optional, default is false.

Response

200 - application/json

Batch transfer creation result

Response body for creating a merchant batch transfer order.

status
string
required

API response result, SUCCESS or FAIL.

code
string
required

Response error code.

errorMessage
string

Error description.

data
object