一、简介
今天给大家分享的是微信小程序集成支付。
2. 分析
1.小程序支付接口
地址:#ct
笔记:
通过查看接口我们知道,小程序想要使用支付接口,就必须获取到对应的值。
:时间戳,可以获取当地时间。
:随机字符串,从服务器统一排序接口返回。
:统一下单接口返回的参数值,发送提交时格式为'=*'。
:算法签名直接写入MD5
:签名,签名算法。 签名必须严格按照以下规则进行签名。 注意,钥匙一定要拼接。 我们稍后会讨论密钥。
示例: = MD5(=&=&==&=MD5&=&key=) =
2.微信支付接口
虽然我们已经检查了小程序的支付接口,但此时,我们仍然不知道这些参数是如何获取的。 接下来我们选择支付接口进行详细了解,查看微信支付接口文档。
打开后我们可以看到下面的截图。
第一步:开发步骤:
地址:
从上面我们得到的有用信息是:
1)小程序支付很类似
2)统一下单,需要先获取并调用相同的API。 从我们下面了解到的情况来看,
3)调用支付页面协议,仅小程序支持。
4)注意,没有支付目录、授权域名、小程序。
5)小程序回调函数
第二步:业务流程
地址:
分析上面的时序图,
1)用户进入小程序,通过小程序向我们的商户系统发送订单支付请求。
流程拆解:商户系统可以理解为我们自己的商户服务器,里面存放着我们服务器的代码。 这个过程就是用户向我们自己的服务器发送请求,参数是产品的一些信息。
2)服务器调用小程序登录API,微信服务器后台返回,商户服务器生成订单,调用统一订单API,返回预付费订单信息(),再次签名组合。
流程拆解:我们自己的商户服务器调用微信登录API。 这时候我们就从微信服务器获取到了用户的信息。 拿到之后,我们自己的服务器需要组合生成订单,通过流程1发送的商品信息,组合生成订单(请参考统一下单接口需要的参数),然后调用统一下单接口。 这时候微信服务器就返回给我们了。 我们自己的服务器可以拿到这五个参数,通过再次签名来进行签名。
3)返回支付参数(5个参数和标志),并在小程序中向我们的商户服务器发起下单请求。 这个时候小程序支付API需要的相应信息就可以全部返回给我们的小程序了。
4)调用wx. 并按照规则传入我们需要的信息。
5) 接下来是支付成功或失败的回调和显示。
3.服务端代码分析
1. 概述
服务器演示下载地址:
微信支付开发文档:
证书下载地址:从商户平台下载证书,账户中心->账户设置->API安全下载证书&设置密钥
这里的秘钥就是开头提到的秘钥。
2.代码结构,以PHP为例()
SDK目录结构
|-- 证书
| |-- .pem
| `--.pem
|-- .php
|-- .php
|-- 库
| |-- .Api.php
| |-- ..php
| |-- .Data.php
| |-- ..php
| `--..php
|-- 日志