一,开发参见官方文档
二,沙箱测试坑
1,测试金额要为101/102等,不能随意填
2,签名sign用的数据要和发送给沙箱获取sandbox_signkey的xml内容要一致,否则微信用xml的sign 验证其他内容会不通过,返回{'return_code': 'FAIL', 'return_msg': '获取沙箱密钥失败,确认交易密钥是否正确'}的结果
同样上面所说的内容也要与发送给微信预支付的xml数据要一致,否则同样支付错误。
(官方说需要3个数据mch_id, nonce_str,sign,其实不是说只要三个就可以了,如果只给这三种数据,他会返回诸如{'return_code': 'FAIL', 'retcode': '1', 'retmsg': '请确认请求参数是否正确param notify_url invalid'}错误,
如果数据内容和获取签名的数据内容不一样会出现{'return_msg': '沙箱验证签名失败,请确认沙箱签名key是否正确(通过getsignkey调用生成)', 'return_code': 'FAIL'}错误)
三,其他坑
一般问题都会出现在签名问题上,要严格按照文档的要求a,按指定的名称(同一个内容不同场合名称不一样如openid openId不一样的)b,按指定的格式,如不确定可通过https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=20_1进行自查验证是一个非常好的方法