Common Payment Page

Address to Send

Required Parameters

PaymentDealerAuthentication

Parameter Explanation
DealerCode(string) Dealer code issued by the Moka system
Username (string) Api username given by Moka system
Password (string) Api password given by Moka system
CheckKey (string) The control key (DealerCode + "MK" + Username + "PD" + Password) is created by passing this information, combined as a String, through the SHA-256 hash algorithm.
Click here to go to the trial screen.

WebPosRequest

Parameter Explanation
Amount (decimal) Payment amount (The Kurus part is written with a dot. For example: 27.50)
Currency (string) Currency unit. Optional field, if not sent at all or empty, default is TL, Other values: USD, EUR, GBP
InstallmentNumber (integer) Number of Installments. It is an optional field, if it is not sent at all, if it is sent blank, if 0 or 1 is sent, it means Advance sale. A value between 2 and 12 must be sent for Installment.
OtherTrxCode (string) You can submit your own Unique Transaction Code in this field for reconciliation. (Can also be sent blank). Note: You can find out the payment status by using this code while getting the dealer payment detail list.
ClientWebPosTypeId (integer) The value of this field must be sent as "1" to be a co-payment.
IsThreeD (bool) 0: The co-payment page is created for direct payment
1: A common payment page is created for 3D payment.
If there is no direct sales authorization, it is accepted as a 3D payment and the payment is created.
IsPoolPayment (tinyint) Pool payment ?
0 : No - The amount withdrawn from the card is credited to the dealer's account the next day or later, according to the agreement between Moka and the dealer.
1 : Yes - The money will be withdrawn from the credit card but kept in the pool. The dealer will approve the payment after the customer receives the service or product, and the payment for this transaction will be reflected on the dealer's statement after approval. Until the dealer approves the pool payment, this payment is not included in the statement. Set this field to 1 to send a payment in the pool system.
IsPreAuth (tinyint) Pre-authorization process ?
0 : No - Direct Capture Process
1 : Yes - Pre-authorization Process (Must be converted to payment with DoCapture service after a while)
IsTokenized (tinyint) Will the card entered for payment be stored in the Moka system? (The dealer must be receiving card storage service in order to keep the card)
0 : The card will not be kept
1 : The card will be kept
2 : The paying customer will decide whether to keep the card or not.
Language (string) (optional) The language of the interface to be displayed to the user. Type "en" for the English language option, "tr" for the default language option Turkish, or the field is sent blank
SubMerchantName (string) (optional) Name you want to appear on statement – Mokaya must be notified in advance
Description (string)(optional) Description field. If you want to write a description about the payment, it can be written in this field. (Up to 200 characters can be written.)
ReturnHash (tinyint) Its value must be given as 1. When the 3D Payment flow is completed, your RedirectURL will be notified whether the transaction was successful or not by adding the letter T or F to the end of the CodeForHash code returned in the response of this service.
RedirectUrl (string) As a result of the 3D transaction, the dealer web page where the successful or unsuccessful transaction result is returned and the user is directed. While giving this URL, if you write your own transaction ID as a parameter at the end, you will determine which transaction you have received.
Example : https://www.mysite.com/PayResult?MyTrxId=1A2B3C4DF5R
Important Note : For your security, prefer your own transaction code that you write at the end of the URL to be an unpredictable code.
RedirectType (integer) Type of page to redirect the result to – Optional field. Default value is 0 (zero).
BuyerInformation (Array)(optional) These are the fields related to the customer who buys a product/service from our dealer. Although it is not mandatory to send these fields, sharing them with Moka is in the interests of both our dealer and Moka in case of future payment related problems.

BuyerFullName (string) Optional field. Name and surname of the recipient.
BuyerEmail (string) Optional field. Recipient's e-mail address.
BuyerGsmNumber (string) Optional field. It is the mobile phone number of the recipient. It must be entered as 10 digits, without spaces.
BuyerAddress (string) OOptional field. It is the address of the recipient.
BasketProduct (Array)(optional)

ProductId (integer) It is the product ID.
ProductCode (string) It is the special code of the product on the dealer side.
UnitPrice (integer) It is the unit price.
Quantity (integer) The quantity of the product.
CustomerInformation (Array)(optional) If card information is also desired to be stored during payment and the dealer's card storage service is activated by Moka, then this information block can be sent to create a customer and add the card number used for payment to this customer.

DealerCustomerId (integer)The Unique ID of this customer in the Moka system, if this customer has been registered in the Moka system before.
CustomerCode (string)The Unique ID of this customer in your system. If this code has already been registered in Mokaya, you can also send a payment request with this code and if the card is to be stored, it will be stored under the customer. If this client is to be registered for the first time, it is registered with this code
FirstName (string)If the customer is to be registered in the Moka system for the first time, the customer's name is entered.
LastName (string)If the customer is to be registered in the Moka system for the first time, the customer's surname is entered. (optional)
Gender (tinyint)If the customer is to be registered in the Moka system for the first time, the gender of the customer is entered. (optional) 1: male 2: female
BirthDate (string)If the customer is to be registered in the Moka system for the first time, the date of birth of the customer is entered. (optional)
GsmNumber (string)If the customer is to be registered in the Moka system for the first time, the customer's mobile phone is entered. (optional)
Email (string)If the customer is to be registered in the Moka system for the first time, the customer's email address is entered. (optional)
Address (string)If the customer is to be registered in the Moka system for the first time, the customer's residential address is entered. (optional)
CardName (string)Name given to the card (Ex: “My maximum card”) (Max 50 characters)

