首页 新闻 会员 周边

关于微信支付结果通知

0
悬赏园豆:50 [已解决问题] 解决于 2016-04-20 11:00

最近在做微信支付,有一个问题一直困扰着我。根据官方文档,支付结果回调url不能穿参数,那问题来了,微信如何把参数告知我?文档上指的不能传参数指的是不能用Get,实际是用post传过来的? 还有就是,回调的接口是restful的webservice是否可以?希望做过的大神,给予解答,谢谢!

嗜血苏菲的主页 嗜血苏菲 | 初学一级 | 园豆:92
提问于:2016-03-10 10:58
< >
分享
最佳答案
1

文档的意思是指你给第三方的支付成功的回调地址的实参中的url不能包含参数。

比如你可以传http://xxx.com/notify

但不能传http://xxx.com/notify?orderid=....

第三方会直接将回调结果post到你指定的合法url上(http://xxx.com/notify)

回调的契约见其开发文档,比如它里面说是form post,有哪些参数,你就要这边通过form方式接受哪些参数并验签及后续逻辑。

如果它是json post,那么你就要从请求流中读取json字符串,根据其接口文档定义进行相关解析或反序列化操作。

支付回调最重要的是对请求的合法性做验证(验签),业务规则验证(已经支付成功且支付金额与你预期金额一致),并发问题(同一个请求多次post过来你仅能做一次发货动作)

收获园豆:50
Daniel Cai | 专家六级 |园豆:10424 | 2016-03-10 11:43
其他回答(3)
0

我记得微信支付 有2个步骤 

1.支付码 

2.付款支付

 

其次,我记得 可以通过 单据号 获取微信支付的所有信息

 

最后 我记得返回的值里面是有单据号的 如果你要什么信息 再找 微信支付查 这个也就不需要返回其他的什么了

所以请问 你想要微信传什么?

小眼睛老鼠 | 园豆:2731 (老鸟四级) | 2016-03-10 11:49
0

post方式可以。Restful不影响的,

Jaryleely | 园豆:367 (菜鸟二级) | 2016-03-10 13:27
0

只是微信回调的一个方法,不需要传递参数。直接创建应答对象

ResponseHandler resHandler = new ResponseHandler(request, response);

后面用Map 接收就可以。

偏爱的有恃无恐 | 园豆:202 (菜鸟二级) | 2016-03-10 13:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册