Main Use cases

The API allows to:

  • send a package of signed domestic payments (hereinafter a Mass payment) to the bank in the pain.001.001 format
  • request for the status of the Mass payment in the format pain.002.001
  • request for the status of a each payment as part of the Mass payment in the pain.002.001 format
  • request the processing status of the Mass payment and each payment within it you in the pain.002.001 format

Sending a signed Mass payment to the bank

To send a signed Mass payment to the bank, you should:

  • get AccessToken
  • generate an xml file in the Pain.001.001 format containing domestic payments (see the format specification on the page Import format in the file Raiffeisen_API_isoxml_signed)
  • send a POST request message to the /dsig/iso20022 address, issuing the generated xml file in the body of the request
  • receive a synchronous response with message receipt status

An example of Pain.001.001 message

<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.raifsig" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
	<CstmrCdtTrfInitn>
		<GrpHdr>
			<MsgId>ORCRUWIRE0320202317717602</MsgId>
			<CreDtTm>2023-02-28T05:54:55</CreDtTm>
			<NbOfTxs>2</NbOfTxs>
			<CtrlSum>1000.08</CtrlSum>
			<InitgPty>
				<Nm>ООО Компания Интернэшнл</Nm>
				<Id>
					<OrgId>
						<Othr>
							<Id>1111111118</Id>
							<SchmeNm>
								<Cd>TXID</Cd>
							</SchmeNm>
						</Othr>
					</OrgId>
				</Id>
			</InitgPty>
		</GrpHdr>
		<PmtInf>
			<PmtInfId>ORCRUWIRE0220202317717603</PmtInfId>
			<PmtMtd>TRF</PmtMtd>
			<Dbtr>
				<Nm>ООО Компания Интернэшнл</Nm>
				<Id>
					<OrgId>
						<Othr>
							<Id>1111111118</Id>
							<SchmeNm>
								<Cd>TXID</Cd>
							</SchmeNm>
						</Othr>
					</OrgId>
				</Id>
			</Dbtr>
			<DbtrAcct>
				<Id>
					<Othr>
						<Id>11111810211111888888</Id>
						<SchmeNm>
							<Cd>BBAN</Cd>
						</SchmeNm>
					</Othr>
				</Id>
			</DbtrAcct>
			<DbtrAgt>
				<FinInstnId>
					<ClrSysMmbId>
						<ClrSysId>
							<Cd>RUCBC</Cd>
						</ClrSysId>
						<MmbId>044525700</MmbId>
					</ClrSysMmbId>
					<Nm>a</Nm>
				</FinInstnId>
			</DbtrAgt>
			<DbtrAgtAcct>
				<Id>
					<Othr>
						<Id>30101810200000000700</Id>
						<SchmeNm>
							<Cd>BBAN</Cd>
						</SchmeNm>
					</Othr>
				</Id>
			</DbtrAgtAcct>
			<CdtTrfTxInf>
				<PmtId>
					<InstrId>HMSRUEFT7841912</InstrId>
					<EndToEndId>3</EndToEndId>
				</PmtId>
				<PmtTpInf>
					<SvcLvl>
						<Cd>NURG</Cd>
					</SvcLvl>
					<LclInstrm>
						<Prtry>01</Prtry>
					</LclInstrm>
				</PmtTpInf>
				<Amt>
					<InstdAmt Ccy="RUB">500.00</InstdAmt>
				</Amt>
				<CdtrAgt>
					<FinInstnId>
						<ClrSysMmbId>
							<ClrSysId>
								<Cd>RUCBC</Cd>
							</ClrSysId>
							<MmbId>044525787</MmbId>
						</ClrSysMmbId>
						<Nm>a</Nm>
					</FinInstnId>
				</CdtrAgt>
				<CdtrAgtAcct>
	<Id>
		<Othr>
			<Id>a</Id>
			<SchmeNm>
				<Cd>BBAN</Cd>
			</SchmeNm>
		</Othr>
	</Id>
