Pazar Yeri - 3D Secure ile Ödeme

Servis Adresi

İ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
CardHolderFullName (string) Kart sahibinin adı soyadı
CardNumber (string) Kart numarası
ExpMonth (string) Son kullanma tarihi ay bilgisi (MM)
ExpYear (string) Son kullanma tarihi yıl bilgisi (YYYY)
CvcNumber (string) Kart güvenlik numarası
CardToken (string) Moka üzerinde Kart saklama özelliği kullanılıyorsa, Kartın Token’ ı verilerek çekim yapılabilir. Token verilmişse, kart numarası ve diğer kart bilgilerinin (son kul. tarihi, cvc) verilmesine gerek yoktur.

Not : Token ile ödeme yapılırken NonSecure (Non-3D) işlem yapılmak isteniyorsa, Moka' dan bu parametrik yetki istenerek Non3D pazaryeri ödeme servisi de kullanılabilir.
Amount (decimal) Toplam ödeme tutarı (Kuruş kısmı nokta ile yazılır. Örn: 27.50). SubDealer bloğunda gönderilen amount alanlarının toplamı bu alana eşit olmalıdır.
Currency (string) Para birimi. Opsiyonel alandır, hiç gönderilmezse veya boş gönderilirse, default’ u TL dir, Diğer değerler : USD, EUR, GBP
InstallmentNumber (integer) Taksit Sayısı. Opsiyonel alandır, hiç gönderilmezse, boş gönderilirse, 0 veya 1 gönderilirse Peşin satış demektir, Taksit için 2 ile 12 arasında bir değer gönderilmelidir.
ClientIP (string) Kart numarasının alındığı uygulamanın (desktop/web) çalıştırıldığı bilgisayarın IP bilgisi
OtherTrxCode (string) Mütabakat sağlamak için kendi Unique Transaction (İşlem) Kodunuzu bu alanda gönderebilirsiniz. (Boş da gönderilebilir). Not : Bayi ödeme detay listesi alırken bu kodunuzu kullanarak Ödeme durumunu öğrenebilirsiniz.
IsPoolPayment (tinyint) Havuz ödemesi mi ?
Para kredi kartından çekilecek fakat havuzda bekletilecek. Bayi, müşteri hizmet veya ürünü teslim aldıktan sonra ödemeyi onaylayacak ve bu işlemle ilgili ödeme onaydan sonra bayinin ekstresine yansıyacak (opsiyonel). Havuz sisteminde bir ödeme göndermek için bu alanı 1 yapınız.
IsPreAuth (tinyint) Ön provizyon işlemi mi ?
0 : Hayır - Doğrudan Çekim İşlemi
1 : Evet - Ön Provizyon Alma İşlemi (Bir süre sonra DoCapture servisi ile ödemeye dönüştürülmeli)
IsTokenized (tinyint) Ödeme için girilen kart Moka sisteminde saklanacak mı ? (Kart saklayabilmek için bayinin kart saklama hizmeti alıyor olması gerekir)
0 : Kart saklanmayacak
1 : Kart saklanacak
IntegratorId (tinyint) (opsiyonel) Hazır ETicaret paketlerine Moka entegrasyonu yapan Sistem Entegratörü Firmanın ID si – (Entegratör firma değilseniz bu alanı göndermeyiniz !)
Software (string) Moka ödeme sistemiyle entegre çalışan, bu servisi çağırdığınız E-ticaret paketinin veya yazılımınızın ismi. (Max 30 karakter)
SubMerchantName (string) (opsiyonel) Ekstrede görünmesini istediğiniz isim – Moka'ya önceden bildirilmeli
Description (string)(opsiyonel) Açıklama alanıdır. Ödemeye ilişkin bir açıklama yazmak istenirse bu alana yazılabilir.(200 karaktere kadar yazılabilir.)
ReturnHash (tinyint) Değeri 1 olarak verilmek zorundadır. 3D Ödeme akışı tamamlandığında, RedirectURL' nize, işlemin başarılı olup olmadığı bu servisin cevabında dönen CodeForHash kodunun sonuna, T veya F harfi eklenerek hash' lenmesi ile bildirilecektir.
RedirectUrl (string) 3D işlemi sonucunda, başarılı ya da başarısız işlem sonucunun döndürüldüğü ve kullanıcının yönlendirildiği bayi web sayfası. Bu URL’ yi verirken, sonuna parametre olarak kendi işlem ID’ nizi yazarsanız, hangi işleminizin sonucunu aldığınızı belirlemiş olursunuz.
Örnek : https://www.mysite.com/PayResult?MyTrxId=1A2B3C4DF5R

Önemli Not : URL sonuna yazdığınız kendinize ait işlem kodunun, güvenliğiniz için, tahmin edilemez bir kod olmasını tercih ediniz.
RedirectType (integer) Opsiyonel alandır. Default değeri 0 (sıfır) dır. Ödeme işleminin sonucu servisi çağıran web sitesinde ana sayfaya yönlendirme yapar. IFrame içerisinden bu servis çağrılmışsa ve sonuç IFrame içine redirect yapılsın isteniyorsa, bu alana 1 yazılmalıdır.
CommissionScenario (integer)(zorunlu) Üst bayi tarafından karar verilen ve bu satışa ortak olmuş alt bayilerden kesilecek komisyonların nasıl hesaplanacağını bildiren komisyon seçeneğidir.

Alt bayiden kesilecek Moka komisyonu hesaplandıktan sonra, üst bayi komisyon tutarı ile alt bayi komisyon tutarı arasındaki fark, üst bayinin kendi geliridir. Bu satışa ortak olmuş her alt bayi için ayrı ayrı bu hesaplar yapılır ve satıştan doğacak, üst bayiden kesilecek toplam komisyon (Moka Geliri), alt bayilerden kesilecek toplam komisyon ve üst bayinin toplam geliri bulunmuş olur.

Alt bayiye Moka tarafından yatırılacak tutar, alt bayi komisyonu düşürüldükten sonraki tutardır.
Alt bayi komisyonunu bildirmek için 6 farklı senaryo mevcuttur :

1 : MOKA ALT BAYİ KOMİSYON ORANLARI (%)
Üst bayi, alt bayinin Moka sisteminde tanımlı olan komisyon oranı ile işlem yapmak istediğinde bu senaryoyu kullanır. Bu yüzden, tutarın, satış içerisindeki alt bayilere dağıtılması yeterlidir. Her alt bayiden ne kadar komisyon kesileceği Moka sistemindeki o alt bayi için tanımlı komisyon oranına bakılarak hesaplanır. SubDealer bloğunda bulunan Amount ve DealerId parametreleri zorunlu alanlardır. Bu blok içindeki Amount' ların toplamı, ana Amount' a eşit olmalıdır.

Formül şu şekildedir :
Alt bayi komisyon tutarı = (Amount * MokaAltBayiKomisyonOranı / 100)

2 : ANLIK ALT BAYİ KOMİSYON ORANLARI (%)
Üst bayi, alt bayiye bu ödeme için anlık olarak yeni komisyon oranı (%) vermek istediğinde bu senaryoyu kullanır. Bu durumda, Moka sistemindeki alt bayinin komisyon oranı yerine, bu istekte gönderilen alt bayi komisyon oranları (%) ve sabit komisyon tutarı kullanılarak hesaplama yapılır. SubDealer bloğunda bulunan Amount, DealerId ve DealerCommissionRate parametreleri zorunlu alanlardır. Sabit komisyon tutarı için de, istenildiğinde DealerCommissionFixedAmount parametresine TL tutar gönderilebilir. (gönderilmezse sıfır olarak alınır). Bu blok içindeki Amount' ların toplamı, ana Amount' a eşit olmalıdır.

Formül şu şekildedir :
Alt bayi komisyon tutarı = (Amount * DealerCommissionRate / 100) + DealerCommissionFixedAmount

