移动支付已成大多数消费者日常使用的支付方式之一。移动支付拥有操作简单方便、无需带现金或银行卡,不用找零,目前超过四分之三的用户都在使用移动支付。小程序应用作为一个广泛使用的移动应用,自然也不会放弃移动支付这个大的蛋糕。本章将介绍微信支付的功能以及小程序支付API的使用。
10.1微信支付产品
微信支付是集成在微信客户端的支付功能,微信支付向用户提供安全、快捷、高效的支付服务,用户可以通过微信客户端完成快速的支付流程。微信支付提供了多种支付产品用于各种支付场景,以下是微信支付的所支持的支付产品:
- 付款码支付
付款码支付,即日常所说的被扫支付,这是一种纯用于线下场景的支付方式。用户使用微信客户端展示付款二维码,商户使用扫码设备扫码后完成支付。 - Native支付
Native支付,即日常所说的扫码支付,商户根据微信支付协议格式生成的二维码,用户通过微信“扫一扫”功能扫描二维码后即进入付款确认界面,输入密码即完成支付。 - JSAPI支付
JSAPI支付,即日常所说的公众号支付,可在微信公众号、朋友圈、聊天会话中点击页面链接,或者用微信“扫一扫”扫描页面地址二维码,然后在微信中打开商户HTML5页面,在页面内下单完成支付。 - APP支付
APP支付是指商户已有的APP,通过对接微信支付API及SDK,实现从商户APP发起交易后跳转到微信APP,用户完成支付后跳回商户APP的场景。 - H5支付
H5支付是指在微信外打开的H5页面,通过对接微信支付API,实现拉起微信客户端,完成支付后跳回外部浏览器的能力。 - 小程序支付
小程序支付是指在商户既有的小程序内通过对接微信支付API,实现用户在小程序内完成交易的场景。
10.2微信支付接入模式
微信支付功能的接入需要通过编码来实现,但是实际情况下不是每个商家都就有研发能力。微信为了加大支付功能的普及,设置了两种接入模式,分别是直连模式和服务商模式。
直连模式是指商户自行开发系统来对接微信支付进行交易,微信支付将资金直接结算到商户的结算账户。该模式要求商户具备系统开发能力,商户可自行前往商户平台完成入驻。该模式下常用参数说明如下:
参数名称 | 参数说明 |
---|---|
appid | 商户应用载体的appid,可以是公众号,小程序或APP |
mchid | 商户在微信申请入驻的收款账号 |
APIv3密钥 | 商户在商户平台设置的APIv3密钥,主要用于对敏感字段信息的加密或解密 |
证书 | 商户在商户平台下载的证书,主要用于API请求的签名生成及验证 |
openid | 用户在商户appid下的openid |
服务商模式是指针对一些中小型且没有开发能力的商户,由已在微信支付平台入驻的系统开发商协助这些商户完成入驻、开发及日常运营的模式。该模式下常用参数说明如下:
参数名称 | 参数说明 |
---|---|
appid | 服务商应用载体的appid,可以是公众号或小程序 |
mchid | 服务商在微信申请入驻的收款账号(注意:服务商收款账号并不具备收款能力) |
APIv3密钥 | 服务商在服务商平台设置的APIv3密钥,主要用于对敏感字段信息的加密或解密 |
证书 | 服务商在服务商平台下载的证书,主要用于API请求的签名生成及验证 |
openid | 用户在商户appid下的openid |
sub_appid | 子商户应用载体的appid,可以是公众号,小程序或APP |
sub_mchid | 子商户在服务商下开通的微信支付收款账户 |
sub_openid | 用户在子商户sub_appid下的openid |
10.3支付账号申请
微信支付服务商仅面向企业类型主体开放申请,下面介绍支付服务商账号的申请资料以及申请流程。
申请资料
- 微信支付业务联系人信息:包含联系人姓名、联系手机、联系邮箱。
- 公司信息:包含公司客服电话、公司网站地址。
- 公司对公账户信息:包含开户行省市信息,开户账号。
- 公司法定代表人信息:包含公司法人有效证件照片。
- 营业执照:彩色扫描件或数码照片。
申请公众号
由于微信支付的产品体系全部搭载于微信的社交体系之上,所以直连商户或服务商商户接入微信支付之前,都需要有一个微信社交载体,该载体对应的ID即为APPID。目前服务商的社交载体只能是公众号,服务商可通过公众平台完成公众号注册申请。
公众号申请成功后,服务商可登录公众号平台即可获取对应的APPID,具体查阅目录为【开发】->【基本配置】->【公众号开发信息】。通常情况下,一个服务商只需申请一个公众号即可。
申请服务商
在【公众平台】->【微信支付】->【服务商申请】页面,依照接入指引,完成资料填写、账户验证、签署协议后,便可完成服务商申请流程。
服务商申请成功后,微信支付将下发通知邮件至机构填写的联系邮箱,内容包含申请成功的mchid及其登录账号的密码,请妥善保存这些信息。
绑定APPID及mchid
APPID和mchid全部申请完毕后,需要建立两者之间的绑定关系。服务商可登录服务商平台,在【产品中心】->【AppID管理】目录下即可完成绑定。
服务商模式下,一个APPID下可绑定多个mchid,但一个mchid仅可绑定到一个APPID。
入驻子商户
上述步骤操作完成后,即会向服务商开放入驻子商户权限。服务商可登录服务商平台进入【服务商功能】界面完成子商户入驻。
配置API key
API v3密钥主要用于平台证书解密、回调信息解密。登录微信商户平台,进入【账户中心】->【API安全】->【API安全】目录,点击【设置密钥】,显示API v3密钥设置界面,然后按照界面的指示操作即可。
下载并配置商户证书
商户API证书是指由商户申请的,包含商户的商户号、公司名称、公钥信息的证书。微信支付API v3使用由证书授权机构 (Certificate Authority,简称CA)签发颁发的证书。商户需下载证书工具并使用工具生成证书请求串,并将证书请求串提交到商户平台后才能获得商户API证书文件。
商户申请商户API证书时,会生成商户私钥,并保存在本地证书文件夹的apiclient_key.pem 文件中。私钥也可以通过工具从商户的p12证书中导出。请妥善保管好您的商户私钥文件。
服务商可登录微信服务商平台,在【账户中心】->【API安全】->【API证书】目录下载证书: