Add Payment Plan

Service Address

Request Parameters

DealerSaleAuthentication

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.

DealerSaleRequest

Parameter Explanation
DealerSaleId (integer) Not required if SaleCode is submitted. On the Moka side, it is the Unique ID of the sale.
SaleCode (string) Not required if DealerSaleId is submitted. On the dealer side, it is the code of the sale.
PaymentDate (string) What date to shoot (in "YYYYMMDD" format)
Amount (decimal) Amount to be withdrawn. ( eg: 25.45 )
Currency (string) It is not a required field. If nothing is sent or an empty string is sent, the default currency is TL. (other values ​​: "USD", "EUR")
InstallmentNumber (integer) Installment amount (1: Single payment, 2: 2 Installments ...)

Sample Request (JSON)


{
	"DealerSaleAuthentication": {
		"DealerCode": "xxx",
		"Username": "xxx",
		"Password": "xxx",
		"CheckKey": "aabbccddeeff"
	},
	"DealerSaleRequest": {
		"DealerPaymentPlanId": "1003",
		"PaymentDate": "20170825",
		"Amount": "1",
		"Currency": "TL",
		"InstallmentNumber": "1"
	}
}

Successful Request Result

Parameter Explanation
DealerPaymentPlanId (integer) This is the Unique Id given by Moka for this payment step.
DealerSaleId (integer) On the Moka side, it is the Id of the sale to which this payment step is added.
SaleCode (integer) It is the code of the sale to which this payment step is added on the dealer side.
PaymentDate (string) Date of shooting
Amount (decimal) Amount to be withdrawn
Currency (string) Currency unit
InstallmentNumber (integer) Installment information
HistoryDate (datetime) This field will be blank because the payment has not started yet.
CardToken (guid) Token returns empty because no payment has been made yet.
DealerCustomerTypeId (integer) If payment is made by sending a payment request, it will be filled.
UserPosPaymentId (integer) If payment is made by sending a payment request, it will be filled..
DealerPaymentId (integer) Since this payment step has not turned into a payment yet, the Payment Id returns empty..
IsManualPlan (boolean) Since this payment step is entered manually, it returns "true".
PlanStatus (integer) When the payment step is created, the first Status is "0".

Successful Result Example


{
	"Data": {
		"DealerPaymentPlanId": 1003,
		"DealerSaleId": 1003,
		"SaleCode": "satis",
		"PaymentDate": "20170825",
		"Amount": 1,
		"Currency": "TL",
		"InstallmentNumber": 1,
		"HistoryDate": "",
		"CardToken": "",
		"DealerCustomerTypeId": 0,
		"UserPosPaymentId": 0,
		"DealerPaymentId": 0,
		"IsManualPlan": true,
		"PlanStatus": 0
	},
	"ResultCode": "Success",
	"ResultMessage": "",
	"Exception": null
}

Failed Request Result

ResultCodeExplanation
DealerSale.AddPaymentPlan.InvalidRequestThe CheckKey may be bad, or the object may be bad, or the JSON may be corrupt.
DealerSale.AddPaymentPlan.SaleCodeOrDealerSaleIdMustBeGivenSales code or dealer sales id must be entered.
DealerSale.AddPaymentPlan.AmountIsRequiredAmount information required.
DealerSale.AddPaymentPlan.PaymentDateIsRequiredDate of shooting is required.
DealerSale.AddPaymentPlan.InvalidInstallmentNumberThe installment number is invalid
DealerSale.AddPaymentPlan.InvalidDateFormatPaymentDateThe format of the shooting date information is invalid.
DealerSale.AddPaymentPlan.PaymentDatePassedThe shooting date has passed..
DealerSale.AddPaymentPlan.InvalidCurrencyCodeThe currency code is invalid.
DealerSale.AddPaymentPlan.DealerSaleIsNotManualPlanDealer sale is not a manual plan.
DealerSale.AddPaymentPlan.SaleEndDatePassedThe deadline to shoot for the sale has passed
DealerSale.AddPaymentPlan.PaymentDateMustBeAfterSaleBeginDateThe payment date must be after the start date of the sale.
DealerSale.AddPaymentPlan.PaymentDateMustBeBeforeSaleEndDateThe payment date must be before the end of the sale.
EX An unexpected error has occurred

Example of Failed Result


{
	"Data": null,
	"ResultCode": "DealerSale.AddPaymentPlan. DealerSaleIsNotManualPlan",
	"ResultMessage": "",
	"Exception": null
}