</CdtrAgtAcct>
				<Cdtr>
					<Nm>ООО ТРОЯН</Nm>
					<Id>
						<OrgId>
							<Othr>
								<Id>7734527918</Id>
								<SchmeNm>
									<Cd>TXID</Cd>
								</SchmeNm>
							</Othr>
						</OrgId>
					</Id>
				</Cdtr>
				<CdtrAcct>
					<Id>
						<Othr>
							<Id>40702810500360001171</Id>
							<SchmeNm>
								<Cd>BBAN</Cd>
							</SchmeNm>
						</Othr>
					</Id>
				</CdtrAcct>
				<Purp>
					<Prtry>5</Prtry>
				</Purp>
				<RmtInf>
					<Ustrd>Оплата сч.№ 23 от 15/02/23 абон.плата по дог.№11111 от22/07/21г за март 2023, в т.ч.НДС 83,33 руб.</Ustrd>
					<Strd>
						<RfrdDocInf>
							<RltdDt>2023-02-28</RltdDt>
						</RfrdDocInf>
					</Strd>
				</RmtInf>
			</CdtTrfTxInf>
		</PmtInf>
		<PmtInf>
			<PmtInfId>ORCRUWIRE0220202317717604</PmtInfId>
			<PmtMtd>TRF</PmtMtd>
			<Dbtr>
				<Nm>ООО Компания Интернэшнл</Nm>
				<Id>
					<OrgId>
						<Othr>
							<Id>111111111888</Id>
							<SchmeNm>
								<Cd>TXID</Cd>
							</SchmeNm>
						</Othr>
					</OrgId>
				</Id>
			</Dbtr>
			<DbtrAcct>
				<Id>
					<Othr>
						<Id>11111810211111888888</Id>
						<SchmeNm>
							<Cd>BBAN</Cd>
						</SchmeNm>
					</Othr>
				</Id>
			</DbtrAcct>
			<DbtrAgt>
				<FinInstnId>
					<ClrSysMmbId>
						<ClrSysId>
							<Cd>RUCBC</Cd>
						</ClrSysId>
						<MmbId>044525700</MmbId>
					</ClrSysMmbId>
					<Nm>a</Nm>
				</FinInstnId>
			</DbtrAgt>
			<DbtrAgtAcct>
				<Id>
					<Othr>
						<Id>30101810200000000700</Id>
						<SchmeNm>
							<Cd>BBAN</Cd>
						</SchmeNm>
					</Othr>
				</Id>
			</DbtrAgtAcct>
			<CdtTrfTxInf>
				<PmtId>
					<InstrId>HMSRUEFT7841913</InstrId>
					<EndToEndId>4</EndToEndId>
				</PmtId>
				<PmtTpInf>
					<SvcLvl>
						<Cd>NURG</Cd>
					</SvcLvl>
					<LclInstrm>
						<Prtry>01</Prtry>
					</LclInstrm>
				</PmtTpInf>
				<Amt>
					<InstdAmt Ccy="RUB">500.08</InstdAmt>
				</Amt>
				<CdtrAgt>
					<FinInstnId>
						<ClrSysMmbId>
							<ClrSysId>
								<Cd>RUCBC</Cd>
							</ClrSysId>
							<MmbId>044525411</MmbId>
						</ClrSysMmbId>
						<Nm>a</Nm>
					</FinInstnId>
				</CdtrAgt>
				<CdtrAgtAcct>
	<Id>
		<Othr>
			<Id>a</Id>
			<SchmeNm>
				<Cd>BBAN</Cd>
			</SchmeNm>
		</Othr>
	</Id>
</CdtrAgtAcct>
				<Cdtr>
					<Nm>ООО Софт</Nm>
					<Id>
						<OrgId>
							<Othr>
								<Id>7720714403</Id>
								<SchmeNm>
									<Cd>TXID</Cd>
								</SchmeNm>
							</Othr>
						</OrgId>
					</Id>
				</Cdtr>
				<CdtrAcct>
					<Id>
						<Othr>
							<Id>40702810400000019354</Id>
							<SchmeNm>
								<Cd>BBAN</Cd>
							</SchmeNm>
						</Othr>
					</Id>
				</CdtrAcct>
				<Purp>
					<Prtry>5</Prtry>
				</Purp>
				<Tax>
					<Rcrd>
						<TaxAmt>
							<Rate>10</Rate>
							<TtlAmt Ccy="RUB">52.09</TtlAmt>
						</TaxAmt>
						<AddtlInf>VTIN</AddtlInf>
					</Rcrd>
				</Tax>
				<RmtInf>
					<Ustrd>Оплата сч.№6 от 01.02.23г по дог.№ 2 от 24/08/22</Ustrd>
					<Strd>
						<RfrdDocInf>
							<RltdDt>2023-02-28</RltdDt>
						</RfrdDocInf>
					</Strd>
				</RmtInf>
			</CdtTrfTxInf>
		</PmtInf>
		<SplmtryData>
			<Envlp>
				<SgntrSt>
					<ds:Signature Id="SigID1">
						<ds:SignedInfo>
							<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
							<ds:SignatureMethod Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102012-gostr34112012-256"/>
							<ds:Reference URI="">
								<ds:Transforms>
									<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
									<ds:Transform Algorithm="http://www.w3.org/2002/06/xmldsig-filter2">
										<XPath xmlns="http://www.w3.org/2002/06/xmldsig-filter2" Filter="subtract">//ds:Signature</XPath>
									</ds:Transform>
								</ds:Transforms>
								<ds:DigestMethod Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34112012-256"/>
								<ds:DigestValue>2oMe1BaO2Nd8qBxdDbtv78WCYgmhbZBJdjgHrwId9oc=</ds:DigestValue>
							</ds:Reference>
						</ds:SignedInfo>
						<ds:SignatureValue>/xB3sjzeeJu9n2+JJlVVgEz8sLKm3IE5KBXrq2o9UlMISwpvzepjemPAHhhHrcta
HJzTHZzvrPuwZKP5o2dDZQ==</ds:SignatureValue>
						<ds:KeyInfo>
							<ds:X509Data>
								<ds:X509Certificate>MIIFNzCCBOSgAwIBAgITfAAGJ4osQ81SjFsaoQABAAYnijAKBggqhQMHAQEDAjCC
