IFrame Ödeme Sayfası

Gönderilecek Adres

İstenen Parametreler

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.

WebPosRequest

Parametre Açıklama
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.
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.
ClientWebPosTypeId (integer) IFrame çağırabilmek için bu alanın değeri "0" olarak gönderilmelidir.
IsThreeD (bool) 0: Doğrudan ödeme için IFrame oluşturulur.
1: 3D ödeme için IFrame oluşturulur.
Doğrudan satış yetkisi yok ise, 3D ödeme olarak kabul edilip ödeme oluşturulur.
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.
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 mutlaka saklanacak
2 : Kartının saklanıp saklanmayacağına ödeme yapan müşteri karar verecek
Language (string) Kullanıcıya gösterilecek arayüzün dili. İngilizce dil seçeneği için "en", varsayılan olarak gelen dil seçeneği Türkçe için "tr" yazılır veya alan boş gönderilir.
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.)
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) Sonucun yönlendirileceği sayfanın tipi – Opsiyonel alandır,hiç gönderilmezse veya 0 gönderilirse, ödeme işleminin sonucu IFrame’ i içeren ana sayfaya yönlendirilir; 1 gönderilirse sonuç, IFrame içerisine yönlendirilir.
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.
BuyerGsmNumber (string) Opsiyonel alandır.Alıcının cep telefonu numarasıdır. 10 hane olarak, boşluksuz girilmelidir.
BuyerEmail (string) Opsiyonel alandır.Alıcının eposta adresidir.
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 Mokaya 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)

Örnek İstek (JSON)


{
   "PaymentDealerAuthentication":{
      "DealerCode":"xxx",
      "Username":"xxx",
      "Password":"xxx",
      "CheckKey":"28ba1f316e661ee7a0477a13aa30613da548c94a8098829af9255b04d7e916e3"
   },
   "WebPosRequest":{
      "Amount":0.01,
      "Currency":"TL",
      "InstallmentNumber":1,
      "OtherTrxCode":"",
      "ClientWebPosTypeId":0,
      "IsThreeD":1,
      "IsPoolPayment":0,
      "IsPreAuth":0,
      "IsTokenized":0,
      "Language":"",
      "SubMerchantName":"",
      "Description":"test açıklama",
      "ReturnHash":1,
      "RedirectUrl":"https://service.TestMoka.com/PaymentDealerThreeD",
      "RedirectType":0,
      "BuyerInformation":{
         "BuyerFullName":"Ali Yılmaz",
         "BuyerGsmNumber":"5551110022",
         "BuyerEmail":"",
         "BuyerAddress":"Tasdelen / Çekmeköy"
      },
      "CustomerInformation":{
         "DealerCustomerId":"",
         "CustomerCode":"1234",
         "FirstName":"Ali",
         "LastName":"Yılmaz",
         "Gender":"1",
         "BirthDate":"19901218",
         "GsmNumber":"",
         "Email":"aliyilmaz@xyz.com",
         "Address":"",
         "CardName":""
      }
   }
}

Başarılı İstek Sonucu

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


{
	"Data":{
      "Url":"https://clientwebpos.moka.com/iframe/e158b5b7-ed93-4b59-9eaf-e1a30536ef85",
      "CodeForHash":"9FDFBDFC-42C5-417E-AA93-E4D9D5312AAC"
	},
	"ResultCode":"Success",
	"ResultMessage":"",
	"Exception":null
}

Başarısız İstek Sonucu

