Karttan Çekilecek Tutar Hesaplama
Servis Adresi
POST /PaymentDealer/DoCalcPaymentAmount
İstek Parametreleri
PaymentDealerAuthentication
| Parametre |
Açıklama |
| DealerCode string |
Ruut sistemi tarafından verilen bayi kodu |
| Username string |
Ruut sistemi tarafından verilen Api kullanıcı adı |
| Password string |
Ruut sistemi tarafından verilen Api şifresi |
| CheckKey string |
Kontrol anahtarı (DealerCode + "MK" + Username + "PD" + Password) String olarak birleştirilen bu bilgilerin SHA-256 hash algoritmasından geçirilmesiyle oluşturulur.
Buraya tıklayarak deneme ekranına gidebilirsiniz. |
PaymentDealerRequest
| Parametre |
Açıklama |
| BinNumber string |
Kredi Kart Numarasının ilk 6 hanesi |
| Currency decimal |
Para Birimi( bu parametre gönderilmezse default ‘TL’ alır.) |
| OrderAmount decimal |
Sepet Tutarı |
| InstallmentNumber decimal |
Taksit Sayısı |
| GroupRevenueRate decimal |
Grup Gelir Oranı |
| GroupRevenueAmount decimal |
Grup Gelir Tutarı |
| IsThreeD bool |
0: 3D’siz Ödeme, 1: 3D Ödeme |
Returns
| ResultCode | Açıklama |
| PaymentAmount decimal | Karttan Tahsil Edilecek Tutar |
| DealerDepositAmount decimal | Sepet Tutarı |
| DealerCommissionRate decimal | Altbayiye Verilen Komisyon Oranı |
| DealerCommissionAmount decimal | Altbayi Komisyon Tutarı |
| DealerCommissionFixedAmount decimal | Altbayi Komisyon Sabit Tutarı |
| DealerGroupCommissionRate decimal | Üstbayiye Verilen Komisyon Oranı |
| DealerGroupCommissionAmount decimal | Üstbayi Komisyon Tutarı |
| DealerGroupCommissionFixedAmount decimal | Üstbayi Komisyon Sabit Tutarı |
| GroupRevenueRate decimal | Grup Gelir Oranı |
| GroupRevenueAmount decimal | Grup Gelir Tutarı |
| BankCard array |
| BankName string | Bin numarasının sahibi banka (Issuer Bank) – Altta listesi mevcut |
| BankCode string | Bankanın ulusal kodu – Alttaki listede mevcut(*) |
| BinNumber string | Servise verilen Bin numarası |
| CardName string | Kartın özel ismi varsa bu alanda yazar |
| CardType string | MASTER, VISA, MAESTRO, AMEX, TROY olarak döner |
| CreditType string | CreditCard veya DebitCard olarak döner |
| CardLogo string | Kartın program logosu döner (Bonus logosu, Axess logosu vs.) |
| CardTemplate (string)) | Kartın görseli döner |
| ProductCatagory (string)) | Kartın Ticari veya Bireysel bilgisi döner |
| GroupName string | Kartın program ismi döner (BONUS, AXESS, WORLD, CARDFINANS vs.) |
|
Örnek İstek (JSON)
{
"PaymentDealerAuthentication":{
"DealerCode":"XXXX",
"Username":"XXXX",
"Password":"XXXX",
"CheckKey":"28ba1f316e661ee7a0477a13aa30613da548c94a8098829af9255b04d7e916e3"
},
"PaymentDealerRequest":{
"BinNumber":"526911",
"Currency":"TL",
"OrderAmount":100,
"InstallmentNumber":1,
"GroupRevenueRate":5,
"GroupRevenueAmount":"",
"IsThreeD":1
}
}
Başarılı İstek Sonucu
Gönderilen istek verileri Ruut’ da başarılı bir şekilde işlenmişse, geri dönüş nesnesinin
"ResultCode" alanında "Success" bilgisi yazar. "Data" alanında ise bankadan dönen işlem
sonucu bulunur. "Data" içinde yer alan "IsSuccessful" (true/false) alanı kontrol edilerek
işlemin durumu kontrol edilir. Bu alanda false dönmesi durumunda aynı nesne içindeki
ResultCode ve ResultMessage alanları kontrol edilerek işlemin sanal pos üzerinde neden
başarısız olduğu görülebilir.
Başarılı Sonuç Örneği
{
"Data":{
"PaymentAmount":101.56,
"DealerDepositAmount":95.0,
"DealerCommissionRate":6.46,
"DealerCommissionAmount":6.56,
"DealerCommissionFixedAmount":0.0,
"DealerGroupCommissionRate":1.54,
"DealerGroupCommissionAmount":1.56,
"DealerGroupCommissionFixedAmount":0.00,
"GroupRevenueRate":5.0,
"GroupRevenueAmount":5.0,
"BankCard":{
"BankName":"FİNANSBANK",
"BankCode":"111",
"BinNumber":"526911",
"CardName":"",
"CardType":"MASTER",
"CreditType":"CreditCard",
"CardLogo":"",
"CardTemplate":"",
"ProductCategory":"Bireysel",
"GroupName":""
}
},
"ResultCode":"Success",
"ResultMessage":"",
"Exception":null
}
Başarısız İstek Sonucu
| ResultCode | Açıklama |
| PaymentDealer.DoCalcPaymentAmount.InvalidRequest | CheckKey hatalı ya da nesne hatalı ya da JSON bozuk olabilir. |
| PaymentDealer.DoCalcPaymentAmount.RequiredOrderAmount | Sepet tutarı gerekli |
| PaymentDealer.DoCalcPaymentAmount.InvalidCurrencyCode | Para birimi gerekli |
| PaymentDealer.DoCalcPaymentAmount.InvalidInstallmentNumber | Taksit numarası geçersiz |
| PaymentDealer.DoCalcPaymentAmount.VirtualPosCommissionRateNotFound | Sanal pos komisyon oranı bulunamadı. |
| PaymentDealer.DoCalcPaymentAmount.InstallmentNotAvailableForForeignCurrencyTransaction | Yabancı para birimi için taksit işlemi geçerli değil. |
| PaymentDealer.DoCalcPaymentAmount.DealerDoNotBinNumberInquiryAllowed | Bayinin Bin numarası sorgulama izni yok. |
| PaymentDealer.DoCalcPaymentAmount.BinNumberMustGiven | Bin numarası verilmeli. |
| PaymentDealer.DoCalcPaymentAmount.BothGroupRevenueRateAndGroupRevenueAmountMustBeZero | Hem grup gelir oranı hem de grup gelir tutarı 0 olmalıdır. |
| EX | Beklenmeyen bir hata oluştu |
Başarısız Sonuç Örneği
{
"Data":null,
"ResultCode":"PaymentDealer.DoCalcPaymentAmount.BothGroupRevenueRateAndGroupRevenueAmountMustBeZero",
"ResultMessage":"",
"Exception":null
}
Açıklama
Bu servis, karttan çekilecek tutarın ve alt bayinin komiyon oranının hesaplanabilmesi için geliştirildi. Üst bayi (Pazar yeri sahibi), bu servisi kullanarak sepet tutarı (OrderAmount) üzerinden ne kadar kar etmek istediğini yazıp (yüzde veya TL olarak(GroupRevenueRate veya GroupRevenueAmount)), karttan ne kadar çekileceğini(PaymentAmount) ve alt bayinin komisyon oranının(DealerCommissionRate) ne olması gerektiğini öğrenebilir. Buna göre de 2 nolu komisyon senaryosunu kullanarak pazaryeri ödemesi gönderebilir.
Üstteki örnekte, sepet tutarı 100 lira ve üst bayi bu tutar üzerinden %5 kar etmek istiyor. Yani bayiye 95 TL yatırılsın istiyor. Bunun için hangi karttan çekim yapılacağı, taksit sayısı ve 3D olup olmadığı bilgisi de gönderilmelidir. Buna göre üst bayiye verilen komisyon oranı bulunur ve hesaplamalar buna göre yapılır.
Örnekte, cevap olarak, karttan çekilmesi gereken tutar : 101.56 TL ve alt bayi komisyon oranı : %6.46 dönüyor. Bundan sonra ise Pazar yeri ödemesi göndermek ve 2 nolu senaryo ile alt bayi oranını da %6.46 olarak vermek gerekir.
Yani 101.56 liranın 1.56 lirasını moka alacak, 5 lirasını üst bayi alacak ve toplamda 6.56 TL kesilip, 95 lira da alt bayiye yatırılacak(Örnekte, bu banka kartı için üst bayi komisyon oranı, yani mokanın geliri %1.54 tür.)
NOT:
Herhangi bir gruba ait olmayan üye iş yerlerinin GroupRevenueRate ve GroupRevenueAmount parametrelerini göndermesine gerek yoktur.
ISSUER BANKA LİSTESİ