3 : ANLIK ALT BAYİ KOMİSYON TUTARLARI (TL)
Üst bayi, alt bayiye bu ödeme için anlık olarak yeni komisyon tutarı (TL) vermek istediğinde bu senaryoyu kullanır. Bu durumda, Moka sistemindeki alt bayinin komisyon oranı üzerinden hesaplama yapmak yerine, bu istekte gönderilen alt bayi komisyon tutarı (TL) kullanılır. Alt bayiden kesilen komisyondan, Üst bayiden Moka’ nın keseceği komisyon tutarı çıkarıldığında ise üst bayinin geliri ortaya çıkar. SubDealer bloğunda bulunan DealerId, Amount ve DealerCommissionAmount parametreleri zorunlu alanlardır. Bu blok içindeki Amount' ların toplamı, ana Amount' a eşit olmalıdır.

Formül şu şekildedir :
Alt bayi komisyon tutarı = DealerCommissionAmount

4 : ANLIK ÜST BAYİ GELİR ORANLARI (%)
Üst bayi, Moka’ nın kendinden keseceği komisyon oranını takip etmek istemiyor veya bu orana göre hesaplama yapmak istemiyorsa, doğrudan kendinden kesilecek komisyon oranının üzerine ne kadar oran (%) eklenip alt bayiden kesileceğini belirtmek için bu senaryoyu kullanır. Bu senaryoda verilen oran üst bayi gelir oranıdır.
SubDealer bloğunda bulunan DealerId, Amount, GroupRevenueRate ve AmountToBeCommissioned parametreleri zorunlu alanlardır.
Alt bayiler için verilen AmountToBeCommissioned alanlarının toplamı bütün satışın toplamına eşit olmak zorundadır. AmountToBeCommissioned alanı üzerinde rakamsal olarak oynama yapılarak üst bayiden kesilecek komisyon farklı alt bayilere yüklenebilir. Örneğin bir alt bayiden hiçbir kesinti yapılması istenmiyorsa, bu alt bayi için GroupRevenueRate = 0 ve AmountToBeCommissioned = 0 verilebilir.

Formül şu şekildedir :
Alt bayi komisyon tutarı = (Amount * GroupRevenueRate / 100) + ( AmountToBeCommissioned * MokaÜstBayiKomisyonOranı / 100) + IsIncludedFixedAmount

5 : ANLIK ÜST BAYİ GELİR TUTARLARI (TL)
Üst bayi, Moka’ nın kendinden keseceği komisyon oranını takip etmek istemiyor veya bu orana göre hesaplama yapmak istemiyorsa, doğrudan kendinden kesilecek komisyon oranının üzerine ne kadar tutar (TL) eklenip alt bayiden kesileceğini belirtmek için bu senaryoyu kullanır. SubDealer bloğunda bulunan DealerId, Amount, GroupRevenueAmount ve AmountToBeCommissioned parametreleri zorunlu alanlardır.

Formül şu şekildedir :
Alt bayi komisyon tutarı = (GroupRevenueAmount) + ( AmountToBeCommissioned * MokaÜstBayiKomisyonOranı / 100) + IsIncludedFixedAmount

6 : ANLIK ALT BAYİYE YATIRILACAK TUTARLAR (TL)
Üst bayi, alt bayiye bu ödeme için anlık olarak ne kadar (TL) yatırılacağını söylemek istediğinde bu senaryoyu kullanır. Bu durumda, ne Moka sistemindeki alt bayinin komisyon oranı üzerinden hesaplama yapılır, ne de alt bayi komisyon tutarları veya oranları verilir. Alt bayilere ne kadar yatırılması isteniyorsa, o tutarlar verilir ve komisyon oranları ile tutarlarını Moka hesaplar. Ana Amount' dan, alt bayilere yatırılacak tutar çıkarıldığında, Alt bayi toplam komisyon tutarı bulunmuş olur. Üst bayiden Moka’ nın keseceği komisyon tutarı çıkarıldığında ise üst bayinin geliri ortaya çıkar. SubDealer bloğunda bulunan DealerId ve Amount parametresi zorunlu alandır. Bu blok içindeki Amount' ların toplamı, ana Amount' a eşit değildir !!! Aradaki fark alt bayi komisyonlarının toplamıdır.

