Contains the core details of the mandate cancellation request.
Field Usage Guidelines:
originalMessageInformation: ONLY required for in-flight cancellations (when a mandate initiation or amendment is still pending or has timed out). It identifies the specific pending message to cancel.
Provides details about the reason for a mandate cancellation.
Field Usage Guidelines: reason: For South African Mandate Schemes the reason for the cancellation is specified as one of the below PROPRIETARY values:
CEXP- Contract expired.MACN- Cancellation of Mandate Amendment (Strictly used when cancelling an in-flight MandateAmendmentRequest).MICN- Cancellation of Mandate Initiation (Strictly used when cancelling an in-flight MandateInitiationRequest).MCES- Mandate Cancelled due to early settlement.MCFR- Mandate Cancellation due to Fraud.MD17- Cancellation/amendment requested by the creditor.
This model is the basic representation of a Party. It is expanded on depending on whether the party is a person or an organisation.
Specifies the reason for a mandate action (amendment, cancellation, rejection).
Identifies the value as being a pre-defined code. Always CODE.
AC01- IncorrectAccountNumberAC04- ClosedAccountNumberAC06- BlockedAccountAG01- TransactionForbiddenAG02- InvalidBankOperationCodeAM02- NotAllowedAmountAM03- NotAllowedCurrencyAM05- DuplicationBE01- InconsistenWithEndCustomerBE04- MissingCreditorAddressBE05- UnrecognisedInitiatingPartyBE06- UnknownEndCustomerBE07- MissingDebtorAddressDT01- InvalidDateFF01- InvalidFileFormatMD01- NoMandateMD02- MissingMandatoryInformationInMandateMD07- EndCustomerDeceasedMD08- NoMandateServiceByAgentMD09- NoMandateServiceOnCustomerMD10- NoMandateServiceForSpecifiedMD11- UnrecognisedAgentMD12- NotUniqueMandateReferenceMD13- IncorrectCustomerAuthenticationMD14- IncorrectAgentMD15- IncorrectCurrencyMD16- RequestedByCustomerMD17- RequestedByInitiatingPartyMD18- RequestedByInitiatingPartyAndCustomerMD19- MandateCancelledDueToEarlySettlementMD20- MandateExpiredMD21- MandateCancelledDueToFraudMD22- MandateInitiationCancelledMD23- MandateAmendmentCancelledMS02- NotSpecifiedReasonCustomerGeneratedMS03- NotSpecifiedReasonAgentGeneratedNARR- NarrativeRC01- BankIdentifierIncorrectRF01- NotUniqueTransactionReferenceRR01- MissingDebtorAccountOrIdentificationRR02- MissingDebtorNameOrAddressRR03- MissingCreditorNameOrAddressRR04- RegulatoryReasonSL01- SpecificServiceOfferedByDebtorAgentSL11- CreditorNotOnWhitelistOfDebtorSL12- CreditorOnBlacklistOfDebtorSL13- MaximumNumberOfDirectDebitTransactionsExceededSL14- MaximumDirectDebitTransactionAmountExceeded
Reference to an original mandate. The mandate may be identified either by a reference (originalMandateIdentification) or by the full details of the mandate as it currently stands (originalMandate). At least one of the two must be provided.
Which of the two is expected depends on who hosts the mandate register:
- Electrum hosts the mandate register:
originalMandateIdentificationon its own is sufficient for mandate amendment, cancellation and suspension requests. Electrum identifies the mandate from the reference and enriches the request with the full mandate details the scheme requires before forwarding it. Partners are not required to perform a mandate information request first in order to construct these requests, although they may still do so if they need to see the current state of the mandate. - The partner hosts the mandate register: the partner is the source of truth for mandate state, so the full
originalMandatemust be provided.
Core mandate data structure containing all the details of a direct debit mandate.
Identifies the original mandate-management message being referenced or responded to. For MandateInformationRequest, this block is optional on the partner request — Electrum will populate it from the latest message recorded against the mandate before forwarding to the scheme.
{ "cancellationReason": { "additionalInformation": [ … ], "originator": { … }, "reason": { … } }, "originalMandate": { "originalMandate": { … }, "originalMandateIdentification": "string" }, "originalMessageInformation": { "creationDateTime": "2019-08-24T14:15:22Z", "messageIdentification": "string", "messageNameIdentification": "string" } }