100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > java 银联支付反馈 微信支付/支付宝支付/银联支付 对比加总结(Java服务端)

java 银联支付反馈 微信支付/支付宝支付/银联支付 对比加总结(Java服务端)

时间:2019-04-19 10:11:40

相关推荐

java 银联支付反馈 微信支付/支付宝支付/银联支付 对比加总结(Java服务端)

今天来说讲支付。前端

工做到如今,接入过好几个项目的支付,其中涉及到了微信支付、支付宝支付、银联支付。服务器

三种支付的对接感觉其实总体上大同小异。都遵循同一个流程:微信

1)、商户APP向商户服务器请求生成订单app

2)、商户服务器经过生成的订单编号向第三方支付平台请求签名信息返回给商户APP异步

3)、商户APP拿到受权签名信息向第三方支付平台调起支付微信支付

4)、用户支付完成网站

5)、第三方支付平台向商户服务器发起支付结果回调spa

6)、商户服务器根据回调信息处理业务逻辑对象

接下来谈谈对比。blog

1.文档和SDK对比

整体感觉是支付宝的文档的SDK最好用。面向对象很舒服。

微信的开放平台/商户平台/公众平台初次接入者很容易混淆,搞不清楚哪一个是哪一个。

银联的demo很详细,基本不需做多大改动就能够拿来用,只不过在环境配置上多了几个证书,签名和验签时都须要证书,稍显麻烦。

2.前端调起支付所需参数对比

相比之下,支付宝的SDK最方便,把全部参数和方法都封装成了面向对象的方式,清晰易懂。

3.须要注意的地方

补充:

1.若是调起了支付,而后回到商户app取消了订单,此时再跳转到第三方支付页面去支付,而且支付成功了。这种状况,原本应该是请求第三方平台关闭订单,可是支付宝和微信都是在下单后的短期内不能立刻取消订单。解决办法是:在支付回调的方法里面加上判断,若是是错误或者重复支付,则退款给买家。

2.支付宝收到多个支付成功回调的问题:

支付宝的解释是:

只要交易状态发生改变,符合知足支付宝异步触发条件,就会发送异步通知;

其中,像即时到帐,移动支付,手机网站支付等接口,默认都是支持3个月可退款的,支付成功以后,支付宝会发送一个trade_success(支付成功)的异步通知,3个月以后,此交易就不容许退款,此时支付宝会再次发送(trade_finished)的异步通知,所以会在3个月以后再次收到一次异步通知;

注意,只trade_success状态下处理本身的业务逻辑;

我遇到的问题是:若是调用了部分退款接口,会触发一个交易状态为TRADE_SUCCESS的支付成功回调回来。致使数据错乱。

解决办法:判断回调是否有返回退款参数,gmt_refund,refund_fee(退款时间和退款金额)这些,以此来区分是退款成功以后的回调仍是正常支付完成的回调。

若是有朋友须要相关代码,能够留言。

收到代码的朋友,若是以为个人文章帮助到了你,请酌情适当打赏楼主烟钱。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。