微信支付详解

一.概论

商户系统按照微信支付协议生成支付二维码,用户通过微信“扫一扫”完成支付。

返回说明:微信接口返回url链接(wxpay://),前端根据url生成二维码,用户扫码支付。

用户出示微信钱包中的条码或二维码,商家通过扫描用户条码完成收款。

备注:条码扫码机原理:扫码机在扫码时会识别条码里包含的数字+回车键事件(举例:input输入框监听回车键按键事件)。

商户在微信客户端外的移动端网页展示商品或服务,用户在前述页面确认使用微信支付时,商户发起服务呼起微信客户端进行支付。

返回支付H5 url链接,用户跳转到url界面唤醒支付。

商户通过在移动端应用APP中集成开放SDK调起微信支付模块来完成支付。

在APP内直接通过activity唤醒微信模块内支付模块。

在微信内打开小程序时,可以调用微信支付完成下单购买的流程。

微信小程序内调用微信支付接口。

二.详情

以下以小程序支付为例说明。

①V2版本

V2版本介绍:本公司项目目前皆使用的是V2版本。

接口说明:

第一步:(前端小程序功能)小程序调起支付

wx.requestPayment

...

附注一:

统一下单接口获取prepay_id

...

②V3

V3接口是最近推出的新方式,v3的sign生成算法和v2的逻辑上有着本质的区别

...

这个功能其实和v2的参数大相径庭,重点依旧是获取prepay_id和paysign

...

这就是所有要传入的参数,细心的你们会发现参数里并没有发现sign

...

由于V3版本设计到了RSA和sha256等算法,这两种算法都封装于openssl里面

...