此教程适用子比主题使用易支付的场景
起因:
因目前使用的易支付平台免跳转扫码的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?';
改完记得保存
最后在子比主题设置,商城&付费->收款接口里面,将易支付的PC端扫码支付打开,兼容模式不要开,点保存
现在,你可以优雅的使用易支付免跳转扫码收款啦~