Payments CZ API

The Payments API allows third party applications to perform money transfers from a bank client's account on his behalf, including the following operations:

  1. single Domestic (CZK) transfer (including express and instant payments)
  2. single SEPA Credit Transfer
  3. single Foreign Payment
  4. recurring Domestic (CZK) transfer (standing orders)

Clients

Payment initiation through API open banking channel can be used by Raiffeisenbank a.s clients who have access to an open current account via Internet banking.

Type of payments

Payment type is decided automatically by Raiffeisenbank a.s. depending on the payment details of initiated payment. Available options and conditions are listed below:

  1. Internal payment: IBAN starts with „CZ315500*“ or bank code is „5500“ if IBAN is not used
  2. Domestic payment: transaction currency is „CZK“ and IBAN starts with „CZ*“ or valid local clearing bank code is used
  3. SEPA payment: transaction currency is „EUR“, destination bank is SEPA reachable, all mandatory fields for SEPA payment are filled
  4. Foreign payment: any other payment not meeting conditions of above payments

All payments types are supported as immediate or future dated.

Payments between different currencies on the same account (currency conversions) are not supported.

Instant payments

Domestic payments can be initiated as instant payments if this feature is supported by the bank of the beneficiary and fulfills further conditions of the instant payments like maximum transaction amount of CZK 400.000,- and source account in CZK. Instant payments can’t be requested with the future value date. 

Instant payment can be requested by using value “INST” in the instructionPriority field. Upon receiving such request payment conditions are validated and if all are satisfied, payment is initiated as instant payment and TPP can forward client to authorization page. If any of the conditions fail, error response 400 is returned back and TPP should initiate the payment again as normal (or express) payment. 

Please note that account balance is validated only after payment authorization, so we suggest to use “POST /payments/balanceCheck” resource to check, if there is sufficient balance on the account prior initiation of the instant payment. 

Cut of time

Remember to check periods for payment order submitting in order to have payments processed at the time you request.

Cut of time periods for payments initiated via the current internet banking are available on our web site https://www.rb.cz/attachments/informacni-servis/Informace_kelhutam_CZ.pdf

Payment Limits

Initiated payment processing is limited by daily and monthly limits. Payment limits are cumulative per account. Payment limits are same as for Raiffeisenbank a.s. internet banking.

Payment fees

Payments realized via the open banking are charged to clients of Raiffeisenbank a.s. same as the payments initiated via the current internet banking according to your pricing plan.

Exchange rates

Exchange rates are the same as used on the current internet banking.

Standing Orders

Standing orders can be initiated in the similar way as single payments by using POST /standingorders and followed by its authorization on the link received through (POST /standingorders/{transactionIdentification}/sign/{signId})

Besides standing order authorization, TPPs can use further resources for the standing orders, which were created through their application:

    1. PUT /standignorders/(transactionIdentification) – update of the standing order
    2. GET /standignorders/(transactionIdentification) – receive details of the standing order
    3. GET /standignorders/(transactionIdentification)/status – receive status of the standing order and list of realized payments
    4. DELETE /standignorders/(transactionIdentification) – delete standing order
    5. PUT and DELETE resources requires further authorization of the change by using resources for authorization

Standing orders – parameters

Parameter listed below are not supported by RBCZ or support only specific values

standingOrder.alias – not processed

standingOrder.exceptions.breaks – not processed

standingOrder.exceptions.stoppages – not processed

standingOrder.execution.interval – accepted values: WEEKLY, MONTHLY, QUARTERLY, HALFYEARLY and YEARLY

standingOrder.execution.intervalDue – not processed

standingOrder.execution.mode – supported values: "UNTIL_CANCELLATION", "UNTIL_DATE"

standingOrder.execution.modeDue: supported value: "DUE_DAY_OF_MONTH"

standingOrder.validity.lastExecutionDate: supported only for mode “UNTIL_DATE”

standingOrder.validity.maxAmount: – not processed

standingOrder.validity.maxIterations: – not processed