AQoxGDAWBgUqhQNkARINMTIzNDU2Nzg5MDEyMzEaMBgGCCqFAwOBAwEBEgwwMDEy
MzQ1Njc4OTAxLzAtBgNVBAkMJtGD0LsuINCh0YPRidGR0LLRgdC60LjQuSDQstCw
0Lsg0LQuIDE4MQswCQYDVQQGEwJSVTEZMBcGA1UECAwQ0LMuINCc0L7RgdC60LLQ
sDEVMBMGA1UEBwwM0JzQvtGB0LrQstCwMSUwIwYDVQQKDBzQntCe0J4gItCa0KDQ
mNCf0KLQni3Qn9Cg0J4iMTswOQYDVQQDDDLQotC10YHRgtC+0LLRi9C5INCj0KYg
0J7QntCeICLQmtCg0JjQn9Ci0J4t0J/QoNCeIjAeFw0yMjA3MjYxMzI3NTBaFw0y
MjEwMjYxMzM3NTBaMIHIMSMwIQYJKoZIhvcNAQkBFhR4bi0tIC03c2JiM2FpcXJ5
MWI5ZjEcMBoGA1UEAwwT0J/RgtC40YbQsCDQnNCw0LnRjzEcMBoGA1UECwwT0J/R
gtC40YbQsCDQnNCw0LnRjzEcMBoGA1UECgwT0J/RgtC40YbQsCDQnNCw0LnRjzEc
MBoGA1UEBwwT0J/RgtC40YbQsCDQnNCw0LnRjzEcMBoGA1UECAwT0J/RgtC40YbQ
sCDQnNCw0LnRjzELMAkGA1UEBhMCUlUwZjAfBggqhQMHAQEBATATBgcqhQMCAiQA
BggqhQMHAQECAgNDAARAYFH9oNuJigPZ8GPZWvu6LF0L8pTCaJ4nN7r0PEdeC7gV
j7fu3V5hW7BxcYB+ixoDF3szm1xmvVCZB1lMXhR35KOCAlkwggJVMA4GA1UdDwEB
/wQEAwIE8DATBgNVHSUEDDAKBggrBgEFBQcDAjAdBgNVHQ4EFgQUzS2ChkN9FatS
4zE+GSu2OweIo8MwHwYDVR0jBBgwFoAUm4Ve+4HcTVkHUWPPvt/aLH/JRDwwggEP
BgNVHR8EggEGMIIBAjCB/6CB/KCB+YaBtWh0dHA6Ly90ZXN0Z29zdDIwMTIuY3J5
cHRvcHJvLnJ1L0NlcnRFbnJvbGwvITA0MjIhMDQzNSEwNDQxITA0NDIhMDQzZSEw
NDMyITA0NGIhMDQzOSUyMCEwNDIzITA0MjYlMjAhMDQxZSEwNDFlITA0MWUlMjAh
MDAyMiEwNDFhITA0MjAhMDQxOCEwNDFmITA0MjIhMDQxZS0hMDQxZiEwNDIwITA0
MWUhMDAyMigxKS5jcmyGP2h0dHA6Ly90ZXN0Z29zdDIwMTIuY3J5cHRvcHJvLnJ1
L0NlcnRFbnJvbGwvdGVzdGdvc3QyMDEyKDEpLmNybDCB2gYIKwYBBQUHAQEEgc0w
gcowRAYIKwYBBQUHMAKGOGh0dHA6Ly90ZXN0Z29zdDIwMTIuY3J5cHRvcHJvLnJ1
L0NlcnRFbnJvbGwvcm9vdDIwMTguY3J0MD8GCCsGAQUFBzABhjNodHRwOi8vdGVz
dGdvc3QyMDEyLmNyeXB0b3Byby5ydS9vY3NwMjAxMmcvb2NzcC5zcmYwQQYIKwYB
BQUHMAGGNWh0dHA6Ly90ZXN0Z29zdDIwMTIuY3J5cHRvcHJvLnJ1L29jc3AyMDEy
Z3N0L29jc3Auc3JmMAoGCCqFAwcBAQMCA0EA7VdgJhf5KOM7uRfpzx4hqRtZLJ/D
KqIl5+iFpeROGTGe9HorbwNA+I3cQkumQ8OLiUPAJAm0MmeRFz2OJeNw8w==</ds:X509Certificate>
							</ds:X509Data>
						</ds:KeyInfo>
					</ds:Signature>
					<ds:Signature Id="SigID2">
						<ds:SignedInfo>
							<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
							<ds:SignatureMethod Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102012-gostr34112012-256"/>
							<ds:Reference URI="">
								<ds:Transforms>
									<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
									<ds:Transform Algorithm="http://www.w3.org/2002/06/xmldsig-filter2">
										<XPath xmlns="http://www.w3.org/2002/06/xmldsig-filter2" Filter="subtract">//ds:Signature</XPath>
									</ds:Transform>
								</ds:Transforms>
								<ds:DigestMethod Algorithm="urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34112012-256"/>
								<ds:DigestValue>2oMe1BaO2Nd8qBxdDbtv78WCYgmhbZBJdjgHrwId9oc=</ds:DigestValue>
							</ds:Reference>
						</ds:SignedInfo>
						<ds:SignatureValue>dB69wTy2QLYv7hFLj99OPULdeDZTe7Ugk1P1QydlEbcT9+JKpv/DSodIM8QGV19r
wWUrK+bz0b6c8iE0Wjx2gQ==</ds:SignatureValue>
						<ds:KeyInfo>
							<ds:X509Data>
								<ds:X509Certificate>MIIE2zCCBIigAwIBAgITfAAGyfb/eHg2bqfbbgABAAbJ9jAKBggqhQMHAQEDAjCC
