首发地址: Android版-微信APP支付
欢迎留言、转发
微信极速开发系列文章(微信支付、授权获取用户信息等):点击这里
目录
1、注册账号、开发者认证
2、添加应用
3、申请微信支付
4、技术开发功能实现步骤介绍
5、代码实例
此项目已开源欢迎Start、PR、发起Issues一起讨论交流共同进步
https://github.com/Javen205/IJPay
http://git.oschina.net/javen205/IJPay
微信APP支付接入商户服务中心 官方介绍文档
1、注册账号、开发者认证
在开放平台直接注册,注册邮箱不能与微信其他的产品同号。
比较坑的是微信公众号中的支付(微信买单、刷卡、公众号支付、wap支付)以及微信app支付都需要进行微信认证而不是公用一个微信商户平台(需要交两次认证的费用)。
微信认证这个时间比较短(毕竟交了300大洋)一般一个工作日就会有人联系你核查公司的资料。
微信认证(开发者资质认证)通过之后就可以在开放平台添加应用了(这个需要审核),应用通过之后就可以申请微信支付了(也需要审核)
2、添加应用
这个比较简单,按照提示操作就行 上图
应用包名只定义,应用签名可以使用资源下载中心的签名生成工具。务必记住包名以及签名keystore文件的密码,如果包名或者签名文件不对打包是唤不起微信支付的。
3、申请微信支付
如果添加的应用审核通过了(一个工作日),就可以直接申请微信支付了(7个工作日之内)。
审核通过之后将会收到审核通过的邮件,里面有登录商户平台的登录账户、密码、商户号以及一些操作指引的说明。服务端生成预付订单的签名需要密钥 设置方法可以参考这里
4、技术开发功能实现
这里主要聊聊Android微信支付,主要包括以下几个步骤
1、商户服务端生成订单并在微信平台生成预付订单
2、客户端调起微信支付进行支付
3、客户端回调支付结果
4、服务端接收支付通知
1、商户服务端生成订单并在微信平台生成预付订单
调起微信支付前需要服务器生成支付订单再调用【统一下单API】生成预付订单prepayId,再生成签名sign【调起支付API】
以上两个步骤建议都在服务端完成,客户端(Android)通过接口获取对应的参数即可
2、客户端调起微信支付进行支付
通过微信提供的jar 唤起微信支付
3、客户端回调支付结果
参照微信SDK Sample,在net.sourceforge.simcpux.wxapi包路径中实现WXPayEntryActivity类【包名或类名不一致会造成无法回调】
栗子说明:认真反复读了几遍,感觉这句话有歧义是一个坑,测试的时候一直不回调。这里他想说的意识如下:
比如你申请应用包名为:javen.com
那么回调的WXPayEntryActivity
类必须放到javen.com.wxapi
的包下面
4、服务端接收支付通知
支付结果通知【官方文档】
代码实现参考开源项目 【点击这里】