GlobePay 开发者中心
https://api.globepay.io/v1
API 文档 代付 创建代付订单
POST

/api/payout

创建单笔代付订单。提交后系统将锁定汇率并调用银行/支付机构通道。

10 req/s · 100 req/min 需要鉴权 幂等性 (X-Idempotency-Key)

1. 签名机制 (RSA-SHA256)

所有 API 请求(除 /api/token 外)都需要在 Header 中携带签名。 签名采用 RSA-SHA256 非对称加密算法,使用商户的 RSA 私钥签名,平台使用公钥验签。 密钥对可在 安全中心 生成,支持 2048/4096 位。

签名步骤
  1. 1.生成密钥对:在 安全中心 → API 密钥 中创建 RSA 密钥对,平台生成 2048 位 RSA 公私钥,私钥由商户自行保管
  2. 2.收集参数:methodpathtimestampnoncebody
  3. 3.将参数按 key=value 格式拼接,以 \n 连接构造待签字符串
  4. 4.使用 RSA 私钥 对字符串进行 SHA256withRSA 签名,输出 Base64 编码
  5. 5.将签名结果放入 X-Signature 请求头,平台使用公钥验签
时间戳
X-Timestamp: 1717400000
Unix 秒级 · 偏差 ±5 分钟
随机数
X-Nonce: 7f3a...b2e1
UUID v4 · 防重放
签名
X-Signature: a93f...
RSA-SHA256 · Base64

2. 请求参数 (Request Body)

参数名
类型
必填
说明
order_id
string
商户订单号,最长 32 位,全局唯一
amount
decimal
代付金额,最多 2 位小数
currency
string
ISO 4217 币种代码,如 USD / EUR / GBP / JPY / INR / BRL / CNY
recipient.full_name
string
收款人姓名,需与银行账户一致
recipient.bank_account
string
银行账号,根据国家不同采用不同格式(ACH/SWIFT/IBAN/IFSC/PIX)
recipient.bank_code
string
银行代码:SWIFT/BIC、Routing Number、IFSC、Sort Code 等
recipient.country
string
ISO 3166-1 alpha-2 国家代码,如 US / GB / IN / DE / JP / BR
recipient.email
string
收款人邮箱,用于接收通知
purpose
string
代付用途:salary / bonus / refund / reimbursement / other
remark
string
商户自定义备注,最长 128 字符
metadata
object
商户自定义元数据,回调时原样返回

3. 响应参数 (Response)

字段
类型
说明
code
int
状态码,0 表示成功
message
string
描述信息
data.order_id
string
商户订单号
data.id
string
平台订单号 (PO- 前缀)
data.status
int
0 待处理 / 1 处理中 / 2 成功 / 3 失败 / 4 退汇
data.amount
decimal
代付金额
data.currency
string
币种
data.fee
decimal
手续费
data.rate
decimal
锁定的 USDT/法币汇率
data.created_at
datetime
订单创建时间 (ISO 8601)

4. 代码示例

# 1. 准备签名
TIMESTAMP=$(date +%s)
NONCE=$(uuidgen)
METHOD="POST"
PATH_URL="/api/payout"
BODY='{"order_id":"PAY-20260603-001","amount":"4280.00","currency":"USD","recipient":{"full_name":"Sarah Kim","bank_account":"1234567890","bank_code":"021000021","country":"US","email":"sarah@acme.io"},"purpose":"salary","remark":"June salary"}'
PRIVATE_KEY_PATH="/etc/globepay/private.pem"

# 2. 拼接待签字符串
PAYLOAD="${METHOD}\n${PATH_URL}\n${TIMESTAMP}\n${NONCE}\n${BODY}"

# 3. 使用 RSA 私钥签名 (SHA256withRSA + Base64)
SIGNATURE=$(echo -n "$PAYLOAD" | openssl dgst -sha256 -sign "${PRIVATE_KEY_PATH}" | openssl base64 -A)

# 4. 发起请求
curl -X POST "https://api.globepay.io/v1/api/payout" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "X-Timestamp: ${TIMESTAMP}" \
  -H "X-Nonce: ${NONCE}" \
  -H "X-Signature: ${SIGNATURE}" \
  -H "X-Idempotency-Key: ${NONCE}" \
  -H "Content-Type: application/json" \
  -d "${BODY}"

成功响应 (HTTP 200)

{
  "code": 0,
  "message": "success",
  "data": {
    "order_id": "PAY-20260603-001",
    "id": "PO-20260603-7821",
    "status": 1,
    "amount": "4280.00",
    "currency": "USD",
    "fee": "2.14",
    "rate": "1.0002",
    "estimated_arrival": "2026-06-03T17:00:00Z",
    "created_at": "2026-06-03T09:42:18Z"
  }
}

5. 错误码

code
HTTP
含义
0
200
成功
10001
401
签名错误 · 检查 X-Signature 算法或时间戳
10002
401
Token 过期 · 调用 /api/token/refresh
10003
403
IP 不在白名单
20001
400
参数缺失
20002
400
银行账号格式错误 (按国家不同规则不同)
30001
429
触发限流 · 10 req/s
30002
429
重复请求 · 幂等键冲突
50001
500
系统异常 · 联系客服并提供 Request ID

6. IP 白名单

为提升 API 访问安全性,商户可在 安全中心 → API 密钥 中为每个 API Key 绑定 IP 白名单。 绑定后,只有来自白名单内 IP 的请求才会被放行。未绑定即默认对所有 IP 开放。

配置方式
安全中心 → API 密钥 → 编辑 → IP 白名单
支持 IPv4 单 IP 与 CIDR 网段
格式示例
203.0.113.0/24
192.0.2.10
最多 50 个条目,用逗号或换行分隔
违反响应
HTTP 403
错误码 10003 · IP 不在白名单
最佳实践:建议将公司办公出口 IP 和服务器 IP 加入白名单,避免使用动态 IP 配密钥
白名单变更后即时生效,无需重启服务或重新生成 Token
审计日志:所有被白名单拦截的请求均记录在安全中心 → 登录日志中,含时间、IP、请求路径

7. 回调通知 (Webhook)

当订单状态变更时,平台会主动向商户在 API 密钥 中配置的 Webhook URL 发送 POST 请求。

回调同样使用 RSA-SHA256 签名,Header 为 X-GlobePay-Signature
回调超时 5 秒,需返回 HTTP 2xx 表示成功,否则按指数退避重试 5 次
可在控制台查看回调日志与重试历史

8. 查询订单 (GET /api/order/{id})

查询代付订单的最终状态。轮询建议间隔 ≥ 30 秒,最多 60 次后停止并改用 Webhook。

curl -X GET "https://api.globepay.io/v1/api/order/PO-20260603-7821" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
  -H "X-Api-Key: YOUR_API_KEY" \
  -H "X-Timestamp: ${TIMESTAMP}" \
  -H "X-Nonce: ${NONCE}" \
  -H "X-Signature: ${SIGNATURE}"