支付账户
小程序认证以后,可以在小程序后台,微信支付菜单栏,申请微信支付。
填写企业信息和对公账户,微信支付会打一笔随机金额到对公账户,输入金额完成验证后,在线签署迁移,即完成了微信支付的申请流程.。 微信支付申请完,会发送微信支付商户号,商户平台用户名密码等信息到注册者邮箱。此邮件包含开发时需要使用的支付账户信息,见图3.1所示。
图3.1 微信审核通过邮件模板
邮件中的账户参数与接口API参数对应关系见表格3.1:
表3.1 账户参数说明
邮件中参数 | API参数名 | 详细说明 |
APPID | appid | appid是微信小程序后台APP的唯一标识,在小程序后台申请小程序账号后,微信会自动分配对应的appid,用于标识该应用。可在小程序-->设置-->开发设置中查看。 |
微信支付商户号 | mch_id | 商户申请微信支付后,由微信支付分配的商户收款账号。 |
API密钥 | key | 交易过程生成签名的密钥,仅保留在商户系统和微信支付后台,不会在网络中传播。商户妥善保管该Key,切勿在网络中传输,不能在其他客户端中存储,保证key不会被泄漏。商户可根据邮件提示登录微信商户平台进行设置。也可按一下路径设置:微信商户平台(pay.weixin.qq.com)-->账户设置-->API安全-->密钥设置 |
Appsecret | secret | AppSecret是APPID对应的接口密码,用于获取接口调用凭证时使用。 |
接口规则
商户接入微信支付,调用API必须遵循以下规则:
表4.1 接口规则
传输方式 | 为保证交易安全性,采用HTTPS传输 |
提交方式 | 采用POST方法提交 |
数据格式 | 提交和返回数据都为XML格式,根节点名为xml |
字符编码 | 统一采用UTF-8字符编码 |
签名算法 | MD5,后续会兼容SHA1、SHA256、HMAC等。 |
签名要求 | 请求和接收数据均需要校验签名,详细方法请参考安全规范-签名算法 |
证书要求 | 调用申请退款、撤销订单接口需要商户证书 |
判断逻辑 | 先判断协议字段返回,再判断业务返回,最后判断交易状态 |
业务流程时序图
小程序支付的交互图如下:
小程序调起支付API 小程序调起支付数据签名字段列表:
调用wx.requestPayment(OBJECT)发起微信支付
Object参数说明:
示例代码: