canonical: https://jentic.com/apis/openbanking.org.uk/payment-initiation-api

# Openbanking Payment Initiation API

The UK Open Banking Payment Initiation API (PISP) lets authorised Third Party Providers create and manage account-to-account payments directly from a customer's bank account under PSD2. It covers domestic, domestic scheduled, domestic standing order, international, international scheduled, international standing order, and file payments, each with its own consent, payment, and status resources. Strong Customer Authentication is enforced via redirect or decoupled flows, and TPPs authenticate to the bank with mTLS plus OAuth 2.0 client credentials. This is the spec implemented by every CMA9 bank in the UK.

## For AI agents

Initiate UK account-to-account payments through PSD2-compliant PISP flows, including domestic transfers, scheduled payments, standing orders, and international payments with consent and status tracking.

## Scope

Does not handle account information access, card payments, or customer onboarding - use for PSD2 payment initiation only.

## Capabilities

- Create a domestic payment consent and obtain customer authorisation via redirect SCA
- Submit a domestic payment for execution once the customer has authorised the consent
- Schedule a future-dated domestic payment with a specific execution date
- Set up a domestic standing order with frequency, first payment, and final payment dates
- Initiate an international payment with currency conversion and counterparty bank details
- Submit a file payment containing multiple beneficiaries in a single batch
- Check the status of any submitted payment to confirm settlement or rejection

## Use cases

### Account-to-Account Checkout

Replace card payments with direct bank transfers at checkout by initiating a domestic payment consent for the order amount, redirecting the customer to their bank for SCA, and submitting the payment once authorised. The flow settles via Faster Payments in seconds and avoids card scheme fees, which suits high-value or low-margin merchants who want lower acceptance costs.

Example prompt: Create a domestic-payment-consent for GBP 49.99 payable to sort code 12-34-56 account 12345678, redirect the customer to authorise it, then POST /domestic-payments with the matching ConsentId and confirm settlement via GET /domestic-payments/{DomesticPaymentId}.

### Subscription and Standing Orders

Replace card-on-file subscriptions with PSD2 standing orders so customers pay weekly, monthly, or quarterly amounts directly from their bank account. The /domestic-standing-order-consents and /domestic-standing-orders endpoints capture the schedule, first payment, recurring payment, and final payment fields, removing the renewal failures and reauthorisation friction associated with expired cards.

Example prompt: Create a domestic-standing-order-consent for GBP 19.99 monthly with first payment dated 2026-07-01 and submit the corresponding domestic-standing-order once the customer has authorised it.

### International Payouts

Send cross-border payments out of UK accounts using the international-payments resource, which carries currency, exchange rate type, charge bearer, and counterparty bank fields per ISO 20022. This avoids stitching together SWIFT instructions manually and works through the same PSD2 consent framework as domestic flows.

Example prompt: Create an international-payment-consent for EUR 1500 from a GBP account with a fixed exchange rate, then submit the international-payment once authorised.

### AI Agent Treasury Operations

Through Jentic, an AI agent can initiate and track UK bank payments without learning the OBIE specification or managing mTLS certificates and JWS signing logic itself. The agent searches for the right payment type, loads the consent and payment operations, and executes the redirect handoff for SCA. This makes Open Banking payments accessible from agent workflows that previously could only call card APIs.

Example prompt: Through Jentic, search for 'initiate a UK bank payment', load the POST /domestic-payment-consents operation, create a consent for GBP 250, and return the customer authorisation URL.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| POST | /domestic-payment-consents | Create a domestic payment consent |
| POST | /domestic-payments | Submit a domestic payment after consent authorisation |
| GET | /domestic-payments/{DomesticPaymentId} | Retrieve a domestic payment and its status |
| POST | /domestic-scheduled-payments | Submit a future-dated domestic payment |
| POST | /domestic-standing-orders | Submit a domestic standing order |
| POST | /international-payment-consents | Create an international payment consent |
| POST | /international-payments | Submit an international payment after consent authorisation |
| POST | /file-payments | Submit a batched payment file |

## Key resources

- **Domestic Payment Consents** — Create and inspect customer authorisation for one-off GBP payments
- **Domestic Payments** — Submit authorised one-off GBP payments and check status
- **Domestic Scheduled Payments** — Create future-dated one-off domestic payments
- **Domestic Standing Orders** — Create and manage recurring domestic payment instructions
- **International Payments** — Initiate cross-border payments with currency and counterparty details
- **File Payments** — Submit batched payment files for multiple beneficiaries

