Product Overview
Use the Business Payment Initiation APIs to initiate single credit transfers or bulk payment files for your users with a Rabobank business payment account. Retrieve the satus of initiated transactions and payment files.
Business Payment Initiation is part of Rabo BoekhoudKoppeling and Rabo Banking Link. This API supports third parties and direct connectors. Process single and bulk payments through your application for clients with a Rabobank business account.
Business Payment Initiation consists of two separate APIs:
We offer two variations of the BBPI API:
- Business Bulk Payment Initiation:
With signing for the Rabobank account holder in Rabo Business Banking. - Business Bulk Payment Initiation – Straight Through Processing (STP): Without signing for the Rabobank account holder.
Only available for Direct Connectors.
Optional service Payee Account Check:
To further improve the processing of your payments, BPI offers an additional optional service: Payee Account Check. This feature allows you to verify whether the provided beneficiary name matches the IBAN before submitting the payment instruction. It helps prevent failed transactions and manual interventions during payment processing.
Prerequisites
To ensure a smooth start with the Business Payment Initiation API, your business should meet the following conditions:
- High degree of automation.
- Professional IT environment and good infrastructure.
- Permanently available security expertise to use Accounts & Payments APIs and safeguarding its security.
- An EV SSL certificate for transport .
- An EV SSL signing certificate for signing messages.
- An active Rabobank business account.
How to connect with the Business Payment Initiation API
The API can be used in two ways, depending on your use case.
The options below explain each approach:
- If you execute API requests from your own account, then you are a Direct Connector (DC).
- If you execute API requests on behalf of your customers (Rabo account holders), then you are a Third Party (TP).
If you decide to use both options of this API (Direct Connector AND Third Party), you must create separate Apps. One app with a subscription on the DC product and the other app with a subscription on the TP product.
More information: Rabo Banking Link manual for third parties, Rabo Banking Link manual for direct connectors
Business Single Payment Initiation
- Subscribe your application to Business Payment Initiation.
- Use OAuth scope:
bspi.single.read-write
We offer two different versions of Business Bulk Payment Initiation API:
Business Bulk Payment Initiation
- Subscribe your application to Business Payment Initiation
- Use OAuth scope:
bbpi.bulk.read-write
Business Bulk Payment Initiation - STP
This option is only available if you execute payouts from your own account (Direct Connector)
- Subscribe your application to Business Bulk Payment Initiation STP
- Use OAuth scope:
bbpi.stp-credittransfer.read-write
Payment file limits
Payment files containing multiple batches can be sent to the bank using BBPI or BBPI-STP, with a maximum of 3,000 batches per file. To ensure smooth processing, do not exceed 25,000 payment orders in a one payment file. Larger files—up to 100,000 payment orders—can be processed if compressed using Gzip.
Authentication & Authorization
The APIs use token-based authentication. This requires:
- Consent from the account holder.
- An access token that includes the granted consent.
Set up authentication with the Authorization Services API .
Use the /authorize endpoint to request consent form the account holder for a specific API scope. After the account holder grants consent, the system returns an authorization code.
Use the authorization code in a /token request to retrieve an access token. Use this access token as a Bearer token in the Authorization header of every API request.
Read more OAuth PSD2 and Premium.
Relevant scope(s) for OAuth2 access code flow
| API | Scope name | Description |
|---|---|---|
| Business Single Payment Initiation | bspi.single.read-write | Payments from your payment account. |
| Business Bulk Payment Initiation | bbpi.bulk.read-write | Send batch payment files, signing in RBB required. |
| Business Bulk Payment Initiation - STP | bbpi.stp-credittransfer.read-write | Send credit transfer initiation batch payment files using straight through processing (already signed, are executed directly) for Direct Connectors. |
Consent required for Third Parties and Direct Connectors:
- Third Party
- Performing actions on behalf of your customers (Rabo account holders)
- The account holder must provide consent to the third party to Rabobank on behalf of their organisation for the specified account(s) and scopes (provide access to specific actions). This consent is continuous.
- Direct Connector
- Performing actions on/from your own account
- You must provide consent for technical reasons for the specified account(s) and scopes (provide access to specific actions). This is a one time action.
Make sure that you use the Authorization and Token URL as provided by the Authorization Services.
Rate Limiting
A default rate limit plan is set for all APIs. The rate limit can be shared or individual (defined per operation). The table below describes the rate limiting for the Business Payment Initiation product.
| Operation | Type | Limit (API calls / s) | Counts towards shared limit |
|---|---|---|---|
POST /v1/single/sepa-credit-transfers | Shared | 6 | Yes |
POST /v1/periodic/sepa-credit-transfers | Shared | 6 | Yes |
POST /v1/single/cross-border-credit-transfers | Shared | 6 | Yes |
POST /v1/periodic/cross-border-credit-transfers | Shared | 6 | Yes |
GET /v1/single/sepa-credit-transfers/{paymentId} | Shared | 6 | Yes |
GET /v1/periodic/sepa-credit-transfers/{paymentId} | Shared | 6 | Yes |
GET /v1/single/cross-border-credit-transfers/{paymentId} | Shared | 6 | Yes |
GET /v1/periodic/cross-border-credit-transfers/{paymentId} | Shared | 6 | Yes |
GET /v1/single/sepa-credit-transfers/{paymentId}/status | Shared | 6 | Yes |
GET /v1/periodic/sepa-credit-transfers/{paymentId}/status | Shared | 6 | Yes |
GET /v1/single/cross-border-credit-transfers/{paymentId} | Shared | 6 | Yes |
GET /v1/periodic/cross-border-credit-transfers/{paymentId}/status | Shared | 6 | Yes |
POST /bulk/credit-transfers | Individual | 5 | No |
GET /bulk/credit-transfers/{paymentId}/status | Individual | 10 | No |
| All (premium) OAuth calls | Shared | 6 | Yes |
The table below describes the rate limiting for the Business Bulk Payment Initiation STP product.
| Operation | Type | Limit (API calls / s) | Counts towards shared limit |
|---|---|---|---|
POST /bulk-stp/credit-transfers | Shared | 5 | Yes |
GET /bulk-stp/credit-transfers/{paymentId}/status | Shared | 10 | Yes |
| All (premium) OAuth calls | Shared | 6 | Yes |
