Skip to content

接口概览

更新时间:2026/9/16 21:53:37

接口风格

  • RESTful 风格,接口命名 kebab-case(如 pay-order 而非 payOrder
  • 基于 HTTP 协议,请求与响应均为 JSON 格式

API 架构

DaxPay 对外提供开放支付 API

层级路径前缀认证方式响应类用途
支付 API/unipay/*RSA 签名验签DaxResult服务器对服务器调用(下单、支付、退款、查询、关闭等)

面向对象

支付 API 面向商户后端系统,通过 RSA 签名认证,无需登录态。商户端 Web 面板使用的内部管理接口不在本文档范围内。

支付 API 的三类接口

/unipay/* 下按业务场景细分为三类:

类别路径前缀场景文档
直连支付/unipay/pay/unipay/close/unipay/refund/unipay/query/*/unipay/sync/*商户后端已确定通道与支付方式统一支付 · 申请退款
网关支付/unipay/gateway/*由平台收银台/聚合页选择支付方式网关预下单
分账/unipay/alloc/unipay/query/alloc-order/unipay/sync/order/alloc对分账订单发起分账、查询与同步发起分账
退款查询/unipay/query/refund-order按退款单号精确查询单笔退款查询退款单

基础地址

http://{系统域名}:{端口}

示例:https://your-domain.com(生产环境),本地开发默认端口 9999

对接流程

  1. 注册商户:在管理平台注册商户,获取商户号(mchNo)和应用 ID(appId)。
  2. 配置密钥:生成 RSA 密钥对,将商户公钥注册到平台;平台分配平台公钥用于验签响应。
  3. 接口调用:按本文档定义的规范构造请求(含签名),发起支付、查询、关闭等请求。
  4. 接收回调:配置异步通知地址(notifyUrl),接收支付/退款结果通知。

通用请求头

参数名必填描述
Content-Typeapplication/json,所有请求均为 JSON 格式

签名机制

支付 API(/unipay/*)使用 RSA 签名认证,签名字段在请求体内(非请求头):

字段位置描述
sign请求体RSA 签名值(Base64 编码)
reqTime请求体请求时间(yyyy-MM-dd HH:mm:ss,GMT+8)
reqId请求体请求唯一标识,防重放
nonceStr请求体随机字符串,防重放

签名生成细节参见 签名机制

通用响应体(支付 API)

DaxResult 结构:

json
{
  "code": 0,
  "msg": "success",
  "data": {},
  "sign": "Base64签名值",
  "resTime": "2024-12-01 20:00:00",
  "reqId": "REQ20241201001"
}
字段类型描述
codeint业务状态码,0 表示成功
msgstring提示信息
dataobject业务数据
signstring平台对响应的 RSA 签名,商户可验签
resTimestring响应时间(北京时间,yyyy-MM-dd HH:mm:ss
reqIdstring请求 ID(回显入参 reqId)

注意字段名

支付 API 响应字段为 msg(非 message)。

通用约定

请求方式

支付 API 交易接口均为 POST 方式请求,请求体为 JSON 格式;个别认证接口为 GET(如 获取用户标识)。

日期格式

支付 API(/unipay/**)的全部时间字段(请求、响应、异步通知)统一使用北京时间格式 yyyy-MM-dd HH:mm:ss不带时区后缀

json
{ "reqTime": "2024-12-01 12:00:00" }
  • 平台签名时使用的时间字面量与报文完全一致,商户务必用同一字面量参与签名(见签名机制);
  • 请求时间字段请勿使用 ISO 8601(如 2024-12-01T04:00:00Z)或带亚秒精度的写法,与平台规范字面量不一致会导致验签失败(错误码 20052)。

金额单位

所有金额字段类型为 Long,单位为,避免浮点数精度丢失。 例如:1元100

状态值

状态字段类型为 String(非数字),使用语义化的英文小写编码:

  • 支付状态(PayStatusEnum):wait / progress / success / close / cancel / fail / timeout
  • 退款状态(RefundOrderStatusEnum):progress / success / fail / close
  • 退款标记(PayRefundStatusEnum):no_refund / refunding / partial_refund / refunded

术语表

术语描述
mchNo商户号(Merchant Number),唯一标识接入商户
appId应用 ID,商户下创建的应用标识
RSA 密钥对商户生成 RSA 密钥对,公钥注册到平台,私钥用于签名请求
method支付方式,如 wechat_qralipay_pc(见 PayMethodEnum
product支付产品,如 alipay_pcwechat_native(见 通道码表
orderNo系统订单号
bizOrderNo商户业务订单号
tradeNo交易号(一笔订单可多次尝试,每次生成新交易号)

官方网站 · 基于 GNU LGPL v3.0 协议开源