Android微信支付集成开发

项目需要,我们的app中采用了两种支付方式,一种是微信支付,另一种是支付宝支付,这两种方式是目前最受欢迎的方式吧,殊不知,由于各种支付接口的升级,在开发中我们会遇上各种不为人知的问题,今天就顺便记录一下,便于日后查看或者需要的朋友作为一个参考。

开发步骤:

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 这个问题的解决方案是,微信版本太低,更新到最新的微信版本,支付就解决了。

综上:完成支付的这个过程中真是扑朔迷离,解决了后我们却是柳暗花明,让人兴奋不已,本人想说的是,官方文档麻烦更新给力点,会扰乱我们开发者的。

时间: 2024-10-02 00:03:51

Android微信支付集成开发的相关文章

Android微信支付SDK开发

一.准备工作 1.开发平台及SDK下载 微信开放平台 https://open.weixin.qq.com 下载SDK 微信支付Demo下载 http://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=11_1 2.创建应用 创建移动应用获取 AppID  AppSecret 要获取支付功能还需要开发者资质认证,300RMB/年的费用,貌似是开放平台中唯一要收费的- 3.AndroidMainfest文件修改 权限 <uses-permission

Android微信支付SDK开发笔记

一.准备工作 1.开发平台及SDK下载 微信开放平台 https://open.weixin.qq.com 下载SDK 微信支付Demo下载 http://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=11_1 2.创建应用 创建移动应用获取 AppID  AppSecret 要获取支付功能还需要开发者资质认证,300RMB/年的费用,貌似是开放平台中唯一要收费的… 3.AndroidMainfest文件修改 权限声明: <uses-permiss

转-Android微信支付

http://blog.fangjie.info/android微信支付/ Android微信支付 2014-08-09 一.使用微信官方的提供的demo里的appid等 1.微信接口上手指南:(从“移动应用开发”->“Android接入指南”)建议,先把官方这篇文章看完 2.微信支付接口(从“移动应用开发”->“Android开发手册” )(下载官方demohttps://res.wx.qq.com/paymchres/zh_CN/htmledition/download/wxpay/app

php微信支付接口开发程序(流程已通)

php微信支付接口开发程序(流程已通) 来源:未知    时间:2014-12-11 17:11   阅读数:11843   作者:xxadmin [导读] 微信支付接口现在也慢慢的像支付宝一个可以利用api接口来实现第三方网站或应用进行支付了,下文整理了一个php微信支付接口开发程序并且己测试,有兴趣的朋友可进入参考. 必要条... 微信支付接口现在也慢慢的像支付宝一个可以利用api接口来实现第三方网站或应用进行支付了,下文整理了一个php微信支付接口开发程序并且己测试,有兴趣的朋友可进入参考

php微信支付测试开发(流程已通)

必要条件: appid //公众号后台开发者中心获得(和邮件内的一样)   mchid//邮件内获得  key//商户后台自己设置  appsecret //公众号开发者中心获得 两个证书文件,邮件内获得 apiclient_cert.pem   apiclient_key.pem 注意事项: 公众号后台微信支付->开发配置->新增测试目录和测试个人微信号. 开发者中心->网页授权获取用户基本信息->修改成你的测试域名.否则会出现redirect_uri 参数错误 ————————

php微信支付接口开发程序

php微信支付接口开发程序讲解 微信支付接口现在也慢慢的像支付宝一个可以利用api接口来实现第三方网站或应用进行支付了, 下文整理了一个php微信支付接口开发程序并且己测试,有兴趣的朋友可进入参考. 必要条件: appid //公众号后台开发者中心获得(和邮件内的一样)   mchid//邮件内获得  key//商户后台自己设置  appsecret //公众号开发者中心获得 两个证书文件,邮件内获得 apiclient_cert.pem   apiclient_key.pem 注意事项: 公众

php微信支付接口开发的实现程序

微信支付接口现在也慢慢的像支付宝一个可以利用api接口来实现第三方网站或应用进行支付了,下文是我公司的技术人员整理了一个php微信支付接口开发程序并且己测试,有兴趣的朋友可进入参考. 必要条件: appid //公众号后台开发者中心获得(和邮件内的一样) mchid//邮件内获得 key//商户后台自己设置 appsecret //公众号开发者中心获得 两个证书文件,邮件内获得 apiclient_cert.pem apiclient_key.pem 注意事项: 公众号后台微信支付->开发配置-

微信支付的开发流程

最近在公司做了微信支付的接入,这里总结下开发的一些经验 注意,我使用的是微信开放平台的支付,与手机app相关,而与公众账号无关.   微信支付的主要操作流程 1.用户浏览app,选定商品然后下单. 2.服务器处理订单逻辑,开始正式发起支付流程 3.首先,后台服务器向weixin服务器发起请求,获取一个token. 4.后台服务器拿到token,使用和其他参数加密,再次向weixin服务器发起请求,获取一个预支付prepayid 5.后台服务器将该prepayid返回给app客户端 6.app调用

微信支付接口开发之---微信支付之JSSDK(公众号支付)步骤

1.准备 1.1.公众号为服务号,开通微信支付功能 1.2.为了方便调试微信后台的回调URL(必须为外网),我用了nat123软件来做一个映射 1.3.官方微信开发的示例WxPayApi(.net版本) 2.业务流程图 3.步骤 3.1.用户访问商户的链接,商户链接地址调用[网页授权获取用户信息]接口获取用户的openid和access_token 参考:网页授权获取用户基本信息 3.1.1.第一步,用户同意授权,获取code,调用接口如下 https://open.weixin.qq.com/