商户/服务商在接入前首先要判断自己公司注册区域适用的接入模式,微信支付目前提供两种接入方式:直连模式和服务商模式。
信息、资金流:微信支付—>直连商户
直连模式,商户自行申请入驻微信支付,无需服务商协助。(商户平台申请)成为普通商户
—— 信息流 —— 资金流
服务商模式,商户申请成为微信支付服务商,服务商自身无法作为一个普通商户直接发起交易,其发起交易必须传入相关特约商户商户号的参数信息。(服务商平台申请)成为普通服务商
请结合自身实际情况来选择接入模式。
商户自行申请入驻微信支付,无服务商协助。(商户平台申请)成为普通商户
由于微信支付的产品体系全部搭载于微信的社交体系之上,所以直连商户或服务商商户接入微信支付之前,都需要有一个微信社交载体,该载体对应的ID即为APPID。
对于直连商户,该社交载体可以是公众号(什么是公众号),小程序(什么是小程序)或APP。
如申请社交载体为公众号,请前往以下链接: 公众号申请指引
如申请社交载体为小程序,请前往以下链接: 小程序申请指引
如商户已拥有自己的APP,且希望该APP接入微信支付,请前往以下地址注册APP: APP注册指引
商户可根据自己实际的业务需求来选择申请不同的社交载体。
各类社交载体一旦申请成功后,可以登录对应平台查看账号信息以获取对应的appid。
申请mch_id和APPID的操作互不影响,可以并行操作,申请地址如下: 商户号申请平台
申请成功后,会向机构填写的联系邮箱下发通知邮件,内容包含申请成功的mch_id及其登录账号密码,请妥善保存。
注意:一个mch_id只能对应一个结算币种,若需要使用多个币种收款,需要申请对应数量的mch_id。
APPID和mch_id全部申请完毕后,需要建立两者之间的绑定关系。
直连模式下,APPID与mch_id之间的关系为多对多,即一个APPID下可以绑定多个mch_id,而一个mch_id也可以绑定多个APPID。
由于微信支付的产品体系全部搭载于微信的社交体系之上,所以直连商户或服务商商户接入微信支付之前,都需要有一个微信社交载体,该载体对应的ID即为APPID。
目前机构的社交载体只能是公众号,请通过以下链接申请公众号: 公众号申请指引
公众号申请成功后,机构登录公众号平台即可获取对应的APPID,具体查阅目录为 开发->基本配置-> 公众号开发信息,如下图所示。通常情况下,一个机构只需申请一个公众号即可。
机构的收款账号即是mch_id,申请mch_id和APPID的操作互不影响,可以并行操作,申请地址如下: 商户号申请指引
申请成功后,会向机构填写的联系邮箱下发通知邮件,内容包含申请成功的mch_id及其登录账号密码,请妥善保存。
注意:一个mch_id只能对应一个结算币种,若需要使用多个币种收款,需要申请对应数量的mch_id。
APPID和mch_id全部申请完毕后,需要建立两者之间的绑定关系。
服务商可登录服务商平台,产品中心->AppID管理目录下即可完成绑定。
服务商模式下,一个APPID下可绑定多个mch_id,但一个mch_id仅可绑定到一个APPID。
为了便于理解举例如下:
APPID为社交载体,可以想象它为一个实体个人。
mch_id为收款账户,可以想象它为一个银行账号。
一个实体个人可以拥有多个银行账号,但一个银行账号仅可为一个实体个人拥有。
上述步骤操作完成后,即会向服务商开放入驻子商户权限。
机构可登录服务商平台进入“服务商功能”界面完成子商户入驻。
API Key主要用于对传输信息生成签名,具体使用方式可参见API文档中签名算法章节。
请根据以下步骤配置API key:
当调用涉及资金回滚或某些敏感操作的接口时(包括退款,撤销,入驻子商户等),需要使用商户证书来校验机构身份。
机构可登录微信商户平台,在【账户中心】->【API安全】->【API证书】目录下载证书
以下为具体下载步骤:
步骤1 在【商户平台】-“复制证书串”环节,点击“复制证书串”按钮后;
步骤2 在【证书工具】-“复制请求串”环节,点击“下一步”按钮进入“粘贴证书串”环节;
步骤3 在【证书工具】-“粘贴证书串”环节,点击“粘贴”按钮后;
步骤4 点击“下一步”按钮,进入【证书工具】-“生产证书”环节
支付授权目录说明
1)商户最后请求拉起微信支付收银台的页面地址我们称之为“支付目录”,例如:https://www.weixin.com/pay.php。
2)商户实际的支付目录必须和在微信支付商户平台设置的一致,否则会报错“当前页面的URL未注册:”
支付授权目录设置说明
登录【微信支付商户平台—>产品中心—>开发配置】,设置后一般5分钟内生效。
支付授权目录校验规则说明
1)如果支付授权目录设置为顶级域名(例如:https://www.weixin.com/ ),那么只校验顶级域名,不校验后缀;
2)如果支付授权目录设置为多级目录,就会进行全匹配,例如设置支付授权目录为https://www.weixin.com/abc/123/,则实际请求页面目录不能为https://www.weixin.com/abc/,也不能为https://www.weixin.com/abc/123/pay/,必须为https://www.weixin.com/abc/123/
开发JSAPI支付时,在JSAPI下单接口中要求必传用户openid,而获取openid则需要您在微信公众平台设置获取openid的域名,只有被设置过的域名才是一个有效的获取openid的域名,否则将获取失败。具体界面如图所示: