PAYMENTS SIGNAL REFERENCE ARCHITECTURE · SYNTHETIC / TRAINING ONLY
Open-banking consent, authentication, API, payment-initiation, callback, and status architecture
Follow a customer from merchant intent through consent and bank authentication to payment initiation, asynchronous status, and merchant reconciliation.
Payments Signal reference architecture v1 · reviewed 2026-07-23
Reference architecture—not a scheme mandate. This blueprint uses a common PISP, account-provider, customer, and merchant pattern. It does not prescribe a jurisdiction's authorisation protocol, consent duration, authentication exemption, API fields, liability, refund right, or regulatory role. Those details require the current local standard and law.
Components
Customer and merchant experience
Captures the order and displays the bank-account payment option without collecting the customer's bank credentials.
- Kind
- channel
- Owner
- Merchant product owner
- Responsibilities
- Create a stable order and payment intent
- Explain redirect, decoupled, pending, and failed states
- Inputs
- Authorised business instruction and correlated state
- Outputs
- Versioned result, status, and audit evidence
- Controls
- Amount and payee integrity
- No bank credential capture
- Accessible return journey
- Failure modes
- Customer abandons authentication
- Merchant creates a second payment intent
- Recovery
- Resume the original payment by stable reference
- Allow a deliberate new attempt only after showing the first state
- Non-functional requirements
- Durable correlation through stable business and technical identifiers
- Capacity and availability matched to the service-level objective
- Auditable state changes, configuration, and operator actions
Payment-initiation service provider
Creates consent, selects the account provider, submits the authorised instruction, and retrieves status.
- Kind
- gateway
- Owner
- Payment-initiation service provider
- Responsibilities
- Bind consent to payment details
- Keep consent, authorisation, payment, and merchant references distinct
- Inputs
- Authorised business instruction and correlated state
- Outputs
- Versioned result, status, and audit evidence
- Controls
- Client identity
- Consent scope
- Request signing
- Idempotency
- Failure modes
- Consent reused outside scope
- Payment submitted twice
- Status callback lost
- Recovery
- Reject invalid consent
- Query the original payment before resubmission
- Non-functional requirements
- Durable correlation through stable business and technical identifiers
- Capacity and availability matched to the service-level objective
- Auditable state changes, configuration, and operator actions
Directory, trust, and discovery
Publishes trusted participant identity, endpoint, certificate, and capability information.
- Kind
- security
- Owner
- Open-banking ecosystem or bilateral trust owner
- Responsibilities
- Resolve the correct account-provider endpoint
- Validate participant and certificate status
- Inputs
- Authorised business instruction and correlated state
- Outputs
- Versioned result, status, and audit evidence
- Controls
- Certificate chain
- Participant role
- Endpoint and profile version
- Failure modes
- Stale directory
- Revoked participant still accepted
- Wrong endpoint
- Recovery
- Fail closed for new initiation
- Refresh signed trust material and record the incident
- Non-functional requirements
- Durable correlation through stable business and technical identifiers
- Capacity and availability matched to the service-level objective
- Auditable state changes, configuration, and operator actions
Account-provider API gateway
Authenticates the payment-initiation service provider, validates the request, and protects the bank boundary.
- Kind
- gateway
- Owner
- Account-servicing payment-service provider
- Responsibilities
- Validate transport and application identity
- Apply schema, consent, rate, replay, and idempotency controls
- Inputs
- Authorised business instruction and correlated state
- Outputs
- Versioned result, status, and audit evidence
- Controls
- Mutual authentication
- Request integrity
- Replay prevention
- Rate and size limits
- Failure modes
- Invalid signature
- Rate limit
- Unavailable API
- Recovery
- Return a precise error without exposing bank internals
- Recover using the tested service path
- Non-functional requirements
- Durable correlation through stable business and technical identifiers
- Capacity and availability matched to the service-level objective
- Auditable state changes, configuration, and operator actions
Bank authentication and consent service
Authenticates the customer and confirms the payment details and account under the bank's applicable rules.
- Kind
- control
- Owner
- Account provider identity and channel team
- Responsibilities
- Authenticate without disclosing credentials to the PISP
- Bind the customer's approval to amount, currency, payee, and account
- Inputs
- Authorised business instruction and correlated state
- Outputs
- Versioned result, status, and audit evidence
- Controls
- Strong-customer-authentication policy
- Dynamic transaction binding
- Consent expiry
- Failure modes
- Customer authenticates but payment details change
- Consent expires
- Decoupled journey times out
- Recovery
- Reject changed details
- Return a distinct expired or abandoned state
- Non-functional requirements
- Durable correlation through stable business and technical identifiers
- Capacity and availability matched to the service-level objective
- Auditable state changes, configuration, and operator actions
Bank payment engine and controls
Validates account, funds, limits, fraud, sanctions, routing, and rail rules before accepting the instruction.
- Kind
- application
- Owner
- Account-provider payments team
- Responsibilities
- Create one bank payment from the authorised request
- Return a bank payment identifier and honest state
- Inputs
- Authorised business instruction and correlated state
- Outputs
- Versioned result, status, and audit evidence
- Controls
- Account authority
- Funds and limits
- Fraud and sanctions
- Rail eligibility
- Failure modes
- Accepted API request but rejected rail instruction
- Bank payment duplicated
- Screening hold
- Recovery
- Preserve the last confirmed state
- Repair or reject through the bank's normal payment process
- Non-functional requirements
- Durable correlation through stable business and technical identifiers
- Capacity and availability matched to the service-level objective
- Auditable state changes, configuration, and operator actions
Status, callback, and event service
Publishes state changes and supports explicit retrieval when a callback is late, duplicated, or lost.
- Kind
- service
- Owner
- Account provider and PISP platform teams
- Responsibilities
- Expose monotonic business status
- Sign and correlate callbacks
- Support status polling within policy
- Inputs
- Authorised business instruction and correlated state
- Outputs
- Versioned result, status, and audit evidence
- Controls
- Authenticated callback
- Event deduplication
- No backward state transition without reason
- Failure modes
- Callback delivered twice
- Callback lost
- Status arrives out of order
- Recovery
- Deduplicate by event identifier
- Retrieve the authoritative payment state
- Non-functional requirements
- Durable correlation through stable business and technical identifiers
- Capacity and availability matched to the service-level objective
- Auditable state changes, configuration, and operator actions
Merchant order, refund, and reconciliation
Matches merchant order, bank payment, rail outcome, settlement or credit evidence, and any refund or return.
- Kind
- operations
- Owner
- Merchant finance and payment operations
- Responsibilities
- Fulfil under an explicit status policy
- Reconcile by stable references rather than customer screenshots
- Inputs
- Authorised business instruction and correlated state
- Outputs
- Versioned result, status, and audit evidence
- Controls
- Order-to-payment match
- Settlement evidence
- Refund and return linkage
- Failure modes
- Goods released on a provisional state
- Paid order remains open
- Refund duplicates a bank return
- Recovery
- Hold fulfilment when policy requires
- Query the original state and reconcile all value movements
- Non-functional requirements
- Durable correlation through stable business and technical identifiers
- Capacity and availability matched to the service-level objective
- Auditable state changes, configuration, and operator actions
Interfaces
Payment intent and consent request
ob-user-merchant → ob-pisp
Carry order, amount, currency, payee, and return context.
- Contract
- api · synchronous
- Controls
- Authentication and authorisation
- Integrity and replay protection
- Correlation and audit evidence
- Failure treatment
- Do not create another intent when the response is uncertain.
Participant and endpoint lookup
ob-pisp → ob-directory
Resolve trusted identity, endpoint, and supported profile.
- Contract
- api · synchronous
- Controls
- Authentication and authorisation
- Integrity and replay protection
- Correlation and audit evidence
- Failure treatment
- Fail closed when current trust evidence is unavailable.
Consent and payment API
ob-pisp → ob-aspsp-api
Create consent and submit an authorised payment under the agreed profile.
- Contract
- api · synchronous
- Controls
- Authentication and authorisation
- Integrity and replay protection
- Correlation and audit evidence
- Failure treatment
- Return rejected, pending, accepted, and uncertain states distinctly.
Customer authentication hand-off
ob-aspsp-api → ob-auth-consent
Move authentication to the bank while preserving the payment context.
- Contract
- api · synchronous
- Controls
- Authentication and authorisation
- Integrity and replay protection
- Correlation and audit evidence
- Failure treatment
- Reject any mismatch between approved and submitted payment details.
Authorised payment instruction
ob-auth-consent → ob-payment-engine
Release only the customer-approved payment to bank controls.
- Contract
- control · asynchronous
- Controls
- Authentication and authorisation
- Integrity and replay protection
- Correlation and audit evidence
- Failure treatment
- Keep expired, abandoned, or changed consent outside payment processing.
Payment state event
ob-payment-engine → ob-status-events
Publish bank and rail state with stable identifiers.
- Contract
- event · asynchronous
- Controls
- Authentication and authorisation
- Integrity and replay protection
- Correlation and audit evidence
- Failure treatment
- Store for redelivery and preserve event order.
Callback or status response
ob-status-events → ob-pisp
Return authenticated payment state to the PISP.
- Contract
- api · asynchronous
- Controls
- Authentication and authorisation
- Integrity and replay protection
- Correlation and audit evidence
- Failure treatment
- Deduplicate callbacks and query the authoritative state after gaps.
Merchant return and status
ob-pisp → ob-user-merchant
Show the customer and merchant an honest outcome.
- Contract
- api · asynchronous
- Controls
- Authentication and authorisation
- Integrity and replay protection
- Correlation and audit evidence
- Failure treatment
- Do not turn a missing callback into a failure or a success.
Settlement and reporting evidence
ob-payment-engine → ob-merchant-recon
Provide payment, credit, return, and reporting references for reconciliation.
- Contract
- message · asynchronous
- Controls
- Authentication and authorisation
- Integrity and replay protection
- Correlation and audit evidence
- Failure treatment
- Open a case when merchant and bank states disagree.