AQoxGDAWBgUqhQNkARINMTIzNDU2Nzg5MDEyMzEaMBgGCCqFAwOBAwEBEgwwMDEy
MzQ1Njc4OTAxLzAtBgNVBAkMJtGD0LsuINCh0YPRidGR0LLRgdC60LjQuSDQstCw
0Lsg0LQuIDE4MQswCQYDVQQGEwJSVTEZMBcGA1UECAwQ0LMuINCc0L7RgdC60LLQ
sDEVMBMGA1UEBwwM0JzQvtGB0LrQstCwMSUwIwYDVQQKDBzQntCe0J4gItCa0KDQ
mNCf0KLQni3Qn9Cg0J4iMTswOQYDVQQDDDLQotC10YHRgtC+0LLRi9C5INCj0KYg
0J7QntCeICLQmtCg0JjQn9Ci0J4t0J/QoNCeIjAeFw0yMjEwMDUxMjM1MTlaFw0y
MzAxMDUxMjQ1MTlaMG0xEzARBgkqhkiG9w0BCQEWBG1pdmkxDTALBgNVBAMMBG1p
dmkxDTALBgNVBAsMBG1pdmkxDTALBgNVBAoMBG1pdmkxDTALBgNVBAcMBG1pdmkx
DTALBgNVBAgMBG1pdmkxCzAJBgNVBAYTAlJVMGYwHwYIKoUDBwEBAQEwEwYHKoUD
AgIkAAYIKoUDBwEBAgIDQwAEQC38SG2Ni66RLRWqEneBHrYnDS9yx9jc/0ocL9Ra
iiXc9dw8dK6VkaTSPpUSt9l9hfP8lSsVu7Ufcpm1Y+83zbejggJZMIICVTAOBgNV
HQ8BAf8EBAMCBPAwEwYDVR0lBAwwCgYIKwYBBQUHAwIwHQYDVR0OBBYEFEMTlE+X
fcoqem3M7tpzIdtYyl5tMB8GA1UdIwQYMBaAFJuFXvuB3E1ZB1Fjz77f2ix/yUQ8
MIIBDwYDVR0fBIIBBjCCAQIwgf+ggfyggfmGgbVodHRwOi8vdGVzdGdvc3QyMDEy
LmNyeXB0b3Byby5ydS9DZXJ0RW5yb2xsLyEwNDIyITA0MzUhMDQ0MSEwNDQyITA0
M2UhMDQzMiEwNDRiITA0MzklMjAhMDQyMyEwNDI2JTIwITA0MWUhMDQxZSEwNDFl
JTIwITAwMjIhMDQxYSEwNDIwITA0MTghMDQxZiEwNDIyITA0MWUtITA0MWYhMDQy
MCEwNDFlITAwMjIoMSkuY3Jshj9odHRwOi8vdGVzdGdvc3QyMDEyLmNyeXB0b3By
by5ydS9DZXJ0RW5yb2xsL3Rlc3Rnb3N0MjAxMigxKS5jcmwwgdoGCCsGAQUFBwEB
BIHNMIHKMEQGCCsGAQUFBzAChjhodHRwOi8vdGVzdGdvc3QyMDEyLmNyeXB0b3By
by5ydS9DZXJ0RW5yb2xsL3Jvb3QyMDE4LmNydDA/BggrBgEFBQcwAYYzaHR0cDov
L3Rlc3Rnb3N0MjAxMi5jcnlwdG9wcm8ucnUvb2NzcDIwMTJnL29jc3Auc3JmMEEG
CCsGAQUFBzABhjVodHRwOi8vdGVzdGdvc3QyMDEyLmNyeXB0b3Byby5ydS9vY3Nw
MjAxMmdzdC9vY3NwLnNyZjAKBggqhQMHAQEDAgNBAGX2jH2Gy37Cg3PGArV+Na5d
iGlTWSINc8R2lqHH3UXCEeiBGOE4xaXYOaUDpiCzA4ZSh8vMmIbRTFLof8egPIQ=</ds:X509Certificate>
							</ds:X509Data>
						</ds:KeyInfo>
					</ds:Signature>
				</SgntrSt>
			</Envlp>
		</SplmtryData>
	</CstmrCdtTrfInitn>
</Document>

After POST request execution the bank synchronously returns response with the message receipt status.

Response codes

Rest codeMessage receipt statusReason description ENGReason description RUS
200CreatedThe message successfully is accepted by the bankCообщение успешно принято банком
400Bad requestXML validation errorОшибка валидации XML
401UnauthorizedAuthorization errorОшибка авторизации
403ForbiddenAn access is deniedДоступ к запрошенному ресурсу запрещен
413Payload too largeSize of the file exceeds the limitРазмер файла превышает допустимый
500Internal Server ErrorAn unexpected error has occurred (server unavailablity, etc.)Произошла непредвиденная ошибка (недоступность сервера и т.д.)

The message receipt status in Pain.002.001 format is returned by the bank additionally to the standard REST codes. It’s published in the body of the response message as well as an additional text description of the error.

In Pain.002.001 format response there are two possible statuses:

  • PDNG - message has received by the bank
  • RJCT - message has rejected by the bank