Formül şu şekildedir :
Alt bayi komisyon tutarı = Ana Amount - SubDealer.Amount
SubDealer (Array-List)(zorunlu)
DealerId (integer)Ödemeyi alacak olan alt bayinin, bayi numarasıdır. Liste içerisinde aynı bayi sadece 1 kez yer alabilir.
Amount (decimal)Ana tutar içerisinde bu alt bayinin işlem tutarıdır. SubDealer listesinin içindeki bu tutarların toplamı ana ödeme tutarına eşit olmak zorundadır.
DealerCommissionRate (decimal)Alt bayiden kesilecek olan yüzdesel komisyon oranıdır. (örn: 3.85) yüzde 3.85 anlamına gelmektedir.
DealerCommissionAmount (decimal)Alt bayiden kesilecek olan TL komisyon tutarıdır. (örn: 12.75)
DealerCommissionFixedAmount (decimal)Alt bayiden kesilecek olan sabit komisyon TL tutarıdır. (örn: 0.75) Yüzdesel komisyon oranına göre hesaplanan komisyona, bu sabit komisyon tutarı da eklenerek bu alt bayi için toplam komisyon bulunmuş olur. Bu alan sıfır verilebilir.
GroupRevenueRate (decimal)Üst bayinin bir ödeme için anlık olarak istediği yüzdesel gelir oranıdır. (örn: 2.25)
GroupRevenueAmount (decimal)Üst bayinin bir ödeme için anlık olarak istediği TL gelir tutarıdır. (örn: 10.75)
AmountToBeCommissioned (decimal)Alt bayiye yansıtılmak istenen komisyonun uygulanacağı tutardır. Bu alanın toplamları PaymentDealerRequest bloğunda olan Amount alanına eşit olması gerekir çünkü Moka’ nın üst bayiden keseceği komisyon tutarı, ana ödeme tutarı çarpı üst bayi komisyon oranı kadardır. Üst bayiden kesilecek komisyonun alt bayilere farklı şekilde yansıtılabilmesi için bu alan kullanılmaktadır.
IsIncludedFixedAmount (integer) (opsiyonel)Üst bayiye tanımlanmış olan bir sabit tutar varsa ve bu alt bayinin ödemesine eklenilmesi isteniyorsa bu alan 1 gönderilir. Eklenmeyecek ise boş bırakılır veya 0 olarak gönderilir.
BuyerInformation (Array)(opsiyonel) Bayimizden Ürün/Hizmet satın alan müşterisi ile ilgili alanlardır. Bu alanların gönderilmesi zorunlu olmamasına karşın, Moka ile paylaşılması, ileride ödemeyle ilgili oluşabilecek sorunlara karşı, hem bayimizin hem de Moka' nın menfaatinedir.

BuyerFullName (string) Opsiyonel alandır.Alıcının adı ve soyadıdır.
BuyerEmail (string) Opsiyonel alandır.Alıcının eposta adresidir.
BuyerGsmNumber (string) Opsiyonel alandır.Alıcının cep telefonu numarasıdır. 10 hane olarak, boşluksuz girilmelidir.
BuyerAddress (string) Opsiyonel alandır.Alıcının adresidir.
BasketProduct (Array)(opsiyonel)

ProductId (integer) Ürün ID sidir..
ProductCode (string) Ürünün bayi tarafındaki özel kodudur.
UnitPrice (integer) Birim fiyatıdır.
Quantity (integer) Ürünün miktarı.
CustomerInformation (Array)(opsiyonel) Ödeme esnasında, kart bilgileri de saklanmak isteniyorsa ve Moka tarafında bayinin kart saklama hizmeti aktive edilmişse, o zaman bu bilgi bloğu gönderilerek, müşteri oluşturulup, ödeme için kullanılan kart numarası bu müşteri altına eklenebilir.

