Android微信支付集成开发

来源:互联网 发布:数据挖掘顶级会议 编辑:程序博客网 时间:2024/06/05 14:40

原文地址:点击打开链接


开发步骤:

 1、新用户微信开放平台进行注册,并认证,认证需要300元,https://open.weixin.qq.com/

 2、登录进行创建应用,按照要求填写IOS的Bundle ID和Android的应用签名及包名,如此应用就创建好了。

 3、申请支付功能,申请条件是服务号或者企业号,申请成功后会收到一个审核成功的邮件,根据邮件提供是的商户名和密码登录到商户平台,点击账户设置-->API安全-->API秘钥-->设置秘钥(秘钥是32位),设置成功后,要记住这个秘钥,支付的时候需要用上这个东西。具体情况请戳          http://kf.qq.com/faq/140225MveaUz150107UVFNjy.html

 4、准备工作就绪后我们开始正式开发了,此时我们一般都进入微信支付开发文档,根据需求下载demo,和查看文档接口,看看如何接入到app中,https://pay.weixin.qq.com/wiki/doc/api/index.html

 5、下载DEMO后,我们有几个地方需要注意:(1)替换App_ID为我们的申请的APPID;(2)替换商户号为我们申请支付成功后的商户号;(3)替换API秘钥,这是我们在步骤3的时候自己设定的。

 6、运行DEMO,返回的结果为-1,哈哈,是不是觉得应该成功才对?怎么会支付失败呢?我们对应一下支付开发步骤:(1)注册APP;(2)获取预支付ID;(3)根据预支付ID进行签名①;(4)向微信支付进行请求。

  

 反正我用上面的方式,步骤上跟官方文档一样,接入的方式也是按照demo来进行的,可是还是失败的,我相信很多人都会失败,因为现在的官方文档更新过后,很多东西都面目全非了,接下来我将慢慢把我接入到项目中遇上的问题一一列出:

  (1)接入到项目中后,遇上的第一个问题就是签名错误,<return_msg><![CDATA[SIGN ERROR]]></return_msg> 

  (2)时间不一致,

    <xml><return_code><![CDATA[FAIL]]></return_code>

    <return_msg><![CDATA[time_expire时间过短,刷卡至少1分钟,其他5分钟]]></return_msg>

    </xml>

 (3)支付返回-1

 反反复复的测试了好多次,都没有成功,实在令人心烦,后来我辗转找到了一个DEMO,跟官方的demo有很大的不同,经过整理后这个demo能支付成功,终于解决了我的这块心病,真有种支付之难,难于官方文档胡搅蛮缠,因为我们太信任官方文档了,殊不知官方文档也有欺骗我们的时候,待会我将DEMO上传后大家一比便知。 

  顺便把列出的问题说说:(1)签名问题错误,原因很多的,比如API_KEY错误(其他人把API_KEY换掉),组织签名的参数没有按照文档的规则处理,规则请看官网文档的要求;(2)时间不一致是需要以UTC时间来换算,且按照要求的间隔时间来计算时间;(3)支付返回-1,这个问题也是说不清道不明的东西,就我遇上的问题说说,可能每个人的情况不一致,如果大家用本人说的方式不能解决的,请继续Google查查,本人遇上的情况是:①按照demo配置好了,其中某些小细节出的问题,请下载文章末尾提供的demo进行比对,替换相应的参数;②以前是支付成功的,一段时间后,某一天支付的时候返回-1了,解决方案是清除掉缓存,或者把app卸载掉,重新安装试试;③某天莫名其妙的支付失败了,提示错误是 Failed to find provider info for com.tencent.mm.sdk.plugin.provider 这个问题的解决方案是,微信版本太低,更新到最新的微信版本,支付就解决了。


1 0
原创粉丝点击