API

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. 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.

Genel

Durum

ÖderoPay API ile işlem yaparken kullanılabilecek durumlar

Değer Açıklama
ACTIVE Aktif, kullanılabilir bir kaydı temsil eder
PASSIVE Pasif, kullanılamaz kayıtları temsil eder

Para Birimleri

ÖderoPay API ile işlem yaparken kullanılabilecek para birimleri

Değer Açıklama
TRY Türk Lirası
USD ABD Doları
EUR Euro

Kart Tipleri

Kartın kullanım niteliğini ifade eden tipler

Değer Açıklama
CREDIT_CARD Kredi kartı
DEBIT_CARD Debit kart
PREPAID_CARD Prepaid kart

Kart Kuruluşları

Kart sağlayıcı kuruluşları ifade eden isimlerdir

Değer Açıklama
VISA Visa
AMEX American Express
MASTER_CARD Master Card
TROY Troy

Alt Üye İşyerleri

Alt Üye İşyeri Tipleri

Değer Açıklama
PRIVATE_COMPANY Şahıs Şirketi
LIMITED_OR_JOINT_STOCK_COMPANY Limited ya da Anonim Şirket

Ödemeler

Ödeme Tipleri

Bir ödemenin tahsilat biçimini ifade eden değerler

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ı

Ödemenin konu olduğu ürün ya da hizmeti ifade eden grup adları

Değer Açıklama
PRODUCT Ürün
LISTING_OR_SUBSCRIPTION İlan, hizmet ya da abonelik
SUBSCRIPTION Tekrarlı ödeme

Ödeme Durumları

Ödemenin durumunu ifade eden değerler

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

Ödeme Fazları

Ödemenin authorization faz durumu

Değer
AUTH

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

MD Status 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ı

İadeler

İade Durumları

Bir iadenin durumunu ifade eden değerlerdir

Değer Açıklama
SUCCESS Başarılı
FAILURE Başarısız

İade Tipleri

Bir iade tutarının nereyi yatırılacağını ifade eden değerlerdir

Değer Açıklama
CARD Karta
WALLET Cüzdana

Para Gönderimi

Para Gönderimi Durumları

Bir ödemeye ilişkin para gönderiminin durumunu ifade eden değerlerdir

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ış

Gateway Ödemeleri

Gateway Ödeme Durumları

Ödeme eğer ÖderoPay'e ait poslardan geçmiş ise connectorType değerine TOKENPOS, eğer üye işyerinin kendisine ait postan geçmiş ise TOKENGATE olarak yazılır. Üye işyerleri ÖderoPay gateway özelliğini kullanarak kendilerine ait posları ÖderoPay sistemi üzerinden ödeme geçirirken kullanabilirler.

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 API 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:

  • 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

Örnek 1

Parametreler
Ad Değer
İstek 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=

Örnek 2

Parametreler
Ad Değer
İstek 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=