DealerCustomerId (integer)Daha önceden bu müşteri Moka sistemine kaydedilmişse, Moka sistemindeki bu müşterinin Unique ID si.
CustomerCode (string)Bu müşterinin, sizin sisteminizdeki Unique ID si. Bu kod Moka'ya daha önceden kaydedilmişse, bu kod ile de ödeme isteği gönderebilirsiniz ve kart saklanacaksa, bu müşteri altında saklanır. Bu müşteri ilk kez kaydedilecekse, bu kod ile kaydedilir
FirstName (string)Müşteri Moka sistemine ilk kez kaydedilecekse, müşterinin adı girilir.
LastName (string)Müşteri Moka sistemine ilk kez kaydedilecekse, müşterinin soyadı girilir. (opsiyonel)
Gender (tinyint)Müşteri Moka sistemine ilk kez kaydedilecekse, müşterinin cinsiyeti girilir. (opsiyonel) 1: erkek 2: kadın
BirthDate (string)Müşteri Moka sistemine ilk kez kaydedilecekse, müşterinin doğum tarihi girilir. (opsiyonel)
GsmNumber (string)Müşteri Moka sistemine ilk kez kaydedilecekse, müşterinin cep telefonu girilir. (opsiyonel)
Email (string)Müşteri Moka sistemine ilk kez kaydedilecekse, müşterinin email adresi girilir. (opsiyonel)
Address (string)Müşteri Moka sistemine ilk kez kaydedilecekse, müşterinin ikamet adresi girilir. (opsiyonel)
CardName (string)Karta verilen isim (Örn : “Maximum kartım”) (Max 50 karakter)(opsiyonel)

Örnek İstek (JSON)

Senaryo 1


{
   "PaymentDealerAuthentication":{
      "DealerCode":"xxx",
      "Username":"xxx",
      "Password":"xxx",
      "CheckKey":"7c662eb7d85e9ec954ba3265d2fff6204e05d878de828ed2cdb3f0627acf4cc8"
   },
   "PaymentDealerRequest":{
      "CardHolderFullName":"elif yetimoğlu",
      "CardNumber":"5269552233334444",
      "ExpMonth":"11",
      "ExpYear":"2020",
      "CvcNumber":"708",
      "CardToken":"",
      "Amount":7.5,
      "Currency":"TL",
      "InstallmentNumber":1,
      "ClientIP":"192.168.1.116",
      "OtherTrxCode":"20181206173427",
      "SubMerchantName":"",
      "IsPoolPayment":0,
      "IsPreAuth":0,
      "IsTokenized":0,
      "IntegratorId":0,
      "Software":"Possimulation",
      "Description":"",
      "ReturnHash":1,
      "RedirectUrl":"https://service.TestMoka.com/PaymentDealerThreeD?MyTrxCode=20210114172139",
      "RedirectType":0,
      "CommissionScenario":1,
      "SubDealer":[
         {
            "DealerId":166,
            "Amount":3
         },
         {
            "DealerId":167,
            "Amount":4.5
         }
      ]
   }
}

Senaryo 2


{
   "PaymentDealerAuthentication":{
      "DealerCode":"xxx",
      "Username":"xxx",
      "Password":"xxx",
      "CheckKey":"7c662eb7d85e9ec954ba3265d2fff6204e05d878de828ed2cdb3f0627acf4cc8"
   },
   "PaymentDealerRequest":{
      "CardHolderFullName":"elif yetimoğlu",
      "CardNumber":"5269552233334444",
      "ExpMonth":"03",
      "ExpYear":"2020",
      "CvcNumber":"111",
      "CardToken":"",
      "Amount":7.5,
      "Currency":"TL",
      "InstallmentNumber":1,
      "ClientIP":"192.168.1.116",
      "OtherTrxCode":"20181204145940",
      "SubMerchantName":"",
      "IsPoolPayment":0,
      "IsPreAuth":0,
      "IsTokenized":0,
      "IntegratorId":0,
      "Software":"Possimulation",
      "Description":"",
      "ReturnHash":1,
      "RedirectUrl":"https://service.TestMoka.com/PaymentDealerThreeD?MyTrxCode=20210114172139",
      "RedirectType":0,
      "CommissionScenario":2,
      "SubDealer":[
         {
            "DealerId":1738,
            "Amount":3,
            "DealerCommissionRate":"2.00",
            "DealerCommissionFixedAmount":"0"
         },
         {
            "DealerId":167,
            "Amount":4.5,
            "DealerCommissionRate":"2.00",
            "DealerCommissionFixedAmount":"0"
         }
      ]
   }
}

Senaryo 3


