支付宝支付接口遇到的问题总结

来源:互联网 发布:W2000怎么关闭135端口 编辑:程序博客网 时间:2024/04/29 21:24

   最近公司的项目有用到调用支付宝接口的功能,业务场景和对应的接口分别如下

1用户通过网页支付向商家打钱 https://doc.open.alipay.com/doc2/detail?treeId=60&articleId=103564&docType=1

2用户提现的功能(商家向用户打钱)https://doc.open.alipay.com/doc2/detail?treeId=64&articleId=103569&docType=1


这两个接口都必须先和阿里签约才能调用下面把开发遇到的问提总结一下:


1.网页支付接口,在官方提供的java版本demo工程里不允许传自定义链接,我现在想调用支付宝接口后再执行自己的工程里的业务代码并且跳转到我自己的项目工程里,查了下官方API可在商品描述body字段里传儒自己项目的业务链接和回调url,但是这样在签名return_url..jsp的校验  AlipayNotify.verify(params) 里返回false,原因是在getSignVeryfy签名校验的body字段传入了&等特殊符号,看了下代码只能把AlipayNotify.java 里的        if (isSign && responseTxt.equals("true"))改成   if (i responseTxt.equals("true"))  那么AlipayNotify.verify(params)就可以返回true。


return_url.jsp里是等交易完成后同步跳到这个jsp进行我们自己后的台业务处理,这样有个问题如果用户提前手动关闭交易完成的界面,会出现支付宝支付成功,但是后台未扣款的情况,解决办法是把业务处理的模拟http请求写在notify_url.jsp异步通知页面,这样不用等用户按完成或者等一段时间自动跳转到return_url.jsp里,而是输入支付密码后马上跳到notify_url.jsp


下面是支付宝官方文档关于异步通知页面的描述的描述:


有一点需要注意的是跳到notify_url.jsp的url必须是公网客访问的域名或则ip否则支付宝服务器无法跳转,调试的时候可用第三方域名代理工具natapp(https://natapp.cn/)


2.商家向用户打钱调用的是批量转账接口,这个接口需要先在自己的浏览器里安装安全证书才能调用。



下面附上两个demo

http://download.csdn.net/detail/jishuisanqianli/9574237

http://download.csdn.net/detail/jishuisanqianli/9574243

0 2
原创粉丝点击