产品介绍

简介

商户已有微信小程序,用户通过好友分享或扫描二维码在微信内打开小程序时,可以调用微信支付完成下单购买的流程。

用户付款流程

步骤1:如图1,用户通过分享或扫描二维码进入商户小程序,用户选择购买,完成选购流程。


步骤2:如图3,调起微信支付控件,用户开始输入支付密码。



图1 打开商户小程序

图2 请求微信支付

图3 打开商户小程序


步骤3:如图4,密码验证通过,支付成功。商户后台得到支付成功的通知。


步骤4:如图5,返回商户小程序,显示购买成功。


步骤5:如图6,微信支付公众号下发支付凭证。



图4 请求微信支付

图5 打开商户小程序

图6 请求微信支付

开放模式介绍

在进行微信支付开发之前,深刻理解微信支付的账号关系非常有助于你使用微信以及微信支付的能力。微信支付对商户开放的所有面对用户使用的api,都是由appid和mch_id成对使用的。微信支付开放的能力主要分2大类,普通模式和服务商模式。

1、普通模式

最常规的普通模式,适用于有自己开发团队或外包开发商的直连商户收款。开发者申请自己的appid和mch_id,两者需具备绑定关系,以此来使用微信支付提供的开放接口,对用户提供服务。


2、服务商模式

第三方服务商申请自己的服务号appid,并通过该服务号appid申请服务商mch_id,以此获得微信支付服务商能力。
再通过服务商mch_id为所服务的特约商户申请创建微信支付sub_mch_id,创建好的sub_mch_id默认和服务商的mch_id建立父子授权关系。 以此来使用微信支付提供的开放接口,对特约商户及用户提供服务。
同时,微信支付为服务商模式下的每一条“mch_id-sub_mch_id父子授权关系”上,都开放了一些开发配置能力供服务商配置,包括不限于支付授权目录、推荐关注的appid、sub_appid等。
拿小程序支付举例,服务商订单由哪个小程序调用js拉起支付,则需要在特约商户开发配置中将该小程序appid配置成sub_appid。
每条父子关系上的sub_appid可以为多,用以满足不同的场景需求,但每笔交易只能使用1个。


注:sub_appid详细说明请参数附录


服务商模式下又分普通服务商和银行服务商两大类,除资金清算能力不同,在账号模型和使用上,普通服务商和银行服务商并无区别。



2.1普通服务商发起支付


点最常规的第三方模式,第三方帮特约商户申请商户号并为他进行支付开发,第三方本身不经手资金,支付成功后资金直接进入特约商户商户号。


2.2银行类服务商发起支付


有清算资质的银行机构可申请成为微信支付银行类服务商,开通后可通过api创建特约商户号并为其进行支付开发,资金直接进入银行类服务商账户,由银行服务商为特约商户进行资金清算;
在此能力的延伸下,银行服务商不仅可直接为其特约商户提供服务,也可间接用同一套模式为渠道商的特约商户提供服务。渠道商可通过银行类服务商基于微信支付接口封装的特约商户创建、子商户开发配置(推荐关注、sub_appid等)、下单接口,来为渠道商下属商户接入微信支付。《渠道商部分说明 》、《银行类服务商接口》。


业务场景结合

了解完微信支付不同模式的基础账号关系与使用后,针对第三方模式进行枚举说明,以小程序举例。

小程序的开发:第三方服务商帮商户开发小程序,有三种业务场景:

     1、第三方自己申请账号,自己开发,生成指定内页给特约商户用,该模式简称中心化模式。

     2、以特约商户身份申请小程序appid,第三方完成开发,该模式简称外包模式。

     3、通过开放平台第三方开发者代特约商户进行小程序的开发,该模式简称第三方模式。

论哪种模式开发的小程序,在使用面对用户的微信支付能力时,都以该小程序appid为主体id来调用微信开放平台提供的api。
以在某小程序中发起微信支付为例,分后台下单和前端js拉起收银台两部分。
其中,后台下单对应微信支付的三大类开放模式,前端js拉起收银台需通过该小程序的appid,且该appid参与后台下单。即,根据不同的开放模式和业务场景枚举,第三方开发小程序使用微信支付,可分别3*3,共9种不同的组合,第三方需根据自我业务诉求选择对应的组合模式来使用。


注意:以上3*3共计9种组合,均能跑通微信支付。但红色连接线为二清模式,政策上不允许采用该模式。有需求的第三方开发者可通过银行渠道商模式接入。



技术咨询

反馈有奖