Skip to content

网关预下单

更新时间:2026/7/31 19:21:29

接口说明

用于「网关支付」场景:商户后端不预先指定支付方式,而是先通过本接口创建网关订单并获得 H5 落地页 URL小程序映射 URL,按用户设备引导用户进入平台收银台或聚合扫码页,由用户在前端选择支付方式后再发起真实支付。

适用于:

  • 统一收银台(cashier):平台提供的多支付方式选择页面
  • 聚合扫码(aggregate):一码多付,自动识别用户钱包

请求地址

POST /unipay/gateway/pre-pay

  • 认证:RSA 签名(@PaymentVerify
  • 响应:DaxResult<GatewayPrePayResult>

请求参数

基础参数同 统一支付 - 基础参数,业务参数:

参数类型必填最大长度描述
bizOrderNostring100商户订单号
titlestring100订单标题
descriptionstring50订单描述
amountlong订单金额(分,最小 1,最大 9999999999)
gatewayPayTypestring32网关类型:cashier(统一收银台)/ aggregate(聚合扫码)
notifyUrlstring256异步通知地址
returnUrlstring256同步跳转地址
attachstring512商户附加参数,回调原样返回
extraParamstring2048通道扩展参数(JSON)
expiredTimestring过期时间(yyyy-MM-dd HH:mm:ss,GMT+8)
storeNostring64门店号
goodsDetailobject[]商品明细列表

请求示例

json
{
  "mchNo": "M200000001",
  "appId": "APP001",
  "reqId": "REQ20241201010",
  "reqTime": "2024-12-01 12:00:00",
  "sign": "Base64签名值",
  "bizOrderNo": "ORDER20241201001",
  "title": "测试商品",
  "amount": 100,
  "gatewayPayType": "cashier",
  "notifyUrl": "https://your-domain.com/notify",
  "returnUrl": "https://your-domain.com/return"
}

响应参数

DaxResult<GatewayPrePayResult>data 字段结构:

参数类型描述
orderNostring平台网关单号(后续查询/同步用此号)
bizOrderNostring商户业务单号
statusstring业务状态(GatewayOrderStatusEnum,初始为 wait_pay
h5UrlstringH5 落地页 URL(cashier 为 /cashier/{orderNo},aggregate 为 /aggregate/{orderNo}
miniUrlstring小程序映射 URL(cashier 为 /cm/{orderNo},aggregate 为 /am/{orderNo};通过微信等平台普通链接二维码规则拉起小程序)
expiredTimestring过期时间(UTC)

响应示例

json
{
  "code": 0,
  "msg": "success",
  "data": {
    "orderNo": "G2024120112345700001",
    "bizOrderNo": "ORDER20241201001",
    "status": "wait_pay",
    "h5Url": "https://your-domain.com/cashier/G2024120112345700001",
    "miniUrl": "https://your-domain.com/cm/G2024120112345700001",
    "expiredTime": "2024-12-01T04:30:00Z"
  },
  "sign": "Base64签名值",
  "resTime": "2024-12-01T04:00:00Z",
  "reqId": "REQ20241201010"
}

后续流程

  1. 商户后端拿到 h5UrlminiUrl 后按设备返回给前端:浏览器使用 h5Url,小程序普通链接二维码使用 miniUrl
  2. cashier 使用 /cm/{orderNo} 映射到统一收银台小程序;aggregate 使用 /am/{orderNo} 映射到聚合支付小程序。
  3. 用户在网关页完成支付后,平台通过 notifyUrl 异步通知商户(事件 pay.success)。
  4. 商户也可通过 网关订单查询 主动查询订单状态。

微信普通链接二维码配置

在微信公众平台/小程序后台配置普通链接二维码规则:

  • /cm/*pages-weixin/gateway-cashier/index(统一收银台小程序)
  • /am/*pages-weixin/aggregate-pay/index(聚合支付小程序)

小程序从普通链接二维码进入时,微信会把完整 URL 放在 options.q 中;页面分别从 /cm/{orderNo}/am/{orderNo} 提取平台网关单号。

基于 GNU LGPL v3.0 协议开源