OBIE · PISP (Payment Initiation)

Payments

:8083 · openbank-payments

The Payment Initiation Service Provider (PISP) — turns a single-use domestic-payment consent into an idempotent payment.

What it is

The Payments microservice implements the OBIE Payment Initiation API in the PISP role. It consumes an authorised, single-use domestic-payment consent and creates an idempotent domestic payment, marking the consent Consumed so it cannot be replayed.

Key endpoints

Speaks the OBIE contract on the wire. A selection of the endpoints this service exposes:

MethodPathPurpose
POST/domestic-paymentsInitiate a domestic payment (idempotent) from an authorised consent
GET/domestic-payments/{id}Read a payment’s status

Run it — zero infrastructure

Clone the repo and start the service with an in-memory store. No database required to try it.

# clone and run (in-memory store, no infra)
git clone https://github.com/Sreenivas-Sadhu-Prabhakara/openbank-payments.git
cd openbank-payments && go run .

# it is now serving OBIE on :8083
curl localhost:8083/health

FAQ

What is a PISP (Payment Initiation Service Provider)?
A PISP is a regulated Open Banking role that, with the customer’s consent, initiates a payment directly from the customer’s bank account through standard APIs — an alternative to card rails.
How is a payment kept from being made twice?
The domestic-payment consent is single-use: on success this service marks it Consumed, and payment creation is idempotent, so a retried request returns the same payment rather than a second one.
Is it production-ready?
No — it is an educational reference with the FAPI security profile stubbed and no certification. Do not use it for live payments.

Explore the estate

openbank-bian rebuilds UK Open Banking as five consent-first services. Explore the rest: