Callback
Callback, ödeme işlemi tamamlandığında (veya durum değiştiğinde) sonucu otomatik olarak sizin sisteminize bildiren mekanizmadır. Bu sayede kullanıcı tarayıcıyı kapatsa bile ödeme sonucu sisteminize iletilir.
Nasıl Çalışır?
Ödeme İsteği Gönderirken
Ödeme başlatma isteğinde returnUrl ve externalId alanları zorunludur.
- returnUrl: Ödeme sonucu oluştuğunda Ödeal'in POST isteği göndereceği endpoint.
- externalId: Sizin sisteminizdeki sipariş/işlem numarası (Benzersiz olması önerilir).
Örnek istek:
json
{
"amount": 100.00,
"returnUrl": "https://siteniz.com/payment-callback",
"externalId": "siparis-123"
}Callback ile Alacağınız Veri
Ödeal, ödeme sonucunu returnUrl adresinize POST + JSON olarak iletir.
Temel Alanlar
- externalId: Sizin gönderdiğiniz sipariş/işlem numarası
- id: Ödeal sistemindeki ödeme ID'si
- payment_status: Ödeme durumu
- uniqueKey: Her ödeme için benzersiz takip anahtarı
Başarılı Ödemelerde Ek Alanlar
- authCode: Banka yetkilendirme kodu
- bankProvisionNumber: Banka provizyon numarası
- provisionCode: İşlem provizyon kodu
Başarısız/İptal İşlemlerinde Ek Alanlar
- reason: Hata/iptal açıklaması (örn: "Yetersiz bakiye", "Kart blokeli")
Örnek callback (başarılı):
json
{
"externalId": "siparis-123",
"id": 456789,
"payment_status": "COMPLETED",
"reason": null,
"authCode": "123456",
"bankProvisionNumber": "987654",
"provisionCode": "PROV-001",
"uniqueKey": "PAY_ABC123"
}Örnek callback (başarısız):
json
{
"externalId": "siparis-123",
"id": 456789,
"payment_status": "FAILED",
"reason": "Yetersiz bakiye",
"uniqueKey": "PAY_ABC123"
}payment_status Değerleri
| Değer | Açıklama |
|---|---|
| COMPLETED | Başarılı |
| CANCELLED | İptal edildi |
| FAILED | Başarısız |
| PENDING | Beklemede |
| REFUND | İade |
| PARTIAL REFUND | Kısmi iade |
Entegrasyon Gereksinimleri (Callback URL)
Callback endpoint'iniz aşağıdaki koşulları sağlamalıdır:
- POST metodunu kabul etmeli
- Content-Type: application/json formatında veri almalı
- İsteğe HTTP 200 döndürmelidir
Not: Callback endpoint'inizin hızlı yanıt vermesi gerekmektedir. Aynı ödeme için birden fazla bildirim gelebileceğinden uniqueKey veya id ile kontrol yapılması önerilir.

