import React from 'react'; import { db } from '@/lib/db'; import { Terminal, Copy, Globe, Webhook, Zap, ShieldCheck, Code2, Server, Link as LinkIcon } from 'lucide-react'; import { cookies } from 'next/headers'; import { redirect } from 'next/navigation'; import ApiKeyVisibilityToggle from '@/components/merchant/ApiKeyVisibilityToggle'; async function getMerchant(identifier: string) { const isUUID = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(identifier); const queryText = isUUID ? 'SELECT * FROM merchants WHERE id = $1 LIMIT 1' : 'SELECT * FROM merchants WHERE short_id = $1 LIMIT 1'; const result = await db.query(queryText, [identifier]); return result.rows[0]; } export default async function MerchantIntegrationPage(props: { params: Promise<{ id: string }>; }) { const resolvedParams = await props.params; const identifier = resolvedParams.id; const merchant = await getMerchant(identifier); const cookieStore = await cookies(); if (!merchant) return null; if (!cookieStore.get(`merchant_auth_${merchant.id}`)) { redirect(`/merchant/${identifier}/login`); } const host = process.env.NEXT_PUBLIC_BASE_URL || 'https://p2cgateway.store'; const checkoutUrl = `${host}/checkout?merchant_id=${merchant.short_id || merchant.id}&amount=100¤cy=TRY&ref_id=SİPARİŞ_123`; return (
Ödeme sistemini sisteminize dahil edin
Kod yazmanıza gerek kalmadan, müşterilerinizi doğrudan ödeme sayfamıza yönlendirebilirsiniz. Parametreleri URL üzerinden iletebilirsiniz.
Örnek Yapı
Sunucu taraflı entegrasyon ile daha güvenli işlemler başlatın. Fiyat manipülasyonunu engeller ve sessiz oturumlar oluşturur.
Endpoint
İsteklerinizi doğrulamak için bu anahtarları kullanın
{merchant.id}
Anlık Bildirimler
{merchant.webhook_url || 'https://siteniz.com/callback'}
Ödemeleriniz bu adreslere iletilir
{net}
{addr || 'TANIMLANMAMIŞ'}