> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kashimi.tech/llms.txt
> Use this file to discover all available pages before exploring further.

# Start Here

> Prerequisites, credentials setup, and a step-by-step guide to your first payment.

## 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

<Info>
  If you don't yet have these certificates, Kashimi can introduce you to trusted qualified certificate providers. Reach out to [admin@kashimi.tech](mailto:admin@kashimi.tech).
</Info>

## 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:

<Steps direction="vertical">
  <Step title="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](/api-reference/authentication) · [POST /auth](/api-reference/endpoint/auth)
  </Step>

  <Step title="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](/api-reference/providers) · [GET /providers](/api-reference/endpoint/banks)

    <Info>
      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.
    </Info>
  </Step>

  <Step title="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](/api-reference/endpoint/initiatePayments) · [Custom Bank Selection](/guides/provider-selection-flow) · [Hosted Bank Selection](/guides/hosted-flow)
  </Step>

  <Step title="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](/api-reference/payment_status) · [GET /payment-statuses/latest](/api-reference/endpoint/latestPaymentStatus)
  </Step>
</Steps>

***

Once you've completed these steps you've implemented the full Open Banking payment flow. Next, explore [Payment Status](/api-reference/payment_status) to understand the detailed status lifecycle, or [Webhooks](/api-reference/webhooks) to set up real-time notifications.