## Why Jentic

- **Setup:** Wiring the Payment Initiation API by hand means standing up TPP OAuth client credentials, eIDAS-bound mTLS certificates, and JWS request signing, then chaining the consent-then-payment flow across 41 endpoints yourself. Through Jentic you install once, import the Payment Initiation API from the API Directory, store the OAuth and signing credentials once, and your agent calls it.
- **Permission scoping:** Payment initiation posts the payment details in the request body and creates consents and payments as new resources, so scope it by limiting the agent to the operations it needs, such as creating a domestic payment consent and initiating that domestic payment. You choose the operations it may call, so international payments, standing orders, and file payments are not included unless you add them.
- **Credential handling:** Your TPP OAuth client credentials, eIDAS-bound mTLS certificates, and JWS signing keys are stored once, encrypted, by your own Jentic One instance and applied at execution time. They never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'initiate a UK domestic payment' or 'set up a monthly standing order', and Jentic returns the matching consent and payment operations with their InstructedAmount and CreditorAccount schema so the agent calls the right endpoint without browsing the OBIE spec.

## Related APIs

- **Open Data API** — Public product and directory data for the same CMA9 banks.
- **Swiss NextGen Banking API-Framework** — Swiss Berlin Group NextGenPSD2 implementation for cross-border PSD2 payment flows.
- **Stripe API** — Card and wallet payment processing without PSD2 TPP registration.
- **Plaid API** — Account verification and balance checks alongside payment initiation.

## FAQ

### What authentication does the Payment Initiation API use?

The spec defines two OAuth 2.0 schemes: TPPOAuth2Security (client credentials grant for the TPP) and PSUOAuth2Security (authorization code grant for the customer's SCA). On top of OAuth, banks require mutual TLS for the transport layer and JWS detached signatures on POST request bodies. Through Jentic, the OAuth tokens and signing keys are isolated in your Jentic One instance and never enter the agent's prompt context.

### Can I initiate an international payment with this API?

Yes. The /international-payment-consents and /international-payments resources support cross-border payments with currency of transfer, exchange rate type (Actual, Agreed, or Indicative), charge bearer, and full counterparty bank details. Scheduled and standing-order variants exist under /international-scheduled-payments and /international-standing-orders for future-dated and recurring transfers.

### What are the rate limits for the Payment Initiation API?

The OBIE spec does not mandate a single rate limit; each CMA9 bank publishes its own, typically expressed in requests-per-minute per TPP. Treat 429 responses as a signal to back off and respect the bank-specific developer portal limits. Idempotency-Key on POST is mandatory and prevents accidental duplicate payments under retry.

### How do I create a domestic payment through Jentic?

Search Jentic for 'create UK domestic payment', load the POST /domestic-payment-consents operation, and execute it with the InstructedAmount, DebtorAccount, CreditorAccount, and EndToEndIdentification fields. Redirect the customer to the bank for SCA, then load POST /domestic-payments and submit the matching ConsentId - Jentic handles the mTLS and JWS signing in your Jentic One instance so the agent never touches the certificate.

### Is the Payment Initiation API free?

The OBIE specification itself is open, but to call live PSD2 endpoints you must register as an authorised TPP (PISP) with the FCA or another EEA competent authority and obtain eIDAS certificates. The banks do not charge per call, but TPP authorisation, ongoing supervision, and certificate provisioning carry meaningful operational cost.

### Can I cancel a scheduled payment before it executes?

Yes. The /domestic-scheduled-payment-consents/{ConsentId}/cancellation-authorisations and equivalent international resources let you raise a cancellation authorisation before the execution date. Once a payment has been submitted via Faster Payments it cannot be recalled through this API - settlement is real-time and irrevocable.

### Can I limit what my agent is allowed to do with the Payment Initiation API?

Yes. Because you self-host Jentic One, your own rules decide which of the API's operations and credentials the agent may use, so you can grant only what a task needs, such as creating a domestic payment consent and initiating that domestic payment. Higher-risk operations like international payments, standing orders, and file payments stay unavailable to the agent unless you explicitly add them. Your TPP OAuth client credentials, mTLS certificates, and JWS signing keys are applied at execution time and never enter the agent's context.
