canonical: https://jentic.com/apis/abnamro.com/abnamro

# Abnamro Payment Initiation (PSD2)

Jentic publishes the only available OpenAPI specification for ABN AMRO's Payment Initiation (PSD2) API, keeping it validated and agent-ready. The Payment Initiation (PSD2) API lets licensed Third Party Payment service providers (TPPs) initiate single SEPA and cross-border payments from ABN AMRO accounts, gated by PSD2 consent. The 8 endpoints cover registering a payment, executing it after consent, cancelling a future-dated payment, and checking status, for both SEPA and cross-border flows. Authentication combines OAuth 2.0 (client credentials and authorization code), an API key, and a QWAC EIDAS certificate.

## For AI agents

Initiate, execute, cancel, and check the status of SEPA and cross-border payments from ABN AMRO accounts under PSD2. Requires PSD2 license, EIDAS certificate, OAuth, and API key.

## Scope

Does not handle account information retrieval, standing orders, bulk payments, or card acquiring - use for single SEPA and cross-border payment initiation only.

## Capabilities

- Register a SEPA credit transfer for an ABN AMRO account holder to authorise
- Register a cross-border credit transfer in non-EUR or outside the euro zone
- Execute a registered payment after the account holder consents
- Cancel a future-dated SEPA or cross-border payment before execution
- Check the status of a SEPA payment by paymentId
- Check the status of a cross-border payment by paymentId

## Use cases

### TPP-Initiated SEPA Payments

Licensed PISPs initiate SEPA credit transfers from a customer's ABN AMRO account on the customer's behalf. POST /sepa-credit-transfers registers the payment, the customer authorises it via the ABN AMRO consent flow, and PUT /sepa-credit-transfers/{paymentId} executes it. GET on the status sub-resource returns the SEPA result codes (ACCC, ACSC, RJCT) for reconciliation.

Example prompt: Register a SEPA credit transfer of EUR 100.01 from NL62ABNA9999841479 to NL12ABNA9999876523, then execute the payment after consent and confirm status ACCC

### Cross-Border Credit Transfers

Non-EUR or out-of-SEPA-zone payments use the cross-border endpoints. POST /cross-border-credit-transfers registers the payment with creditor agent and address, PUT executes after consent, and GET status returns the result. The two-step register-and-execute model means the customer keeps full control of the consent before the funds move.

Example prompt: Register a USD 1000 cross-border payment to a US account with full creditor address and execute once consent is granted

### Payment Cancellation and Status Checks

Operations and reconciliation flows cancel future-dated payments and confirm settlement status. DELETE /sepa-credit-transfers/{paymentId} and DELETE /cross-border-credit-transfers/{paymentId} cancel future-dated payments before execution; the GET status endpoints return the live result so a backend can reconcile expected vs actual outcomes.

Example prompt: Cancel future-dated SEPA payment 8325P3346070108S0PD and confirm status reflects the cancellation

### Agent-Driven PISP Workflow via Jentic

Licensed PISP backends benefit from a single tool surface that an AI agent or service can call. Through Jentic, an agent searches for a payment intent, loads the matching ABN AMRO operation, and executes with the OAuth/API-key credentials held in your Jentic One instance. EIDAS certificate handling stays at the network layer; Jentic isolates the OAuth and API-key secrets.

Example prompt: Search Jentic for 'register a SEPA payment', load the ABN AMRO PSD2 schema, and execute the registration call with the customer's payment details

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /sepa-credit-transfers | Register a SEPA credit transfer |
| PUT | /sepa-credit-transfers/{paymentId} | Execute a registered SEPA payment |
| DELETE | /sepa-credit-transfers/{paymentId} | Cancel a future-dated SEPA payment |
| GET | /sepa-credit-transfers/{paymentId}/status | Get SEPA payment status |
| POST | /cross-border-credit-transfers | Register a cross-border credit transfer |
| PUT | /cross-border-credit-transfers/{paymentId} | Execute a cross-border payment |
| GET | /cross-border-credit-transfers/{paymentId}/status | Get cross-border payment status |

