美文网首页
快速入门微信支付

快速入门微信支付

作者: 追风人聊Java | 来源:发表于2021-11-25 12:42 被阅读0次

    1、概述

    微信支付,大家都听说过,使用方便,对接也很方便。

    项目中如果存在支付需求,通常都会想到微信支付和支付宝支付。

    今天就简单讲讲微信支付的对接流程与实现。

    2、微信支付的方式

    微信支付主要包含以下支付方式:

    1)JSAPI支付:在微信内部打开前端页面,支付时使用 JSAPI 接口调起微信支付模块完成收款。

    2)APP支付:在 IOS 或 安卓 开发的 APP 中,调起微信支付模块完成收款。

    3)H5支付:在手机的 某浏览器APP 中打开前端页面,支付时通过url跳转到微信的支付中间页,调起微信支付模块完成收款。

    4)Native支付:通常是在PC的浏览器打开前端页面,支付时生成收款二维码,使用手机微信扫描收款二维码完成收款。

    5)小程序支付:在小程序中调起微信支付模块完成收款。

    6)付款码支付:用户出示微信钱包中的条码、二维码,商家通过专用的硬件设备扫描用户条码完成收款。

    7)刷脸支付:用户在集成微信刷脸支付SDK的线下硬件机具上"刷脸"完成支付。

    这里我们主要介绍一下前5种支付方式。

    3、支付流程概述

    虽然支付方式不同,但支付流程都是大同小异,下面我们就来简单介绍一下:

    步骤一:生成订单

    步骤二:调用微信的下单接口

    步骤三:调起微信支付

    步骤四:接收微信支付结果通知

    4、订单状态

    根据支付流程,订单的状态可以大致分为:待支付、支付中、支付成功、支付失败。

    5、步骤一:生成订单

    该步骤不需要与微信的接口交互,完全是业务系统自己的逻辑,主要是记录订单中商品的明细、数量、金额等信息。

    生成订单后,订单的初始状态为 待支付。

    6、步骤二:调用微信的下单接口

    订单生成后,去调用微信的下单接口,在微信支付服务后台生成预支付交易单。

    注:微信下单接口会用到appid(应用ID)和mchid(直连商户号),可以提前在 微信公众平台、微信开放平台 和 微信支付平台 申请好相应的信息。

    不同支付方式调用的接口不同,接口的返回值也不相同:

    1)JSAPI支付、小程序支付

    这两种支付方式调用的是 JSAPI下单接口 https://api.mch.weixin.qq.com/v3/pay/transactions/jsapi

    返回值是 prepay_id(预支付交易会话标识)

    2)APP支付

    调用 APP下单接口 https://api.mch.weixin.qq.com/v3/pay/transactions/app

    返回值是 prepay_id(预支付交易会话标识)

    3)H5支付

    调用 H5下单接口 https://api.mch.weixin.qq.com/v3/pay/transactions/h5

    返回值是 h5_url(支付跳转链接)

    4)Native支付

    调用Native下单接口 https://api.mch.weixin.qq.com/v3/pay/transactions/native

    返回值是 code_url(二维码链接)

    在调用微信下单接口时,有一个必填字段 notify_url(通知地址),指定了本次支付的回调地址。

    微信下单接口调用成功后,订单的状态可更改为 支付中,如果调用不成功则订单状态改为 支付失败。

    7、步骤三:调起微信支付

    微信下单接口调用成功后,可根据不同的支付方式调起微信支付。

    1)JSAPI支付

    前端页面使用微信支付提供的前端JS方法调起微信支付,此处会用到微信下单接口返回的 prepay_id(预支付交易会话标识)。

    2)APP支付

    APP端使用微信支付提供的SDK调起微信支付,此处会用到微信下单接口返回的 prepay_id(预支付交易会话标识)。

    3)H5支付

    前端页面直接重定向到微信下单接口返回的 h5_url(支付跳转链接) 地址调起微信支付中间页,完成支付。

    4)Native支付

    前端将微信下单接口返回的 code_url(二维码链接)转换成二维码图片,用户通过手机微信扫码进行支付。

    5)小程序支付

    小程序端使用 wx.requestPayment 方法调起微信支付,此处会用到微信下单接口返回的 prepay_id(预支付交易会话标识)。

    如果调起失败,将订单状态改为 支付失败。

    8、步骤四:接收微信支付结果通知

    当微信端有了支付结果后,会回调通知业务系统支付的结果,回调参数中包含业务订单号(调用微信下单接口时指定的),根据业务订单号,更新订单的状态。

    在接收到微信支付结果通知之前,可为用户展示一个 支付中 的等待页面,定时向后台请求订单状态,当订单状态由支付中变为其他状态,则支付完毕,将最终状态展现给用户。

    9、综述

    好了,讲到这里,大家对微信支付应该有个初步的认识, 欢迎多多交流。

    相关文章

      网友评论

          本文标题:快速入门微信支付

          本文链接:https://www.haomeiwen.com/subject/ukbatrtx.html