快速入门微信支付

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

追风人聊Java

您的鼓励将是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值