ResultCodeAçıklama
ClientWebPos.CreateWebPosRequest.InvalidRequest Geçersiz istek
ClientWebPos.CreateWebPosRequest.InvalidAccountBöyle bir bayi bulunamadı.
ClientWebPos.CreateWebPosRequest.InvalidAmountGeçersiz tutar
ClientWebPos.CreateWebPosRequest.RedirectURLNotGivenRedirect URL verilmemiş.
ClientWebPos.CreateWebPosRequest.IpAddressNotAllowedBu Ip adresine izin verilmiyor.
ClientWebPos.CreateWebPosRequest.ChannelPermissionNotAvailableKanal izni tanımlı değil.
ClientWebPos.CreateWebPosRequest.ForeignCurrencyNotAvailableForThisDealer Yabancı para ile ödeme bayi için tanımlı değil.
ClientWebPos.CreateWebPosRequest.InstallmentNumberNotAvailableForDealerBu taksit sayısı bu bayi için yapılamaz.
ClientWebPos.CreateWebPosRequest.InvalidInstallmentNumberTaksit sayısı 2 ile 12 arasıdır.
ClientWebPos.CreateWebPosRequest.DailyDealerLimitExceededBayi için tanımlı günlük limitlerden herhangi biri aşıldı.
ClientWebPos.CreateWebPosRequest.MonthlyDealerLimitExceededBayi için tanımlı aylık limitlerden herhangi biri aşıldı
ClientWebPos.CreateWebPosRequest.InvalidSubMerchantNameBayiye tanımlanmış submerchant var ve hatalıysa
ClientWebPos.CreateWebPosRequest.InvalidBuyerEmailGeçersiz alıcı e-maili
ClientWebPos.CreateWebPosRequest.InvalidBuyerGsmNumberGeçersiz alıcı telefon numarası
ClientWebPos.CreateWebPosRequest.InvalidUnitPriceGeçersiz birim fiyat
ClientWebPos.CreateWebPosRequest.InvalidQuantityValueGeçersiz miktar
ClientWebPos.CreateWebPosRequest.BasketProductNotFoundInYourProductListSepetinizde ürün bulunamadı.
ClientWebPos.CreateWebPosRequest.MustBeOneOfProductIdOrProductCodeÜrün id veya ürün kodundan biri olmalıdır.
ClientWebPos.CreateWebPosRequest.BasketProductNotFoundSepete eklenen ürün bulunamadı.
ClientWebPos.CreateWebPosRequest.BasketAmountIsNotEqualPaymentAmountSepetteki tutarla ödeme tutarı eşit değil.
ClientWebPos.CreateWebPosRequest.PaymentMustBeAuthorizationÖdeme yetkilendirilmeli.
ClientWebPos.CreateWebPosRequest.AuthorizationForbiddenForThisDealerBu bayi için yetki kaldırılmıştır.
ClientWebPos.CreateWebPosRequest.PoolPaymentNotAvailableForDealerBu bayi için havuz ödemesi tanımlı değil.
ClientWebPos.CreateWebPosRequest.PoolPaymentRequiredForDealerBu bayi için havuz ödemesi zorunlu.
ClientWebPos.CreateWebPosRequest.TokenizationNotAvailableForDealerBu bayi için kart saklama izni tanımlı değil.
ClientWebPos.CreateWebPosRequest.CustomerInfoIsRequiredToSaveTheCardKartı kaydetmek için müşteri bilgisi gerekiyor.
ClientWebPos.CreateWebPosRequest.FirstNameIsRequiredToSaveTheCardKartı kaydetmek için adınız gerekiyor.
ClientWebPos.CreateWebPosRequest.InvalidGsmNumberGeçersiz telefon numarası
ClientWebPos.CreateWebPosRequest.InvalidEmailGeçersiz e-mail
ClientWebPos.CreateWebPosRequest.DealerCustomerNotExistsBayi müşterisi yok.
ClientWebPos.CreateWebPosRequest.DealerCustomerIdAndCustomerCodeConflictedBayi müşteri id ve müşteri kodu uyuşmuyor.
EXBeklenmeyen bir hata oluştu.

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


{
	"Data":null,
	"ResultCode":"ClientWebPos.CreateWebPosRequest.ForeignCurrencyNotAvailableForThisDealer",
	"ResultMessage":"",
	"Exception":null
}