Example of a response when the message is successfully accepted by the bank (code 200+ISO PDNG )

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.002.001.12">
    <CstmrPmtStsRpt>
        <GrpHdr>
            <MsgId>087845946c5f490bad0d8ec19059357c</MsgId>
            <CreDtTm>2023-02-28T16:24:34.966268+03:00</CreDtTm>
            <InitgPty>
                <Nm>АО Райффайзенбанк</Nm>
                <PstlAdr>
                    <Ctry>RU</Ctry>
                </PstlAdr>
            </InitgPty>
        </GrpHdr>
        <OrgnlGrpInfAndSts>
            <OrgnlMsgId>77700000000000h000000f0011fa57</OrgnlMsgId>
            <OrgnlMsgNmId>pain.001.001.raif</OrgnlMsgNmId>
            <OrgnlCreDtTm>2022-11-17T15:46:15Z</OrgnlCreDtTm>
            <OrgnlNbOfTxs>1</OrgnlNbOfTxs>
            <OrgnlCtrlSum>30.23</OrgnlCtrlSum>
            <GrpSts>PDNG</GrpSts>
        </OrgnlGrpInfAndSts>
    </CstmrPmtStsRpt>
</Document>

The message may not be accepted (code ISO=RJCT) in the following cases:

  • an authentication on the API Portal was not successful
  • an authorization in the CIB Ruble payments service was not successful:
    • the user who initiates the request is not a user of the company on behalf of which the message is initiated
    • the user who initiates the request does not have enough rights and permissions to execute this request
    • the company does not have contracts that allow the use of this service
  • the xml file in the body of request does not match to the xsd scheme

Example of a response when the message is rejected by the bank (code 400+ ISO code RJCT)

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.002.001.12">
    <CstmrPmtStsRpt>
        <GrpHdr>
            <MsgId>e61f35da3d2e41889f3ebbecf8dc7ffe</MsgId>
            <CreDtTm>2023-06-19T07:55:23.147Z</CreDtTm>
            <InitgPty>
                <Nm>АО Райффайзенбанк</Nm>
                <PstlAdr>
                    <Ctry>RU</Ctry>
                </PstlAdr>
            </InitgPty>
        </GrpHdr>
        <OrgnlGrpInfAndSts>
            <OrgnlMsgNmId>pain.001.001.raif</OrgnlMsgNmId>
            <GrpSts>RJCT</GrpSts>
            <StsRsnInf>
                <AddtlInf>Schema validation error</AddtlInf>
                <AddtlInf>FATAL_ERROR: cvc-complex-type.2.4.a: Invalid content was found starting with element '{"urn:iso:std:iso:20022:tech:xsd:pain.001.001.raif":Sc</AddtlInf>
                <AddtlInf>hmeNm}'. One of '{"urn:iso:std:iso:20022:tech:xsd:pain.001.001.raif":Id}' is expected.</AddtlInf>
                <AddtlInf>line: 14; column: 8; </AddtlInf>
            </StsRsnInf>
        </OrgnlGrpInfAndSts>
    </CstmrPmtStsRpt>
</Document>

Detailed information about an error is sent in the AddtLInf tag of the response message by the following way:

  • <AddtlInf> Schema validation error </AddtlInf> - a general reason of message reject by the bank
  • <AddtlInf>FATAL_ERROR: cvc-complex-type.2.4.a: Invalid content was found starting with element '{"urn:iso:std:iso:20022:tech:xsd:pain.001.001.raif":Sc</AddtlInf>
  • <AddtlInf>hmeNm}'. One of '{"urn:iso:std:iso:20022:tech:xsd:pain.001.001.raif":Id}' is expected.</AddtlInf> - detailed text description of an error
  • <AddtlInf> line: 1; column: 808; </AddtlInf> - the closing tag location within a file, where the error presented

The Schema validation error returns on the first error was found, thus only this error details will be reflected in the response message.

Example of a response when the message is rejected by the bank (code 401+ ISO code RJCT)

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.002.001.12">
    <CstmrPmtStsRpt>
        <GrpHdr>
            <MsgId>1b9b021c6e7c48d6abff17b5757f58eb</MsgId>
            <CreDtTm>2023-02-28T18:44:17.532542+03:00</CreDtTm>
            <InitgPty>
                <Nm>АО Райффайзенбанк</Nm>
                <PstlAdr>
                    <Ctry>RU</Ctry>
                </PstlAdr>
            </InitgPty>
        </GrpHdr>
        <OrgnlGrpInfAndSts>
            <OrgnlMsgNmId>pain.001.001.raif</OrgnlMsgNmId>
            <GrpSts>RJCT</GrpSts>
            <StsRsnInf>
                <AddtlInf>Authorization error</AddtlInf>
            </StsRsnInf>
        </OrgnlGrpInfAndSts>
    </CstmrPmtStsRpt>
</Document>

If the service is unavailable, only the code = 500 will be sent in the response

Mass payment status and payment status request

You can request the following payment processing statuses:

  • The Mass payment status
  • The Mass payment status and statuses of all payments within the Mass Payment
  • The status of a certain payment sent within the Mass payment

Mass payment status request

To request the Mass payment processing status you need to:

  • get AccessToken
  • send a GET request to the address /iso20022/message/{msgId}/status, where msgId is the message ID from original message you send to the bank
  • receive a synchronous response with the message receipt status

Mass payment statuses:

