Skip to main content

Documentation Index

Fetch the complete documentation index at: https://developers.kulmipay.com/llms.txt

Use this file to discover all available pages before exploring further.

This guide walks you through the fastest way to make a working KulmiPay API call. You will create an account, get your API keys, and create a checkout session. If you want to test without real money first, use the sandbox environment and replace the base URL with https://sandbox.kulmipay.com.
1

Create a KulmiPay account

Go to app.kulmipay.com and sign up for an account. Complete business verification before processing live payments.For testing, create a separate sandbox account at sandbox.kulmipay.com.
2

Create an API application

In the dashboard, open API Applications and create an application.KulmiPay gives you two API keys:
CredentialWhat it’s for
Public KeyBrowser-safe checkout and public collection requests. It starts with ISPubKey_.
Secret KeyProtected backend API requests. It starts with ISSecretKey_.
Store the secret key securely. Do not expose it in frontend code.
3

Create a checkout session

Use your public key to create a hosted checkout session.
curl -X POST https://sandbox.kulmipay.com/api/v1/checkout/ \
  --header 'Content-Type: application/json' \
  --data '{
    "public_key": "ISPubKey_test_xxxxxxxxxxxxxxxx",
    "amount": 1000,
    "currency": "KES",
    "email": "customer@example.com",
    "phone_number": "254712345678",
    "api_ref": "ORDER-1001",
    "redirect_url": "https://merchant.example/thank-you",
    "unique_api_ref": true
  }'
The response includes a hosted url. Redirect the customer to that URL, or render checkout with the kulmipay browser SDK.
4

Call a protected endpoint

For backend-only endpoints, pass your secret key as a Bearer token.
curl --request GET \
  --url https://sandbox.kulmipay.com/api/v1/wallets/ \
  --header 'Authorization: Bearer ISSecretKey_test_xxxxxxxxxxxxxxxx'

Next steps

Authentication

Understand public keys, secret keys, and environment-specific credentials.

Client Libraries

Install and configure the browser checkout SDK or PHP SDK.

Checkout

Learn the full hosted checkout flow.

Sandbox

Test your integration before going live.