找到
1
篇与
子比主题
相关的结果
-
zibll子比主题使用小呆易支付时无法调用支付问题 ///此段教程适用子比主题使用易支付的场景 起因: 因目前使用的易支付平台免跳转扫码 qrcode.php 接口变更为mapi.php 这就导致了到目前为止最新 7.4 所有版本的子比主题无法使用该平台的免跳转扫码功能。 搜遍所有网也没有人发过这个教程!!!PHP 一窍不通!!!这里感谢 CHATGPT 一路指导!!!人类之光!!! 该教程适用的条件有两条 一:你的平台可以用"https://payapi.xxxzf.com/pay/submit/订单号/"这种格式的URL打开收款界面 二:检查你收款平台的开发文档,找到 API 接口支付下面的返回结果有无:订单号 trade_no 的返回变量 如有,接着往下看,一共两步 第 ① 步,在主题文件编辑器找到以下路径 子比主题: <color=Red>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; }改完记得保存 第二步,在主题文件编辑器找到以下路径 子比主题: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 端扫码支付打开,兼容模式不要开,点保存 现在,你可以优雅的使用易支付免跳转扫码收款啦~ 完结撒花 第二个问题,使用子比主题里的易支付无法调用支付如何解决? 首先找到子比主题里易支付文件路径如:zibpay 这个文件里的 functions/zibpay-ajax.php 第 775 行代码如下: //易支付发起支付 function zibpay_initiate_epay($order_data) { //获取参数 $config = zibpay_get_payconfig('epay'); if (empty($config['apiurl']) || empty($config['partner']) || empty($config['key'])) { return array('error' => 1, 'msg' => '易支付缺少配置参数'); } require_once get_theme_file_path('/zibpay/sdk/epay/epay.class.php'); $payment_method = 'alipay' == $order_data['payment_method'] ? 'alipay' : 'wxpay'; $parameter = array( "pid" => trim($config['partner']), "type" => $payment_method, 'notify_url' => ZIB_TEMPLATE_DIRECTORY_URI . '/zibpay/shop/epay/notify.php', 'return_url' => add_query_arg(['redirect_url' => urlencode($order_data['return_url'])], ZIB_TEMPLATE_DIRECTORY_URI . '/zibpay/shop/epay/notify.php'), "out_trade_no" => $order_data['order_num'], //本地订单号 "name" => $order_data['order_name'], "money" => $order_data['order_price'], "sitename" => get_bloginfo('name'), "clientip" => zib_get_remote_ip_addr() ?: '127.0.0.1', ); 把这段代码注释掉如: //易支付发起支付 function zibpay_initiate_epay($order_data) { //获取参数 $config = zibpay_get_payconfig('epay'); if (empty($config['apiurl']) || empty($config['partner']) || empty($config['key'])) { return array('error' => 1, 'msg' => '易支付缺少配置参数'); } require_once get_theme_file_path('/zibpay/sdk/epay/epay.class.php'); $payment_method = 'alipay' == $order_data['payment_method'] ? 'alipay' : 'wxpay'; $parameter = array( "pid" => trim($config['partner']), "type" => $payment_method, 'notify_url' => ZIB_TEMPLATE_DIRECTORY_URI . '/zibpay/shop/epay/notify.php', 'return_url' => add_query_arg(['redirect_url' => urlencode($order_data['return_url'])], ZIB_TEMPLATE_DIRECTORY_URI . '/zibpay/shop/epay/notify.php'), "out_trade_no" => $order_data['order_num'], //本地订单号 "name" => $order_data['order_name'], "money" => $order_data['order_price'], // "sitename" => get_bloginfo('name'), //"clientip" => zib_get_remote_ip_addr() ?: '127.0.0.1', );