Payment Initiation (PIS)

Bank-to-bank payments across Europe

Initiate domestic and SEPA credit transfers directly from a user's bank account. BankLyra's PIS API handles SCA orchestration, bank-specific quirks, and payment status tracking — so you collect payments via open banking with a single integration.

Payment initiation flow diagram showing bank-to-bank transfer with SCA authentication step

What the BankLyra PIS API covers

Domestic and SEPA transfers

Initiate UK Faster Payments, SEPA Credit Transfers (SCT), and SEPA Instant (SCT Inst) where the destination bank supports them. The API accepts the same payment object structure regardless of the underlying rail.

SCA orchestrated by BankLyra

BankLyra handles Strong Customer Authentication redirect flows for each bank's PSD2 implementation — whether it's app-based biometric, TOTP, or SMS OTP. You receive a callback when the user has authorised the payment.

Payment status webhooks

Subscribe to payment.authorised, payment.settled, and payment.rejected events. Settlement notification is typically within 2–20 seconds for Faster Payments and SCT Inst; up to next business day for standard SEPA.

Pre-payment balance verification

Optionally invoke a balance check before initiating the payment instruction. BankLyra compares the requested amount against the user's available balance and returns a funds-available flag before sending the payment to the bank.

End-to-end payment reference

Attach a structured creditor reference (ISO 11649) or unstructured remittance reference to every payment. BankLyra passes the reference through the payment instruction so it appears on your bank statement for automated reconciliation.

No card network fees

Bank-to-bank payments via PIS bypass card network interchange entirely. BankLyra charges per-call API fees rather than a percentage of transaction value — making open banking economics predictable at scale.

API example

Initiate a payment in two calls

  1. Create a payment — POST to /v1/payments with amount, currency, creditor IBAN, and the user's consent reference. BankLyra returns an authorisation_url.
  2. Redirect for SCA — Send the user to the authorisation URL. BankLyra handles the bank's SCA flow and calls your redirect_uri when authorised.
POST /v1/payments
# Request body
{
  "amount": 125.00,
  "currency": "GBP",
  "creditor_iban": "GB29NWBK60161331926819",
  "reference": "INV-2025-00482",
  "debtor_consent_id": "cns_01HXNQ7M4",
  "redirect_uri": "https://app.yourproduct.io/payment-done"
}

# 201 Created
{
  "payment_id": "pmt_01HXNQ9Z3TVRK8W7",
  "status": "PDNG",
  "authorisation_url": "https://auth.banklyra.com/p/pmt_01HXNQ9Z"
}

Test your first payment in the sandbox

Sandbox credentials available immediately. No card details, no approval process.