Skip to main content

Prerequisites

Before you can integrate with Kashimi, your organisation must have:
  • PIS License — you must be a licensed Payment Initiation Service Provider (PISP) under PSD2 or equivalent regulation.
  • QSealC — Qualified Electronic Seal Certificate
  • QWAC — Qualified Website Authentication Certificate
If you don’t yet have these certificates, Kashimi can introduce you to trusted qualified certificate providers. Reach out to [email protected].

Getting your credentials

Once onboarded, the Kashimi team will provide:
  • A Sandbox environment for development and testing
  • A Client ID and Client Secret for authenticating API requests
You will always begin in Sandbox. Production access is granted after your implementation is reviewed and compliant with partner bank requirements.

Integration steps

Follow these four steps to complete your first payment:
1

Authenticate your client

Exchange your Client ID and Secret for a Bearer token using OAuth 2.0 Client Credentials. Include this token in the Authorization header of every subsequent request.Authentication guide · POST /auth
2

Fetch the provider list

Retrieve the list of available banks for your environment. Use this to populate your bank selection UI and read each provider’s paymentSchemes and requiredPaymentFields.Working with Providers · GET /providers
This step depends on which flow you are implementing. If you are building your own bank selection UI, fetch the provider list and pass the selected provider.Id when initiating the payment. If you prefer Kashimi to handle bank selection, skip this step — omit provider.Id from the request and Kashimi will display its own hosted bank selection screen.
3

Initiate a payment

Submit a payment request with the amount, recipient details, and your webhookUrl. Kashimi returns a redirect URL — send the PSU there to authorise the payment with their bank.POST /payments · Custom Bank Selection · Hosted Bank Selection
4

Track the payment status

Poll the status endpoint or listen for webhooks to follow the payment through its lifecycle. The top-level status field will eventually resolve to COMPLETED or FAILED.Payment Status · GET /payment-statuses/latest

Once you’ve completed these steps you’ve implemented the full Open Banking payment flow. Next, explore Payment Status to understand the detailed status lifecycle, or Webhooks to set up real-time notifications.