php ci 微信支付 源码,CI集成JSApi微信支付

哎,接口的方便是方便,但是太多接口就感觉滥用了~~

没办法,这个项目把前端涉及到的一些隐私数据全部放到CI框架写的接口里面了。。

折腾了一天,终于搞定

JSapi 微信网页支付

其实调用微信网页支付非常简单,在需要调出微信支付的按钮的页面,加上demo中的2个JS

方法,最重要的就是后台或者是接口传过去的JSON格式的参数,{$weixin}​​

这个参数打印审查元素一下,就是appid:xxx 订单号之类的东西。

顺带记录一下,审查元素是可以用微信提供的开发工具,然后在同一个WiFi下,用手机调试,这样不但能解决布局的问题,还可以看到源码~~~

CI框架这边是这样的

a4c26d1e5885305701be709a3d33442f.png框架目录~~

​​​

​框架部分目录是这样,把demo全部复制到libraries下,命名为weixin

, 然后在example文件里面写一个Weixin.php

类(CI框架不需要.class.php)里面有两个方法!

一个用来调起微信的JSON,一个用来做异步处理​

a4c26d1e5885305701be709a3d33442f.png

这只是提供的方法,contr里面去调用而已~~

为了方便,代码直接贴出来。。

public function weixinnodify(){

// 异步方法,没错 这个方法只是验证支付是否成功,也是demo中复制过来的~~

​require_once

dirname(__FILE__).'/'.'notify.php';

​$notify

= new

PayNotifyCallBack();

​$rs

=

$notify->Handle(false);

​return

$rs;

​}

这博客的文字布局不好改啊。。

还是贴图吧..

下面这个方法是用来输出JSON,给前端调用的。。​

a4c26d1e5885305701be709a3d33442f.png

其实关键还是看contr,对吧

我怎么不知不觉就跟自己对起话来了......

​奉上一个xml转Array的方法

public function

xmlToArray($xml){$data

=

simplexml_load_string($xml);$array

=

array();foreach($data->children()

as $childItem)

{$array =

array_merge($array,array($childItem->getName()=>(string)$childItem));

}return

$array;}​

下次直接复制,再格式化一下,漂亮点,编辑器不给力就是了。。

contr里面初始化一下自己前面写的Weixin.php这个类

a4c26d1e5885305701be709a3d33442f.png

​​​因为目录藏得比较深,说白了就是自己懒~~

不怎么想改他的代码。

在contr里面输出JSON格式,吊起支付这段代码~~

a4c26d1e5885305701be709a3d33442f.png

randId 前端过来的用户ID,金额,此处的绝妙就在那边把openid传过来了~~

,其他的都依照demo来就行,哈哈...

contr异步的贴上~~

a4c26d1e5885305701be709a3d33442f.png

​第一处红框,是调用Weixin.php的验证,那边返回success...

那边为什么会返回success,是因为自己改了点东西,原本demo是不会返回这样的。。

a4c26d1e5885305701be709a3d33442f.png

​是这个异步文件,自己改了一下输出而已,没什么东西~~

第二处红框(前一张图哈)​

$fileContent =

file_get_contents("php://input");

这一段魔术般的代码,其实是获取输入流,里面就是xml格式的回调参数而已,大概写在日志就是这样的东西

a4c26d1e5885305701be709a3d33442f.png

第三处框框,就是把这个xml去转成array,尽情的耍自己的业务流程吧~~

如果对你有帮助可以求赏

a4c26d1e5885305701be709a3d33442f.png

需要源码的联系我QQ482353779,包技术发截图备注!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值