Skip to content

创建支付

POST /v1/open/payments

json
{
  "out_trade_no": "SHOP-A-20260901-0001",
  "amount": 1000,
  "subject": "订单标题",
  "notify_url": "https://shop-a.example/notify",
  "return_url": "https://shop-a.example/done",
  "expire_at": "2026-09-01T18:00:00+08:00"
}

请求参数

字段类型必填约束
out_trade_nostring1~64 字符 [A-Za-z0-9._-];应用内唯一(幂等键)
amountint64金额(分),>0,≤1 亿分(=100 万元,可配)
subjectstring1~128 字符,收银台展示
notify_urlstringhttps;覆盖应用默认;两者皆无 → 400 PARAM_INVALID
return_urlstringhttps;支付终态跳回
expire_atstringRFC3339;缺省 +2h;钳制 [+5min, +24h]

响应字段

字段说明
payment_no平台支付单号(终态、回调、查单均用)
out_trade_no对接方商户单号(原样返回)
amount金额(分)
statuspending/paid/closed/refunded
cashier_url收银台地址;两种支付发起模式均可用
expire_at过期时间 RFC3339

响应 data

json
{
  "payment_no": "PAY1788...",
  "out_trade_no": "SHOP-A-20260901-0001",
  "amount": 1000,
  "status": "pending",
  "cashier_url": "https://pay.h5.vipjhzf.cn/#/pages-sub/open-cashier/index?pay_token=<pay_token>",
  "expire_at": "2026-09-01T19:00:00+08:00"
}

幂等语义(重要)

(app_id, out_trade_no) 重复请求且 amount 一致 → 返回原单(幂等);不一致 → 409 OUT_TRADE_NO_CONFLICT。并发请求由平台唯一索引兜底,两路都会得到同一单。

相关