Geliştiriciler İçin Nodopay
REST API, imzalı webhook’lar, sandbox ortamı ve dört dilde SDK. API tüm paketlerde açık.
Idempotency-Key ile çift işlemi önler ve olayları HMAC-SHA256 imzalı webhook’larla bildirir.Hızlı başlangıç: ödeme linki oluşturma
Sandbox anahtarınızla aşağıdaki istek, müşterinize gönderebileceğiniz bir ödeme linki üretir. Yanıtta linkin adresi ve kimliği döner.
curl -X POST https://api.nodopay.com/v1/payment-links \
-H "Authorization: Bearer sk_test_••••••••" \
-H "Idempotency-Key: 8f2c1a7e-…" \
-H "Content-Type: application/json" \
-d '{
"amount": 1250.00,
"currency": "TRY",
"description": "Fatura #2026-0142",
"customer": { "name": "Örnek Bayi Ltd.", "email": "muhasebe@ornekbayi.com" },
"installments": [1, 3, 6],
"expires_at": "2026-12-31T23:59:59+03:00"
}'
Temel uç noktalar
| Metot | Uç nokta | Açıklama |
|---|---|---|
| POST | /v1/payments | Ödeme başlatır, 3D Secure yönlendirme adresini döner |
| GET | /v1/payments/{id} | Ödeme durumunu sorgular |
| POST | /v1/payments/{id}/refunds | Tam veya kısmi iade yapar |
| POST | /v1/payment-links | Ödeme linki oluşturur |
| GET | /v1/installments?bin=…&amount=… | Kart BIN’ine göre taksit tablosunu döner |
| POST | /v1/customers | Cari / bayi kaydı oluşturur |
| POST | /v1/invoices | Borç veya fatura kaydı oluşturur |
| GET | /v1/transactions | İşlem listesini filtreleyerek döner |
Webhook’lar
Olaylar sisteminize POST isteğiyle iletilir. Her isteğin gövdesi X-Nodopay-Signature başlığında HMAC-SHA256 ile imzalanır. Yanıt 2xx değilse istek artan aralıklarla 24 saat boyunca yeniden denenir.
Olay türleri: payment.succeeded payment.failed refund.created link.opened link.paid invoice.overdue subscription.renewed
<?php
// Webhook imzasını doğrulama (HMAC-SHA256)
$payload = file_get_contents('php://input');
$signature = $_SERVER['HTTP_X_NODOPAY_SIGNATURE'] ?? '';
$expected = hash_hmac('sha256', $payload, getenv('NODOPAY_WEBHOOK_SECRET'));
if (!hash_equals($expected, $signature)) {
http_response_code(401);
exit;
}
$event = json_decode($payload, true, 512, JSON_THROW_ON_ERROR);
if ($event['type'] === 'payment.succeeded') {
// Siparişi / cariyi güncelleyin
}
http_response_code(200);
Güvenlik kuralları
- API anahtarları yalnızca sunucu tarafında kullanılmalı; tarayıcıya veya mobil uygulamaya gömülmemelidir.
- Anahtarlar kapsam (yetki) ve IP beyaz listesiyle sınırlandırılabilir.
- Kart verisi API’ye gönderilmez; kart girişi Nodopay’in güvenli ödeme sayfasında veya gömülü formda yapılır.
- Tüm istekler TLS 1.2+ zorunludur.
SDK’lar
PHP, .NET, Node.js ve Python için resmi kütüphaneler; ödeme, link, iade ve webhook doğrulama yardımcılarını içerir.
Yazılımcınız Yok mu? Biz Bağlayalım
Özel yazılım entegrasyonunu Nodopay ekibi sizin yerinize yapar.
