feat: merchant specific fees, TRON & BTC support, coin logos, and bug fixes

This commit is contained in:
mstfyldz
2026-03-13 00:34:42 +03:00
parent b0c1055c13
commit 2d435a4ee8
17 changed files with 708 additions and 233 deletions

View File

@@ -29,7 +29,7 @@ export async function PATCH(
) {
try {
const { id } = await context.params;
const { name, webhook_url, payment_provider, provider_config } = await req.json();
const { name, webhook_url, payment_provider, provider_config, fee_percent } = await req.json();
if (!name) {
return NextResponse.json(
@@ -39,8 +39,8 @@ export async function PATCH(
}
const result = await db.query(
'UPDATE merchants SET name = $1, webhook_url = $2, payment_provider = $3, provider_config = $4 WHERE id = $5 RETURNING *',
[name, webhook_url, payment_provider, provider_config, id]
'UPDATE merchants SET name = $1, webhook_url = $2, payment_provider = $3, provider_config = $4, fee_percent = $5 WHERE id = $6 RETURNING *',
[name, webhook_url, payment_provider, provider_config, fee_percent || 1.0, id]
);
const data = result.rows[0];

View File

@@ -3,7 +3,7 @@ import { db } from '@/lib/db';
export async function POST(req: NextRequest) {
try {
const { name, webhook_url, payment_provider, provider_config } = await req.json();
const { name, webhook_url, payment_provider, provider_config, fee_percent } = await req.json();
if (!name) {
return NextResponse.json(
@@ -27,9 +27,9 @@ export async function POST(req: NextRequest) {
const configStr = provider_config ? JSON.stringify(provider_config) : '{}';
const result = await db.query(
`INSERT INTO merchants (name, webhook_url, short_id, payment_provider, provider_config)
VALUES ($1, $2, $3, $4, $5) RETURNING *`,
[name, webhook_url, shortId, provider, configStr]
`INSERT INTO merchants (name, webhook_url, short_id, payment_provider, provider_config, fee_percent)
VALUES ($1, $2, $3, $4, $5, $6) RETURNING *`,
[name, webhook_url, shortId, provider, configStr, fee_percent || 1.0]
);
if (result.rows.length === 0) {