微信App支付接入步骤&支付中前后端交互流程

最近对微信App支付(App端集成微信支付SDK)申请步骤,以及终端在进行微信支付时商户App、商户Server、微信App、微信支付Server的交互流程进行了简单了解。这篇文章应该算是学习笔记,分享出来,希望对感兴趣的朋友有一定帮助。

本文从以下三个方面介绍微信App支付:

  • 微信支持哪几种支付模式?
  • 如何申请接入微信App支付?
  • 微信App支付流程(支付过程中的前后端交互逻辑

一、微信支付模式

微信支付的全部支付模式以及对应的支付场景如下:

  • 付款码支付(场景:线下面对面收银
    付款码支付是用户展示微信钱包内的“刷卡条码/二维码”给商户系统扫描后直接完成支付的模式。主要应用线下面对面收银的场景。
  • Native支付(场景:PC网站支付
    Native支付是商户系统按微信支付协议生成支付二维码,用户再用微信“扫一扫”完成支付的模式。该模式适用于PC网站支付、实体店单品或订单支付、媒体广告支付等场景。
  • JSAPI支付(场景:微信内H5支付
    JSAPI支付是用户在微信中打开商户的H5页面,商户在H5页面通过调用微信支付提供的JSAPI接口调起微信支付模块完成支付。应用场景有:
    用户在微信公众账号内进入商家公众号,打开某个主页面,完成支付;
    用户的好友在朋友圈、聊天窗口等分享商家页面连接,用户点击链接打开商家页面,完成支付;
    将商户页面转换成二维码,用户扫描二维码后在微信浏览器中打开页面后完成支付;
  • APP支付(场景:商户App集成微信sdk完成支付
    APP支付又称移动端支付,是商户通过在移动端应用APP中集成开放SDK调起微信支付模块完成支付的模式。
  • H5支付(场景:手机浏览器支付
    H5支付主要是在手机、ipad等移动设备中通过浏览器来唤起微信支付的支付产品。
  • 小程序支付(场景:微信小程序支付
    小程序支付是专门被定义使用在小程序中的支付产品。目前在小程序中能且只能使用小程序支付的方式来唤起微信支付。

二、微信App支付申请步骤

App支付为终端在商户App内集成微信支付SDK,点击支付后通过调用微信支付SDK相关接口,唤起微信App从而完成支付流程。

微信APP支付申请步骤如下:

  • 注册微信开放平台账号
    需要的资料:
    邮箱、企业注册地、开发者资料(姓名、手机号、联系地址、身份证号);
  • 认证开发者资质(认证资质后方可申请微信支付)
    需要的资料:
    认证公函的盖章电子版、企业全称、工商营业执照照片、对公账户(账户名称、账号、开户银行,个体工商户可用法人的银行账户代替)、认证联系人信息(姓名、电话、座机、邮箱、身份证号码);
    申请开发者资质认证审核服务费:300元/次;
  • 创建应用获取AppID
    需要资料:
    应用名称、简介、官网、应用logo、安卓应用签名、安卓应用包名;
  • 微信支付商户平台接入微信支付
    需要的资料:
    超级管理员资料(姓名、手机号、邮箱)、营业执照照片、组织机构代码证照片(未三证合一)、法人身份证正反面照片、对公银行账户(开户名称、开户银行、开户支行、开户账号)、经营信息(经营类目、售卖商品描述)、公众号AppID
  • 在线签署协议
  • 确定App绑定关系

2.1 注册微信开放平台账号

微信开放平台注册地址如下:
https://open.weixin.qq.com/

注册所需信息:
邮箱、企业注册地、开发者资料(姓名、手机号、联系地址、身份证号)。

微信开放平台注册步骤如下:

微信开放平台

  • 填写注册信息
    一般采用邮箱注册。

填写注册信息

  • 完善开发者资料:
    开发者资料包括:姓名、手机号、联系地址、身份证号。

完善开发者资料

2.2 认证开发者资质

通过开发者资质认证后方可申请微信支付。

认证开发者资质

进入微信开放平台【账号-开发者资质认证】
https://open.weixin.qq.com/

申请开发者资质认证审核服务费300元/次;

申请所需材料
认证公函的盖章电子版、企业全称、工商营业执照照片、对公账户(账户名称、账号、开户银行,个体工商户可用法人的银行账户代替)、认证联系人信息(姓名、电话、座机、邮箱、身份证号码);

认证审核时间: 1-5个工作日;

开发者资质认证操作步骤如下:

  • 点击“现在申请”进入微信公众平台:

微信公众平台开始认证

  • 选择认证类型&上传公函:

选择认证类型

  • 上传工商营业执照:

上传工商营业执照

  • 填写对公银行卡信息:

填写对公银行卡信息

  • 填写联系人信息:

填写联系人信息

  • 确认命名:

确认命名

  • 支付认证费用:

支付认证费用

2.3 创建应用获取AppID

该步骤开始的前提:
APP开发基本完成,打包获取应用签名、包名(备用);
创建应用:
进入微信开放平台【管理中心-移动应用】https://open.weixin.qq.com/
所需信息:
应用名称、简介、官网、应用logo、安卓应用签名、安卓应用包名

创建应用并提交审核,审核通过后会获取到AppID。

创建应用

2.4 微信支付商户平台接入微信支付

进入微信开放平台【管理中心/应用详情】“申请开通微信支付”:
https://open.weixin.qq.com/

申请开通微信支付

申请所需材料:
超级管理员资料(姓名、手机号、邮箱)、营业执照照片、组织机构代码证照片(未三证合一)、法人身份证正反面照片、对公银行账户(开户名称、开户银行、开户支行、开户账号)、经营信息(经营类目、售卖商品描述)、公众号AppID
提交后系统会进行校验,校验通过会进行汇款验证,验证通过后即完成申请资料提交;

微信支付审核时间1-5个工作日

微信支付商户平台接入微信支付的操作步骤如下:

微信支付商户平台接入微信支付

  • 填写超级管理员姓名、手机号、邮箱,以创建申请单:

超级管理员信息

  • 进入填写商户资料页面,选择主体类型为“企业”后,按页面提示提交相关信息,详见下图:

商户资料提交

  • 预览申请单并确认:

确认申请单

2.5 在线签署协议

微信支付审核通过后,需要在线签署协议。

  • 审核通过后,待签约模版消息会通过微信支付商家助手公众号推送给超级管理员

在线签署协议

  • 点击消息进入签约页面,核对商户信息和阅读协议后,点击签署,即可完成签约

在线签署协议

2.6 确定绑定关系

微信支付交易发起依赖于公众号、小程序、移动应用(即APPID)与商户号(即MCHID)的绑定关系,因此商户在完成签约后,需要确认当前商户号同AppID的绑定关系,方可使用。

App集成微信支付SDK:

  • 登录微信支付平台【产品中心/AppID账号管理/我关联的AppID账号】新增AppID账号;
    微信支付平台:
    https://pay.weixin.qq.com

新增AppID账号

  • 前往微信开放平台【管理中心/查看/微信支付/商户号管理】确认授权申请。
    微信开放平台:
    https://open.weixin.qq.com/

确认授权申请

三、微信App支付流程

终端用户点击支付后,商户客户端App商户Server微信客户端App微信支付Server

商户App通过集成微信支付SDK完成支付大概需要经过以下步骤:

  • 生成支付订单;
  • 支付授权;
  • 用户输入密码进行交易;
  • 支付结果异步通知;
  • 商户App验证支付结果,并提示用户;

App支付时序图

流程说明:

  • 步骤1-2:终端用户打开商户App,浏览并选中商户在售商品,完成下单操作;
  • 步骤3:终端用户完成下单后,商户App调用商户Server接口请求生成订单;
  • 步骤4-6:商户Server调用微信统一下单Api请求生成预付费订单pre_pay_id
  • 步骤7-8:商户Server生成带签名的客户端支付信息,并将pre_pay_id、sign返回给商户App
  • 步骤9:商户App调用微信支付sdk提供的支付Api,唤起微信支付;并传入订单号、签名、价格等信息。
  • 步骤10-12:微信App请求微信支付系统发起支付请求,微信支付系统完成支付参数验证,并将支付授权返回给微信App
  • 步骤13-15:微信App弹出支付密码输入窗口,用户收入支付密码并确认支付;支付密码由微信App调用微信支付系统相关接口传递给微信支付系统微信支付系统完成密码校验,随后完成交易。
  • 步骤16-18:微信支付系统完成交易后,会通过异步通知的方式通知商户Server商户Server完成数据库入库与其他逻辑操作后,通知微信支付系统处理结果。
  • 步骤19-20:微信支付系统完成交易后,通知微信App交易成功;微信App回调给商户App支付成功的消息。
  • 步骤21-23:商户App收到微信支付成功的回调后,会调用商户Server相关接口,再次确认订单是否支付成功,(此时若商户Server尚未收到微信支付系统支付成功的异步回调,会调用微信支付系统相关Api主动查询订单状态)商户Server将支付状态回调给商户App,交易完成。

参考

open帐号注册操作步骤:
https://kf.qq.com/faq/170811QrE3En170811bUNRJb.html

微信认证申请流程:
https://kf.qq.com/faq/161220Brem2Q161220uUjERB.html

移动应用创建流程:
https://kf.qq.com/faq/170824EnUNRJ170824bYnEJr.html

如何提交接入申请资料?
https://kf.qq.com/faq/180910aYF77n18091073a6Jj.html

商户申请接入时,如何签约?
https://kf.qq.com/faq/180910Rn6FbI180910ZbYNn2.html

商户申请接入时,如何确认绑定关系?
https://kf.qq.com/faq/180910QZzmaE180910vQJfIB.html

商家商户号与AppID账号关联管理
https://kf.qq.com/faq/1801116VJfua1801113QVNVz.html

========== THE END ==========

欢迎关注我的公众号

posted @ 2020-09-29 09:43  bjxiaxueliang  阅读(6980)  评论(0编辑  收藏  举报