Create a mandate

Create a new DebiPay mandate with the customer, payment method, and amount details required by the API.

POSThttps://api.debipay.co.za/api/v1/mandates
Loading code example

Body

idstringrequired
Length: >= 0, <= 36
addressobject
address.streetAddressstringrequired
address.suburbnull | string
address.citystringrequired
address.provinceIdinteger | string<int32>
Pattern: ^-?(?:0|[1-9]\d*)$
address.postalCodenull | string
address.blockOrFloorLevelnull | string
amountnumber | string<double>
Pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
startDatestring<date-time>
actionDayIdinteger | string<int32>
Pattern: ^-?(?:0|[1-9]\d*)$
bankAccountany
bankCardany
paymentMethodIdinteger | string<int32>
Pattern: ^-?(?:0|[1-9]\d*)$
mandateTypeIdinteger | string<int32>
Pattern: ^-?(?:0|[1-9]\d*)$
mandateServiceTypeIdinteger | string<int32>
Pattern: ^-?(?:0|[1-9]\d*)$
maximumAmountnumber | string<double>
Pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
initialAmountnumber | string<double>
Pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
adjustmentRatenumber | string<double>
Pattern: ^-?(?:0|[1-9]\d*)(?:\.\d+)?$
payerstringrequired
signatoryFirstNamestring
signatoryLastNamestring
customerIdstring
contactEmailnull | string
contactNumberstringrequired
signatureUrlnull | string
referencenull | string
merchantIdstring
identificationNumberstring
identificationTypeIdinteger | string<int32>
Pattern: ^-?(?:0|[1-9]\d*)$
countryIdstring
telephonenull | string

Use this endpoint to create a new mandate for a payer. The request payload includes the core mandate fields such as the mandate identifier, payer, contact number, amount, dates, and optional payment method information.

The schema for this operation includes a rich mandate object, so review the generated request body in the right panel before sending your first request.

Fields to expect

Common fields in the request include:

  • id for the mandate identifier
  • payer and contactNumber as required values
  • amount, startDate, and actionDayId for payment timing
  • bankAccount, bankCard, or paymentMethodId for the chosen payment method
  • Optional customer and merchant identifiers such as customerId, merchantId, and reference

Typical use cases

  • Set up a recurring debit mandate for a customer.
  • Register a new mandate alongside a merchant account.
  • Capture the signatory and contact details needed for mandate processing.

If you need to modify an existing mandate after creation, use the update endpoint rather than creating a duplicate mandate.