子比zibll主题修复易支付免跳转扫码功能

由于易支付新版免跳转扫码的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为您的易支付域名,记得修改


改完记得保存

第二步,在主题文件编辑器找到以下路径
子比主题: 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端扫码支付打开,兼容模式不要开,点保存

现在,你可以优雅的使用易支付免跳转扫码收款啦~
使用子比主题,切有需要使用易支付接口的可以试试。

赞(1)
未经允许不得转载:云帆网 » 子比zibll主题修复易支付免跳转扫码功能

评论 抢沙发

登录

找回密码

注册