一、简介
对于 PC 网站支付的交易,在用户支付完成之后,支付宝会根据 API 中商户传入的 notify_url,通过 POST 请求的形式将支付结果作为参数通知到商户系统。
二、官方示例
支付类异步通知验签示例:
Map<String, String> parameters = new HashMap<>();
parameters.put("charset", "UTF-8");
parameters.put("sign", "GM0CbuqaEivqgb......");
parameters.put("app_id", "2018091261392200");
parameters.put("sign_type", "RSA2");
parameters.put("isv_ticket", "");
parameters.put("timestamp", "2020-03-25 16:27:08");
//... ... 接收到的所有参数放入一个Map中
Factory.Payment.Common().verifyNotify(parameters);
三、运行
1、打包项目
2、部署项目
将你的项目部署在云服务器上运行。
3、运行项目
输入入口地址
如果服务器没有放开项目对应的端口,需要先去配置,否则无法访问。
支付
结果
同步跳转成功
注意
为什么这里是localhost呢?因为头天晚上有个bug就没来得及写文档,第二天在本地调试bug的时候才发现通知地址的ip写错了,于是换成了localhost调试,如果是在服务器上运行的时候,通知地址ip应该换成你自己的域名或者ip。
另外,有时候在支付成功的时候,不会跳转到商户页面,刷新下就行。
后台日志
没想到吧,我又转战到服务器上运行了,因为我在本地试了几次都没有看到日志的打印,估计得到服务器上才行。
注:能力有限,还请谅解,争取早日能够写出有质量的文章!
我是皮蛋布丁,一位爱吃皮蛋的热爱运动的废铁程序猿。