微信小程序支付接口

使用场景:微信小程序内


请求地址(不支持浏览器直接打开):https://open.h5zhifu.com/api/miniapp

调用方法:POST

请求格式:application/json

请求参数:

字段名称 字段类型 是否必填 说明
app_id int(16) Y 应用ID,在后台系统设置页面查看
out_trade_no string(32) Y 商家订单编号,即你自己系统里的订单编号,便于后续对账
description string(32) Y 销售商品描述
pay_type string(32) Y 支付类型,固定值wechat
amount int(16) Y 订单金额(注意单位为分,且为整数)
attach string(255) N (选填)开发者自定义数据,在支付成功后notify回调的时候会原样返回
notify_url string(255) Y 支付成功后回调地址
sign string(32) Y 数据签名,请查看左侧签名算法

接口返回:

字段名称 字段类型 是否必填 说明
code int(16) Y 状态码。200:成功调用,1001:签名错误,1003:缺少参数,1004:请求值格式错误
msg string(32) Y code字段所对应的详细描述信息
data string(32) Y 将下面的所有参数括起来
trade_no string(32) Y 本平台唯一订单编号,可用于查询订单状态
jump_appid string(32) Y 跳转的小程序ID
jump_path string(32) Y 跳转的小程序的path路径
expire_time string(32) Y 订单过期具体时间,目前暂时指定为2小时

接口返回示例:

 {
     "code":200,
     "msg":"success",
     "data":{
          "trade_no": "201907098484845164151",
          "jump_appid": "jump_appid",
          "jump_path": "jump_path",
          "expire_time": "2019-03-23 04:13:12",
     }
 }

请求方法:因个人类型的小程序不支持直接调用微信原生支付接口,拿到参数后需要跳转到我们平台指定的小程序的指定path路径,支付后会返回到你自己的小程序

为了用户体验,建议使用半屏能力打开跳转的小程序,需在微信小程序管理后台「设置」-「第三方设置」-「半屏小程序管理」板块发起申请,具体的代码文档在这里: https://developers.weixin.qq.com/miniprogram/dev/api/navigate/wx.openEmbeddedMiniProgram.html

没有返回参数,支付后会自动返回,因为用户可自行返回,返回后请勿直接认定用户已付款,可让用户点击“已支付”按钮,来主动到后端检查订单状态。或者请主动ajax循环从你系统后端判断是否已支付

常见问题解决办法:

1、出现防火墙拦截提示:请将http请求头中的user-agent设置为常见浏览器请求头,或者检查请求内容是否含有非法内容

2、是否可以不验证异步回调通知sign:不可以,因为可能会有坏人伪造异步回调通知

results matching ""

    No results matching ""