ISO CODESTATUSCOMMENTS
RJCTREJECTEDAll payments within Mass payment were rejected by the bank
PDNGPENDINGIn queue for business validation
FSGNREADY FOR SENDINGReady to sending for processing
ACSPPROCESSINGPayments within the Mass payment are processing by the bank
ATTNNEEDS ATTENTIONPayment or some payments within the Mass payment need an attention (for example a lack of funds on an account to process the payment)
PARTPARTIALLY DONENot all payments within the Mass payment were executed
ACSCDONEAll payments within the Mass payments were executed
NPMTPAYMENT ID NOT FOUNDMass payment with this ID was not found, please check the ID
DBLCDUPLICATEMass payment was not created because it is a duplicate

Format of the pain002.001 message containing the Mass payment status

You can learn more about the message format in the section Import format in the file Raiffeisen_pain002001_payments_status. In the response we provide both Mass payment status and current state of the Mass payment:

  • the number of payments within the Mass payment at the time of the status request;
  • the total amount of payments within the Mass payment at the time of the status request.

Examples of message with Mass payment status

ISO Code - ACSP, Status - PROCESSING

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.002.001.12">
    <CstmrPmtStsRpt>
        <GrpHdr>
            <MsgId>2f01d4ea45fa4864a33722e7d4ed74f7</MsgId>
            <CreDtTm>2023-07-14T08:21:48.263Z</CreDtTm>
            <InitgPty>
                <Nm>АО Райффайзенбанк</Nm>
                <PstlAdr>
                    <Ctry>RU</Ctry>
                </PstlAdr>
            </InitgPty>
        </GrpHdr>
        <OrgnlGrpInfAndSts>
            <OrgnlMsgId>1233924782</OrgnlMsgId>
            <OrgnlMsgNmId>pain.001.001.raif</OrgnlMsgNmId>
            <OrgnlCreDtTm>2023-07-13T12:28:09.000Z</OrgnlCreDtTm>
            <GrpSts>PDNG</GrpSts>
            <NbOfTxsPerSts>
                <DtldNbOfTxs>2</DtldNbOfTxs>
                <DtldSts>ACSP</DtldSts>
                <DtldCtrlSum>320.28</DtldCtrlSum>
            </NbOfTxsPerSts>
        </OrgnlGrpInfAndSts>
        <OrgnlPmtInfAndSts>
            <TxInfAndSts>
                <StsRsnInf>
                    <AddtlInf>PROCESSING</AddtlInf>
                </StsRsnInf>
            </TxInfAndSts>
        </OrgnlPmtInfAndSts>
    </CstmrPmtStsRpt>
</Document>

ISO Code - ACSC, Status - DONE

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.002.001.12">
    <CstmrPmtStsRpt>
        <GrpHdr>
            <MsgId>2f01d4ea45fa4864a33722e7d4ed74f7</MsgId>
            <CreDtTm>2023-07-14T08:52:38.263Z</CreDtTm>
            <InitgPty>
                <Nm>АО Райффайзенбанк</Nm>
                <PstlAdr>
                    <Ctry>RU</Ctry>
                </PstlAdr>
            </InitgPty>
        </GrpHdr>
        <OrgnlGrpInfAndSts>
            <OrgnlMsgId>1233924782</OrgnlMsgId>
            <OrgnlMsgNmId>pain.001.001.raif</OrgnlMsgNmId>
            <OrgnlCreDtTm>2023-07-13T12:28:09.000Z</OrgnlCreDtTm>
            <GrpSts>PDNG</GrpSts>
            <NbOfTxsPerSts>
                <DtldNbOfTxs>2</DtldNbOfTxs>
                <DtldSts>ACSC</DtldSts>
                <DtldCtrlSum>320.28</DtldCtrlSum>
            </NbOfTxsPerSts>
        </OrgnlGrpInfAndSts>
        <OrgnlPmtInfAndSts>
            <TxInfAndSts>
                <StsRsnInf>
                    <AddtlInf>DONE</AddtlInf>
                </StsRsnInf>
            </TxInfAndSts>
        </OrgnlPmtInfAndSts>
    </CstmrPmtStsRpt>
</Document>

ISO Code - NPMT, Status -PAYMENT ID NOT FOUND

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.002.001.12">
    <CstmrPmtStsRpt>
        <GrpHdr>
            <MsgId>7d534186414d45d7a8bc56d1343f8eda</MsgId>
            <CreDtTm>2024-07-03T12:21:33.846Z</CreDtTm>
            <InitgPty>
                <Nm>АО Райффайзенбанк</Nm>
                <PstlAdr>
                    <Ctry>RU</Ctry>
                </PstlAdr>
            </InitgPty>
        </GrpHdr>
        <OrgnlGrpInfAndSts>
            <OrgnlMsgId>8ffebe938878454fa549aeef980f7af2</OrgnlMsgId>
            <OrgnlMsgNmId>pain.001.001.raif</OrgnlMsgNmId>
            <GrpSts>NPMT</GrpSts>
            <StsRsnInf>
                <AddtlInf>PAYMENT ID NOT FOUND</AddtlInf>
                <AddtlInf>Mass payment with MsgId 8ffebe938878454fa549aeef980f7af2 was not found</AddtlInf>
            </StsRsnInf>
        </OrgnlGrpInfAndSts>
    </CstmrPmtStsRpt>
</Document>

Request the status of a Mass Payment, including the statuses of each payment within the Mass Payment

