下单付款接口

用户采用POST方法向平台提交请求,数据格式采用JSON,平台地址为:

https://平台域名/yunke-order/order  
如:https://pay.wn.com/yunke-order/order

请求参数如下:

支付下单POST请求参数
参数名 类型 是否必选 限制 描述 示例
user_id int 系统分配,不可自定义 用户id:商家在平台注册时获得的用户ID 4
order_number string

长度:string[6,32]
仅限大小写字母、数字、下划线

商户订单号:在商家系统中全局唯一 20210530_R060524
description string

长度string[1,127]  
仅限汉字、大小写字母、数字、下划线
不可使用特殊字符,如 /,=,& 等。

描述:商品或服务的描述 小米11手机
total float

可带小数点精确到分
取值范围为 0.01~100000000.00

总付款金额:单位元 18.6
timeout_express int Unix时间戳( 1970年1月1日 00:00:00 到当前时间的秒数)
与当前的时间差值范围在1分钟到15天

交易关闭时间:时间戳,超过该时间将无法付款

1622341093
return_url string

长度string[1,256]
必须为直接可访问的URL绝对地址。

付款后跳转地址:用户完成付款后,系统将跳回商家的该地址

https://www.drupal.org
notify_url string

长度string[1,256]
必须为直接可访问的URL绝对地址,且异步通知地址不能重定向

付款异步通知地址:用于通知商家付款是否成功的异步通知URL绝对地址,如无将不通知,采用POST方法通知

https://www.drupal.org
attach string 长度string[1,128]
任意数据,推荐为json字符串
附加数据:在查询API和支付通知中原样返回,可作为自定义参数使用 云客:user:drupal
sign string 长度string[64]
哈希值

签名字符串:用于保证请求真实、不被篡改、防止重放攻击,通讯必须签名,点击查看签名算法

 

 

接口响应如下:
响应分为公共参数部分和业务参数部分

公共参数部分
参数名 类型 是否必选 限制 描述 示例
code int 三位整数 处理结果的状态码,详见这里 2000
msg string 长度string[1,256] 处理结果的描述短语 “ok”
sign string 长度string[64]
哈希值

签名字符串:用于保证请求真实、不被篡改、防止重放攻击,通讯必须签名,点击查看签名算法

 
业务参数部分
参数名 类型 是否必选 限制 描述 示例
url string 视条件而定
仅在状态码以2开始时存在
url绝对地址 付款跳转页面,系统应将用户重定向到该页面进行付款操作, https://www.drupal.org
           

 

常见问题:

1、同一个商户订单号多次调用平台下单接口时,返回结果会分情况而定,当该单已付款时,会返回错误消息,而不是URL,当未付款时,会返回URL,此时会将原下单信息更新为新的下单信息,但强烈建议不要这样做,如果订单信息有变应该生成新的订单号,因为部分支付渠道(比如微信)当信息变更时,强制要求更换单号,否则提示重复下单错误,这导致不能付款,而支付宝并不限制

2、微信支付有场景限制:比如已经在PC端浏览器下单发起了支付(显示了付款二维码),而此时用户放弃支付,之后又在移动端浏览器或微信浏览器内等其他场景下对该订单继续付款,那么将出现重复下单的错误提示而无法付款,用户只能返回到最初下单时的场景(PC端)下才能付款成功,微信支付各场景互斥,要解决该问题,客户端系统可以产生新的订单号,或者让用户在付款页面的提示下返回原场景继续完成支付。支付宝不存在该问题。