1 下载官方的测试用例PHP版

https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=11_1

2 到vendor目录新建weixin文件夹

3 把解压后的文件 lib里面的文件 复制到 vendor/weixin文件夹

4 到解压后的examples里面,找到公众号支付所用的jsapi.php

在当前目录找到

WxPay.JsApiPay.php
log.php

把这2个文件也复制到 vendor/weixnin

5 把jsapi.php里面的代码 复制到控制器的方法中

比如 public function index()

注意 里面有个打印函数,可以独立封装

6 public function index()里面的代码大致如下

修改的文件路径如下

ini_set('date.timezone','Asia/Shanghai');
//error_reporting(E_ERROR);
require_once "../vendor/weixin/WxPay.Api.php";
require_once "../vendor/weixin/WxPay.JsApiPay.php";
require_once "../vendor/weixin/log.php"; //初始化日志
$logHandler= new \CLogFileHandler("../logs/".date('Y-m-d').'.log');
$log = \Log::Init($logHandler, 15); //①、获取用户openid
$tools = new \JsApiPay();
$openId = $tools->GetOpenid(); //②、统一下单
$input = new \WxPayUnifiedOrder();
$input->SetBody("test");
$input->SetAttach("test");
$input->SetOut_trade_no(\WxPayConfig::MCHID.date("YmdHis"));
$input->SetTotal_fee("1");
$input->SetTime_start(date("YmdHis"));
$input->SetTime_expire(date("YmdHis", time() + 600));
$input->SetGoods_tag("test");
$input->SetNotify_url("http://paysdk.weixin.qq.com/example/notify.php");
$input->SetTrade_type("JSAPI");
$input->SetOpenid($openId);
$order = \WxPayApi::unifiedOrder($input);
echo '<font color="#f00"><b>统一下单支付单信息</b></font><br/>';
$this->printf_info($order);
$jsApiParameters = $tools->GetJsApiParameters($order); //获取共享收货地址js函数参数
$editAddress = $tools->GetEditAddressParameters();

1)顶部文件的路径

2)类加了\

7 即可继续调试吧

注:本来想尝试放到extend目录下,复制进去很多类不能直接使用,需要重新初始化,但是里面有个data.class里面有超过10个类,所以放弃了这个思路

最新文章

  1. 谈谈DOMContentLoaded:Javascript中的domReady引入机制
  2. linux命令大全之ln命令详解(创建软链接和硬链接)
  3. 【bzoj1076】[SCOI2008]奖励关
  4. CSS vertical-align 属性
  5. 【Other】最近正在看的
  6. HDU5863 cjj&#39;s string game(DP + 矩阵快速幂)
  7. ubuntu 常用命令
  8. PHP中想过获取系统内置的所有常量吗?
  9. window.history.pushState与ajax实现无刷新更新页面url
  10. (五)学习CSS之line-height属性
  11. 让Visual Studio 2015 支持ASP.NET MVC4.0.0.1
  12. javafx for android or ios ?
  13. [Laravel] 获取执行的Sql
  14. android实现图片识别的几种方法
  15. L362 When to Bring up Salary During the Job Interview Process
  16. Go语言中的结构体 (struct)
  17. easyui组件window拖动时超过浏览器顶部则无法拖回
  18. 【jvm】windows下查看java进程下多线程的相关信息
  19. eslint简单的规范
  20. Python基础( )

热门文章

  1. caffe配置
  2. ubuntu下mysql安装提供外网访问
  3. 求 LCA 的三种方法
  4. Map集合学习
  5. BZOJ4557 JLoi2016 侦察守卫 【树形DP】*
  6. Codeforces 932E Team work 【组合计数+斯特林数】
  7. 《DSP using MATLAB》示例Example7.7
  8. simulink中几个bit型操作模型
  9. hoverfly api 模拟框架了解
  10. SVN增加文件后,文件无法自动包括在项目中的原因