Karttan Çekilecek Tutar Hesaplama
Servis Adresi
/PaymentDealer/DoCalcPaymentAmount
İstek Parametreleri
PaymentDealerAuthentication
Parametre |
Açıklama |
DealerCode(string) |
Moka sistemi tarafından verilen bayi kodu |
Username (string) |
Moka sistemi tarafından verilen Api kullanıcı adı |
Password (string) |
Moka 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 Moka’ 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İ