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