{
   "PaymentDealerAuthentication":{
      "DealerCode":"xxx",
      "Username":"xxx",
      "Password":"xxx",
      "CheckKey":"7c662eb7d85e9ec954ba3265d2fff6204e05d878de828ed2cdb3f0627acf4cc8"
   },
   "PaymentDealerRequest":{
      "CardHolderFullName":"elif yetimoğlu",
      "CardNumber":"5269552233334444",
      "ExpMonth":"03",
      "ExpYear":"2020",
      "CvcNumber":"111",
      "CardToken":"",
      "Amount":3,
      "Currency":"TL",
      "InstallmentNumber":1,
      "ClientIP":"192.168.1.116",
      "OtherTrxCode":"20181204150708",
      "SubMerchantName":"",
      "IsPoolPayment":0,
      "IsPreAuth":0,
      "IsTokenized":0,
      "IntegratorId":0,
      "Software":"Possimulation",
      "Description":"",
      "ReturnHash":1,
      "RedirectUrl":"https://service.TestMoka.com/PaymentDealerThreeD?MyTrxCode=20210114172139",
      "RedirectType":0,
      "CommissionScenario":3,
      "SubDealer":[
         {
            "DealerId":1744,
            "Amount":1,
            "DealerCommissionAmount":"3"
         },
         {
            "DealerId":1767,
            "Amount":2,
            "DealerCommissionAmount":"2"
         }
      ]
   }
}

Senaryo 4


{
   "PaymentDealerAuthentication":{
      "DealerCode":"xxx",
      "Username":"xxx",
      "Password":"xxx",
      "CheckKey":"7c662eb7d85e9ec954ba3265d2fff6204e05d878de828ed2cdb3f0627acf4cc8"
   },
   "PaymentDealerRequest":{
      "CardHolderFullName":"elif yetimoğlu",
      "CardNumber":"5269552233334444",
      "ExpMonth":"03",
      "ExpYear":"2020",
      "CvcNumber":"111",
      "CardToken":"",
      "Amount":3,
      "Currency":"TL",
      "InstallmentNumber":1,
      "ClientIP":"192.168.1.116",
      "OtherTrxCode":"20181204171533",
      "SubMerchantName":"",
      "IsPoolPayment":0,
      "IsPreAuth":0,
      "IsTokenized":0,
      "IntegratorId":0,
      "Software":"Possimulation",
      "Description":"",
      "ReturnHash":1,
      "RedirectUrl":"https://service.TestMoka.com/PaymentDealerThreeD?MyTrxCode=20210114172139",
      "RedirectType":0,
      "CommissionScenario":4,
      "SubDealer":[
         {
            "DealerId":1768,
            "Amount":2,
            "GroupRevenueRate":"2",
            "AmountToBeCommissioned":"1",
            "IsIncludedFixedAmount":""
         },
         {
            "DealerId":1770,
            "Amount":1,
            "GroupRevenueRate":"2",
            "AmountToBeCommissioned":"2",
            "IsIncludedFixedAmount":""
         }
      ]
   }
}

Senaryo 5


{
   "PaymentDealerAuthentication":{
      "DealerCode":"xxx",
      "Username":"xxx",
      "Password":"xxx",
      "CheckKey":"7c662eb7d85e9ec954ba3265d2fff6204e05d878de828ed2cdb3f0627acf4cc8"
   },
   "PaymentDealerRequest":{
      "CardHolderFullName":"elif yetimoğlu",
      "CardNumber":"5269552233334444",
      "ExpMonth":"03",
      "ExpYear":"2020",
      "CvcNumber":"111",
      "CardToken":"",
      "Amount":5,
      "Currency":"TL",
      "InstallmentNumber":1,
      "ClientIP":"192.168.1.116",
      "OtherTrxCode":"20181204172747",
      "SubMerchantName":"",
      "IsPoolPayment":0,
      "IsPreAuth":0,
      "IsTokenized":0,
      "IntegratorId":0,
      "Software":"Possimulation",
      "Description":"",
      "ReturnHash":1,
      "RedirectUrl":"https://service.TestMoka.com/PaymentDealerThreeD?MyTrxCode=20210114172139",
      "RedirectType":0,
      "CommissionScenario":5,
      "SubDealer":[
         {
            "DealerId":1772,
            "Amount":2,
            "GroupRevenueAmount":"1",
            "AmountToBeCommissioned":"1",
            "IsIncludedFixedAmount":""
         },
         {
            "DealerId":1774,
            "Amount":3,
            "GroupRevenueAmount":"1",
            "AmountToBeCommissioned":"4",
            "IsIncludedFixedAmount":""
         }
      ]
   }
}

