Payment Update

Service Address

Request 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.

PaymentDealerRequest

Parameter Explanation
OtherTrxCode (string) (optional) You can submit your own Unique Transaction Code in this field for reconciliation. Note: You can find out the payment status by using this code while getting the dealer payment detail list.
Software (string) The name of the e-commerce package or software that you call this service integrated with the Moka payment system. (Max 30 characters)
Description (string) 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.)
CommissionScenario (integer) It is the commission option that is decided by the top dealer and tells how the commissions to be deducted from the sub-dealers that have participated in this sale will be calculated.
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) Optional field. It is the address of the recipient.
SubDealer (Array - List)
DealerId (integer) It is the dealer number of the sub-dealer that will receive the payment.
Amount (decimal) It is the transaction amount of the sub-dealer within the main amount.
DealerCommissionRate (decimal) It is the percentage commission rate that will be deducted from the sub-dealer.
DealerCommissionAmount (decimal) It is the TL commission rate to be deducted from the sub-dealer.
DealerCommissionFixedAmount (decimal) The fixed commission to be deducted from the sub-dealer is TL amount.
GroupRevenueRate (decimal) It is the percentage revenue rate that the top dealer requests instantly for a payment.
GroupRevenueAmount (decimal) It is the TL income amount that the top dealer requests instantly for a payment.
AmountToBeCommissioned (decimal) It is the amount to which the commission desired to be reflected to the sub-dealer will be applied.
IsIncludedFixedAmount (integer) If there is a fixed amount defined for the parent dealer and it is requested to be added to the payment of this sub dealer, this field 1 is sent. If it will not be added, it is left blank or sent as 0

Sample Request (JSON)


{
   "PaymentDealerAuthentication":{
      "DealerCode":"XXX",
      "Username":"XXX",
      "Password":"XXX",
      "CheckKey":"28ba1f316e661ee7a0477a13aa30613da548c94a8098829af9255b04d7e916e3"
   },
   "PaymentDealerRequest":{
      "OtherTrxCode":"20201221172055",
      "Software":"Possimulation",
      "Description":"",
      "CommissionScenario":2,
      "BuyerInformation":{
         "BuyerFullName":"",
         "BuyerGsmNumber":"",
         "BuyerEmail":"",
         "BuyerAddress":"Tasdelen / Çekmeköy"
      },
      "SubDealer":[
         {
            "DealerId":167,
            "Amount":150,
            "DealerCommissionRate":"2.00",
            "DealerCommissionAmount":"",
            "DealerCommissionFixedAmount":"0",
            "GroupRevenueRate":"",
            "GroupRevenueAmount":"",
            "AmountToBeCommissioned":"",
            "IsIncludedFixedAmount":""
         }
      ]
   }
}

Successful Request Result

Successful Result Example


{
   "Data":{
      "DealerPaymentId":64318,
      "OtherTrxCode":"20201221172055",
      "VirtualPosOrderId":"Test-50e76e51-6baf-4640-bbc5-1bd93120699b"
   },
   "ResultCode":"Success",
   "ResultMessage":"",
   "Exception":null
}

Failed Request Result

