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 kullanıcı adı
Password (string) Moka sistemi tarafından verilen şifre
CheckKey (string) Kontrol anahtarı (DealerCode + "MK" + Username + "PD" + Password) bilgileriyle elde edilen anahtar SHA-256 hash algoritmasından geçirilerek bu alanda gönderilecektir

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)
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 9 arasında bir değer gönderilmelidir.
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
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) Açıklama alanıdır(opsiyonel). Ödemeye ilişkin bir açıklama yazmak istenirse bu alana yazılabilir. (200 karaktere kadar yazılabilir.)

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

ResultCode Açıklama
PaymentDealer.CheckPaymentDealerAuthentication.InvalidRequest Hatalı hash bilgisi
PaymentDealer.CheckPaymentDealerAuthentication.InvalidAccount Böyle bir bayi bulunamadı
PaymentDealer.CheckPaymentDealerAuthentication.VirtualPosNotFound Bu 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.DailyCardLimitExceeded Gün içinde bu kart kullanılarak daha fazla işlem yapılamaz
PaymentDealer.CheckCardInfo.InvalidCardInfo Kart bilgilerinde hata var
PaymentDealer.DoDirectPayment.ThreeDRequired 3d zorunlu
PaymentDealer.DoDirectPayment.InstallmentNotAvailableForForeignCurrencyTransaction Yabancı para ile taksit yapılamaz
PaymentDealer.DoDirectPayment.ThisInstallmentNumberNotAvailableForDealer Bu taksit sayısı bu bayi için yapılamaz
PaymentDealer.DoDirectPayment.InvalidInstallmentNumber Taksit sayısı 2 ile 9 arasıdır
PaymentDealer.DoDirectPayment.ThisInstallmentNumberNotAvailableForVirtualPos Sanal 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