1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 支付宝接口支付完成不跳转return_url也不异步返回notify_url的问题

支付宝接口支付完成不跳转return_url也不异步返回notify_url的问题

时间:2024-05-04 00:30:27

相关推荐

支付宝接口支付完成不跳转return_url也不异步返回notify_url的问题

return_url和notify_url

今天因为一个支付demo出问题弄了两个多小时,使用了支付宝支付接口支付,接受到了表单,并且完成了支付。然而作为商家的服务器端并不知道用户是否进行了付款,这时候就会用到return_url和notify_url这两个参数,前者是支付成功跳转的页面,后者是支付状态发生改变(如:用户付款完成)请求的url路径。

当时demo的代码如下,去掉了很多选填字段:

AlipayClient alipayClient = new DefaultAlipayClient("/gateway.do","app_id","your private_key","json","GBK","alipay_public_key","RSA2");AlipayTradePagePayRequest request = new AlipayTradePagePayRequest();request.setBizContent("{" +"\"out_trade_no\":\"0320010101001\"," +"\"product_code\":\"FAST_INSTANT_TRADE_PAY\"," +"\"total_amount\":0.01," +"\"subject\":\"Iphone6 16G\"," +"\"body\":\"Iphone6 16G\"," +"\"return_url\":\"我的跳转地址\"," +"\"notify_url\":\"支付宝异步通知我的地址\"," +"\"goods_type\":\"0\"," +"\"timeout_express\":\"90m\"," +"\"integration_type\":\"ALIAPP\"," +"\"request_from_url\":\"\"," +" }");AlipayTradePagePayResponse response = alipayClient.pageExecute(request);if(response.isSuccess()){System.out.println("调用成功");} else {System.out.println("调用失败");}

然而在我支付成功之后,并没有进行跳转,支付宝也没有异步请求我设置的notify_url。百度了很多文章,也没发现和我一样的错误(可能这个错误太低级了)。

错误的原因是作为公共请求参数的return_url和notify_url,不能设置在bizContent中。于是将bizContent的json字符串中的两个url去掉,使用如下设置request

request.setReturnUrl("/share/static/index.html");request.setNotifyUrl("/share/goods/testReturn");

问题解决

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