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.

Fund a wallet by creating a collection and passing the target wallet_id. If you omit wallet_id, KulmiPay settles the collection into the default settlement wallet for the transaction currency. KulmiPay currently documents M-Pesa and PesaLink for this flow. Card, Google Pay, Apple Pay, Bitcoin, and ACH funding are not included because they are not currently offered.

Fund with M-Pesa

curl --request POST \
  --url https://app.kulmipay.com/api/v1/payment/collection/ \
  --header "Authorization: Bearer ISSecretKey_live_xxxxxxxxxxxxxxxx" \
  --header "Content-Type: application/json" \
  --data '{
    "method": "M-PESA",
    "currency": "KES",
    "amount": "1500.00",
    "api_ref": "wallet-fund-1001",
    "phone_number": "254712345678",
    "wallet_id": "wlt_def456",
    "mobile_tarrif": "BUSINESS-PAYS"
  }'
curl --request POST \
  --url https://app.kulmipay.com/api/v1/payment/collection/ \
  --header "Authorization: Bearer ISSecretKey_live_xxxxxxxxxxxxxxxx" \
  --header "Content-Type: application/json" \
  --data '{
    "method": "PESALINK",
    "currency": "KES",
    "amount": "5000.00",
    "api_ref": "wallet-fund-bank-1001",
    "wallet_id": "wlt_def456",
    "bank_tarrif": "BUSINESS-PAYS"
  }'

Request fields

FieldRequiredDescription
methodYesM-PESA or PESALINK.
currencyYesUse KES for M-Pesa and PesaLink wallet funding.
amountYesAmount to collect.
api_refRecommendedYour unique reference for reconciliation.
wallet_idYesTarget wallet alias ID.
phone_numberM-Pesa onlyCustomer phone number in international format.
mobile_tarrifNoFee handling for M-Pesa. BUSINESS-PAYS or CUSTOMER-PAYS.
bank_tarrifNoFee handling for PesaLink. BUSINESS-PAYS or CUSTOMER-PAYS.

Response

The response includes an invoice and a signature you can use to check payment status.
{
  "invoice": {
    "id": "GQ7KZ2XPNM",
    "state": "PENDING",
    "value": "1500.00",
    "currency": "KES",
    "provider": "M-PESA",
    "api_ref": "wallet-fund-1001"
  },
  "signature": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}
Use Wallet Transactions to confirm the credit once the invoice reaches COMPLETE.