微信小程序服务器端(微信小程序服务器端开辟)「微信小程序服务器端」

  

  择要:调换openid-同一下单-发起付出,三步走,此中二次署名比力坑人。

  该demo源码已托管到码云:https://git.oschina.net/dotton/lendoo-wx,欢迎下载。

  理论上集成微信付出的全部工作可以在小程序端完成,由于小程序js有访问网络的本领,但是为了安全,不袒露敏感key,而且可以利用官方提供的现成phpdemo更省力,于是在服务端完成署名与发起哀求,小程序端只做一个wx.requestPayment(OBJECT)接口的对接。

  团体集成过程与JSAPI、APP雷同,先同一下单,然后拿返回的结果来哀求付出。

  一共三步:

小程序端通过wx.login的返回的code调换openid

服务端向微信同一下单

小程序端发起付出

  事先预备好这几样东西:

  

  PHPSDK,下载链访问文尾

  第1、4样是申请小程序时得到的,第2、3样是申请开通微信付出时得到的,留意第3、4样长得比力像,着实是2个东西,两者肴杂将导致署名通不外。

  向微信端下单,得到prepay_id

  “

  1.创建一个Controller,引并WxPay.Api.php类

  

  之后可以通过index.php/wxpay来作访问哀求

  “

  2.修改设置文件WxPay.Config.php

  改成本身申请得到相应key

  “

  3.实现index方法

  

微信小程序服务器端(微信小程序服务器端开发) 微信小程序服务器端(微信小程序服务器端开辟
)「微信小程序 服务器端」 行业资讯

  阐明1:文档上提到的nonce_str不是没提交,而是sdk帮我们填上的

  出处在WxPay.Api.php第55行

  阐明2:sign也已经盛意地给setSign了,出处在WxPay.Data.php第111行,MakeSign()中

  

  “

  4.小程序内调用登录接口,获取openid

  向微信登录哀求,拿到code,再将code提交调换openId

  

  从控制台看到已经乐成拿到openid,剩下的事变就是将它传到服务端就好了,服务端那边$this-input-post('openId')等着收呢。

  

  “

  5.小程序端向https://lendoo.leanapp.cn/index.php/WXPay发起哀求,作同一下单

  

  得到如下结果

  

  条件是https://lendoo.leanapp.cn已经在白名单:

  

  “

  6.小程序端调起付出API

  

  模仿器测试,将弹出一个二维码供扫描

  结果报了一个错误:

微信小程序服务器端(微信小程序服务器端开发) 微信小程序服务器端(微信小程序服务器端开辟
)「微信小程序 服务器端」 行业资讯

  

  

  key必要参加到署名中!!!'appId='+appId+'nonceStr='+nonceStr+'package='+pkg+'signType=MD5timeStamp='+timeStamp+"key=d27551c7803cf16*e536b192d5d03b"这才是完备的。

  但是文档里显着没提到key啊

  

  付出乐成截图

  

  

  吐槽完文档再吐槽下定名规则,GetSpbill_create_ip()、IsSpbill_create_ipSet()都是些什么鬼一会儿下划线分隔一会儿驼峰分隔,成员方法首字母还大写,unifiedOrder()这种端庄写法也不忘来比划两下,看来网上说大公司的sdk都是练习生撰写是真事,可codereviewer又在那边?

  小程序端文档出处:https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-pay.html#wxrequestpaymentobject

  微信付出服务端侧文档出处:https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=9_1

  类比文档出处:https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=9_1

  开辟步调:https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.php?chapter=7_3index=1

  sdk下载:https://pay.weixin.qq.com/wiki/doc/api/download/WxpayAPI_php_v3.zip

  保举阅读

  再见!这些科技将会与2016一同消失

  周一见|7款国产实战开源项目让通讯超简单!

  开源中国2017元旦寄语

  Win10Build14997界面曝光;JVM开辟语言Kotlin发布新版|软件周刊

  小程序来了,它的运气怎样?崛起?还是……|源资讯

  8分钟回顾开源巨头Facebook的2016

  点击“阅读原文”查察更多出色内容

客户评论

我要评论