1. 首先使用官方demo跑通。
2. 理解微信支付的流程:
首先后台服务端,先预下单,从微信获取preOrder订单号。然后后台使用雨订单号等六个字段重新签名返回给app端
3.app端所做的工作很少,只是获取服务端返回的参数即可。
现象:跳转支付页面只有一个确认的按钮
原因: 1. appid没有配置对。
2. 后台的参数返回不正确。(注意后台返回的签名自的字段是有严格要求,特别是给app端使用的,不能多,不能少,字段必须排好序,最终生成的签名字符串必须是大写)
后台调试的时候,为了方便,使用了Golang的反射机制,遍历字段,但是需要区分传入的参数是指针还是stucture, 如果是指针的话,获取的key, value都是错的
当前面的CanSet是一个指针的时候(p)它是不可寻址的,但是当是p.Elem()(实际上就是*p),它就是可以寻址的
http://www.cnblogs.com/yjf512/archive/2012/06/10/2544391.html
ps : golang 的支付宝,微信支付都可以搜索得到,好无力啊。
http://blog.csdn.net/xyzhaopeng/article/details/50386349
http://blog.csdn.net/xyzhaopeng/article/details/50374191