Tutorial
Introduction
The Payment Status API is an add-on to the following payment APIs:
- PSD2 Payment Initiation
- Business Account Payment
- Business Account Payment - Instant
The API enables consumers of these mentioned APIs to retrieve details of the status of the transaction(s). For now the API only consists of the Batch Status Report endpoint. With this endpoint, consumers can retrieve the details of the status of the transactions within a batch.
Note: This API does not give details of the transactions itself but only information of the processing status.
Use this API to retrieve the following information on your initiated payment(s):
- The number of transactions in the batch that has been processed
- The rejected transactions
- Transactions that are still in processing
How the Payment Status API works
- Request an access token.
- Request the batch status using the PSD2 Batch service getBulkPaymentStatus or the Business Account Payment service getPaymentStatus.
- Is the batch not completely processed and you want more details on the status of the individual transactions, use the retrieveBatchPaymentReport from this API to retrieve the details.
Requirements
To use this API in a production environment, you must have the following:
- Access to the PSD2 Payment Initiation API, the Business Account Payment API or the Business Account Payment - Instant API.
Sandbox access
The sandbox and production environments are functionally identical. The sandbox is static, which means that you can perform all operations without making any transactions on an account. Transactions posted in the sandbox environment are cleaned daily.
Note: Since the Payment Status service is an add-on to the PSD2 Payment Initiation API, Business Account Payment and Business Account Payment - Instant API, the registration is for the referenced APIs.
To use the Payment Status service in a sandbox environment, complete the following steps:
- Register and create an account:
- Click Sign up.
- Enter your details, and click Create new account.
- Developer Support will send you an activation link by email.
- Click the activation link.
- Create an register application:
- Log in to your account.
- In the left-side navigation click Apps.
- Click Add app.
- In the App name field, enter a name for your application.
- In the APIs field, select the PSD2 Payment Initiation API, Business Account Payment or Business Account Payment - Instant API from the APIs list, and click Add app.
- Complete the steps in How to use this API.
To provide feedback on this API, see Contact.
Sandbox access details
Below you can find the test data that is available in the Sandbox environment.
For the Business Account Payment and Business Account Payment - Instant APIs, the following paymentIds are available for testing the Batch Status Report:
| paymentId | Description |
|---|---|
| FCF000001414BC80 | Fully processed batch with some transactions processed instantly |
| FCF000001414BC81 | A batch that is partially processed and partially rejected |
For the PSD2 Batch payments the following IBANs can be used to test the Batch Status Report:
| IBAN | Description |
|---|---|
| NL62ABNA9999841479 | Fully processed batch with some transactions processed instantly |
| NL58ABNA9999142181 | Fully processed batch with some transactions processed instantly |
| Any other IBAN | A batch that is partially processed and partially rejected |
- Sandbox URL: https://api-sandbox.abnamro.com
- Sandbox token URL: https://auth-mtls-sandbox.abnamro.com
Use the following credentials for the sandbox:
| Attribute | Value |
|---|---|
| client_id | test_client |
| API-Key | API Key for your application on the Developer Portal |
| Certificate files |
|---|
| Download public certificate: Download |
| Download private key: Download |
Note: The sandbox environment handles functional error scenarios only.
Production access
Note: Since the Payment Status service is an add-on to the PSD2 Payment Initiation, Business Account Payment and Business Account Payment - Instant API, the registration is for the referenced APIs.
To get access to production:
- Log in to your account.
- In the left-side navigation bar, click Apps.
- Click Request Production Access.
- Select the PSD2 Payment Initiation API, Business Account Payment or Business Account Payment - Instant API from the list of APIs.
- Fill in the form, and click Submit.
- You receive a confirmation email and ticket-ID.
- ABN AMRO Developer Support validates the form.
- When the form is validated and the setup is complete, ABN AMRO Developer Support contacts you and supplies you with a client_id.
- A new app is added in Apps. This new app contains your API key.
Production access details
- Production URL: https://api.abnamro.com
- Production Token URL: https://auth-mtls.abnamro.com/as/token.oauth2
Use the following credentials for production:
| Attribute | Value for Production |
|---|---|
| client_id | As supplied to you by ABN AMRO |
| API-Key | The API key for your production application on the Developer Portal |
| scope | For PSD2 Batch psd2:btchsctpayment:read |
| For Business Account Payment APIs payment:status:read | |
| For Boekhoudkoppeling boekhoudkoppeling:payment:read-status |
| Certificate files: |
|---|
| Certificate file : Your OV or EV SSL certificate |
| Private key : Your private key |
How to use this API
This tutorial describes how to connect an application to the Batch Status Report service in the sandbox environment.
Note: Before you start this tutorial, you must complete the steps described in Sandbox access.
Step 1 - Request an access token (optional)
This step is optional. If you have already obtained a valid token to retrieve the batch status PSD2 Batch or the Business Account Payment service, you can reuse this token to retrieve the Batch Status Report. Otherwise, see the PSD2 Batch payment upload and execution tutorial for PSD2 batches or the Business Account Payment for batches initiated by one of the Business Account Payment APIs.
Step 2 - Call the Batch Status Report API
To retrieve the status information of the transactions within particular batch, see the retrieveBatchPaymentReport operation.
Sample request
curl -X GET "https://api-sandbox.abnamro.com/payment-status/v1/FCF000001414BC81/batch-status-report" \
-H 'Authorization: Bearer X1PTWZre0fnW72l263yrhAWB2FDwx3tg' \
-H 'API-Key: YourApiKeyHere'
Sample response
```json
{
"paymentId": "FCF000001414BC81",
"status": "PARTIALLY_REJECTED",
"lastModifiedDateTime": "2026-05-19T15:08:11.2877846",
"batchSummaries": [
{
"batchId": "FCB158C598E72AD0",
"batchType": "SEPA_CREDIT_TRANSFER_BATCH",
"pmtInfId": "Payment_0711",
"status": "PARTIALLY_REJECTED",
"batchStatusCode": "PART",
"statusDetails": [
{
"transactionStatusCode": "RJCT",
"count": 2,
"details": [
{
"message": "C0502",
"errorCode": "AC01",
"referenceIds": [
"FCX00468475D8CA0",
"FCX00468475D8CD0"
]
}
]
},
{
"transactionStatusCode": "ACCC",
"count": 7,
"latestConfirmationDateTime": "2026-05-19T15:08"
}
]
}
]
}
```
Need help?