Bulk Payments API Flow

1. Initiate a Bulk Payment

Your application connects to the bank and creates a bulk payment resource, by making a POST bulk-payments/pain001-credit-transfers-hr

The bank platform will perform validations on the technical level (regarding compatibility with ISO 20022 XML Standard for initiating credit transfer messages) and functional level (allowed information, e.g. supported currencies).

Technical level validations:

  • All product is supported in pain001-credit-transfers-hr (possibly consisted of sepa/cross-border/domestic payments, any combination in groups of payments inside the bulk payment file allowed
  • only credit transfer in XML 20022 format - message pain.001 will be accepted
  • validate that all mandatory fields are provided + validate that they are in the correct format 
  • the Creation Date Time, element 1.2 CreDtTm, represents date and time of creating the bulk payment file, mustn't be in the future.
  • the Message Identification, element 1.1 MsgId, must be unique within the same date of occurrence and the same sender.
  • the Number Of Transactions, element 1.4 NbOfTxs,  represents the total number of payment orders in the bulk payment file which must match the sum of individual orders in the message, i.e. the sum of all fields. 
  • the Control Sum, element 1.5 CtrlSum, represents the control sum of all individual payment orders regardless of the currency of the payment order, must match the total amount of all individual orders in the file.
  • the IBAN, element 2.36 IBAN, represents the debtor account. If not entered, or if the IBAN is incorrect, the whole bulk payment file is rejected. Accept only IBAN of Corporate client (according to Sandbox data).
  • validate that PSU ID has access rights to this IBAN according to Sandbox data. Otherwise, the whole bulk payment is rejected.
  • the bank BIC represents information of the bank which maintains the debtor's transaction account. Only RBA BIC is accepted, in form either RZBHHR2X or RZBHHR2XXXX.

  If validations are successful, the TPP Application will be responded back with:

  • transactionStatus (RCVD)
  • paymentInformationID (BulkID, not the individual IDs of the contained single payment entries)
  • SCA redirect URL "startAuthorisation

 If some validations fail, then the bulk payment initiation fails and an error message is provided.

 2. Authorize Initiated Bulk Payment 

You should forward the user to the scaRedirect URL in order to authorize the bulk payment. 

Some validations are performed before, during and after the PSU authenticates itself. 

If validations fail, the PSU will be informed into the SCA page and the flow will be redirected back to your TPP-Nok-Redirect-URI, if such URL was sent by you in the bulk payment initiation message. 

If validations pass, the PSU will see the bulk payment detail screen and will have the option to authorize the bulk payment. 

If the PSU will fail to authorize the payment in a predefined time or if PSU will cancel the bulk payment, the flow will be redirected back to your TPP-Nok-Redirect-URI, if such URL was sent by you in the payment initiation message. 

If the PSU authorizes the bulk payment, the flow will be redirected back to your TPP-Redirect-URI, information sent by you in the bulk payment initiation message. 

 3. Get Bulk payment details 

You can check the status of the initiated bulk payment (with the paymentId) and get the payment details (as submitted in payment initiation). This is carried out by making a GET bulk-payments/pain001-credit-transfers-hr/paymentId

When you submit the request we will verify that

  • the request has valid syntax, all mandatory fields are filled
  • the TPP which submitted the request is the same as the one, who submitted the bulk payment initiation request (based on client ID)

No dedicated status for bulk (PART) will be used in Sandbox.

 4. Get Bulk payment status

You can check the status of the initiated payment (with the paymentId). This is carried out by making a GET /bulk-payments/pain001-credit-transfers-hr/paymentId/status request to the initiated payment resource.

 If validation is successful the status of the requested item will be returned

 The payment status code indicates the status of a single payment transaction and is according to ISO 20022 Payment status codes table.


RCVD [Received] - Payment received and successfully validated (regarding compatibility with Berlin Group Specifications)

ACTC [AcceptedTechnicalValidation] - Payment successfully authorized by PSU

ACSC [AcceptedSettlementCompleted] - Settlement on the debtor’s account has been completed

RJCT [Rejected] - Payment initiation has been rejected