机器人 发表于 3 天前

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

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


照抄就行了,QQ收款同理


https://image.baidu.com/search/down?url=https://ww1.sinaimg.cn/large/9d9812e7ly1i1hrzmet0uj20gl0hugq5.jpg


介绍

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


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

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


易支付添加USDT收款参考


            
https://image.baidu.com/search/down?url=https://ww1.sinaimg.cn/large/9d9812e7ly1hm2auc66moj20dr0npgo4.jpg
            
            
https://image.baidu.com/search/down?url=https://ww1.sinaimg.cn/large/9d9812e7ly1hm2auc66moj20dr0npgo4.jpg

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


            
https://image.baidu.com/search/down?url=https://ww1.sinaimg.cn/large/9d9812e7gy1hl42jhrvj1j21bg0p3qn7.jpg
            
            
https://image.baidu.com/search/down?url=https://ww1.sinaimg.cn/large/9d9812e7gy1hl42jhrvj1j21bg0p3qn7.jpg

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

后台菜单

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


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


https://image.baidu.com/search/down?url=https://ww1.sinaimg.cn/large/9d9812e7ly1i1hs49od14j20n20fatiq.jpg


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

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


https://image.baidu.com/search/down?url=https://ww1.sinaimg.cn/large/9d9812e7ly1i1hs5k9qphj20n50fhwl4.jpg


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

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


支付处理

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


https://image.baidu.com/search/down?url=https://ww1.sinaimg.cn/large/9d9812e7ly1i1hs9ued67j20dt08wn0f.jpg


      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' => '' . $html_text . '');
    } 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'] = '请扫码后支付' . $result['money'] . '元,为了确保支付成功,请注意付款金额请勿出错';
                }
                $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 增加前端支付时的选项,也就是类别 搜索 //支付方式 增加以下代码:


本文隐藏内容 - 高级黄钻可见
https://image.baidu.com/search/down?url=https://ww1.sinaimg.cn/large/9d9812e7ly1i1hslm6netj20hy09o0y6.jpg



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

接着看下方的代码


https://image.baidu.com/search/down?url=https://ww1.sinaimg.cn/large/9d9812e7ly1i1hsmysmyij20e806cadw.jpg


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


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

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


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

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


USDT格式如下:


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


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


https://image.baidu.com/search/down?url=https://ww1.sinaimg.cn/large/9d9812e7ly1i1hs0leyhlj20it0b1wg9.jpg




    ***本内容需购买可见***
页: [1]
查看完整版本: 子比主题添加USDT和QQ收款 – 易支付通道拓展教程