Web Sitenizde Kripto Ödemelerini Nasıl Kabul Edersiniz
Web sitenizde kripto kabul etmek mi istiyorsunuz? İyi haber: düşündüğünüzden daha basit. Kötü haber: çoğu rehber konuyu gereksiz yere karmaşıklaştırıyor. İşte lafı dolandırmayan versiyonu.
Gerçekten Neye İhtiyacınız Var
Kendi düğümünüzü çalıştırmayı veya cüzdanları elle yönetmeyi unutun. Bir kripto ödeme altyapısı zor kısımları halleder: ödeme adresleri oluşturma, blok zincirlerini onay için izleme ve token dönüştürme.
Üç şeye ihtiyacınız var:
- Fonları almak için bir cüzdan adresi
- API’si olan bir ödeme altyapısı
- Yaklaşık 20 dakika
Adım 1: Ödeme Para Biriminizi Seçin
Önemli olan ilk karar budur. ETH mi almak istiyorsunuz? USDC mi? Bir karışım mı?
Çoğu satıcı stablecoin (USDC, USDT, DAI) tercih eder çünkü değeri bir gecede %10 dalgalanmaz. MutoPay ile müşterileriniz herhangi bir tokenle ödeme yapabilir, ama siz her zaman seçtiğiniz stablecoini alırsınız. Sorun daha başlamadan çözüldü.
Adım 2: Kanal Oluşturun ve API Anahtarınızı Alın
MutoPay panelinizde Ayarlar → Kanallar’a gidin ve + Yeni kanal’a tıklayın. Bir isim verin (örn. “Web Sitem”) ve isteğe bağlı olarak bir webhook URL’si ekleyin. API anahtarınız (ep_... öneki) bir kez gösterilir — kopyalayın.
Bu anahtar kanalınızı tanımlar ve API çağrılarınızı doğrular. Her kanalın kendi anahtarı, webhook URL’si vardır ve kendi ödeme hedefine sahip olabilir.
Adım 3: Ödeme Oluşturun
Tek bir API çağrısı. Hepsi bu.
curl -X POST https://mutopay.com/api/payments \
-H "X-API-Key: ep_your_channel_api_key" \
-H "Content-Type: application/json" \
-d '{
"amount_usd": 50.00,
"description": "Sipariş #1234 — Mavi Widget",
"external_id": "order_1234",
"callback_url": "https://yoursite.com/order/1234/complete"
}'
Bir id içeren ödeme nesnesi alırsınız. Müşterinizi mutopay.com/pay/{id} adresine yönlendirin.
Kullanabileceğiniz alanlar:
| Alan | Açıklama |
|---|---|
amount_usd | USD cinsinden tutar |
amount | Başka bir para biriminde tutar (currency ile kullanın) |
currency | USD değilse para birimi kodu (örn. EUR, GBP) |
description | Ödeme sayfasında müşteriye gösterilir |
external_id | Dahili referansınız (örn. sipariş ID) |
callback_url | Ödeme sonrası müşterinin yönlendirileceği URL |
metadata | Kendi kullanımınız için keyfi JSON |
expires_in_minutes | 15 ile 10080 arası (7 gün); varsayılan 60 |
amount_usd veya amount + currency kullanın, ikisini birden değil.
Adım 4: Webhook’u İşleyin
Ödeme tamamlandığında (veya başarısız olduğunda ya da süresi dolduğunda), MutoPay kanalınızın webhook URL’sine bir POST gönderir. Payload size her şeyi söyler:
{
"event": "payment.completed",
"payment_id": "pay_abc123",
"status": "completed",
"amount_usd": 50.00,
"currency": "USD",
"dest_token": "USDC",
"dest_chain_id": "137",
"dest_amount": "50000000",
"dest_decimals": 6,
"external_id": "order_1234",
"tx_hash": "0xabc...",
"completed_at": "2026-04-12T14:30:00Z",
"timestamp": "2026-04-12T14:30:01Z"
}
İmzayı doğrulayın. Her webhook, ham JSON gövdesinin HMAC-SHA256 hash’ini içeren bir X-MutoPay-Signature başlığı taşır — kanalınızın webhook secret’ı ile imzalanmış (panelinizde görünür). Format: sha256=<hex>.
Ödeme tutarını okuyun. dest_amount ham token birimlerindedir. Okunabilir rakam için 10^dest_decimals ile bölün. Yukarıdaki örnekte: 50000000 / 10^6 = 50.00 USDC.
Webhook olayları: payment.completed, payment.failed, payment.expired, payment.underpaid, payment.kyc_required, payment.needs_manual_check.
Başarısız teslimatlar üstel geri çekilme ile 5 kez yeniden denenir (1 dk → 5 dk → 30 dk → 2 saat → 12 saat).
Adım 5: Müşteriye Ödeme Sayfası Gösterin
İki seçeneğiniz var:
Yönlendirme — müşterinizi mutopay.com/pay/{id} adresindeki barındırılan ödeme sayfasına gönderin. Tokenlerini seçerler, cüzdanlarını bağlarlar ve ödeme yaparlar. Sizin tarafınızda sıfır frontend çalışması. Mobil müşteriler kolay depozit için QR kod görür.
Polling — ödeme kimliğini kullanarak kendi arayüzünüzü oluşturun. Hafif durum güncellemeleri için GET /api/payments/{id}/status çağırın.
Çoğu satıcı yönlendirme yaklaşımıyla başlar ve daha sonra özelleştirir.
Sık Sorulan Sorular
Müşteri farklı bir zincirdeki bir tokenle ödeme yaparsa ne olur? Altyapı zincirler arası köprülemeyi otomatik olarak halleder. Müşteri Arbitrum’da ARB ile öder, siz Polygon’da USDC alırsınız.
İade nasıl yapılır? Kripto ödemeler protokol düzeyinde geri alınamaz. İadeleri, müşterinin cüzdanına ayrı bir işlem göndererek gerçekleştirin.
Ödemeler ne kadar sürer? Doğrudan stablecoin transferleri saniyeler içinde onaylanır. Zincirler arası takaslar genellikle 2 dakikadan kısa sürede tamamlanır.
Ücret nedir? MutoPay işlem başına %0,25 ücret alır. Aylık ücret yok, minimum tutar yok.
Hangi zincirler destekleniyor? Ethereum, Polygon, Arbitrum, Base, Optimism, Avalanche, BSC, TON, Solana ve Tron. Müşteriler 10 zincirdeki 1.000’den fazla tokenle ödeme yapabilir.
Sonraki Adımlar
Ödemeleri işlemeye başladıktan sonra şunları yapmak isteyeceksiniz:
- Satıcı panelinizde ödemeleri takip edin
- Ayarlar → Kanallar → Test Webhook’tan webhook entegrasyonunuzu test edin
- Bahşişler ve açık uçlu ödemeler için Bana Öde bağlantısı ekleyin
- Çoklu marka veya çoklu müşteri kurulumları için kanal yönetimini keşfedin
Tüm entegrasyon, daha önce API çalışması yapmış bir geliştirici için yaklaşık 20 dakika sürer. Blok zinciri bilgisi gerekmez.