To request the processing status of the Mass payment and each payment within it you need to:

  • get AccessToken
  • send a GET request to the address /iso20022/message/{msgId}/status/full, where msgId is the message ID from original message you send to the bank
  • receive a synchronous response with the message receipt status

We provide the Mass payment status, current state of the Mass payment and each payment processing status in the response:

  • the number of payments within the Mass payment at the time of the status request
  • the total amount of payments within the Mass payment at the time of the status request
  • the current processing status of each payment in the Mass Payment

Mass payment statuses:

ISO CODESTATUSCOMMENTS
RJCTREJECTEDAll payments within Mass payment were rejected by the bank
PDNGPENDINGIn queue for business validation
FSGNREADY FOR SENDINGReady to sending for processing
ACSPPROCESSINGPayments within the Mass payment are processing by the bank
ATTNNEEDS ATTENTIONPayment or some payments within the Mass payment need an attention (for example a lack of funds on an account to process the payment)
PARTPARTIALLY DONENot all payments within the Mass payment were executed
ACSCDONEAll payments within the Mass payments were executed
NPMTPAYMENT ID NOT FOUNDMass payment with this ID was not found, please check the ID
DBLCDUPLICATEMass payment was not created because it is a duplicate

Payment statuses:

ISO CODESTATUSCOMMENTS
RJCTREJECTEDPayment was rejected by the bank
PDNGPENDINGIn queue for business validation
FSGNREADY FOR SENDINGReady to sending for processing
ACSPPROCESSINGPayment is processing by the bank
ATTNNEEDS ATTENTIONPayment needs an attention (for example a lack of funds on an account to process the payment)
CANCREVOKEDPayment was revoked by the client
ACSCDONEPayment was executed
NPMTPAYMENT ID NOT FOUNDPayment with ID was not found, please check the ID
DBLCDUPLICATEPayment was not created because it is a duplicate

Format of the pain002.001 message contains the Mass payment status

You can learn more about the message format in the section Import format in the file Raiffeisen_pain002001_payments_status.

Examples of message with Mass payment status

ISO Code - PART, Status - PARTIALLY DONE due to in the Mass Payment three payments of five were executed, the rest were rejected

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.002.001.12">
    <CstmrPmtStsRpt>
        <GrpHdr>
            <MsgId>7500032fd7fd4cc09867798f38fd70e4</MsgId>
            <CreDtTm>2024-06-24T09:28:15.110Z</CreDtTm>
            <InitgPty>
                <Nm>АО Райффайзенбанк</Nm>
                <PstlAdr>
                    <Ctry>RU</Ctry>
                </PstlAdr>
            </InitgPty>
        </GrpHdr>
        <OrgnlGrpInfAndSts>
            <OrgnlMsgId>1184946705</OrgnlMsgId>
            <OrgnlMsgNmId>pain.001.001.raif</OrgnlMsgNmId>
            <OrgnlCreDtTm>2024-03-07T13:28:49.000Z</OrgnlCreDtTm>
            <OrgnlNbOfTxs>5</OrgnlNbOfTxs>
            <OrgnlCtrlSum>9000.99</OrgnlCtrlSum>
            <GrpSts>PDNG</GrpSts>
            <NbOfTxsPerSts>
                <DtldNbOfTxs>5</DtldNbOfTxs>
                <DtldSts>PART</DtldSts>
                <DtldCtrlSum>9000.99</DtldCtrlSum>
            </NbOfTxsPerSts>
        </OrgnlGrpInfAndSts>
        <OrgnlPmtInfAndSts>
            <OrgnlPmtInfId>1154694812</OrgnlPmtInfId>
            <PmtInfSts>ACSC</PmtInfSts>
        </OrgnlPmtInfAndSts>
        <OrgnlPmtInfAndSts>
            <OrgnlPmtInfId>1163926138</OrgnlPmtInfId>
            <PmtInfSts>ACSC</PmtInfSts>
        </OrgnlPmtInfAndSts>
        <OrgnlPmtInfAndSts>
            <OrgnlPmtInfId>1054259923</OrgnlPmtInfId>
            <PmtInfSts>ACSC</PmtInfSts>
        </OrgnlPmtInfAndSts>
        <OrgnlPmtInfAndSts>
            <OrgnlPmtInfId>1162364846</OrgnlPmtInfId>
            <PmtInfSts>RJCT</PmtInfSts>
        </OrgnlPmtInfAndSts>
        <OrgnlPmtInfAndSts>
            <OrgnlPmtInfId>1108107023</OrgnlPmtInfId>
            <PmtInfSts>RJCT</PmtInfSts>
        </OrgnlPmtInfAndSts>
	 </CstmrPmtStsRpt>
</Document>

Status Request for payment sent within the Mass payment

To request the payment processing status you need to:

  • get AccessToken
  • send a GET request message to the /iso20022/message/{msgId}/payment/{PmtInfId}/status address, where msgId is the message ID from original message you send to the bank, and PmtInfId is payment ID
  • receive a synchronous response with message receipt status

Payment statuses:

ISO CODESTATUSCOMMENTS
RJCTREJECTEDPayment was rejected by the bank
PDNGPENDINGIn queue for business validation
FSGNREADY FOR SENDINGReady to sending for processing
ACSPPROCESSINGPayment is processing by the bank
ATTNNEEDS ATTENTIONPayment needs an attention (for example a lack of funds on an account to process the payment)
CANCREVOKEDPayment was revoked by the client
ACSCDONEPayment was executed
NPMTPAYMENT ID NOT FOUNDPayment with ID was not found, please check the ID
DBLCDUPLICATEPayment was not created because it is a duplicate

