关于java支付宝支付的几点总结

1.对接流程的问题:

https://openclub.alipay.com/read.php?tid=9568&fid=60 mark一下 这个地址是蚂蚁社区公开的一个对接流程,流程方面的疑问可以按照链接里的内容一步一步走。

2.关于Api接口问题:

https://docs.open.alipay.com/api  支付宝的api接口文档链接地址,选择支付场景,阅读对应的接口文档信息。

支付宝有自己的javaSDK,所以在开发过程中,我们只需要在maven仓库中引入阿里支付的依赖就可以了。

https://mvnrepository.com/artifact/com.alipay.sdk/alipay-sdk-java  maven库中阿里支付宝的依赖地址,选择好版本就可以直接复制到自己的本地maven库导入就可以调用了。

配置好javaSDK之后,可根据支付宝API接口文档中的DEMO代码,自行更改对应参数的数据即可。

3.关于支付宝异步回调的问题

支付宝异步回调是支付宝发送我们支付结果的通知,是一种可以针对异常操作的安全机制。(比如说用户在购买课程时,付完款后直接退出软件,程序未去执行更改课程状态的请求,导致用户重新登录后发现付完款后课程仍然显示未购买的异常问题。如果添加了异步回调,在回调的程序中设置了更改状态的程序,那么在用户退出软件的情况下,支付宝主动请求你的回调地址去更改课程状态,那么就可以避免之前出现的用户登录后发现付完款后课程状态未购买的情况了)

异步回调的地址需要在API接口参数 notify_url中配置,必须是一个外网可以访问到的地址。

我们在本地内网开发中,没有外网环境,可以通过内网穿透的形式让外面可以访问的到。

内网穿透,推荐使用第三方工具 NATTPP (主要是有免费隧道可以用)实现,https://natapp.cn/article/natapp_newbie 官方使用教程地址,个人觉得上手还是挺容易的。

4.关于支付结果校验的问题:

支付操作完成后,支付宝会同步返回一个结果,但是我们不能通过这个结果作为支付校验的标准。这个结果只是告诉你调用成功了,并不代表付款成功了。所以付款完成后,需要再请求一个支付结果校验的接口。首先,支付完成后,我们将异步回调返回的支付订单结果信息保存在数据库中,然后在请求校验支付接口时,先查询数据库订单的状态,如果支付状态为成功,则返回成功,如果交易状态显示未成功或者在支付中,说明异步回调未请求到或正在请求中,可以直接主动请求支付宝订单查询接口,再将请求结果保存到数据库中,这样就可以避免每次支付向支付宝请求查询,也更加确保交易的结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值