Senaryo 6


{
   "PaymentDealerAuthentication":{
      "DealerCode":"xxx",
      "Username":"xxx",
      "Password":"xxx",
      "CheckKey":"7c662eb7d85e9ec954ba3265d2fff6204e05d878de828ed2cdb3f0627acf4cc8"
   },
   "PaymentDealerRequest":{
      "CardHolderFullName":"elif yetimoğlu",
      "CardNumber":"5269552233334444",
      "ExpMonth":"03",
      "ExpYear":"2020",
      "CvcNumber":"111",
      "CardToken":"",
      "Amount":15,
      "Currency":"TL",
      "InstallmentNumber":1,
      "ClientIP":"192.168.1.116",
      "OtherTrxCode":"20181204150708",
      "SubMerchantName":"",
      "IsPoolPayment":0,
      "IsPreAuth":0,
      "IsTokenized":0,
      "IntegratorId":0,
      "Software":"Possimulation",
      "Description":"",
      "ReturnHash":1,
      "RedirectUrl":"https://service.TestMoka.com/PaymentDealerThreeD?MyTrxCode=20210114172139",
      "RedirectType":0,
      "CommissionScenario":6,
      "SubDealer":[
         {
            "DealerId":1744,
            "Amount":7
         },
         {
            "DealerId":1767,
            "Amount":3
         }
      ]
   }
}

Başarılı İstek Sonucu

ÖNEMLİ NOT

Başarılı Sonuç Örneği


{
	"Data":{
      "Url":"https://service.testmoka.com/PaymentDealerThreeDProcess?threeDTrxCode=0cc02f5fac4f-47fb-aa94-167582552caa",
      "CodeForHash":"9FDFBDFC-42C5-417E-AA93-E4D9D5312AAC"
	},
   "ResultCode":"Success",
   "ResultMessage":"",
   "Exception":null
}

Başarısız İstek Sonucu

ResultCodeAçıklama
PaymentDealer.CheckPaymentDealerAuthentication.InvalidRequestCheckKey hatalı ya da nesne hatalı ya da JSON bozuk olabilir.
PaymentDealer.CheckPaymentDealerAuthentication.InvalidAccountBöyle bir bayi bulunamadı, Bayi kodu, bayi kullanıcı adı ve/veya şifresi yanlış girilmiş.
PaymentDealer.CheckPaymentDealerAuthentication.VirtualPosNotFoundBu bayi için sanal pos tanımı yapılmamış.
PaymentDealer.CheckDealerPaymentLimits.DailyDealerLimitExceeded Bayi için tanımlı günlük limitlerden herhangi biri aşıldı.
PaymentDealer.CheckDealerPaymentLimits.DailyCardLimitExceededGün içinde bu kart kullanılarak daha fazla işlem yapılamaz.
PaymentDealer.CheckCardInfo.InvalidCardInfoKart bilgilerinde hata var.
PaymentDealer.DoDirectPayment3dRequest.InstallmentNotAvailableForForeignCurrencyTransactionYabancı para ile taksit yapılamaz.
PaymentDealer.DoDirectPayment3dRequest.ThisInstallmentNumberNotAvailableForDealerBu taksit sayısı bu bayi için yapılamaz.
PaymentDealer.DoDirectPayment3dRequest.InvalidInstallmentNumber Taksit sayısı 2 ile 12 arasıdır.
PaymentDealer.DoDirectPayment3dRequest. ThisInstallmentNumberNotAvailableForVirtualPosSanal Pos bu taksit sayısına izin vermiyor.
EX Beklenmeyen bir hata oluştu.

Başarısız Sonuç Örneği


{
   "Data":null,
   "ResultCode":"PaymentDealer.CheckPaymentDealerAuthentication.VirtualPosNotFound ",
   "ResultMessage":"",
   "Exception":null
}

3D Secure İşlem Akışı


image