3D Secure Olmadan Ödeme (Non-3D Ö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 : İşyeri yetkilerinde, kart numarası gönderirken 3D işlem zorunluluğu olsa bile, Token ile ödeme yapılırken NonSecure (Non-3D) işlem yapılmak isteniyorsa, Moka' dan bu parametrik yetki istenerek Non3D ödeme servisi de kullanılabilir.
Amount (decimal) Ödeme tutarı (Kuruş kısmı nokta ile yazılır. Örn: 27.50)
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.
SubMerchantName (string) (opsiyonel) Ekstrede görünmesini istediğiniz isim – Moka'ya önceden bildirilmeli
IsPoolPayment (tinyint) Havuz ödemesi mi ?
0 : Hayır - Karttan çekilen tutar, Moka ile bayi arasındaki anlaşmaya göre ertesi gün veya daha sonra bayinin hesabına yatırılır.
1 : Evet - 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. Bayi, havuz ödemesini onaylayıncaya kadar, bu ödeme ekstreye dahil edilmez. Havuz sisteminde bir ödeme göndermek için bu alanı 1 yapınız.
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)
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.)
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)
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) (Kart saklanmak isteniyorsa, kartın saklanacağı müşteriye ait bilgi bu blok içerisinde gönderilmeli.) Ö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)


{
   "PaymentDealerAuthentication":{
      "DealerCode":"xxx",
      "Username":"xxx",
      "Password":"xxx",
      "CheckKey":"28ba1f316e661ee7a0477a13aa30613da548c94a8098829af9255b04d7e916e3"
   },
   "PaymentDealerRequest":{
      "CardHolderFullName":"Ali Yılmaz",
      "CardNumber":"5555666677778888",
      "ExpMonth":"09",
      "ExpYear":"2024",
      "CvcNumber":"123",
      "CardToken":"",
      "Amount":0.01,
      "Currency":"TL",
      "InstallmentNumber":1,
      "ClientIP":"192.168.1.116",
      "OtherTrxCode":"20210114170108",
      "SubMerchantName":"",
      "IsPoolPayment":0,
      "IsTokenized":0,
      "IntegratorId":0,
      "Software":"Possimulation",
      "Description":"",
      "IsPreAuth":0,
      "BuyerInformation":{
         "BuyerFullName":"Ali Yılmaz",
         "BuyerGsmNumber":"5551110022",
         "BuyerEmail":"aliyilmaz@xyz.com",
         "BuyerAddress":"Tasdelen / Çekmeköy"
      },
      "CustomerInformation":{
         "DealerCustomerId":"",
         "CustomerCode":"1234",
         "FirstName":"Ali",
         "LastName":"Yılmaz",
         "Gender":"1",
         "BirthDate":"",
         "GsmNumber":"",
         "Email":"aliyilmaz@xyz.com",
         "Address":"",
         "CardName":"Maximum kartım"
      }
   }
}

Başarılı İstek Sonucu

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


{
	"Data": {
		"IsSuccessful": true,
		"ResultCode": "",
		"ResultMessage": "",
		"VirtualPosOrderId": "ORDER-17131QMlH04026199"
	},
	"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.DoDirectPayment.ThreeDRequired Bayi için 3d ödeme gönderme zorunluluğu vardır, Non-3D ödeme gönderemez.
PaymentDealer.DoDirectPayment.InstallmentNotAvailableForForeignCurrencyTransaction Yabancı para ile taksit yapılamaz.
PaymentDealer.DoDirectPayment.ThisInstallmentNumberNotAvailableForDealer Bu taksit sayısı bu bayi için yapılamaz.
PaymentDealer.DoDirectPayment.InvalidInstallmentNumberTaksit sayısı 2 ile 12 arasıdır.
PaymentDealer.DoDirectPayment.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
}