import React from 'react'; import { supabaseAdmin } from '@/lib/supabase-admin'; import { Terminal, Copy, Check, Globe, Webhook, Zap, ShieldCheck, Code2 } from 'lucide-react'; import Link from 'next/link'; 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 query = supabaseAdmin .from('merchants') .select('*'); if (isUUID) { query.eq('id', identifier); } else { query.eq('short_id', identifier); } const { data, error } = await query.single(); return data; } 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 checkoutUrl = `https://p2cgateway.com/checkout?merchant_id=${merchant.short_id || merchant.id}&amount=100¤cy=TRY&ref_id=SİPARİŞ_123&callback_url=https://siteniz.com/basarili`; return (
{/* Header */}

Teknik Entegrasyon

Ödeme sistemini sitenize nasıl bağlarsınız?

{/* Quick Start Card */}

Hızlı Ödeme Linki

Entegrasyonun en basit yolu, müşterilerinizi aşağıdaki URL yapısını kullanarak ödeme sayfasına yönlendirmektir.

Sizin Hazır Linkiniz

{checkoutUrl}
{/* Credentials */}

Kimlik Bilgileri

{merchant.id}
••••••••••••••••••••••••
{/* Webhooks */}

Webhook Yapılandırması

Ödeme başarılı olduğunda sistemimiz belirtilen adrese bir POST isteği gönderir.

Mevcut Webhook URL {merchant.webhook_url ? 'AKTİF' : 'AYARLANMAMIŞ'}
{merchant.webhook_url || 'https://henuz-bir-adres-tanimlanmadi.com'}

Webook URL adresinizi değiştirmek için
destek ekibi ile iletişime geçin.

{/* Resources */}
{[ { title: 'API Referansı', icon: Code2, color: 'blue' }, { title: 'Hazır Kütüphaneler', icon: Terminal, color: 'emerald' }, { title: 'Teknik Destek', icon: Globe, color: 'purple' }, ].map((r) => (
{r.title}
))}
); }