1 概述
大家都听说过微信支付。 它易于使用且易于连接。
如果项目中有支付需求,通常会想到微信支付和支付宝支付。
今天简单讲一下微信支付的对接流程和实现。
2.微信支付方式
微信支付主要包括以下支付方式:
1)支付:在微信内打开前端页面,支付时使用接口调用微信支付模块完成支付。
2)APP支付:在IOS或开发的APP中,调用微信支付模块完成收款。
3)H5支付:在手机浏览器APP中打开前端页面。 支付时,通过URL跳转到微信支付中间页面,调用微信支付模块完成支付。
4)支付:通常在PC浏览器中打开前端页面,支付时生成支付二维码,使用手机微信扫描支付二维码完成支付。
5)小程序支付:在小程序中调用微信支付模块,完成收款。
6)支付码支付:用户出示微信钱包中的条码和二维码,商户通过专用硬件设备扫描用户条码完成支付。
7)刷脸支付:用户在集成微信刷脸支付SDK的离线硬件设备上“刷脸”完成支付。
这里主要介绍前5种支付方式。
3. 支付流程概览
虽然付款方式不同,但付款程序相似。 下面我们简单介绍一下:
第 1 步:生成订单
第二步:调用微信下单接口
第三步:开通微信支付
第四步:接收微信支付结果通知
4. 订单状态
根据支付流程,订单状态大致可分为:待支付、支付中、支付成功、支付失败。
5. 第1步:生成订单
此步骤不需要与微信界面交互。 完全是业务系统自己的逻辑。 主要记录订单中商品的明细、数量、金额等信息。
订单生成后,订单的初始状态为“待付款”。
6、第二步:调用微信下单接口
订单生成后,调用微信订单接口,在微信支付服务后台生成预付款交易订单。
注:微信下单接口会使用(申请ID)和(直营商户号)。 您可以在微信公众平台、微信开放平台、微信支付平台提前申请相应信息。
不同的支付方式调用不同的接口,接口的返回值也不同:
1)支付、小程序支付
这两种支付方式调用订单接口/v3/pay//
返回值为(预付费交易会话ID)
2)APP支付
调用APP下单接口/v3/pay//app
返回值为(预付费交易会话ID)
3)H5支付
调用H5下单接口/v3/pay//h5
返回值为(支付跳转链接)
4)付款
调用订单接口/v3/pay//
返回值为(二维码链接)
调用微信订单接口时,有一个必填字段(通知地址),指定本次支付的回调地址。
成功调用微信下单接口后,订单状态可以更改为正在支付。 如果调用不成功,订单状态将变为支付失败。
7.第三步:激活微信支付
成功调用微信点餐接口后,可以根据不同的支付方式调用微信支付。
1)付款
前端页面使用微信支付提供的前端JS方法调用微信支付。 这里会用到微信订单接口返回的(预付款交易会话ID)。
2)APP支付
APP使用微信支付提供的SDK激活微信支付,会使用微信订单接口返回的(预付款交易会话ID)。
3)H5支付
前端页面直接重定向到微信订单接口返回的(支付跳转链接)地址,调出微信支付中间页面完成支付。
4)付款
前端将微信点餐接口返回的二维码链接转换为二维码图片,用户通过手机微信扫码进行支付。
5)小程序支付
小程序使用 wx. 调用微信支付的方法,会使用微信订单接口返回的(预付款交易会话ID)。
如果调用失败,将订单状态更改为支付失败。
8.第四步:接收微信支付结果通知
当微信端有支付结果时,会回调通知业务系统支付结果。 回调参数包括商家订单号(调用微信订单接口时指定),订单状态根据商家订单号更新。
在收到微信支付结果通知之前,可以向用户展示支付等待页面,并定期向后台请求订单状态。 当订单状态由付款变为其他状态时,支付完成并向用户展示最终状态。
9. 概述
好了,到这里,大家对微信支付应该有了初步的了解了。 欢迎多多交流。