您的位置:首页 > 移动开发 > 微信开发

快速入门微信支付

2021-08-31 15:07 951 查看

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、综述

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

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: