荔枝发卡文档:http://faka.wiki/#/zh-cn/install

UPAY项目地址:https://github.com/wangegou/UPAY

由于UPAY是基于EPUSDT二开的,所以只需要修改EPUSDT的插件源码即可

修改之前,确认你安装了在商城后台已经安装EPUSDT插件。

修改3个地方:

1:
路径:/www/wwwroot/lizhi.iosapp.icu/acg-faka-main/app/Pay/Epusdt/Impl
文件名:Pay.php
修改,将原 /api/v1/order/create-transaction修改为 /api/create_order

2:
路劲:/www/wwwroot/lizhi.iosapp.icu/acg-faka-main/app/Pay/Epusdt/Impl
文件名:Signature.php

将函数generateSignature修改为:

    public static function generateSignature(array $data, string $key): string
{
    ksort($data);
    $sign = '';
    foreach ($data as $k => $v) {
        if ($v === '') {
            continue;
        }
        if ($k === 'amount') {
            $v = (float)$v;
        }
        $sign .= $k . '=' . $v . '&';
    }
    $sign = trim($sign, '&') . $key;
    return md5($sign);
}

修改原因:因为UPAY的中间件在验证时会将amount的值解析为float类型。

3:
路径:/www/wwwroot/你的商城网站/acg-faka-main/app/Controller/User/Api

文件名:Order.php

修改函数callback为

public function callback(): string // 支付回调处理方法
{
    $handle = $_GET['_PARAMETER'][0];
    
    // 检查内容类型
    $contentType = $_SERVER['CONTENT_TYPE'] ?? '';
    
    if (strpos($contentType, 'application/json') !== false) {
        // 处理 JSON 数据
        $data = json_decode(file_get_contents('php://input'), true);
    } else {
        // 处理表单数据
        $data = $_POST ?: $_REQUEST;
        if (isset($data['s'])) {
            unset($data['s']);
        }
    }
    
    return $this->order->callback($handle, $data);
}

修改原因:因为原来的是只支持接受表单数据,而UPAY请求携带的是JSON,所以这里修改为既能支持表单又能支持JSON.

每日更新-免费小火箭账号
不要错过任何机会,探索最新的应用和游戏,就在我们的平台。
立即访问
最后修改:2025 年 01 月 08 日
如果觉得我的文章对你有用,请随意赞赏