微信支付对于Android开发者来说,一直被各种坑。通过项目开发,总结以下几点:
坑点一: 从微信开发者平台下载的Demo代码很杂乱,没有独立出来的微信支付的包。
坑点二:项目必须要打包之后才能支付。没办法通过断点调试一步一步去跟踪问题原因。还要注意微信支付的签名也必须是打包之后通过官网的签名工具生成的签名。
在调起支付之前,必须要对appId进行注册。
坑点三:微信支付返回-1(支付失败)的时候,官方没有提供失败的各种原因。只是针对性的说明了几项可能原因:"签名错误、未注册APPID、项目设置APPID不正确、注册的APPID与设置的不匹配、您的微信账号异常等。"
坑点四:项目中微信支付AndroidManifest的配置,appID必须放在对应的调起支付的Activity下,否则支付失败。
而在微信提供的demo中,是放在WXEntryActivity下面的。(这个问题坑了我好几天)
还有就是微信支付和微信分享都有一个共同的文件,要合并在一起,否则也可能出现支付不上的情况。切微信必要的哪两个文件必须和微信Demo保持一致。