子比主题添加USDT和QQ收款 – 易支付通道拓展教程

本文拓展的是易支付通道,可以对接自己易支付的所有支付收款通道

照抄就行了,QQ收款同理

image.png

介绍

共需要修改五个文件,教程很详细,需要增加什么通道自行拓展即可

文件路径文件名功能介绍
/inc/optionsadmin-options.php后台菜单开关
/zibpay/functionszibpay-ajax.php支付处理增加通道
/zibpay/functionszibpay-func.php前端增加支付方式
/zibpay/assets/cssmain.cssmapi出码界面适配
/zibpay/assets/jspay.min.jsmapi出码界面适配

如果没有使用到mapi出码或者qrcode出码可以不修改后面两个静态文件

易支付添加USDT收款参考

彩虹易支付USDT插件-TRC20支付收款插件-狗凯之家源码网
彩虹易支付USDT插件-TRC20支付收款插件-狗凯之家源码网

免费彩虹易支付USDT插件-TRC20支付收款插件2年前02010

运营版易支付系统,通道随意对接带USDT,没有后门-狗凯之家源码网
运营版易支付系统,通道随意对接带USDT,没有后门-狗凯之家源码网

免费运营版易支付系统,通道随意对接带USDT,没有后门1年前52981

后台菜单

打开 admin-options.php 文件增加后台支付开关,这里的教程以增加USDT通道为例,请仔细按照教程操作,避免出现致命错误等一系列问题

搜索 支付宝收款接口 在他的下面增加USDT或者QQ通道的开关,如下图所示

image.png
            array(                'id'      => 'pay_usdt_sdk_options',                'default' => 'null',                'title'   => 'USDT接口',                'class'   => 'compact',                'type'    => "select",                'options' => array(                    'epay'            => __('易支付-usdt', 'zib_language'),                    'null'            => __('关闭usdt收款', 'zib_language'),                ),            ),

接着搜索 收款接口显示顺序 增加前端显示时的先后排序

image.png
                    array(                        'title' => 'USDT',                        'id'    => 'usdt',                        'type'  => 'checkbox',                    ),

至此 admin-options.php 文件的修改就结束了,需要增加其他的通道按照相同的格式增加代码即可

支付处理

为了增加USDT通道或更多通道的支持,修改支付处理函数是必不可少的操作,打开 zibpay-ajax.php 文件搜索 准备付款接口 增加USDT通道的接口,如下图所示:

image.png
        case 'usdt':            $pay_sdk = _pz('pay_usdt_sdk_options');            break;

而后搜索 易支付发起支付 修改易支付处理支付的核心函数,进行增加USDT通道的请求

本文隐藏内容 – 高级黄钻可见

一定要选中到 支付宝官方发起支付 这个注释之前进行整个函数的覆盖

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');    switch ($order_data['payment_method']) {        case 'alipay':            $payment_method = 'alipay';            break;        case 'wechat':            $payment_method = 'wxpay';            break;        case 'usdt':            $payment_method = 'usdt';            break;    }    $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' => $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',    );    $is_mobile = wp_is_mobile();    $EpayCore  = new EpayCore($config);    if ($is_mobile || empty($config['qrcode'])) {        $html_text = $EpayCore->pagePay($parameter);        return array('form_html' => '<div class="hide">' . $html_text . '</div>');    } else {        $result = $EpayCore->apiPay($parameter);       if (isset($result['code']) && 1 == $result['code'] && (!empty($result['code_url']) || !empty($result['qrcode']))) {            $_code_url            = !empty($result['code_url']) ? ($result['code_url']) : $result['qrcode'];            $result['url_qrcode'] = zib_get_qrcode_base64(urldecode($_code_url));            $result['check_sdk']  = 'epay'; //接口查询            if (!empty($result['money'])) {                if ($result['order_price'] != $result['money']) {                    $result['more_html'] = '<div class="badg btn-block c-yellow em09 padding-h10">请扫码后支付' . $result['money'] . '元,为了确保支付成功,请注意付款金额请勿出错</div>';                }                $result['order_price'] = $result['money'];            }        } elseif (isset($result['code']) && 1 == $result['code'] && (!empty($result['payurl']))) {            $result['url']      = $result['payurl'];            $result['open_url'] = true;        } else {            $result['error'] = 1;            $result['msg']   = !empty($result['msg']) ? $result['msg'] : '收款码请求失败';        }        return $result;    }}

如果你需要增加其他的通道,例如QQ,按照里面的格式增加即可

case 'qq':            $payment_method = 'qqpay';            break;    }

增加在USDT通道的旁边,需要注意的是 usdt 是你所对接的易支付请求这个通道的type,如果你不知道就需要看易支付的对接文档,查看QQ或者USDT请求支付的type是什么,通常情况下,QQ的type就是小写的qqpay

case 'usdt':            $payment_method = 'usdt';            break;

前端支付方式

这一步的教程为修改 zibpay-func.php 增加前端支付时的选项,也就是类别 搜索 //支付方式 增加以下代码:

本文隐藏内容 – 高级黄钻可见

image.png
在$pay_alipay_sdk      = _pz('pay_alipay_sdk_options');的下方增加$pay_usdt_sdk        = _pz('pay_usdt_sdk_options');

接着看下方的代码

image.png

在这个代码的下方增加USDT支付

    if ($pay_usdt_sdk && 'null' != $pay_usdt_sdk) {        $methods['usdt'] = $payment_method_args['usdt'];    }

随后搜索 //支付方式参数数组 设置前端显示的图标及名称,按照相应的格式增加代码即可

'wechat'    => array(            'name' => '微信',            'img'  => '<img src="' . ZIB_TEMPLATE_DIRECTORY_URI . '/zibpay/assets/img/pay-wechat-logo.svg" alt="wechat-logo">',        ),

其中 ' . ZIB_TEMPLATE_DIRECTORY_URI . ' 所代表的是子比主题目录,你也可以自行设置外链图片

USDT格式如下:

        'usdt'    => array(            'name' => 'usdt',            'img'  => '<img src="https://www.bygoukai.com/wp-goukaizhijia/USDT.svg" alt="usdt-logo">',        ),

至此,你的网站就已经成功增加了易支付USDT通道,可正常进行调用以及回调,如不回调,请检查你的易支付程序回调功能是否正常

文章版权声明 1 本网站名称: 西瓜皮
2 本站永久网址:https://www.XGP.me
3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5 本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6 本站资源大多存储在云盘,如发现链接失效,请联系站长,邮箱在下方会第一时间处理。
© 版权声明
THE END
喜欢就支持一下吧
点赞5 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容