Sample Request (JSON)


{
   "PaymentDealerAuthentication":{
      "DealerCode":"xxx",
      "Username":"xxx",
      "Password":"xxx",
      "CheckKey":"28ba1f316e661ee7a0477a13aa30613da548c94a8098829af9255b04d7e916e3"
   },
   "WebPosRequest":{
      "Amount":185,
      "Currency":"TL",
      "InstallmentNumber":1,
      "OtherTrxCode":"3D5ABC24-456",
      "ClientWebPosTypeId":1,
      "IsThreeD":1,
      "IsPoolPayment":0,
      "IsPreAuth":0,
      "IsTokenized":0,
      "Language":"",
      "SubMerchantName":"",
      "Description":"test açıklama",
      "ReturnHash":1,
      "RedirectUrl":"https:/pos.testmoka.com/CheckoutResult?MyId=3D5ABC24-456",
      "RedirectType":0,
      "BuyerInformation":{
         "BuyerFullName":"Elif Yetimoğlu",
         "BuyerGsmNumber":"1111111111",
         "BuyerEmail":"elif@elif.com",
         "BuyerAddress":"Cumhuriyet Mahallesi Taşdelen/Çekmeköy"
      },
      "CustomerInformation":{
         "DealerCustomerId":"",
         "CustomerCode":"H11",
         "FirstName":"Zeynep",
         "LastName":"Hashan",
         "Gender":"2",
         "BirthDate":"19901218",
         "GsmNumber":"5555555555",
         "Email":"zeynep.hashan@moka.com",
         "Address":"Ümraniye/İstanbul",
         "CardName":""
      }
   }
}

Successful Request Result

Successful Result Example


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

Failed Request Result

ResultCodeExplanation
ClientWebPos.CreateWebPosRequest.InvalidRequest Invalid request
ClientWebPos.CreateWebPosRequest.InvalidAccountNo such dealer was found.
ClientWebPos.CreateWebPosRequest.InvalidAmountInvalid amount
ClientWebPos.CreateWebPosRequest.RedirectURLNotGivenNo redirect URL given.
ClientWebPos.CreateWebPosRequest.IpAddressNotAllowedThis IP address is not allowed..
ClientWebPos.CreateWebPosRequest.ForeignCurrencyNotAvailableForThisDealer Payment in foreign currency is not defined for the dealer.
ClientWebPos.CreateWebPosRequest.InstallmentNumberNotAvailableForDealerThis number of installments cannot be made for this dealer.
ClientWebPos.CreateWebPosRequest.InvalidInstallmentNumberThe number of installments is between 2 and 12.
ClientWebPos.CreateWebPosRequest.DailyDealerLimitExceededAny of the monthly limits defined for the dealer have been exceeded.
ClientWebPos.CreateWebPosRequest.MonthlyDealerLimitExceededAny of the monthly limits defined for the dealer have been exceeded.
ClientWebPos.CreateWebPosRequest.ChannelPermissionNotAvailableChannel permission is not defined.
ClientWebPos.CreateWebPosRequest.InvalidSubMerchantNameIf there is a submerchant defined for the dealer and it is incorrect
ClientWebPos.CreateWebPosRequest.InvalidBuyerEmailInvalid recipient email
ClientWebPos.CreateWebPosRequest.InvalidBuyerGsmNumberInvalid recipient phone number
ClientWebPos.CreateWebPosRequest.InvalidUnitPriceInvalid unit price
ClientWebPos.CreateWebPosRequest.InvalidQuantityValueInvalid amount
ClientWebPos.CreateWebPosRequest.BasketProductNotFoundInYourProductListNo product found in your cart.
ClientWebPos.CreateWebPosRequest.MustBeOneOfProductIdOrProductCodeIt must be one of the Product Id or the product code.
ClientWebPos.CreateWebPosRequest.BasketProductNotFoundThe product added to the cart could not be found.
ClientWebPos.CreateWebPosRequest.BasketAmountIsNotEqualPaymentAmountThe amount in the cart is not equal to the payment amount.
ClientWebPos.CreateWebPosRequest.PaymentMustBeAuthorizationPayment must be authorized.
ClientWebPos.CreateWebPosRequest.AuthorizationForbiddenForThisDealerAuthorization has been revoked for this dealer.
ClientWebPos.CreateWebPosRequest.PoolPaymentNotAvailableForDealer Pool payment is not defined for this dealer.
ClientWebPos.CreateWebPosRequest.PoolPaymentRequiredForDealer Pool payment required for this dealer
ClientWebPos.CreateWebPosRequest.TokenizationNotAvailableForDealerCard storage permission is not defined for this dealer
ClientWebPos.CreateWebPosRequest.CustomerInfoIsRequiredToSaveTheCardCustomer information is required to register the card.
ClientWebPos.CreateWebPosRequest.FirstNameIsRequiredToSaveTheCard Your name is required to register the card.
ClientWebPos.CreateWebPosRequest.InvalidGsmNumberInvalid phone number
ClientWebPos.CreateWebPosRequest.InvalidEmailInvalid e-mail
ClientWebPos.CreateWebPosRequest.DealerCustomerNotExistsThere are no dealer customers.
ClientWebPos.CreateWebPosRequest.DealerCustomerIdAndCustomerCodeConflicted Dealer customer ID and customer code do not match.
EXAn unexpected error has occurred.

Example of Failed Result


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