荔枝发卡文档: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.