The Payee Account Check - TP API allows to check whether the beneficiary's IBAN and name match prior to initiating a payment order.
To know more, read Rabo Banking Link for third parties
Relevant scope for oauth2 access code flow
Scope name | Description |
---|---|
bip.paymentsbiptp.write | Payments from your payment account |
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 this product.
Operation | Type | Limit (API calls / s) | Counts towards shared limit |
---|---|---|---|
POST /v3/payments/single-credit-transfers | Shared | 12 | Yes |
POST /v3/payments/cross-border-credit-transfers | Shared | 12 | Yes |
GET /v3/payments/single-credit-transfers/{paymentId}/status | Shared | 12 | Yes |
GET /v3/payments/cross-border-credit-transfers/{paymentId/status | Shared | 12 | Yes |
POST /payments/single-payee-verification | Shared | 12 | Yes |
All (premium) Oauth calls | Shared | 12 | Yes |
Requests
You can choose to perform this check before entering a payment instruction. The Payee account check is performed to make sure the payment is not rejected due to mismatch in IBAN Name combination.
The POST Status requests must contain a digital signature. You can generate this digital signature using the private key of your certificate. For the Sandbox environment, you can use an example certificate available in the Signing documentation.
You can verify the payee account check information by sending a POST request to the following endpoint:
POST https://api-sandbox.rabobank.nl/openapi/sandbox/spv/payments/single-payee-verification
To view full list of POST parameters, go to:
POST/payments/single-payee-verification
Response
POST Verify name and IBAN of the beneficiary
The response tells you the status of the payee account check :
- MATCHING - The details are a match. If done together with a payment, the payment is executed immediately.
- NOT_MATCHING - The details are not a match. If done together with a payment, the payment is rejected.
- CLOSE_MATCH - The details match closely to what is provided. If done together with a payment, the payment is accepted.
To view the POST parameters, read the endpoint description for:
POST/payments/single-payee-verification
{
"result": {
"resultType": "MATCHING"
}}
Some scenarios, as mentioned below, require specific paymentId(s) in the URL to get the mentioned responses.
Scenarios are mentioned here:
Status Code | Result Code | IBAN | Description |
---|---|---|---|
200 OK | MATCHING | NL60RABO159349508 | The result of the request is good. You can decide to execute the payment instruction. |
200 OK | NOT_MATCHING | NL34RABO0305240692 | The result of the request is good. You can decide decide whether or not to execute the payment instruction. |
200 OK | CLOSE_MATCH | NL03RABO0300000146 | The result of the request is good. You can decide decide whether or not to execute the payment instruction. |
401 Unauthorised | CERTIFICATE_INVALID | Use the value invalid for the header: Signature-Certificate. | |
401 Unauthorised | CERTIFICATE_MISSING | Use the value missing for the header: Signature-Certificate. | |
401 Unauthorised | CERTIFICATE_EXPIRED | Use the value expired for the header: Signature-Certificate. | |
401 Unauthorised | CERTIFICATE_BLOCKED | Use the value blocked for the header: Signature-Certificate. | |
401 Unauthorised | CERTIFICATE_REVOKED | Use the value revoked for the header: Signature-Certificate. | |
405 Method Not Allowed | Use GET instead of POST | ||
503 SERVICE_UNAVAILABLE | NL03RABO0300000147 | Forced service unavailable. |
Note: These codes are for Sandbox only.
Response statuses
Here is a description of the expected response statuses:
- MATCHING : The account holder name matches the provided IBAN.
- NOT_MATCHING : The account holder name does not match the provided IBAN.
- CLOSE_MATCH : The provided name closely resembles the account holder name.
- INVALID_NAME_LENGTH : The provided name does not meet the required length constraints.
- IBAN_UNKNOWN : The provided IBAN is not recognized.
- ID_OR_NAME_NOT_PROVIDED : Either the account identifier or name is missing in the request.
- INVALID_NAME : The provided name contains invalid characters or format.
- ACCOUNT_INACTIVE : The account associated with the IBAN is inactive.