微信支付接入指南
2016-07-06 09:46
351 查看
写在前面
一家移动互联网公司,说到底,要盈利总是需要付费用户的,自己开发支付系统显然是不明智的,国内已经有多家成熟的移动支付提供商,腾讯就是其中之一。梳理了下微信支付的接入,今天给大家分享下腾讯旗下的微信支付SDK的接入流程。
接入流程
1.申请开发者资质
地址:
https://open.weixin.qq.com
使用公司管理者/高层帐号登录微信开放平台,进入“账号中心”,进行开发者资质认证,需要填写公司资料,包括但不限于,公司注册号,公司营业执照,公司对外办公电话,公司对公银行卡信息(卡号,发卡行)。审核时间为一周左右。
因为从2015年10月1日起,国家实行三证(组织机构代码证,企业营业执照,税务登记证)合一,所以组织机构代码处填写-工商执照注册号,同样,组织机构代码证,上传-企业工商营业执照。
进行开发者资质认证需要支付300元人名币/年,只有具备开发者资质认证的开发者才能够使用app支付,授权登录等接口。
2.申请APP_ID/APP_KEY
<
121a7
p style="margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:0px;clear:both;min-height:1em;white-space:pre-wrap;color:rgb(62,62,62);font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;line-height:25.6px;">
每个应用/游戏要调用微信的接口都需要有一个微信标志,这个唯一标志通常成为
APP_ID 或者
APP_KEY,各开放平台差异不大 。
进入管理中心,创建移动应用,每个开发者具有10个应用的创建机会,好在创建的应用可以随时删除。已上线的应用就不建议手贱删除!!
申请appid需要填写应用信息:应用名称,包名,签名(keystore的md5值去分号小写),icon(28*28 & 108*108),app下载地址等信息,即可分配到一个appid。
测试支付时,务必使用申请时填写的
keystore文件签名,包名也需要核对清楚,必然无法调起支付,返回-1错误码。
3.申请支付能力
在管理中心,查看需要集成支付能力的app,找到“微信支付”一栏,点击右侧“申请开通”,填写一些企业信息后等待审核,审核时间为一周左右,审核通过后,会得到一个企业商户号及密码,对公银行卡中将收到几分钱,进入商户平台,输入收到的金钱金额以验证。验证通过后即可开始集成支付调用。在这之前,调用支付接口是无法完成支付的。
4.代码集成微信支付
支付流程图:
![](https://img-blog.csdn.net/20160706094745276?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
微信支付流程图白话版
1.客户端代码得到用户购买的商品信息,将之传给自己公司app服务器,参数包含但不限于以下:
以上是参数字段是我们公司服务器定义,给服务器用以获取预支付订单号prePayId用。
详细字段请参考:
https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_1
2.app服务器调用微信“统一下单”接口,得到prePayId
订单号并返回
prePayId 给手机客户端;
3.手机客户端使用prePayId
及商品信息调起微信客户端进行支付;
用户操作:输入密码进行支付;返回键取消支付;网络无连接支付失败等
4.微信客户端回调支付结果给咱们的APP客户端;
5.微信服务器异步通知咱们公司app服务器支付结果(服务器的工作,与客户端无关)
微信支付代码:
![](https://img-blog.csdn.net/20160706094912433?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
在app包下新建
wxapi包,比如app包名为
com.xiongit.app,那个新建的包路径为
com.xiongit.app.wxapi,该包下新建
WXPayEntryActivity,继承自任意Activity。该Activity用以接收支付结果回调,清单声明此Activity的格式为:
WXPayEntryActivity代码示例:
![](https://img-blog.csdn.net/20160706094934042?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
回调中errCode值列表:
0 :支付成功 。
-1 :发生错误 可能的原因:签名错误、未注册APPID、项目设置APPID不正确、注册的APPID与设置的不匹配、其他异常等。
-2:用户取消 发生场景:用户不支付了,点击取消,返回APP。
manifest声明所需权限
支付结果最终以app服务器的得到的异步通知为准。
完事了,祝各位集成微信支付成功!
最后
附上微信官方支付demo下载:
https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=11_1
吐槽语:官方demo下载藏的有点深。。。开放平台居然没有提供下载,放在微信支付商户平台。
一家移动互联网公司,说到底,要盈利总是需要付费用户的,自己开发支付系统显然是不明智的,国内已经有多家成熟的移动支付提供商,腾讯就是其中之一。梳理了下微信支付的接入,今天给大家分享下腾讯旗下的微信支付SDK的接入流程。
接入流程
1.申请开发者资质
地址:
https://open.weixin.qq.com
使用公司管理者/高层帐号登录微信开放平台,进入“账号中心”,进行开发者资质认证,需要填写公司资料,包括但不限于,公司注册号,公司营业执照,公司对外办公电话,公司对公银行卡信息(卡号,发卡行)。审核时间为一周左右。
因为从2015年10月1日起,国家实行三证(组织机构代码证,企业营业执照,税务登记证)合一,所以组织机构代码处填写-工商执照注册号,同样,组织机构代码证,上传-企业工商营业执照。
进行开发者资质认证需要支付300元人名币/年,只有具备开发者资质认证的开发者才能够使用app支付,授权登录等接口。
2.申请APP_ID/APP_KEY
<
121a7
p style="margin-top:0px;margin-bottom:0px;padding-top:0px;padding-bottom:0px;clear:both;min-height:1em;white-space:pre-wrap;color:rgb(62,62,62);font-family:'Helvetica Neue', Helvetica, 'Hiragino Sans GB', 'Microsoft YaHei', Arial, sans-serif;font-size:16px;line-height:25.6px;">
每个应用/游戏要调用微信的接口都需要有一个微信标志,这个唯一标志通常成为
APP_ID 或者
APP_KEY,各开放平台差异不大 。
进入管理中心,创建移动应用,每个开发者具有10个应用的创建机会,好在创建的应用可以随时删除。已上线的应用就不建议手贱删除!!
申请appid需要填写应用信息:应用名称,包名,签名(keystore的md5值去分号小写),icon(28*28 & 108*108),app下载地址等信息,即可分配到一个appid。
测试支付时,务必使用申请时填写的
keystore文件签名,包名也需要核对清楚,必然无法调起支付,返回-1错误码。
3.申请支付能力
在管理中心,查看需要集成支付能力的app,找到“微信支付”一栏,点击右侧“申请开通”,填写一些企业信息后等待审核,审核时间为一周左右,审核通过后,会得到一个企业商户号及密码,对公银行卡中将收到几分钱,进入商户平台,输入收到的金钱金额以验证。验证通过后即可开始集成支付调用。在这之前,调用支付接口是无法完成支付的。
4.代码集成微信支付
支付流程图:
微信支付流程图白话版
1.客户端代码得到用户购买的商品信息,将之传给自己公司app服务器,参数包含但不限于以下:
// 微信appid,选择性上传,服务器写死亦可 params.put("appid", appID); // 支付金额,单位:分 params.put("money", money); // 商品名称 params.put("name", goodsName); // 支付币种,只能填CNY,代表人民币 params.put("currencytype", "CNY");
以上是参数字段是我们公司服务器定义,给服务器用以获取预支付订单号prePayId用。
详细字段请参考:
https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_1
2.app服务器调用微信“统一下单”接口,得到prePayId
订单号并返回
prePayId 给手机客户端;
3.手机客户端使用prePayId
及商品信息调起微信客户端进行支付;
用户操作:输入密码进行支付;返回键取消支付;网络无连接支付失败等
4.微信客户端回调支付结果给咱们的APP客户端;
5.微信服务器异步通知咱们公司app服务器支付结果(服务器的工作,与客户端无关)
微信支付代码:
在app包下新建
wxapi包,比如app包名为
com.xiongit.app,那个新建的包路径为
com.xiongit.app.wxapi,该包下新建
WXPayEntryActivity,继承自任意Activity。该Activity用以接收支付结果回调,清单声明此Activity的格式为:
<activity android:name=".wxapi.WXPayEntryActivity" android:exported="true" android:launchMode="singleTop"/>
WXPayEntryActivity代码示例:
回调中errCode值列表:
0 :支付成功 。
-1 :发生错误 可能的原因:签名错误、未注册APPID、项目设置APPID不正确、注册的APPID与设置的不匹配、其他异常等。
-2:用户取消 发生场景:用户不支付了,点击取消,返回APP。
manifest声明所需权限
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
支付结果最终以app服务器的得到的异步通知为准。
完事了,祝各位集成微信支付成功!
最后
附上微信官方支付demo下载:
https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=11_1
吐槽语:官方demo下载藏的有点深。。。开放平台居然没有提供下载,放在微信支付商户平台。
相关文章推荐
- 微信支付接入指南
- 微信JS SDK Demo 官方案例
- Android小项目一:微信精选
- 微信表情150个限制怎么破?教你一招
- 像这样策划“微信选题”,分分钟写出100000+爆文!
- 微信运营:如何制造微信爆文?
- 微信运营:为什么你的公众号爆文不能增粉?
- 微信公众平台PHP开发框架任你挑 | 二次开发易上手
- 微信公众平台接口简单介绍
- Android微信支付集成开发
- 《解决微信内置浏览器返回上一页强制刷新问题方法》
- 微信公众号 模板消息开发
- Android集成微信支付
- 微信支付和微信第三方登录的冲突问题
- 微信JS SDK Demo
- 微信支付app支付服务器端(Java)
- 微信支付之扫码支付相关代码(Java)
- 微信公众平台php开发包
- PHP开发微信支付代码及支付通知处理
- 微信开发一:本地环境部署及调试