app支付接口
使用场景:手机app端。
注意:因微信开放平台不支持个人认证,个人无法对接微信支付sdk,所以个人无法使用此app原生支付接口。但是可以使用h5支付接口直接替代,即在开发者app内使用webview组件打开网页,再调用h5支付接口即可唤起微信或支付宝app进行支付
请求地址:https://open.h5zhifu.com/api/app
调用方法:POST
请求格式:application/json
请求参数:
字段名称 | 字段类型 | 是否必填 | 说明 |
---|---|---|---|
app_id | int(16) | Y | 应用ID,在后台系统设置页面查看 |
out_trade_no | string(32) | Y | 商家订单编号,即你自己系统里的订单编号,便于后续对账 |
description | string(32) | Y | 商品描述 |
pay_type | string(32) | Y | 支付类型,枚举值:alipay/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 | 本平台唯一订单编号,可用于查询订单状态 |
prepay_data | string(32) | Y | 预支付数据 |
expire_time | string(32) | Y | 订单过期具体时间,目前暂时指定为2小时 |
接口返回示例:
{
"code":200,
"msg":"success",
"data":{
"trade_no": "201907098484845164151",
"prepay_data": "wxp://f2f0-vFHHDCw3LjsdiigJzXyQ0nO0QKpQK2e",
"expire_time": "2019-03-23 04:13:12",
}
}
常见问题解决办法:
1、出现防火墙拦截提示:请将http请求头中的user-agent设置为常见浏览器请求头,或者检查请求内容是否含有非法内容
2、是否可以不验证异步回调通知sign:不可以,因为可能会有坏人伪造异步回调通知