Genel API Bilgileri
Dönüş Formatları
ÖderoPay API'nin dönüş parametreleri, işlemin başarılı gerçekleşip gerçekleşmemesine ve tekil ya da çoğul sonuç değeri dönmesine göre farklılıklar içerse de, bunlar kendi içlerinde ortak birer çatı kullanır.
Hatalı İşlemler
Sistemsel ya da kurgusal bir hata gerçekleştiğinde kullanılan dönüş formatıdır. Sadece içerisinde hata bilgilerini barındıran errors
isimli bir alan içerir.
Parametre Adı |
Tipi |
Her Zaman Mevcut |
Açıklama |
errors |
Error |
Evet |
Gerçekleşen hataya ilişkin bilgiler içerir. Detaylı bilgi için bkz. Ödeme Hata Kodları |
Başarılı İşlemler
Başarılı işlemler sonucunda dönen cevaplar, işlem sonucunun tekil ya da çoğul olmasına göre farklı parametreler içerir.
Tekil Sonuçlu İşlemler
Ödeme alma, bir ödemeyi iade etme, alıcı oluşturma, üye işyeri detayı görüntüleme gibi tekil sonuç üreten işlem ya da sorgular için kullanılan dönüş formatıdır. Sadece içerisinde işlem sonucunu barındıran data
isimli bir alan içerir.
Parametre Adı |
Tipi |
Her Zaman Mevcut |
Açıklama |
data |
any |
Hayır |
Gerçekleştirilen işlem ya da sorgu sonucu. Nitelik ve içeriği ilgili işlem ya da sorguya ilişkin dokümantasyon sayfasında detaylandırılmıştır |
Çoğul Sonuçlu İşlemler
Arama ya da listeleme gibi çoğul sonuç üretme potansiyeline sahip işlem ya da sorgular sonucunda dönülen cevap formatıdır.
Parametre Adı |
Tipi |
Her Zaman Mevcut |
Açıklama |
items |
any[] |
Evet |
İşlem ya da sorgu sonucunda ulaşılan sonuçları içerir. Sonuçların nitelik ve içerikleri ilgili işlem ya da sorguya ilişkin dokümantasyon sayfasında detaylandırılmıştır |
totalSize |
long |
Hayır |
Arama ya da listeleme gibi sayfalama niteliğine sahip işlemler sonucunda döner. Sorgu sonucunda ulaşılan toplam sonuç sayısını ifade eder. Hatalı işlemlerin dönüşlerinde bu alan yer almaz |
size |
long |
Hayır |
Arama ya da listeleme gibi sayfalama niteliğine sahip işlemler sonucunda döner. Sorgulamada sayfa başına dönmesi istenen sonuç sayısını ifade eder. Hatalı işlemlerin dönüşlerinde bu alan yer almaz |
Sonuçsuz İşlemler
Saklı kart silme gibi sonuç üretmeyen işlemler sonucunda boş cevap dönülebilir. Bu gibi işlemler oldukça nadir olmakla beraber, silme işlemlerinde bir cevap dönülmeyeceği beklentisiyle hareket edilmesi önerilir. Öte yandan, bu cevaplar 204 No Content
HTTP koduyla dönülebileceği ve bu kod da başarılı işlemleri ifade ettiği için, isteğin başarılı olup olmadığı kontrolü yapılırken statü kodunun sadece 200 OK
olmasına bakılması önerilmez.
Sabitler ve Enum Değerleri
Farklı işlemlerin istek ve dönüş parametreleri olarak kullanılan birtakım sabitler ve enum değerleri bu başlık altında listelenmiştir.
Para Birimleri
Değer |
Açıklama |
TRY |
Türk Lirası |
AZN |
Azerbaycan Manatı |
NOT: Faaliyet gösterilen ülkeye bağlı olarak bağlı olarak para birimlerini kullanmanız gerekir. Örneğin, Azerbaycan tüccarıysanız istekleri AZN olarak göndermeniz gerekir; Türkiye merkezli iseniz TRY kullanacaksınız.
Kart Tipleri
Değer |
Açıklama |
CREDIT_CARD |
Kredi kartı |
DEBIT_CARD |
Debit kart |
PREPAID_CARD |
Prepaid kart |
Kart Kuruluşları
Değer |
Açıklama |
VISA |
Visa |
MASTER_CARD |
Master Card |
AMEX |
American Express |
TROY |
Troy |
Alt Üye İşyeri Tipleri
Değer |
Açıklama |
PRIVATE_COMPANY |
Şahıs Şirketi |
LIMITED_OR_JOINT_STOCK_COMPANY |
LLimited ya da Anonim Şirket |
Ödeme Tipleri
Değer |
Açıklama |
CARD_PAYMENT |
Tamamı karttan tahsil edilen ödeme |
DEPOSIT_PAYMENT |
Karttan para yükleme ödemesi |
WALLET_PAYMENT |
Tamamı cüzdandan tahsil edilen ödeme |
CARD_AND_WALLET_PAYMENT |
Bir kısmı karttan, bir kısmı cüzdandan tahsil edilen ödeme |
BANK_TRANSFER |
Havale/EFT ödemesi |
Ödeme Grupları
Değer |
Açıklama |
PRODUCT |
Ürün |
LISTING_OR_SUBSCRIPTION |
İlan, hizmet ya da abonelik |
SUBSCRIPTION |
Tekrarlı ödeme |
Ödeme Durumları
Değer |
Açıklama |
FAILURE |
Ödeme başarısız |
SUCCESS |
Ödeme başarılı |
INIT_THREEDS |
3D Secure başlatıldı |
CALLBACK_THREEDS |
3D Secure callback aşamasında |
MD Status
3D Secure ile yapılan ödemelerde doğrulama sonrası banka tarafından ÖderoPay API'ye iletilen sayısal değerlerdir. Bankalar ve ödeme kuruluşları kimi zaman kendilerine özgü MD Status değerleri dönse de aşağıdaki tabloda yer alan değerler standart kabul edilebilir
Değer |
Açıklama |
0 |
3D Secure imzası ya da doğrulama kodu geçersiz |
1 |
Doğrulama başarılı |
2 |
Kart sahibi ya da bankası sisteme kayıtlı değil |
3 |
Kart bankası sisteme kayıtlı değil |
4 |
Doğrulama hatası, kart sahibi sisteme daha sonra kayıt olmayı seçmiş |
5 |
Doğrulama hatası |
6 |
3D Secure hatası |
7 |
Sistemsel hatası |
İade Tipleri
Değer |
Açıklama |
CARD |
Karta |
WALLET |
Cüzdana |
Para Gönderimi Durumları
Değer |
Açıklama |
WAITING_FOR_APPROVAL |
Para gönderimi için onay bekleniyor |
APPROVED |
Para gönderimi onaylanmış |
PAYOUT_STARTED |
Para gönderimi başlamış |
Signature Hesaplama
ÖderoPay API'lerine doğrudan yapılacak her istekte, üye işyeri hesabının erişim anahtarları kullanılarak bir kimlik doğrulaması yapılması gerekmektedir. Üye iş yerine ait erişim anahtarları bilgisine Merchant Panel üzerinden ulaşabilirsiniz.
Eğer ÖderoPay Client kullanıyorsanız erişim anahtarları bilgisini ÖderoPay objesine parametre olarak vermeniz yeterli olacaktır. Eğer client kullanmıyorsanız aşağıdaki işlemlerin gerçekleştirilmesi zorunludur.
Üye işyeri hesabınızla birlikte kimlik doğrulaması yapmak için API Gateway'e yapacağınız her istekte aşağıdaki header'ları göndermeniz gerekmektedir:
Header Adı |
Açıklama |
x-api-key |
AAPI erişim anahtarı |
x-rnd-key |
İsteğe özel oluşturulmuş rastgele bir string değer |
x-auth-version |
Kimlik doğrulama algoritmasınin versiyon numarası. Hangi değeri vermeniz gerektiğinden emin değilseniz V1 verebilirsiniz |
x-signature |
Yukarıdaki parametreler, gizli erişim şifresi ve yapılan isteğe özgü birtakım bilgiler kullanılarak oluşturulmuş signature. Daha fazla bilgi için bkz. Signature Hesaplama Algoritması |
Signature Hesaplama Algoritması
Signature, isteğin doğru kaynaktan geldiğini doğrulamak için kullanılan bir sağlama değeridir. Yapılan isteğe özel olduğu için her istekte yeniden hesaplanıp, istekle birlikte gönderilmelidir. Signature değerini hesaplamak için:
Signature her request'e özeldir!
- Aşağıdaki değerleri uç uca birleştir
- İsteğin yapıldığı URL'in ham hali (hostname, protocol ve query string dahil)
- Üye işyeri hesabının API erişim anahtarı (API Key)
- Üye işyeri hesabının gizli erişim şifresi (Secret Key)
- İsteğe özgü oluşturulmuş rastgele bir string
- Eğer mevcut ise isteğin body'si
- Birleştirilen string'in SHA-256 hash'ini hesapla
- Hash'in Base64 ile şifrelenmiş halini hesapla
Örnekler
Parametreler
Ad |
Değer |
URL |
https://api-gateway.oderopay.com.tr/onboarding/v1/sub-merchants/1 |
Request Body |
|
API Key |
key-1 |
Secret Key |
FooBar123! |
Random Key |
Xa15Fp11T |
Signature Hesaplama
- Full URL:
https://api-gateway.oderopay.com.tr/onboarding/v1/sub-merchants/1
- Query String:
- API Key:
key-1
- Secret Key:
FooBar123!
- Random Key:
Xa15Fp11T
- Request Body:
- Birleştirilmiş String:
https://api-gateway.oderopay.com.tr/onboarding/v1/sub-merchants/1key-1FooBar123!Xa15Fp11T
- Signature:
L/F2ZAOH/AGXZPIULNHDGOFZ+D5JS1097UP6RH11VSO=
İsteğe Eklenecek Header'lar
Ad |
Değer |
x-api-key |
key-1 |
x-rnd-key |
rGciw1df |
x-auth-version |
V1 |
x-signature |
L/F2ZAOH/AGXZPIULNHDGOFZ+D5JS1097UP6RH11VSO= |
Parametreler
Ad |
Değer |
URL |
https://api-gateway.oderopay.com.tr/onboarding/v1/buyers |
Request Body |
{"email":"haluk.demir@example.com","name":"Haluk","surname":"Demir","gsmNumber":"905551111111","identityNumber":"11111111110","buyerExternalId":"0ac49f08-f2a9-4326-a4d8-f6c1b01596fb"} |
API Key |
key-1 |
Secret Key |
FooBar123! |
Random Key |
Xa15Fp11T |
Signature Hesaplama
- Full URL:
https://api-gateway.oderopay.com.tr/onboarding/v1/buyers
- Query String:
- API Key:
key-1
- Secret Key:
FooBar123!
- Random Key:
Xa15Fp11T
- Request Body:
{"email":"haluk.demir@example.com","name":"Haluk","surname":"Demir","gsmNumber":"905551111111","identityNumber":"11111111110","buyerExternalId":"0ac49f08-f2a9-4326-a4d8-f6c1b01596fb"}
- Birleştirilmiş String:
https://api-gateway.oderopay.com.tr/onboarding/v1/buyerskey-1FooBar123!Xa15Fp11T{"email":"haluk.demir@example.com","name":"Haluk","surname":"Demir","gsmNumber":"905551111111","identityNumber":"11111111110","buyerExternalId":"0ac49f08-f2a9-4326-a4d8-f6c1b01596fb"}
- Signature:
IRWQTISFBKCSM/NGZZ9XGN9PCTBXC0YSUJIBZMUZ9VS=
İsteğe Eklenecek Header'lar
Ad |
Değer |
x-api-key |
key-1 |
x-rnd-key |
Xa15Fp11T |
x-auth-version |
V1 |
x-signature |
IRWQTISFBKCSM/NGZZ9XGN9PCTBXC0YSUJIBZMUZ9VS= |