Skip to main content
POST
/
open
/
institution
/
v1
/
order
/
deduct
Initiate subscription deduction
curl --request POST \
  --url https://openplatform.gateapi.io/pay-subscription/open/institution/v1/order/deduct \
  --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 '
{
  "merchantDeductNo": "DEDUCT_20260420_001",
  "amount": 10.5,
  "currency": "USDT"
}
'
{
  "code": "0",
  "message": "",
  "data": {
    "deductOrderNo": "70778338049917033",
    "merchantDeductNo": "DEDUCT_20260420_001",
    "status": "SUCCESS",
    "amount": "10.50000000",
    "currency": "USDT",
    "totalDeducted": "10.50000000",
    "remainingAmount": "89.50000000",
    "deductTime": 1773989575000
  },
  "success": true
}

Documentation Index

Fetch the complete documentation index at: https://docs.gate.com/llms.txt

Use this file to discover all available pages before exploring further.

Overview

This page documents the POST /open/institution/v1/order/deduct endpoint. The full schema, parameters, and examples are rendered from the linked OpenAPI definition above.

Notes

Headers

X-GatePay-Certificate-ClientId
string
required

Merchant client ID issued by GatePay

Example:

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

X-GatePay-Signature
string
required

HMAC-SHA256 signature for request integrity

Example:

"672d5650dcc9bb22ebf25fa16c28d03c0e159d742a9176d4340a5da326d75dc8a2ec24c97fa6fc5d1533dd6e968863747e1d86a45e562cbe899f9ed7e9ca7f77"

X-GatePay-Timestamp
string
required

Timestamp in milliseconds; must be within 5 minutes of server time

Example:

"1672905655498"

X-GatePay-Nonce
string
required

Random nonce to prevent replay

Example:

"9578"

Body

application/json

Deduction request body

merchantDeductNo
string
required

Merchant deduction reference, globally unique per merchant for idempotency

amount
number
required

Deduction amount; must be greater than 0 and align with the subscription order

currency
string
required

Currency; must match the subscription order

subscriptionOrderNo
string

Platform subscription order number (provide either this or merchantSubscriptionOrderNo)

merchantSubscriptionOrderNo
string

Merchant subscription order number (provide either this or subscriptionOrderNo)

description
string

Description shown to the user, up to 100 characters

Maximum string length: 100

Response

200 - application/json

Request accepted (see data.status for deduction outcome)

code
string

Response code; 0 means success

Example:

"0"

message
string

Response message; empty when successful

Example:

""

success
boolean

Whether the API call succeeded

Example:

true

data
object

Deduction result payload