ResultCodeExplanation
PaymentDealer.UpdateDealerPaymentMarketPlace.InvalidRequestThe CheckKey may be bad, or the object may be bad, or the JSON may be corrupt.
PaymentDealer.CheckPaymentDealerAuthentication.InvalidRequestNo such dealer was found, Dealer code, dealer username and/or password were entered incorrectly.
PaymentDealer.UpdateDealerPaymentMarketPlace.ChannelPermissionNotAvailableThe reseller is not authorized to send a payment request.
PaymentDealer.UpdateDealerPaymentMarketPlace.IpAddressNotAllowedThe IPs that the dealer can access are restricted.
PaymentDealer.UpdateDealerPaymentMarketPlace.MustNeedDealerPaymentIdOrOtherTrxCodeOrVirtualPosOrderIdDealerPaymentId or OtherTrxCode or VirtualPosOrderId must be defined for the dealer.
PaymentDealer.UpdateDealerPaymentMarketPlace.CannotFoundPaymentNo such payment was found.
PaymentDealer.UpdateDealerPaymentMarketPlace.InvalidCommissionScenario Invalid Commission Scenario
PaymentDealer.UpdateDealerPaymentMarketPlace.SubDealerInfoRequiredSub-dealer information required.
PaymentDealer.Fields.InvalidSoftwareLengthInvalid software name length
PaymentDealer.Fields.InvalidDescriptionLengthInvalid description length
PaymentDealer.Fields.InvalidBuyerFullNameLengthInvalid FullName length
PaymentDealer.Fields.InvalidBuyerGsmNumberLengthInvalid number length
PaymentDealer.Fields.InvalidBuyerAddressLengthInvalid address length
PaymentDealer.CheckSubDealer.InvalidSubDealerIdSub-dealer ID is invalid
PaymentDealer.CheckSubDealer.InvalidSubDealerAmountThe sub-dealer's amount information is invalid
PaymentDealer.CheckSubDealer.MoreThanOneSameSubDealerMore than one same sub-dealer defined
PaymentDealer.CheckSubDealer.SubDealerAmountTotalMustBeEqualPaymentAmountThe sum of the sub-dealer's amount must be equal to the payment amount.
PaymentDealer.CheckSubDealer.InconsistentForScenarioOne1.Conflicting information available for scenario
PaymentDealer.CheckSubDealer.InconsistentForScenarioTwo2.Conflicting information available for scenario
PaymentDealer.CheckSubDealer.InconsistentForScenarioThree3. Conflicting information available for scenario
PaymentDealer.CheckSubDealer.InconsistentForScenarioFour4. Conflicting information available for scenario
PaymentDealer.CheckSubDealer.InconsistentForScenarioFive5. Conflicting information available for scenario
PaymentDealer.CheckSubDealer.InvalidDealerCommissionRateInvalid Reseller Commission Rate
PaymentDealer.CheckSubDealer.InvalidDealerCommissionFixedAmountInvalid Dealer Commission Fixed Amount
PaymentDealer.CheckSubDealer.InvalidDealerCommissionAmountInvalid Dealer Commission Amount
PaymentDealer.CheckSubDealer.InvalidGroupRevenuePercentageInvalid Group Income Percentage
PaymentDealer.CheckSubDealer.InvalidAmountToBeCommissionedThe amount to be applied to the commission to be reflected to the sub-dealer is invalid.
PaymentDealer.CheckSubDealer.AmountToBeCommissionedTotalMustBeEqualPaymentAmountThe amount to be applied to the commission to be reflected to the sub-dealer must be equal to the total amount.
PaymentDealer.CheckSubDealer.InvalidGroupRevenueAmountInvalid Group Income Amount
PaymentDealer.CheckSubDealer.InvalidCommissionScenarioInvalid Commission Scenario
PaymentDealer.UpdateDealerPaymentMarketPlace.InvalidSubDealerInvalid Sub-Reseller
PaymentDealer.UpdateDealerPaymentMarketPlace.DealerGroupNotFoundOrMarketPlacePermissionThe Dealer Group could not be found or there is no Marketplace permission.
PaymentDealer.UpdateDealerPaymentMarketPlace.DealerCommissionRateNotFoundReseller Commission Rate not found.
PaymentDealer.UpdateDealerPaymentMarketPlace.DealerGroupCommissionRateNotFoundDealer Group commission rate not found.
PaymentDealer.UpdateDealerPaymentMarketPlace.MustBeSelectedIncludedFixedAmountToOneSubDealerA fixed amount must be chosen for a sub-dealer.
EX An unexpected error has occurred

Example of Failed Result


{
   "Data":null,
   "ResultCode":" PaymentDealer.UpdateDealerPaymentMarketPlace.InvalidSubDealer ",
   "ResultMessage":"",
   "Exception":null
}

Explanation