Format of the pain002.001 message containing the Payment status

You can learn more about the message format in the section Import format in the file Raiffeisen_pain002001_payments_status.

Examples of message with payment status

ISO Code - RJCT, Status - REJECTED

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.002.001.12">
    <CstmrPmtStsRpt>
        <GrpHdr>
            <MsgId>2e90f47d07424c20b0ec6c7dbe20f219</MsgId>
            <CreDtTm>2024-07-09T14:23:52.878Z</CreDtTm>
            <InitgPty>
                <Nm>АО Райффайзенбанк</Nm>
                <PstlAdr>
                    <Ctry>RU</Ctry>
                </PstlAdr>
            </InitgPty>
        </GrpHdr>
        <OrgnlGrpInfAndSts>
            <OrgnlMsgId>1224505675</OrgnlMsgId>
            <OrgnlMsgNmId>pain.001.001.raif</OrgnlMsgNmId>
            <OrgnlCreDtTm>2024-07-09T17:09:14.000Z</OrgnlCreDtTm>
        </OrgnlGrpInfAndSts>
        <OrgnlPmtInfAndSts>
            <OrgnlPmtInfId>1234822979</OrgnlPmtInfId>
            <PmtInfSts>RJCT</PmtInfSts>
            <TxInfAndSts>
                <OrgnlInstrId>55C3667d5cf54fb4b19d29443b91b389</OrgnlInstrId>
                <OrgnlEndToEndId>477206</OrgnlEndToEndId>
                <TxSts>RJCT</TxSts>
                <StsRsnInf>
                    <AddtlInf>REJECTED</AddtlInf>
                    <AddtlInf>3.13 Реквизит "(9) Счет плательщика" не найден в справочнике клиентов банка.</AddtlInf>
                </StsRsnInf>
            </TxInfAndSts>
        </OrgnlPmtInfAndSts>
    </CstmrPmtStsRpt>
</Document>

ISO Code - ATTN, Status - NEEDS ATTENTION

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.002.001.12">
    <CstmrPmtStsRpt>
        <GrpHdr>
            <MsgId>9968b942b9dc4a72abf1b36e683e4a65</MsgId>
            <CreDtTm>2024-07-09T12:09:27.839Z</CreDtTm>
            <InitgPty>
                <Nm>АО Райффайзенбанк</Nm>
                <PstlAdr>
                    <Ctry>RU</Ctry>
                </PstlAdr>
            </InitgPty>
        </GrpHdr>
        <OrgnlGrpInfAndSts>
            <OrgnlMsgId>ORCR111UWIRE032012317717602</OrgnlMsgId>
            <OrgnlMsgNmId>pain.001.001.raif</OrgnlMsgNmId>
            <OrgnlCreDtTm>2024-07-03T05:54:55.000Z</OrgnlCreDtTm>
        </OrgnlGrpInfAndSts>
        <OrgnlPmtInfAndSts>
            <OrgnlPmtInfId>ORCRUWIRE0220202317717605</OrgnlPmtInfId>
            <PmtInfSts>ATTN</PmtInfSts>
            <TxInfAndSts>
                <OrgnlInstrId>HMSRUEFT7841922</OrgnlInstrId>
                <OrgnlEndToEndId>4</OrgnlEndToEndId>
                <TxSts>ATTN</TxSts>
                <StsRsnInf>
                    <AddtlInf>NEEDS ATTENTION</AddtlInf>
                </StsRsnInf>
            </TxInfAndSts>
        </OrgnlPmtInfAndSts>
    </CstmrPmtStsRpt>
</Document>

ISO Code - ACSC, Status -DONE

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.002.001.12">
    <CstmrPmtStsRpt>
        <GrpHdr>
            <MsgId>9968b942b9dc4a72abf1b36e683e4a65</MsgId>
            <CreDtTm>2024-07-09T12:09:27.839Z</CreDtTm>
            <InitgPty>
                <Nm>АО Райффайзенбанк</Nm>
                <PstlAdr>
                    <Ctry>RU</Ctry>
                </PstlAdr>
            </InitgPty>
        </GrpHdr>
        <OrgnlGrpInfAndSts>
            <OrgnlMsgId>ORCR111UWIRE032012317717602</OrgnlMsgId>
            <OrgnlMsgNmId>pain.001.001.raif</OrgnlMsgNmId>
            <OrgnlCreDtTm>2024-07-03T05:54:55.000Z</OrgnlCreDtTm>
        </OrgnlGrpInfAndSts>
        <OrgnlPmtInfAndSts>
            <OrgnlPmtInfId>ORCRUWIRE0220202317717608</OrgnlPmtInfId>
            <PmtInfSts>ACSC</PmtInfSts>
            <TxInfAndSts>
                <OrgnlInstrId>HMSRUEFT7847913</OrgnlInstrId>
                <OrgnlEndToEndId>4</OrgnlEndToEndId>
                <TxSts>ACSC</TxSts>
                <StsRsnInf>
                    <AddtlInf>DONE</AddtlInf>
                </StsRsnInf>
            </TxInfAndSts>
        </OrgnlPmtInfAndSts>
    </CstmrPmtStsRpt>
</Document>