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.
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
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.
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.
IsPreAuth (tinyint) 0 : Doğrudan Çekim İşlemi
1 : Ön Provizyon Alma İşlemi (Bir süre sonra DoCapture servisi ile ödemeye dönüştürülmeli)
IsPoolPayment (tinyint) 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.
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 Eticaret paketinin veya yazılımınızın ismi. (Max 30 karakter)
SubMerchantName (string) (opsiyonel) Ekstrede görünmesini istediğiniz isim – Mokaya ö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.)
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.
BuyerAddress (string) Opsiyonel alandır.Alıcının adresidir.

Örnek İstek (JSON)


{
	"PaymentDealerAuthentication": {
		"DealerCode": "123456",
		"Username": "ZXCVBNVBN",
		"Password": "abcdef",
		"CheckKey": "ff4a6ee22aeafe87f7930f84b5ce2ad9655bfc6b5e430644a88c5b75a09fdee1"
	},
	"PaymentDealerRequest": {
		"CardHolderFullName": "Ali Yılmaz",
		"CardNumber": "5555666677778888",
		"ExpMonth": "12",
		"ExpYear": "2019",
		"CvcNumber": "123",
		"Amount": 35.5,
		"Currency": "TL",
		"InstallmentNumber": "1",
		"ClientIP": "195.155.96.234",
		"OtherTrxCode": "123456",
		"IsPreAuth": 0,
		"IsPoolPayment": 0,
		"IntegratorId": 3,
		"Software": "OpenCart",
		"RedirectUrl": "https://pos.testmoka.com/DealerPayment/PayResult?MyTrxId=1A2B3CD456",
		"RedirectType": 0,
		"Description": "test açıklama",
		"BuyerInformation": {
			"BuyerFullName": "Elif Yetimoğlu",
			"BuyerEmail": "elif@elif.com",
			"BuyerGsmNumber": "1111111111",
			"BuyerAddress": "Cumhuriyet Mahallesi Taşdelen/Çekmeköy"
		}
	}
}

Başarılı İstek Sonucu

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


{
	"Data": "https://service.testmoka.com/PaymentDealerThreeDProcess?threeDTrxCode=0cc02f5fac4f-47fb-aa94-167582552caa",
	"ResultCode": "Success",
	"ResultMessage": "",
	"Exception": null
}

Başarısız İstek Sonucu

