微信支付
产品首页:https://pay.weixin.qq.com/static/product/product_index.shtml
付款码支付
产品文档:https://pay.weixin.qq.com/static/product/product_intro.shtml?name=qrcode
付款码支付是指用户展示微信钱包内的“付款码”给商户系统扫描后直接完成支付,适用于线下场所面对面收银的场景,例如商超、便利店、餐饮、医院、学校、电影院和旅游景区等具有明确经营地址的实体场所。开发文档
产品流程
- 步骤1 用户选择付款码支付,付款码打开路径:[微信->“我”->“支付”->“收付款”,如下图1、图2;
- 步骤2 收银员在商户系统操作生成支付订单,用户确认支付金额;
- 步骤3 商户收银员用扫码设备扫描用户的条码/二维码,商户收银系统提交支付,如图3;
-
步骤4 微信支付后台系统收到支付请求,根据验证密码规则判断是否验证用户的支付密码,不需要验证密码的交易直接发起扣款,需要验证密码的交易会弹出密码输入框。支付成功后微信端会弹出成功页面,支付失败会弹出错误提示。
JSAPI支付
产品文档:https://pay.weixin.qq.com/static/product/product_intro.shtml?name=jsapi
JSAPI支付是指商户通过调用微信支付提供的JSAPI接口,在支付场景中调起微信支付模块完成收款。开发文档
应用场景
- 线下场所:调用接口生成二维码,用户扫描二维码后在微信浏览器中打开页面后完成支付
- 公众号场景:用户在微信公众账号内进入商家公众号,打开某个主页面,完成支付
- PC网站场景:在网站中展示二维码,用户扫描二维码后在微信浏览器中打开页面后完成支付
商户已有H5商城网站,用户通过消息或扫描二维码在微信内打开网页时,可以调用微信支付完成下单购买的流程。具体操作流程如下:
- 步骤一 如图2.1,商户下发图文消息或者通过自定义菜单吸引用户点击进入商户网页。
- 步骤二 如图2.2,进入商户网页,用户选择购买,完成选购流程。
-
步骤三 如图2.3,调起微信支付控件,用户开始输入支付密码。
- 步骤四 如图2.4,密码验证通过,支付成功。商户后台得到支付成功的通知。
- 步骤五 如图2.5,返回商户页面,显示购买成功。该页面由商户自定义。
-
步骤六 如图2.6,微信支付公众号下发支付凭证。
小程序支付
产品文档:https://pay.weixin.qq.com/static/product/product_intro.shtml?name=miniapp
小程序支付是指商户通过调用微信支付小程序支付接口,在微信小程序平台内实现支付功能;用户打开商家助手小程序下单,输入支付密码并完成支付后,返回商家小程序。开发文档
用户付款流程
- 步骤1:如图1,用户通过分享或扫描二维码进入商户小程序,用户选择购买,完成选购流程。
-
步骤2:如图3,调起微信支付控件,用户开始输入支付密码。
- 步骤3:如图4,密码验证通过,支付成功。商户后台得到支付成功的通知。
- 步骤4:如图5,返回商户小程序,显示购买成功。
-
步骤5:如图6,微信支付公众号下发支付凭证。
业务场景结合
了解完微信支付不同模式的基础账号关系与使用后,针对第三方模式进行枚举说明,以小程序举例。
小程序的开发:第三方服务商帮商户开发小程序,有三种业务场景:
1、第三方自己申请账号,自己开发,生成指定内页给特约商户用,该模式简称中心化模式。
2、以特约商户身份申请小程序appid,第三方完成开发,该模式简称外包模式。
3、通过开放平台第三方开发者代特约商户进行小程序的开发,该模式简称第三方模式。
无论哪种模式开发的小程序,在使用面对用户的微信支付能力时,都以该小程序appid为主体id来调用微信开放平台提供的api。
以在某小程序中发起微信支付为例,分后台下单和前端js拉起收银台两部分。
其中,后台下单对应微信支付的三大类开放模式,前端js拉起收银台需通过该小程序的appid,且该appid参与后台下单。即,根据不同的开放模式和业务场景枚举,第三方开发小程序使用微信支付时,可分为9种(3*3)不同的组合模式,结合实际业务诉求选择对应的组合模式进行开发。
Native支付
产品文档:https://pay.weixin.qq.com/static/product/product_intro.shtml?name=miniapp
Native支付是指商户系统按微信支付协议生成支付二维码,用户再用微信“扫一扫”完成支付的模式。该模式适用于PC网站、实体店单品或订单、媒体广告支付等场景。 开发文档
应用场景
Native支付适用于PC网站、实体店单品或订单、媒体广告支付等场景
用户扫描商户展示在各种场景的二维码进行支付,具体操作流程如下:
- 步骤一 商户根据微信支付的规则,为不同商品生成不同的二维码(如图3.1),展示在各种场景,用于用户扫描购买。
-
步骤二 用户使用微信“扫一扫”(如图3.1)扫描二维码后,获取商品支付信息,引导用户完成支付(如图3.3)。
- 步骤三 用户确认支付,输入支付密码(如图3.4)。
-
步骤四 支付完成后会提示用户支付成功(如图3.5),商户后台得到支付成功的通知,然后进行发货处理。
APP支付
产品文档:https://pay.weixin.qq.com/static/product/product_intro.shtml?name=app
APP支付是指商户通过在移动端应用APP中集成开放SDK调起微信支付模块来完成支付。适用于在移动端APP中集成微信支付功能的场景。[开发文档]
(https://pay.weixin.qq.com/wiki/doc/apiv3/open/pay/chapter2_5_0.shtml)
APP支付是指商户通过在移动端应用APP中集成开放SDK调起微信支付模块来完成支付。目前微信支付支持手机系统有:IOS(苹果)、Android(安卓)和WP(Windows Phone)
应用场景
APP支付适用于在移动端APP中集成微信支付功能的场景。商户APP调用微信提供的SDK调用微信支付模块,商户APP会跳转到微信中完成支付,支付完后跳回到商户APP内,最后展示支付结果。具体操作流程如下:
- 步骤一 用户进入商户APP,选择商品下单、确认购买,进入支付环节。商户服务后台生成支付订单,签名后将数据传输到APP端。以微信提供的DEMO为例,见图1.1。
- 步骤二 用户点击后发起支付操作,进入到微信界面,调起微信支付,出现确认支付界面,见图1.2。
-
步骤三 用户确认收款方和金额,点击立即支付后出现输入密码界面,可选择零钱或银行卡支付见图1.3。
- 步骤四 输入正确密码后,支付完成,用户端微信出现支付详情页面。见图1.4。
-
步骤五 回跳到商户APP中,商户APP根据支付结果个性化展示订单处理结果。见图1.5。
H5支付
产品文档:https://pay.weixin.qq.com/static/product/product_intro.shtml?name=h5
H5支付是指商户在微信客户端外的移动端网页展示商品或服务,用户在前述页面确认使用微信支付时,商户发起本服务呼起微信客户端进行支付。主要用于触屏版的手机浏览器请求微信支付的场景。可以方便的从外部浏览器唤起微信支付。开发文档
说明:要求商户已有H5商城网站,并且已经过ICP备案,即可申请接入。
提醒:H5支付不建议在APP端使用,如需要在APP中使用微信支付,请接APP支付,文档详见《APP支付文档》
应用场景
H5支付主要用于触屏版的手机浏览器请求微信支付的场景,方便从外部浏览器唤起微信支付。
用户侧使用H5支付具体操作流程如下:
- 步骤一 用户从非微信浏览器的站点导航进入商户H5网页,用户挑选需购买商品,选择微信支付发起购买流程。
-
步骤二 进入微信客户端确认交易,输入支付密码。
-
步骤三 支付成功,用户收到支付凭证,同时商户后台收到支付成功的通知。
刷脸支付
产品文档:https://pay.weixin.qq.com/static/product/product_intro.shtml?name=face
刷脸支付是指用户在刷脸设备前通过摄像头刷脸、识别身份后进行的一种支付方式,安全便捷。适用于线下实体场所的收银场景,如商超、餐饮、便利店、医院、学校等。开发文档