SpareSpare Docs
GuidesAPI Reference

Fixed Defined Schedule

Instructions fields for FixedDefinedSchedule on POST /payment-requests.

FixedDefinedSchedule creates a mandate that debits fixed amounts on specific calendar dates you list up front. Use it for installment plans or loan schedules where each date and amount is known.

Shared root fields (type, creditorAccount, redirects, and the rest) live on the Payment Request Deep Dives intro. This page covers Fixed Defined Schedule instructions only.

When To Use

Use FixedDefinedSchedule when each payment has a fixed amount paired with a specific calendar date in a predefined list. The dates need not follow a regular daily, weekly, monthly, or yearly pattern.

Typical products:

  • Instalment payment plans with known dates and amounts
  • Loan or repayment schedules where every date-amount pair is fixed up front

For a max amount per date on the same model, use Variable Defined Schedule.

Example use case

A payer agrees to three payments to a service provider on a non-regular schedule. Each entry has a fixed amount and an execution date. For example, two payments of AED 5,000 and a final payment of AED 35,000, each on its own date.

Instructions

FieldPresenceDescription
paymentScheduleRequiredNon-empty list of dated fixed amounts. Domestic max 53 entries.
maxCumulativeAmountOptionalMaximum cumulative value of payments over the lifetime of the consent. When set, must equal the total value of all payments listed in paymentSchedule.
maxCumulativeNumberOfPaymentsOptionalMaximum cumulative number of payments over the lifetime of the consent. When set, must equal the number of payments listed in paymentSchedule. Must be greater than zero.
isInternationalPaymentOptionalWhen true, paymentSchedule must contain exactly one entry.

paymentSchedule[] entry

FieldPresenceDescription
paymentExecutionDateRequiredFuture date (not today). Unique within the array.
amountRequiredFixed amount for that date. Must be greater than zero.

Example Request

Complete body for a two-installment Fixed Defined Schedule. When you include lifetime caps, maxCumulativeAmount is AED 1000.00 and maxCumulativeNumberOfPayments is 2.

{
  "type": "FixedDefinedSchedule",
  "creditorType": "MERCHANT",
  "creditorReference": "LOAN4471",
  "merchantReference": "fds-loan-4471",
  "purpose": "GDDS",
  "creditorAccount": {
    "schemeName": "IBAN",
    "identification": "AE070331234567890123456",
    "name": "Acme Trading LLC"
  },
  "successRedirectUrl": "https://merchant.example/payments/success",
  "failureRedirectUrl": "https://merchant.example/payments/failure",
  "instructions": {
    "maxCumulativeNumberOfPayments": 2,
    "maxCumulativeAmount": { "amount": "1000.00", "currency": "AED" },
    "paymentSchedule": [
      {
        "paymentExecutionDate": "2026-09-01",
        "amount": { "amount": "500.00", "currency": "AED" }
      },
      {
        "paymentExecutionDate": "2026-10-01",
        "amount": { "amount": "500.00", "currency": "AED" }
      }
    ]
  }
}

What Fails

Spare rejects the create when:

  • paymentSchedule is missing or empty
  • paymentSchedule has more than 53 entries on a domestic request
  • isInternationalPayment is true and paymentSchedule has more than one entry
  • any paymentExecutionDate is today or in the past
  • two or more entries share the same paymentExecutionDate
  • an entry is missing amount, or the nested amount value is zero or negative
  • maxCumulativeAmount is set and does not equal the sum of all entry amounts
  • maxCumulativeNumberOfPayments is set and does not equal the number of paymentSchedule entries
  • maxCumulativeNumberOfPayments is set to zero or a negative value
  • root maxCumulativeAmount is negative

See Error codes for response shapes.

On this page