Docs
API文档
  • 简体中文
  • English
API文档
  • 简体中文
  • English
  • API文档

    • 统一约定
    • 入账/收款
    • 出账/代付
    • 账户余额
    • 交易查询
    • 异步通知(入账/出账)
    • 参数签名
    • 账户(Acct)说明
    • 特别说明/精度对账

入账/收款

入账(下单)

接口地址

https://{$api_host}/api/pay

请求参数

字段名变量名必填签名类型示例值描述
商户号 IDmerid是是string10086平台创建商户分配给商户 id
商户订单号tno是是stringtno1234578910jqk商户提交的订单号,限 32 位以内,数字字母组合.
金额amt是是string126.35订单总金额,保留两位。
渠道chnl是是stringCHNL_CODE渠道代码。每个商户使用到的渠道代码不一样,请参考文档结合商户后台选择使用(商户后台类型是dp的)
终端 IPclient_ip否是string127.0.0.1发起支付请求客户端的 IP 地址,提供便于分地区提高成功率
通知地址notify_url是是stringhttps://www.baidu.com异步通知。(在订单成功支付的时候回调 5s/10s/30s/180s/600s)
同步回调return_url否是stringhttps://www.baidu.com同步完成后显示地址
附加参数extra否是string特定渠道发起交易时需要的额外参数,以及部分渠道支付成功返回的额外参数
付款账户acct否是object请参考渠道入账场景acct及订单track说明。目前"ph_"开头的不需要传递此项
签名sign是否stringc380be5...签名,详见签名生成算法

!! 特别注意:

  • 上述非必填字段空的时候签名需要过滤掉
  • url签名的时候是需要进行urlencode的
  • 金额单位保留两位小数。特别注意".00"会被省略。签名时候特被注意。
  • 如果提交了acct数据则签名的时候需要进行“展开处理”. 详细见签名。
  • acct数据字段见最后“acct类型示例”。如果不清楚则可以忽略这个。
  • 如果某个渠道不需要acct数据,而又传递了数据。这部分数据依然会被签名校验

参数示例

{
  "merid": "10086",
  "tno": "sn1234578910jqk", 
  "amt": "50.00", 
  "chnl": "cscn_cspb", //渠道
  "client_ip": "127.0.0.1", // 客户端IP
  "return_url": "https://www.baidu.com", // 同步回调 
  "notify_url": "https://www.baidu.com", // 异步通知
  "extra": "", // 附加参数 可为空值 
  "sign": "9a9cba23f9075ff01b2ed2050f52f42d" // 签名
}

返回参数说明

字段名变量名类型示例值描述
平台订单号snstringsn12345678返回的订单号
商户订单号tnostringtno1234578910jqk商户提交的订单号
订单金额amtstring1200.20订单总金额,单位为元。注意这里是格式化之后的字符串
如果要使用记得转换类型
手续费feestring12.20订单总金额,单位为元。注意这里是格式化之后的字符串
如果要使用记得转换类型
创建交易时间ctmstring2008-08-08 08:08:08订单创建时间
交易过期时间etmstring2008-08-08 12:17:12交易有效时间(截止时间)。不一定都会存在
返回数据datastring或数组如果是扫码图片等使用,返回 base64 编码
跳转/柜台urlurlstringurl地址如果是跳转类/收银台,返回跳转 url
收款账号数据acctobject部分渠道会返回
返回结果示例
{
  "data":{
    "sn": "sn12345678",
    "tno": "tno1234578910jqk",
    "amt": "100.00",
    "ctm": "2008-08-08 08:08:08",
    "etm": "2008-08-08 12:17:12", //不一定有
    "url": "http://abc.com/payment/pay/A20191107055050B07115.html",
    //根据支付情况,下列参数不一定有
    "acct":{ 
      "name": "张三",
      "acct": "1234567890"
    }
  }
}

返回数据说明

  • 如果是跳转类型。则返回的是收银台。且不会包含acct数据
  • 如果是含收银台类。返回数据是url+ acct。收款账号数据部分渠道会返回。这个数据是用来自制收银台的。如果自制收银台。需要完成收款账号数据的展示

入账查询

接口地址
https://{$api_host}/api/pay/query
请求参数
字段名变量名必填类型示例值描述
商户号merid是string10086创建分配给商户的数字号。非登录账号
平台单号sn是stringsn1234578910jqk我方的单号。不是贵公司的业务单号
商户单号tno是stringtno1234578910jqk商户提交的订单号
签名sign是stringc380bec2bfd727a4.....签名,详见签名生成算法

!!!

  • 平台单号、商户单号。至少要提供一个。商户单号只能查询到近3日数据

参数示例

{
  "merid": "10086",
  "sn": "sn1234578910jqk", 
  "sign":"9a9cba2119075ff01b2ed2050f52f42d"
}
返回参数说明
字段名变量名类型示例值描述
商户号meridstring10086创建分配给商户的数字号。非登录账号
平台订单号snstringsn12345678返回的订单号
商户订单号tnostringtno1234578910jqk商户提交的订单号
创建交易时间ctmstring2008-08-08 08:08:08订单创建时间时间戳
订单金额amtfloat1260.35订单总金额,单位为元,详见支付金额
订单手续费feefloat12.35订单手续费
订单状态stsstringsuccesssuccess—支付成功
签名signstring1d48ac07237fa..验证信息是否正确

成功返回示例

{
  "data":{
    "merid": "10086",
    "sn": "sn123456",
    "tno": "tno12345678910jqk", 
    "amt": "1000.00", 
    "fee": "12.35", 
    "ctm": "2000-10-10 08:08:08",  
    "sts": "submit",  
     //根据支付情况,下列参数不一定有
    "acct":{ 
      "name": "张三",
      "acct": "1234567890"
    }
  }
}

入账订单状态说明

状态值说明
submit提交成功
paying支付中
fail支付失败
success成功
close关闭
Prev
统一约定
Next
出账/代付