## Key resources

- **SEPA Credit Transfers** — Register, execute, cancel, and check the status of SEPA credit transfers
- **Cross-Border Credit Transfers** — Register, execute, cancel, and check the status of non-EUR or out-of-SEPA payments

## Why Jentic

- **Setup:** Wiring ABN AMRO Payment Initiation by hand means standing up its PSD2 OAuth flows (authorization-code and client-credentials), configuring the eIDAS QWAC mutual-TLS certificate at the network layer, and passing the API key alongside the bearer token. Through Jentic you install once, import Payment Initiation from the API Directory, store the OAuth client and API-key material once, and your agent calls it.
- **Permission scoping:** This spec exposes distinct operations for SEPA and cross-border transfers, so limit the agent to the operations it needs, such as registering a SEPA credit transfer and reading its status. You choose the operations it may call, so a cancellation like DELETE on a sepa-credit-transfer is not included unless you add it.
- **Credential handling:** Your ABN AMRO OAuth client secret and API key are stored once, encrypted, by your own Jentic One instance and injected at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'register a SEPA payment' or 'check a cross-border transfer status', and Jentic returns the matching Payment Initiation operation with its input schema, including the debtor, creditor, amount, and execution-date fields, so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **UK Open Banking Payment Initiation** — UK Open Banking standard for payment initiation across UK banks.
- **UK Open Banking Account Information** — Account information API for AISPs under UK Open Banking.
- **Stripe** — Stripe's payment processing platform for cards, wallets, and bank debits.

## FAQ

### Why is there no official OpenAPI spec for ABN AMRO Payment Initiation (PSD2)?

ABN AMRO publishes the API reference as a YAML/HTML page rather than a hosted OpenAPI catalog. Jentic generates and maintains this spec so that AI agents and developers can call ABN AMRO's Payment Initiation (PSD2) API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the ABN AMRO Payment Initiation (PSD2) API use?

The API uses OAuth 2.0 client credentials for payment registration and OAuth 2.0 authorization code (with the ABN AMRO consent application) for execution, plus an API key passed as API-Key, plus a QWAC EIDAS certificate for mTLS. Through Jentic, OAuth and API-key secrets are kept in your Jentic One instance; the EIDAS certificate is handled at the network layer.

### Can I initiate cross-border payments with the ABN AMRO PSD2 API?

Yes. POST /cross-border-credit-transfers registers a non-EUR or out-of-SEPA payment with creditor name, account, agent, and address. After consent, PUT /cross-border-credit-transfers/{paymentId} executes the payment, and GET /cross-border-credit-transfers/{paymentId}/status returns the result.

### How do I check the status of a SEPA payment through Jentic?

Search Jentic for 'check SEPA payment status' to find GET /sepa-credit-transfers/{paymentId}/status, load the schema, and execute with the paymentId returned at registration. Status codes ACCC and ACSC indicate success, RJCT indicates rejection, and PDNG indicates pending.

### What licensing do I need to use the API in production?

Production use requires a PSD2 license (or FCA license for UK access), an EIDAS QWAC certificate (or OBWAC for UK), and a registered production app on the ABN AMRO Developer Portal. The sandbox is open to any developer for integration testing with static fictive data.

### Can I cancel a payment after it has been executed?

Only future-dated payments can be cancelled. DELETE /sepa-credit-transfers/{paymentId} or DELETE /cross-border-credit-transfers/{paymentId} cancels a registered future-dated payment before its execution date; once executed, cancellation is no longer possible through the API.

### Can I limit what my agent is allowed to do with the ABN AMRO Payment Initiation (PSD2) API?

Yes. Because you run Jentic One yourself, your own rules decide which of this API's operations and credentials the agent can use, and the spec exposes distinct SEPA and cross-border transfer operations you can grant individually. You might allow only registering a SEPA credit transfer (POST /sepa-credit-transfers) and reading its status (GET /sepa-credit-transfers/{paymentId}/status) while withholding execution or cancellation. A destructive call like DELETE on a sepa-credit-transfer is not available to the agent unless you explicitly add it.
