首先,微信支付的文档要有顺序的看不能只看某一部分,比如你要做微信支付 ,你使用微信的***统一下单接口***------》就要看***支付结果通知***------》还要看***查询订单***,顺序仅供参考,不是必须的,看了后你应该会有已支付的流程在脑海。同时一定要注意细节。
例如 在 查询订单***的接口中的返回值有***交易状态 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
写的不好,错误之处,还望不吝赐教,欢迎斧正