🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## 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()里面的代码大致如下 ```php 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 即可继续调试吧 <br> --- 程序员交流qq群:782974737 [点击加入](https://jq.qq.com/?_wv=1027&k=5eeinSn)