Ödemeler
3D Secure Ödeme
Kart sahibi, bankasının 3D Secure ekranında doğrulanır. Chargeback riskini en aza indiren en güvenli ödeme yöntemidir.
POST
/api/payment/pay3d
X-Api-Key
Ödeme Akışı
- Kart bilgileriyle
/api/payment/pay3dçağrısı yaparsınız. - Yanıtta gelen
redirectHtmliçeriğini kullanıcının tarayıcısında render edersiniz; kullanıcı bankanın 3D ekranına yönlenir. - Kullanıcı SMS/şifre ile doğrular.
- YucePay banka sonucunu alır, ödemeyi sonuçlandırır ve kullanıcıyı
successUrl/failUrladresinize yönlendirir. - Sonucu ayrıca webhook ile de alırsınız (payment.succeeded / payment.failed).
İstek Gövdesi
| Alan | Tip | Açıklama | |
|---|---|---|---|
| idempotencyKey | string | zorunlu | Tekrarlanan istekleri önler. Her ödeme için benzersiz. |
| amount | decimal | zorunlu | Toplam tutar (0.01–999999.99). products toplamı ile eşleşmeli. |
| currency | string | opt | TRY, USD, EUR, GBP — varsayılan TRY |
| installment | int | opt | Taksit sayısı (1–36), varsayılan 1 |
| cardNo | string | zorunlu | 13–19 haneli kart numarası |
| cardHolderName | string | zorunlu | Kart üzerindeki isim |
| expireMonth | string | zorunlu | MM (01–12) |
| expireYear | string | zorunlu | YY veya YYYY |
| cvv | string | zorunlu | 3–4 haneli güvenlik kodu (saklanmaz) |
| successUrl | string | opt | 3D başarılı dönüş adresi |
| failUrl | string | opt | 3D başarısız dönüş adresi |
| clientIp | string | opt | Kart sahibinin IP adresi (fraud kontrolü) |
| orderNumber | string | opt | Sizin sipariş referansınız |
| products | array | zorunlu | Sepet kalemleri. Tutar doğrulaması için kullanılır. |
products[]
| id | string | Ürün/SKU kimliği |
| name | string | Ürün adı |
| amount | decimal | Ürün tutarı |
| category | string | Kategori (opsiyonel) |
amount alanı, products dizisindeki tutarların toplamına eşit olmalıdır. Aksi halde istek AMOUNT_MISMATCH hatası ile reddedilir.
Yanıt
Başarılı yanıtta data.redirectHtml içeriğini kullanıcının tarayıcısında render edin. Bu form, kullanıcıyı otomatik olarak bankanın 3D Secure ekranına gönderir.
| data.paymentId | guid | YucePay ödeme kimliği |
| data.paymentReferenceNumber | string | İnsan-okunur referans numarası |
| data.redirectHtml | string | Tarayıcıda render edilecek 3D yönlendirme formu |
| data.status | string | Beklemede → 3D sonrası Başarılı / Başarısız |
Olası Hatalar
| IDEMPOTENCY_KEY_REQUIRED | idempotencyKey gönderilmedi |
| AMOUNT_MISMATCH | amount ≠ products toplamı |
| NO_ACTIVE_BANK | Şirket için aktif banka entegrasyonu yok |
| COMPANY_INACTIVE | Şirket aktif değil |