由于易支付新版免跳转扫码的qrcode.php接口变更为mapi.php导致了到目前为止最新如zibll 7.4所有版本的子比主题无法使用该平台的免跳转扫码功能。注:此教程转自loc的myban作者文章,适用子比主题使用易支付的场景。
该教程适用的条件有两条
一:你的平台可以用https://payapi.xxxzf.com/pay/submit/订单号/
这种格式的URL打开收款界面
二:检查你收款平台的开发文档,找到API接口支付下面的返回结果有无:订单号 trade_no 的返回变量
如有,接着往下看,一共两步
第一步,在主题文件编辑器找到以下路径
子比主题: zibpay-ajax.php (zibpay/functions/zibpay-ajax.php)
在第500行的位置插入以下代码
复制if (empty($result[‘qrcode’])) { $code_url = “https://payapi.xxxzf.com/pay/submit/” . $result[‘trade_no’] . “/”; $result[‘qrcode’] = $code_url; } //https://payapi.xxxzf.com/pay/submit/ 里面的payapi.xxxzf.com为您的易支付域名,记得修改
![图片[1]-子比zibll主题修复易支付免跳转扫码功能-118创业网](https://m.118cyw.com/wp-content/uploads/2023/11/20231111031458373.png?imageMogr2/format/webp/interlace/1/quality/100)
改完记得保存
第二步,在主题文件编辑器找到以下路径
子比主题: epay.class.php (zibpay/sdk/epay/epay.class.php)
在文件的开头插入以下代码
复制function get_real_ip_address(){ if (isset($_SERVER[“HTTP_CF_CONNECTING_IP”])) { $_SERVER[‘REMOTE_ADDR’] = $_SERVER[“HTTP_CF_CONNECTING_IP”]; $_SERVER[‘HTTP_CLIENT_IP’] = $_SERVER[“HTTP_CF_CONNECTING_IP”]; } return $_SERVER[‘REMOTE_ADDR’]; }
![图片[2]-子比zibll主题修复易支付免跳转扫码功能-118创业网](https://m.118cyw.com/wp-content/uploads/2023/11/20231111031354186.png?imageMogr2/format/webp/interlace/1/quality/100)
修改第232行的位置的代码
复制//原代码 $this->alipay_qrcode = $this->alipay_config[‘apiurl’] . ‘qrcode.php?’; //修改为 $this->alipay_qrcode = $this->alipay_config[‘apiurl’] . ‘mapi.php?’;
![图片[3]-子比zibll主题修复易支付免跳转扫码功能-118创业网](https://m.118cyw.com/wp-content/uploads/2023/11/20231111031354820.png?imageMogr2/format/webp/interlace/1/quality/100)
在第269行的位置插入以下代码
复制 $client_ip = get_real_ip_address(); $para_filter[‘clientip’] = $client_ip;
![图片[4]-子比zibll主题修复易支付免跳转扫码功能-118创业网](https://m.118cyw.com/wp-content/uploads/2023/11/20231111031547808.png?imageMogr2/format/webp/interlace/1/quality/100)
改完记得保存
最后在子比主题设置,商城&付费->收款接口里面,将易支付的PC端扫码支付打开,兼容模式不要开,点保存
现在,你可以优雅的使用易支付免跳转扫码收款啦~
使用子比主题,切有需要使用易支付接口的可以试试。