支付宝:H5 JSAPI支付开发手册
常用网址
支付宝商家中心 https://mrchportalweb.alipay.com
支付宝服务商中心 https://p.alipay.com
支付宝开放平台 https://openhome.alipay.com
H5JSAPI开发文档 https://myjsapi.alipay.com/alipayjsapi/util/pay/tradePay.html
支付回调通知云排查: https://opensupport.alipay.com/support/tools/cloudparse?ant_source=antsupport
支付宝
H5JSAPI
JSSDK
H5
JSAPI
对接开发指南
支付宝
H5JSAPI
H5
JSAPI
JSSDK
支付开发手册
支付宝 H5
JSSDK
JSAPI
配置
支付宝 H5
JSSDK
JSAPI
对接开发需要 参数
// 支付宝支付参数
"AliPayConfig": {
// 合作伙伴,商户ID
"pid": "",
// 支付宝应用ID
"appID": "",
// 支付宝公钥
"public_key": "",
// 开发者公钥
"merchant_public_key": "",
// 开发者私钥
"merchant_private_key": "",
// 回调地址
"notify_url": ""
}
PID | 商户的ID,合作伙伴ID |
appID | 支付宝开发平台应用ID |
public_key | 支付宝公钥 |
merchant_public_key | 开发者私钥 |
merchant_private_key | 开发者公钥 |
notify_url | 回调地址 |
在 支付宝开发平台 → 控制台 → 我的应用 → 网页&移动应用 → 选择应用
按照提示配置就好
支付宝 H5
JSSDK
JSAPI
对接开发 设置回调
支付宝开放平台 应用信息 → 授权回调地址
关于回调
异步通知是指一笔订单支付完成后,支付宝会将该笔订单的变更信息,沿着商户调用支付请求时所传入的异步通知地址 notify_url,通过 POST 请求的形式将支付结果作为参数通知到商户系统。该异步通知主要作用于配置应用网关,详情请参见 配置应用环境。
异步回调地址状态码(http 状态码) 为 200 时表示异步通知成功,返回码为 404 或 500 时则表示服务器内部错误,需要商户自行排查。
商户如果因为其他原因没有收到支付宝服务端返回的异步通知,可根据 异步通知问题 进行排查。
- 商户设置的异步地址必须是外网能够顺利访问到的地址,且不能是重定向的网址,并且保证服务器异步通知页面(notify_url)上无任何字符,如空格、HTML 标签、开发系统自带抛出的异常提示信息等。
- 支付宝是用 POST 方式发送通知信息,因此该页面中获取参数的方式,如:?request.Form("out_trade_no")、?$_POST['out_trade_no']?。
- 支付宝主动发起通知,该方式才会被启用。
- 只有在支付宝的交易管理中存在该笔交易,且发生了交易状态的改变,支付宝才会通过该方式发起服务器通知(即时到账中交易状态为“等待买家付款”的状态默认是不会发送通知的)。
- 服务器间的交互,不像页面跳转同步通知可以在页面上显示出来,这种交互方式是不可见的。
- 第一次交易状态改变(即时到账中此时交易状态是交易完成)时,不仅会返回同步处理结果,而且服务器异步通知页面也会收到支付宝发来的处理结果通知。
- 程序执行完后必须通过 PrintWriter 类打印输出 success? 。如果商户反馈给支付宝的字符不是 ?success? 这 7 个字符,支付宝服务器会不断重发通知,直到超过 24 小时 22 分钟。一般情况下,25 小时以内完成 8 次通知(通知的间隔频率一般是:4m,10m,10m,1h,2h,6h,15h)。
- 程序执行完成后,该页面不能执行页面跳转。如果执行页面跳转,支付宝会收不到 success 字符,会被支付宝服务器判定为该页面程序运行出现异常,而重发处理结果通知。
- cookies、session 等在此页面会失效,即无法获取这些数据。
- 该方式的调试与运行必须在服务器上,即互联网上能访问。
- 该方式的作用主要防止订单丢失,即页面跳转同步通知没有处理订单更新,它则去处理。
- 当商户收到服务器异步通知并打印出 success 时,服务器异步通知参数 notify_id 才会失效。也就是说在支付宝发送同一条异步通知时(包含商户并未成功打印出 success 导致支付宝重发数次通知),服务器异步通知参数 notify_id 是不变的。
根据 云排查工具 查询得知,回调返回值200,然后还需要返回success,不然就会重复的调用
支付宝 JS API支付示例
在线示例: https://www.yesdotnet.com/buy
输入付款金额,点击确定,生成付款二维码,手机支付宝扫描二维码,完成支付
使用 手机 支付宝 扫码
完成付款后
支付成功后,付款成功界面提示
版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
OnlinePay 管理员