1、开放模式简介
在开发微信支付之前,深入了解微信支付的账户关系对您使用微信和微信支付的能力非常有帮助。微信支付向商家开放的所有面向用户的API均由appid和mch_id成对使用。微信支付的开放能力主要分为普通模式和服务提供商模式两类
1.1普通模式
最常规的常规模式,适用于与自己的开发团队直接联系的商家或外包开发商以收取款项。开发人员申请自己的appid和mch_id,两者需要具有绑定关系,才能使用微信支付提供的开放接口向用户提供服务。
微信支付基本帐户模型-正常模式
1.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_appids来满足不同情况的需求,但是每个事务只能使用一个。
注意:有关sub_appid的详细说明,请参阅参数附录
服务提供者模型分为两类:普通服务提供者和银行服务提供者。除了不同的资金结算功能外,普通服务提供商和银行服务提供商在帐户模型和使用方式上没有区别。
微信支付基本帐户模型-服务提供商模型
1.2.1个一般服务提供商开始付款
最常规的第三方模型。第三方帮助特殊商人申请商人帐户并为其开发付款。第三方不处理资金。付款成功后,资金会直接转到特殊的商人帐户。
一般服务提供商微信支付资金结算流程
1.2.2家银行服务提供商开始付款
具有清算资格的银行机构可以申请成为微信支付银行服务提供商。开设后,他们可以通过api创建特殊的商家帐户并为他们进行付款开发。资金直接进入银行服务提供商的帐户,银行服务提供商将进行特别任命。商户进行资金清算;在这种能力的扩展下,银行服务提供商不仅可以直接向其特殊商家提供服务,而且可以间接使用相同的模型为渠道商家的特殊商家提供服务。渠道商可以通过创建特殊商户,子商户开发和配置(建议跟随,sub_appid等)以及银行服务提供商基于微信支付接口封装的下订单接口来访问与渠道商关联的商户的微信支付。有关渠道提供商的详细信息,请参阅:;有关银行服务提供商界面,请参阅:
银行服务提供商微信支付资金结算流程
2、业务场景的组合
在了解了不同微信支付方式的基本账户关系和用法后,以一个小程序为例微信小程序开发,列举并说明了第三方支付方式。
小程序开发:第三方服务提供商帮助商家开发小程序。共有三种业务场景:
1、第三方自行申请帐户,自行开发,并为特殊商人生成指定的内部页面。此模式称为集中模式。
2、以特殊商人的身份申请小程序appid,然后第三方完成开发。该模型称为外包模型。
3、通过开放平台的第三方开发人员代表特殊商人开发小程序,此模型称为第三方模型。
无论开发哪种模型,当使用面向用户的微信支付功能时,小程序appid都用作调用微信开放平台提供的api的主要id。以在一个小程序中启动的微信支付为例,它分为两个部分:后端订单下达和前端js拉收款机。其中,后端订单对应微信支付的三种主要开放方式。前端js需要使用applet的appid来提起收银员,并且appid参与后端订单。也就是说,根据不同的开放模式和业务场景枚举,第三方开发小程序可以使用微信支付,可以是3 * 3,共有9种不同的组合,第三方需要选择相应的组合模式才能使用根据自己的业务要求。
小程序开发模式+付款订单模式组合
注意:以上3 * 3共有9种组合,所有组合均可通过微信支付进行。但是,红色连接线是双清除模式,这在策略中是不允许的。需要它的第三方开发人员可以通过银行渠道业务模型进行访问。