Mandate Initiation Request and Response
Use case 1: Receive the Mandate
Typical flow
Use case 2: Reject the Mandate
Typical flow
Example of Mandate Initiation Request and Response (Acceptance and Rejection)
Example of Mandate Initiation Request
<?xml version='1.0' encoding='UTF-8'?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.009.001.07">
<MndtInitnReq>
<GrpHdr>
<MsgId>43642128e20c435387444d9c806b4f65</MsgId>
<CreDtTm>2024-06-19T12:03:01.249+01:00</CreDtTm>
</GrpHdr>
<Mndt>
<MndtId>9665c298f1cc4f9294598a4fc97ac060</MndtId>
<MndtReqId>TEST-112</MndtReqId>
<TrckgInd>false</TrckgInd>
<Cdtr>
<Nm>ACCOUNT NAME</Nm>
<Id>
<OrgId>
<Othr>
<Id>539614</Id>
<SchmeNm>
<Cd>BANK</Cd>
</SchmeNm>
</Othr>
</OrgId>
</Id>
</Cdtr>
<CdtrAcct>
<Id>
<Othr>
<Id>20201555555555</Id>
<SchmeNm>
<Cd>BBAN</Cd>
</SchmeNm>
</Othr>
</Id>
<Ccy>GBP</Ccy>
</CdtrAcct>
<Dbtr>
<Nm>TESTING COMPANY</Nm>
<Id>
<OrgId>
<Othr>
<Id>539614</Id>
<SchmeNm>
<Cd>BANK</Cd>
</SchmeNm>
</Othr>
</OrgId>
</Id>
</Dbtr>
<DbtrAcct>
<Id>
<Othr>
<Id>04031300000287</Id>
<SchmeNm>
<Cd>BBAN</Cd>
</SchmeNm>
</Othr>
</Id>
<Ccy>GBP</Ccy>
</DbtrAcct>
<DbtrAgt>
<FinInstnId>
<ClrSysMmbId>
<ClrSysId>
<Cd>GBDSC</Cd>
</ClrSysId>
<MmbId>040313</MmbId>
</ClrSysMmbId>
</FinInstnId>
</DbtrAgt>
</Mndt>
</MndtInitnReq>
</Document>
Example of Mandate Initiation Response (Acceptance and Rejection)
<?xml version="1.0" encoding="utf-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.012.001.07">
<MndtAccptncRpt>
<GrpHdr>
<MsgId>TEST-111</MsgId>
<CreDtTm>2024-04-17T13:57:01.326</CreDtTm>
</GrpHdr>
<UndrlygAccptncDtls>
<OrgnlMsgInf>
<MsgId>43642128e20c435387444d9c806b4f65</MsgId>
<CreDtTm>2024-04-17T13:57:01.326</CreDtTm>
</OrgnlMsgInf>
<AccptncRslt>
<Accptd>0</Accptd>
</AccptncRslt>
<OrgnlMndt>
<OrgnlMndtId>9665c298f1cc4f9294598a4fc97ac060</OrgnlMndtId>
</OrgnlMndt>
</UndrlygAccptncDtls>
</MndtAccptncRpt>
</Document>
<?xml version="1.0" encoding="utf-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.012.001.07">
<MndtAccptncRpt>
<GrpHdr>
<MsgId>TEST-112</MsgId>
<CreDtTm>2024-04-17T13:57:01.326</CreDtTm>
</GrpHdr>
<UndrlygAccptncDtls>
<OrgnlMsgInf>
<MsgId>43642128e20c435387444d9c806b4f65</MsgId>
<CreDtTm>2024-04-17T13:57:01.326</CreDtTm>
</OrgnlMsgInf>
<AccptncRslt>
<Accptd>1</Accptd>
<RjctRsn>
<Cd>AC01</Cd>
</RjctRsn>
</AccptncRslt>
<OrgnlMndt>
<OrgnlMndtId>9665c298f1cc4f9294598a4fc97ac060</OrgnlMndtId>
</OrgnlMndt>
</UndrlygAccptncDtls>
</MndtAccptncRpt>
</Document>
Example of the Response to invalid pain.012
{
"GrpHdr.MsgId": "pain012_message_id",
"AcceptanceStatus": "PARTIAL",
"Messages": [
{
"OrgnlMsgInf.MsgId": "message_id_pain009",
"Confirmed": true
},
{
"OrgnlMsgInf.MsgId": "invalid_message_id",
"Confirmed": false,
"ErrorInfo": {
"ErrorCode": "NOT_FOUND",
"ErrorDescription": "Mandate not found"
}
}
]
}
Error codes
Mandate Cancellation Request
Use case 3: Cancel the mandate
Typical flow
Example of Mandate Cancellation Request
<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.011.001.07">
<MndtCxlReq>
<GrpHdr>
<MsgId>iso-msg-id</MsgId>
<CreDtTm>2024-02-28T09:30:47</CreDtTm>
<Authstn>
<Cd>AUTH</Cd>
</Authstn>
<InitgPty>
<Nm>Company ABC</Nm>
</InitgPty>
</GrpHdr>
<UndrlygCxlDtls>
<OrgnlMsgInf>
<MsgId>79fa86cf9e844a62879ef7c713baac5f</MsgId>
<MsgNmId>pain.009.001.05</MsgNmId>
<CreDtTm>2024-02-27T09:30:00</CreDtTm>
</OrgnlMsgInf>
<CxlRsn>
<Rsn>
<Cd>AC04</Cd>
</Rsn>
</CxlRsn>
<OrgnlMndt>
<OrgnlMndtId>312d60e61acf47d28083ac2e3729d6fc</OrgnlMndtId>
</OrgnlMndt>
</UndrlygCxlDtls>
</MndtCxlReq>
</Document>
Example of Mandate Cancellation Response
<?xml version='1.0' encoding='UTF-8'?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.012.001.07">
<MndtAccptncRpt>
<GrpHdr>
<MsgId>49fa9d40c0fb43b5901df7fe15dbb502</MsgId>
<CreDtTm>2024-05-24T11:14:01.793+01:00</CreDtTm>
</GrpHdr>
<UndrlygAccptncDtls>
<OrgnlMsgInf>
<MsgId>iso-msg-id</MsgId>
<MsgNmId>pain.011</MsgNmId>
</OrgnlMsgInf>
<AccptncRslt>
<Accptd>true</Accptd>
</AccptncRslt>
<OrgnlMndt>
<OrgnlMndtId>3ac2dec8369b4849a105f41a73e369f3</OrgnlMndtId>
</OrgnlMndt>
</UndrlygAccptncDtls>
</MndtAccptncRpt>
</Document>
<?xml version='1.0' encoding='UTF-8'?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.012.001.07">
<MndtAccptncRpt>
<GrpHdr>
<MsgId>300745cd294c4673be20ffd9cd70e573</MsgId>
<CreDtTm>2024-05-27T08:32:43.507+01:00</CreDtTm>
</GrpHdr>
<UndrlygAccptncDtls>
<OrgnlMsgInf>
<MsgId>iso-msg-id</MsgId>
<MsgNmId>pain.011</MsgNmId>
</OrgnlMsgInf>
<AccptncRslt>
<Accptd>false</Accptd>
<RjctRsn>
<Cd>NARR</Cd>
</RjctRsn>
<AddtlRjctRsnInf>Mandate cancel failed.</AddtlRjctRsnInf>
</AccptncRslt>
<OrgnlMndt>
<OrgnlMndtId>3ac2dec8369b4849a105f41a73e369f3</OrgnlMndtId>
</OrgnlMndt>
</UndrlygAccptncDtls>
</MndtAccptncRpt>
</Document>
Error codes
Direct Debit Notification and Response
Use case 4: Receive the Direct Debit notification
Typical flow
Use case 5: Reject the Direct Debit Collection
Typical flow
Example of Direct Debit Incoming Collection Notification and Response (Acceptance and Rejection)
Example of Direct Debit Incoming Collection Notification
<?xml version='1.0' encoding='UTF-8'?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.008.001.11">
<CstmrDrctDbtInitn>
<GrpHdr>
<MsgId>04d8746c3da84cb0aedf7a0a47b38f19</MsgId>
<CreDtTm>2024-07-03T15:12:01.663+01:00</CreDtTm>
<NbOfTxs>1</NbOfTxs>
<CtrlSum>700.00</CtrlSum>
<InitgPty>
<Nm>ACCOUNT NAME</Nm>
</InitgPty>
</GrpHdr>
<PmtInf>
<PmtInfId>6CB2EACA0FBC4D48A6F9430FABE1F857</PmtInfId>
<PmtMtd>DD</PmtMtd>
<NbOfTxs>1</NbOfTxs>
<CtrlSum>700.00</CtrlSum>
<PmtTpInf>
<SvcLvl>
<Prtry>BACSDD</Prtry>
</SvcLvl>
<SeqTp>FRST</SeqTp>
</PmtTpInf>
<ReqdColltnDt>2024-07-04</ReqdColltnDt>
<Cdtr>
<Nm>ACCOUNT NAME</Nm>
</Cdtr>
<CdtrAcct>
<Id>
<Othr>
<Id>20201555555555</Id>
<SchmeNm>
<Cd>BBAN</Cd>
</SchmeNm>
</Othr>
</Id>
<Ccy>GBP</Ccy>
</CdtrAcct>
<CdtrAgt>
<FinInstnId>
<ClrSysMmbId>
<ClrSysId>
<Cd>GBDSC</Cd>
</ClrSysId>
<MmbId>202015</MmbId>
</ClrSysMmbId>
</FinInstnId>
</CdtrAgt>
<DrctDbtTxInf>
<PmtId>
<EndToEndId>e84065357fbc47ae833a18b0e76ba832</EndToEndId>
</PmtId>
<PmtTpInf>
<SvcLvl>
<Prtry>BACSDD</Prtry>
</SvcLvl>
<SeqTp>FRST</SeqTp>
</PmtTpInf>
<InstdAmt Ccy="GBP">700.00</InstdAmt>
<DbtrAgt>
<FinInstnId>
<ClrSysMmbId>
<ClrSysId>
<Cd>GBDSC</Cd>
</ClrSysId>
<MmbId>040313</MmbId>
</ClrSysMmbId>
</FinInstnId>
</DbtrAgt>
<Dbtr>
<Nm>Testing Company</Nm>
</Dbtr>
<DbtrAcct>
<Id>
<Othr>
<Id>04031300000287</Id>
<SchmeNm>
<Cd>BBAN</Cd>
</SchmeNm>
</Othr>
</Id>
<Ccy>GBP</Ccy>
<Nm>Testing Company</Nm>
</DbtrAcct>
</DrctDbtTxInf>
</PmtInf>
</CstmrDrctDbtInitn>
</Document>
Example of Direct Debit Incoming Collection Notification Response (Acceptance and Rejection)
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.002.001.14">
<CstmrPmtStsRpt>
<GrpHdr>
<MsgId>68605e51e6ba463a9ecb2cf8ac315a9f</MsgId>
<CreDtTm>2024-04-20T13:37:00.00Z</CreDtTm>
</GrpHdr>
<OrgnlGrpInfAndSts>
<OrgnlMsgId>37b2a633146f4a1495c5002af3127d86</OrgnlMsgId>
<OrgnlMsgNmId>pain.008.001.11</OrgnlMsgNmId>
<GrpSts>ACSP</GrpSts>
</OrgnlGrpInfAndSts>
<OrgnlPmtInfAndSts>
<OrgnlPmtInfId>A192FA117F8A443F8EEE7AB3738B6840</OrgnlPmtInfId>
<PmtInfSts>ACSP</PmtInfSts>
</OrgnlPmtInfAndSts>
</CstmrPmtStsRpt>
</Document>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.002.001.14">
<CstmrPmtStsRpt>
<GrpHdr>
<MsgId>68605e51e6ba463a9ecb2cf8ac315a9f</MsgId>
<CreDtTm>2024-04-20T13:37:00.00Z</CreDtTm>
</GrpHdr>
<OrgnlGrpInfAndSts>
<OrgnlMsgId>37b2a633146f4a1495c5002af3127d86</OrgnlMsgId>
<OrgnlMsgNmId>pain.008.001.11</OrgnlMsgNmId>
<GrpSts>RJCT</GrpSts>
<StsRsnInf>
<Rsn>
<Cd>AC04</Cd>
</Rsn>
</StsRsnInf>
</OrgnlGrpInfAndSts>
<OrgnlPmtInfAndSts>
<OrgnlPmtInfId>A192FA117F8A443F8EEE7AB3738B6840</OrgnlPmtInfId>
<PmtInfSts>RJCT</PmtInfSts>
<StsRsnInf>
<Rsn>
<Cd>AC04</Cd>
</Rsn>
</StsRsnInf>
</OrgnlPmtInfAndSts>
</CstmrPmtStsRpt>
</Document>
Example of the Response to invalid pain.002
{
"GrpHdr.MsgId": "pain002_message_id",
"OrgnlMsgInf.MsgId": "message_id_pain008",
"AcceptanceStatus": "PARTIAL",
"Messages": [
{
"OrgnlPmtInfId": "payment account servicer reference",
"Confirmed": true
},
{
"OrgnlPmtInfId": "payment account servicer reference",
"Confirmed": false,
"ErrorInfo": {
"ErrorCode": "NOT_FOUND",
"ErrorDescription": "Direct Debit not found"
}
}
]
}
Error codes
Direct Debit Reversal Notification
Use case 6: Receive the Direct Debit Reversal Notification
Typical flow
Example of Direct Debit Reversal Notification
<?xml version='1.0' encoding='UTF-8'?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.007.001.11">
<CstmrPmtRvsl>
<GrpHdr>
<MsgId>664ab8a9313f45f7bda640c7a58c5769</MsgId>
<CreDtTm>2024-08-01T13:58:55.928+01:00</CreDtTm>
<NbOfTxs>1</NbOfTxs>
<CtrlSum>700.03</CtrlSum>
<GrpRvsl>false</GrpRvsl>
</GrpHdr>
<OrgnlGrpInf>
<OrgnlMsgId>267fd3b67eb940c2a4a73d002947c20c</OrgnlMsgId>
<OrgnlMsgNmId>pain.008.001.11</OrgnlMsgNmId>
<OrgnlCreDtTm>2024-08-01T13:48:01.413+01:00</OrgnlCreDtTm>
<RvslRsnInf>
<Rsn>
<Prtry>R</Prtry>
</Rsn>
<AddtlInf>Same day reversal item by Bacs</AddtlInf>
</RvslRsnInf>
</OrgnlGrpInf>
<OrgnlPmtInfAndRvsl>
<RvslPmtInfId>484B725E34724A2BBF0E5CEADA6593A9</RvslPmtInfId>
<OrgnlPmtInfId>F59270913BAF45B6905F2EE6833982E4</OrgnlPmtInfId>
<OrgnlNbOfTxs>1</OrgnlNbOfTxs>
<OrgnlCtrlSum>700.03</OrgnlCtrlSum>
<RvslRsnInf>
<Rsn>
<Prtry>R</Prtry>
</Rsn>
<AddtlInf>Same day reversal item by Bacs</AddtlInf>
</RvslRsnInf>
</OrgnlPmtInfAndRvsl>
</CstmrPmtRvsl>
</Document>