此教程适用子比主题使用易支付的场景
起因:
因目前使用的易支付平台免跳转扫码的qrcode.php接口变更为mapi.php
这就导致了到目前为止最新7.4所有版本的子比主题无法使用该平台的免跳转扫码功能
该教程适用的条件有两条
一:你的平台可以用”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://pay.shenbian.tv/pay/submit/" . $result['trade_no'] . "/"; $result['qrcode'] = $code_url; }
改完记得保存
第二步,在主题文件编辑器找到以下路径
子比主题: 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'];
修改第232行的位置的代码
原代码$this->alipay_qrcode = $this->alipay_config['apiurl'] . 'qrcode.php?'; 修改为$this->alipay_qrcode = $this->alipay_config['apiurl'] . 'mapi.php?';
在第269行的位置插入以下代码
$client_ip = get_real_ip_address(); $para_filter['clientip'] = $client_ip;
改完记得保存
最后在子比主题设置,商城&付费->收款接口里面,将易支付的PC端扫码支付打开,兼容模式不要开,点保存
现在,你可以优雅的使用易支付免跳转扫码收款啦~