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'; 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.com'; 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}
{merchant.api_key.substring(0, 8)}••••••••••••••••••••••••
Ödeme sonuçlarını anlık olarak sunucunuzda karşılayın
İşlem tamamlandığında sistemimiz belirttiğiniz URL'ye POST isteği gönderir. Bu isteğin içerisinde işlemin tüm detayları yer alır.
{merchant.webhook_url || 'https://siteniz.com/api/payment-callback'}