wxPay 微信APP支付操作流程
已经开通微信支付功能,请直接看源码: https://github.com/Flying9001/pay
1 注册微信开放平台
开放平台地址: https://open.weixin.qq.com/
注册帐号(邮箱)要求: 未被微信开放平台注册、未被微信公众平台注册、未被微信私人帐号绑定的邮箱
需要身份信息(身份证)
2 创建「移动应用」
登录开放平台之后,在「管理中心」选择「移动应用」,然后进行「创建移动应用」(一个帐号可以创建10个移动应用)
2.1移动应用「基本信息」要求:
Key | Value | Remarks |
---|---|---|
移动应用名称 | 名称将在微信分享、微信收藏、微信登录、微信支付等 操作时被用户看到,需在2到20个字节之间 一个中文占两个字节, 半年只能修改1次 | 必填 |
英文名称 | 显示在英文版微信中的名称 | 选填 |
移动应用简介 | 最多80字 | 必填 |
英文简介 | 最多80字 | 选填 |
应用官网 | 网站的应用官网 | 必填 |
移动应用图片 | 移动应用水印图片,仅支持PNG格式, 大小不超过300KB 尺寸: 28X28像素 和 108X108像素 | 必填 |
2.2 应用「平台信息」
平台类型: iOS,Android,WP8应用
iOS (iPhone/iPad)应用要求:
Key | Value | Remarks |
---|---|---|
AppStore 下载地址 | Apple AppStore中的下载地址, 长度不超过256字节 | 选填 |
Bundle ID | IOS应用唯一标识 | 必填 |
测试版本Bundle ID | iOS应用测试版本的BundleID | 必填 |
Android 应用要求:
Key | Value | Remarks |
---|---|---|
应用下载地址 | Android应用商店中的下载页面的地址,不允许直接使用apk包的下载地址 | 选填 |
应用签名 | 应用签名,用于对当前应用进行二次身份校验 | 必填 |
应用包名 | 应用在一台设备上的唯一标识,在manifest文件里面声明, 该包名应和正式发布应用的包名一致。 例如,微信的包名为com.tencent.mm | 必填 |
以上填写完成之后需要进行第一次提交审核
2.3 审核通过的应用权限
通过审核之后的应用默认权限列表:
接口名称 | 接口简介 | 是否状态 |
---|---|---|
分享到朋友圈 | 将内容分享到微信朋友圈 | 已获得 |
发送给朋友 | 将内容发送给朋友或者群聊 | 已获得 |
微信支付 | 获得微信支付能力 | 未获得 |
微信登录 | 使用微信帐号登录App或者网站 | 已获得 |
微信卡券 | 移动应用内领取卡券收入微信卡包 | 未获得 |
智能接口 | 获得语音识别、图像识别、语义理解等模式识别能力 | 未获得 |
一次性订阅消息 | 用户授权后,开发者将获得发送一条订阅消息的权限 | 已获得 |
应用在提交审核并通过之后,并没有直接获得微信支付的功能
2.4 微信支付「开发者资质认证」
在开通微信支付功能之前,需要先进行「开发者资质认证」
开发者资质简介:
- 开发者资质认证通过后,微信开放平台帐号下的应用,将获得微信登录、智能接口、第三方平台开发等高级能力
- 认证有效期:一年,有效期最后三个月可申请年审即可续期
- 审核费用:中国大陆地区:300元,非中国大陆地区:99美元
开发者资质认证所需信息(材料):
公司全称
公司纳税识别号
企业注册地址
企业电话
企业开户银行
企业银行帐号
企业开户许可证扫描件
《税务登记证副本》 或《一般纳税人资格证书》扫描件(营业执照)
收件人信息(地址、姓名、电话,用于微信邮寄发票)
以上信息填写完成之后即可进行第二次提交审核
2.5 开通「微信支付」
联系人信息:
- 联系人姓名
- 手机号
- 邮箱
- 联系人微信(注意这里需要绑定微信)
经营信息:
- 商户简称
- 经营类目: 一般APP支付选择 企业>网上购物>线上商超
- 售卖商品场景: 选择APP
- APP上线状态: 在开发测试阶段,选择未上线,上线之后再更改为上线
- APP页面截图: 截图要求: 微信支付APP商户截图标准示范
- 售卖商品/提供服务概述 : 简单描述售卖的商品属于什么类型,如卖手机,则填写 「数码3C」
- 客服电话
商户信息:
- 营业执照照片
- 营业执照注册号
- 营业期限
- 经营范围 (需要与营业执照上边一致)
- 商户名称: 填写公司全称
- 注册地址
企业法人/经办人信息
(运营人员的身份信息,非上边绑定微信的联系人,即开通微信支付需要至少两个人的身份信息)
- 证件类型: 身份证
- 身份证正反面照片
- 身份证号
- 姓名
- 证件有效期
结算信息:
- 账户类型: 选择「对公账户」
- 开户名称
- 开户银行
- 开户银行城市
- 开户支行
- 银行帐号
以上信息填写完成之后进行第三次提交审核
本次提交审核通过之后,会将以下信息发送至联系人邮箱
- 微信支付商户号
- 商户平台登录帐号
- 申请对应的应用
- 应用 APPID
微信APP支付功能算是开通,但并不能直接进行开发测试,需要登录「商户平台」
2.6 「商户平台」设置
商户平台地址: https://pay.weixin.qq.com/index.php/core/home/login
需要使用上一步 2.5 中联系人身份证绑定的微信进行扫码登录(该账户属于主帐号,拥有所有权限),
登录之后,方可分配「员工帐号」 以及设置 「API密钥」
密钥设置: 登录「商户平台」— 「账户中心」 — 「账户设置」 — 「API安全」 — 修改密钥
期间需要安装证书以及发送短信验证码
以上设置全部完成后方可进行开发测试,从开始注册开放平台到开通微信支付,耗时大概2周
By the way: 微信支付功能开通之后,可以创建的移动应用数量升级为 50 个
3 开发测试
3.1 文档与必需字段
微信APP支付官方开发文档: APP支付
微信支付必需字段:
字段名 | 描述 |
---|---|
appid | 微信开放平台审核通过的应用APPID |
mch_id | 微信支付分配的商户号 |
key | 密钥,用于生成签名 |
notify_url | 接收微信支付异步通知回调地址,通知url必须为直接可访问的url,不能携带参数。 |
3.2 微信支付服务端demo示例
Github项目源码: https://github.com/Flying9001/pay
演示项目中用到的微信支付接口为:
- 统一下单
- 调起支付接口
- 支付结果通知
- 查询订单
微信支付/支付宝 支付测试工具推荐:
NATAPP
简介: 内网穿透工具,可以免费申请临时公网域名并映射到本地,用于接收 微信/支付宝 支付结果通知,
注册需要实名认证