您的位置  > 互联网

换取->统一下单小程序端发起支付三步走

总结:兑换->统一下单->发起支付,三步,其中第二个签名比较混乱。

demo源码已托管在码云:,欢迎下载。

理论上来说,集成微信支付的所有工作都可以在小程序端完成,因为小程序js具有访问网络的能力。 不过为了安全起见,敏感密钥不暴露,而且可以使用官方现成的php demo来省力,所以在服务器端完成签名并发起请求后,小程序只连接一个wx 。() 界面。

整体集成流程与JSAPI和APP类似。 先统一下单,然后使用返回结果请求付款。

总共分为三步:

小程序交换wx.login返回的代码

服务员统一微信下单

小程序发起支付

提前准备好这些东西:

PHP SDK,下载链接在文末

第1、4项是申请小程序时获得的,第2、3项是申请微信支付时获得的。 请注意,第三项和第四项看起来很相似,但实际上是两件事。 混淆两者将导致签名。 过不了啊

微信下单即可获得

1、创建一个类,导入WxPay.Api.php类

然后就可以通过index.php/wxpay发出访问请求

2.修改配置文件WxPay..php

改成自己申请并获取对应的key。

3. 实现索引方法

注1:文档中提到的并不是没有提交,而是SDK帮我们填写的。

源码是WxPay.Api.php的第55行

注2:已经好心给出了标志,来源在WxPay.Data.php第111行,在()中

4、调用小程序中的登录接口获取

登录微信请求,获取代码,然后提交代码进行兑换。

从控制台可以看到已经成功获取了。 剩下的唯一的事情就是将其传递到服务器。 服务器正在 $this->input->post('') 中等待接收它。

5、向小程序发起统一下单请求

得到以下结果

前提是已经在白名单中:

6. 小程序调用支付接口

在模拟器上测试时,会弹出一个二维码供扫描。

结果报错:

需要将密钥添加到签名中! ! ! 'appId='+appId+'&='++'&='+pkg+'&=MD5&='++"&key=*"这样就完成了。

但文档中没有提及密钥。

支付成功截图

抱怨完文档,我再抱怨一下命名规则。 () 和 t() 到底是什么? 有时它们用下划线分隔,有时它们用驼峰分隔。 成员方法的首字母也大写。 认真写()的时候不忘打两个手势。 好像网上说大公司的SDK都是实习生写的。 确实如此,但是代码在哪里?

小程序文档来源:#ct

微信支付服务器端文档来源:

类比文档来源:

开发步骤:

SDK下载: