微信支付的心得
首先,微信支付的文档要有顺序的看不能只看某一部分,比如你要做微信支付
,你使用微信的***统一下单接口***------》就要看***支付结果通知***------》还要看***查询订单***,顺序仅供参考,不是必须的,看了后你应该会有已支付的流程在脑海。同时一定要注意细节。
例如 在 查询订单***的接口中的返回值有***交易状态 trade_state 是有返回的,但是在***支付结果通知***的接口中是没有的,一定要看清除,微信的文档一定要仔细对比,否则,你一定会有重新做的冲动。。。。。。。
例如 在 支付结果通知 的接口中返回给微信确定信息是,我想大家都能看到在文档的末尾处返回示例,但是微信还是会回调你的接口,哈哈。。。
我也看其它的博客和论坛,说啥的都有,都不行。。。
其实微信要我们返回字符串给他,记得是类似Stringbuffer拼接的那种字符串,
正确的返回示例
Stringbuffer s = new StringBuffer();
s.append("<xml>");
s.append("<return_code><![CDATA[SUCCESS]]></return_code>");
s.append("<return_msg><![CDATA[OK]]></return_msg>");
s.append("</xml>");
return s;
错误的示例
String s ="";
s= "<xml>" +
"<return_code><![CDATA[SUCCESS]]></return_code>"
+ "<return_msg><![CDATA[OK]]></return_msg>"
+ "</xml> ";
return s;
看着一样,其实不一样,此时脑海想起一首歌 。。。。。
后续。。。
支付顺序
统一下单接口
https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_1
支付结果通知
https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_7&index=3
查询订单
https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_2&index=4
退款顺序
申请退款
https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_4&index=6
退款结果通知
https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_16&index=11
查询退款
https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_5&index=7
写的不好,错误之处,还望不吝赐教,欢迎斧正