Mandate Initiation Request and Response
Use case 1: Receive and confirm the Mandate
Typical flow
A new mandates is received by LHV from the scheme on day 2 of Bacs Cycle. LHV will validate duplicates, account, agreement.
LHV will validate mandate, duplicates, account, initiation request, acceptance data. Validation response is send to customer by LHV.
Use case 2: Reject the Mandate
Typical flow
A new mandates is received by LHV from the scheme on day 2 of Bacs Cycle. LHV will validate duplicates, account, agreement.
LHV will validate mandate, duplicates, account, initiation request, rejection data. Validation response is sent to customer by LHV.
Create mandate return resource
Mandate return resource is created by the LHV and send to the Bacs via AUDDIS. Return is received by the scheme and mandate will not be activated.
Example of Mandate Initiation Request and Response (Acceptance and Rejection)
Example of Mandate Initiation Request
Copy <?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)
Acceptance with pain.012 Rejection with pain.012
Copy <?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>
Copy <?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 Confirmation to Mandate Initiation Response (pain.012)
Copy {
"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"
}
}
]
}
Mandate Cancellation Request
Use case 3: Cancel the mandate
Typical flow
Client and LHV have previously received mandate in status โactiveโ
Validate cancellation request
Create mandate cancellation resource
Mandate cancellation resource is created by the LHV and send to the Bacs via ADDACS.
Example of Mandate Cancellation Request
Copy <?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
Acceptance with pain.012 Rejection with pain.012
Copy <?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>
Copy <?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>
Direct Debit Notification and Response
Use case 4: Receive and confirm the Direct Debit notification
Typical flow
Receive and validate Direct Debit
On day 2 of the Bacs cycle LHV receives Direct Debit Collection message
Send DD collection message to client
Receive Acceptance of the Collection message
LHV will validate collection, duplicates, account, initiation request, acceptance data. Validation response is sent to customer by LHV.
Use case 5: Reject the Direct Debit Collection
Typical flow
Receive and validate Direct Debit
On day 2 of the Bacs Cycle LHV receives Direct Debit Collection message
Send DD collection message to client
Receive Rejection of the Collection message
LHV will validate collection, duplicates, account, initiation request, rejection data. Validation response is sent to customer by LHV.
Create Direct Debit return resource
Direct Debit return resource is created by the LHV and send to the Bacs via ARUDD.
Scheme Acceptance of the Return
Return is received and accepted by the scheme and credit payment will be initiated.
Debit initial sum on Direct Debit Collection
Credit initial sum on Direct Debit Collection
Example of Direct Debit Incoming Collection Notification and Response (Acceptance and Rejection)
Example of Direct Debit Incoming Collection Notification
Copy <?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)
Acceptance with pain.002 Rejection with pain.002
Copy <?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>
Copy <?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 Confirmation to Direct Debit Collection Notification Response (pain.002)
Copy {
"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"
}
}
]
}
Direct Debit Reversal Notification
Use case 6: Receive the Direct Debit Reversal Notification
Typical flow
Previously received Direct Debit Collection
Customer and LHV have previously received Direct Debit Collection
LHV receive Reversal from the scheme
A Reversal notification is received by LHV from the scheme. Reversal can be initiated up to 6 days after original Direct Debit Collection event. LHV will validate duplicates, account, reversal creation time.
Next day LHV will credit the PSP account.
Example of Direct Debit Reversal Notification
Copy <?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>