POST/pay/prepayH5小程序开放/回调

支付-预下单

订单·支付·售后 / Pay· PayController#prepay

基本信息

  • 接口状态开放/回调用(服务端) 置信度 中 免鉴权
  • 接口URLPOSThttps://dscp-dev.hn12301.net/h5-api/pay/prepay
  • 请求方式POST
  • Content-Typeapplication/json
  • 暴露渠道H5、小程序、开放/回调 前缀 /h5-api
  • 名称来源源码注释
  • 调用方本次扫描未发现调用 不等于可以下线
  • 需求上下文feat:新增支付接口
  • 维护人 / 最后改动AsiQue 2024-02-27 最近提交:feat:新增支付接口
  • 读写数据表—
  • 控制器com.jxxx.dscp.api.controller.pay.PayController#prepay
  • 源码位置jxxx-dscp/dscp-service-business/src/main/java/com/jxxx/dscp/api/controller/pay/PayController.java:115
  • 判定依据渠道为开放/回调且有实现链路,由第三方或支付回调触发

请求参数

Header 请求参数

参数名参数值是否必填参数类型描述说明
无(渠道统一鉴权头见《认证方式》)

Query 请求参数

参数名参数值是否必填参数类型描述说明
无

路径参数及说明

参数名参数值是否必填参数类型描述说明
无

Body 请求参数

Body 类型 PrepayRequest
参数名参数值是否必填参数类型描述说明
openId…是StringopenId
orderNo…是String商户订单号
amount…否Long订单金额,单位为分
description…否String商品描述
expireTime…否Date订单失效时间

认证方式

免鉴权:@Route(auth = false) —— 该接口不校验登录态,改动前确认调用方与签名校验。

响应参数

data 类型 PrepayResponse
参数名参数值是否必填参数类型描述说明
appId…否StringappId
timeStamp…否String时间戳
nonce…否String随机字符串
pack…否String预支付交易会话标识
signType…否String签名类型
paySign…否String签名

响应示例

成功响应示例 code=0

{
  "errcode": 0,
  "errmsg": "",
  "data": {
    "appId": "\"string\"",
    "timeStamp": "\"string\"",
    "nonce": "\"string\"",
    "pack": "\"string\"",
    "signType": "\"string\"",
    "paySign": "\"string\""
  }
}

失败响应示例

{
  "data": null,
  "可能返回": [
    {
      "errcode": "99999",
      "errmsg": "服务内部错误"
    }
  ]
}
示例来自源码/导出内容,仅结构参考,非线上真实数据。

附录 · 实现细节

调用链 / 数据表 / 调用点证据 / 源码注释 / 逻辑摘要
  • PayController#prepay
  • LockService#tryLock
  • OrderService#mustGet(OrderServiceImpl)
  • OrderMapper#mustGet
  • WechatJsapiPayService#prepay(WechatJsapiPayServiceImpl)
  • LockService#unlock
其它依赖:PayBackProperties.getCardPayCallbackUrl、PayProperties.getAppid、PayProperties.getMchid、JsapiServiceExtension.prepayWithRequestPayment
操作日志:pay / 支付预下单
可能抛出的业务码:99999 服务内部错误 错误码字典 →
由 tools/build.py 从 data/apis.json 生成 · 生成时间 2026-09-12 19:49 · 数据口径见说明 · 本页数字非手写,均来自同一份数据