ResultCodeAçıklama
PaymentDealer.CheckPaymentDealerAuthentication.InvalidRequestHatalı hash bilgisi
PaymentDealer.CheckPaymentDealerAuthentication.InvalidAccountBöyle bir bayi bulunamadı
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.InvalidRequestJSON objesi yanlış oluşturulmuş
PaymentDealer.DoDirectPayment3dRequest.RedirectUrlRequired3D ödeme sonucunun döneceği RedirectURL verilmemiş
PaymentDealer.DoDirectPayment3dRequest.InvalidCurrencyCodePara birimi hatalı. (TL, USD, EUR şeklinde olmalı)
PaymentDealer.DoDirectPayment3dRequest.InvalidInstallmentNumberGeçersiz taksit sayısı girilmiş 1-12 arası olmalı
PaymentDealer.DoDirectPayment3dRequest.InstallmentNotAvailableForForeignCurrencyTransaction Yabancı para ile taksit yapılamaz
PaymentDealer.DoDirectPayment3dRequest.ForeignCurrencyNotAvailableForThisDealerBayinin yabancı parayla ödeme izni yok
PaymentDealer.DoDirectPayment3dRequest.PaymentMustBeAuthorizationÖn otorizasyon tipinde ödeme gönderilmeli
PaymentDealer.DoDirectPayment3dRequest.AuthorizationForbiddenForThisDealerBayinin ön otorizasyon tipinde ödeme gönderme izni yok
PaymentDealer.DoDirectPayment3dRequest.PoolPaymentNotAvailableForDealerBayinin havuzlu ödeme gönderme izni yok
PaymentDealer.DoDirectPayment3dRequest.PoolPaymentRequiredForDealerBayi sadece havuzlu ödeme gönderebilir
PaymentDealer.DoDirectPayment3dRequest.TokenizationNotAvailableForDealerBayinin kart saklama izni yok
PaymentDealer.DoDirectPayment3dRequest.CardTokenCannotUseWithSaveCardKart saklanmak isteniyorsa Token gönderilemez
PaymentDealer.DoDirectPayment3dRequest.CardTokenNotFoundGönderilen Token bulunamadı
PaymentDealer.DoDirectPayment3dRequest.OnlyCardTokenOrCardNumberHem kart numarası hem de Token aynı anda verilemez
PaymentDealer.DoDirectPayment3dRequest.ChannelPermissionNotAvailableBayinin bu kanaldan ödeme gönderme izni yok
PaymentDealer.DoDirectPayment3dRequest.IpAddressNotAllowedBayinin IP kısıtlaması var, sadece önceden belirtilen IP den ödeme gönderebilir
PaymentDealer.DoDirectPayment3dRequest.VirtualPosNotAvailableGirilen kart için uygun sanal pos bulunamadı
PaymentDealer.DoDirectPayment3dRequest.ThisInstallmentNumberNotAvailableForVirtualPosSanal Pos bu taksit sayısına izin vermiyor
PaymentDealer.DoDirectPayment3dRequest.ThisInstallmentNumberNotAvailableForDealerBu taksit sayısı bu bayi için yapılamaz
PaymentDealer.DoDirectPayment3dRequest.DealerCommissionRateNotFoundBayiye bu sanal pos ve taksit için komisyon oranı girilmemiş
PaymentDealer.DoDirectPayment3dRequest.DealerGroupCommissionRateNotFoundÜst bayiye bu sanal pos ve taksit için komisyon oranı girilmemiş
PaymentDealer.DoDirectPayment3dRequest.InvalidSubMerchantNameGönderilen bayi adı daha önceden Moka sistemine kaydedilmemiş
PaymentDealer.DoDirectPayment3dRequest.InvalidUnitPriceSatılan ürünler sepete eklendiyse, geçerli birim fiyatı girilmelidir
PaymentDealer.DoDirectPayment3dRequest.InvalidQuantityValueSatılan ürünler sepete eklendiyse, geçerli adet girilmelidir
PaymentDealer.DoDirectPayment3dRequest.BasketAmountIsNotEqualPaymentAmountSatılan ürünler sepete eklendiyse, sepet tutarı ile ödeme tutarı eşleşmelidir
PaymentDealer.DoDirectPayment3dRequest.BasketProductNotFoundInYourProductListSatılan ürünler sepete eklendiyse, geçerli ürün seçilmelidir
PaymentDealer.DoDirectPayment3dRequest.MustBeOneOfDealerProductIdOrProductCodeSatılan ürünler sepete eklendiyse, ürün kodu veya moka ürün ID si girilmelidir
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

Ödeme İşlemi Hata Kodları (Bankadan Alınan Hatalar)


resultCoderesultMessage
000Genel Hata
001Kart Sahibi Onayı Alınamadı
002Limit Yetersiz
003Kredi Kartı Numarası Geçerli Formatta Değil
004Genel Red
005Kart Sahibine Açık Olmayan İşlem
006Kartın Son Kullanma Tarihi Hatali
007Geçersiz İşlem
008Bankaya Bağlanılamadı
009Tanımsız Hata Kodu
010Banka SSL Hatası
011Manual Onay İçin Bankayı Arayınız
012Kart Bilgileri Hatalı - Kart No veya CVV2
013Visa MC Dışındaki Kartlar 3D Secure Desteklemiyor
014Geçersiz Hesap Numarası
015Geçersiz CVV
016Onay Mekanizması Mevcut Değil
017Sistem Hatası
018Çalıntı Kart
019Kayıp Kart
020Kısıtlı Kart
021Zaman Aşımı
022Geçersiz İşyeri
023Sahte Onay
0243D Onayı Alındı Ancak Para Karttan Çekilemedi
0253D Onay Alma Hatası
026Kart Sahibi Banka veya Kart 3D-Secure Üyesi Değil
027Kullanıcı Bu İşlemi Yapmaya Yetkili Değil
028Fraud Olasılığı
029Kartınız e-ticaret İşlemlerine Kapalıdır