# Kulmi Pay ## Docs - [Create M-Pesa account](https://developers.kulmipay.com/api-reference/bring-your-m-pesa-tillpaybill-number/create-m-pesa-account.md): Register an M-Pesa Till or PayBill account for configuration. - [List M-Pesa accounts](https://developers.kulmipay.com/api-reference/bring-your-m-pesa-tillpaybill-number/list-m-pesa-accounts.md): List configured M-Pesa Till and PayBill accounts. - [Retrieve M-Pesa account](https://developers.kulmipay.com/api-reference/bring-your-m-pesa-tillpaybill-number/retrieve-m-pesa-account.md): Retrieve one configured M-Pesa Till or PayBill account. - [Check payment status](https://developers.kulmipay.com/api-reference/collections/check-payment-status.md): Check the state of a collection invoice. - [Collect payment](https://developers.kulmipay.com/api-reference/collections/collect-payment.md): Initiate a payment collection through M-Pesa or PesaLink. - [Create checkout session](https://developers.kulmipay.com/api-reference/collections/create-checkout-session.md): Create a hosted checkout session. - [Get checkout details](https://developers.kulmipay.com/api-reference/collections/get-checkout-details.md): Retrieve checkout details for an existing checkout session. - [Start M-Pesa STK Push](https://developers.kulmipay.com/api-reference/collections/start-m-pesa-stk-push.md): Send an M-Pesa payment prompt to a customer phone number. - [Create refund](https://developers.kulmipay.com/api-reference/refunds/create-refund.md): Create a refund request. - [List refunds](https://developers.kulmipay.com/api-reference/refunds/list-refunds.md): List refund and chargeback requests. - [Retrieve refund](https://developers.kulmipay.com/api-reference/refunds/retrieve-refund.md): Retrieve one refund by chargeback ID. - [Approve send money](https://developers.kulmipay.com/api-reference/send-money/approve-send-money.md): Approve a send money payment file. - [Cancel send money](https://developers.kulmipay.com/api-reference/send-money/cancel-send-money.md): Cancel a send money payment file before processing. - [Check send money status](https://developers.kulmipay.com/api-reference/send-money/check-send-money-status.md): Check payout file and transaction status. - [Initiate send money](https://developers.kulmipay.com/api-reference/send-money/initiate-send-money.md): Create a send money payment file. - [List bank codes](https://developers.kulmipay.com/api-reference/send-money/list-bank-codes.md): List supported Kenyan bank codes for PesaLink payouts. - [List beneficiaries](https://developers.kulmipay.com/api-reference/send-money/list-beneficiaries.md): List saved Send Money recipients for your account. - [List frequently used beneficiaries](https://developers.kulmipay.com/api-reference/send-money/list-frequently-used-beneficiaries.md): List your most frequently used recipients for a provider. - [Validate account](https://developers.kulmipay.com/api-reference/send-money/validate-account.md): Validate recipient details before sending money. - [Create internal transfer](https://developers.kulmipay.com/api-reference/wallet-as-a-service/create-internal-transfer.md): Move funds between wallets on your account. - [Create wallet](https://developers.kulmipay.com/api-reference/wallet-as-a-service/create-wallet.md): Create a working wallet. - [List wallet transactions](https://developers.kulmipay.com/api-reference/wallet-as-a-service/list-wallet-transactions.md): Retrieve wallet transaction history. - [List wallets](https://developers.kulmipay.com/api-reference/wallet-as-a-service/list-wallets.md): List wallets on your account. - [Retrieve wallet](https://developers.kulmipay.com/api-reference/wallet-as-a-service/retrieve-wallet.md): Retrieve one wallet by ID. - [List webhook events](https://developers.kulmipay.com/api-reference/webhooks/list-webhook-events.md): List webhook delivery events for your KulmiPay account. - [List webhooks](https://developers.kulmipay.com/api-reference/webhooks/list-webhooks.md): List configured webhooks for your KulmiPay account. - [Authentication](https://developers.kulmipay.com/authentication.md): Authenticate KulmiPay API requests with your publishable public key or secret API key. - [Client Libraries (SDKs)](https://developers.kulmipay.com/client-libraries.md): Install the KulmiPay browser checkout SDK and PHP SDK, and learn which API credentials to use in frontend and backend integrations. - [Checkout](https://developers.kulmipay.com/collections/checkout.md): Create a KulmiPay hosted checkout session and render it as a popup, inline frame, or redirect flow. - [M-Pesa STK Push](https://developers.kulmipay.com/collections/mpesa-stk-push.md): Send a Lipa Na M-Pesa Express payment prompt directly to a customer's phone without redirecting them to a checkout page. - [Collections Overview](https://developers.kulmipay.com/collections/overview.md): Accept M-Pesa and PesaLink payments from customers using Kulmi Pay. Choose who pays the fee. - [PesaLink Bank Payments](https://developers.kulmipay.com/collections/pesalink-bank-payments.md): Collect bank payments through PesaLink and reconcile them through KulmiPay. - [Introduction](https://developers.kulmipay.com/introduction.md): Kulmi Pay is a REST API for African businesses, with current live collections and send money flows focused on Kenya. - [Configuring your Shortcode](https://developers.kulmipay.com/mpesa-paybill/configuring-your-account.md): Configure your own Safaricom M-Pesa Till or PayBill shortcode for KulmiPay collections. - [Bring Your M-Pesa Till/PayBill Number](https://developers.kulmipay.com/mpesa-paybill/introduction.md): Use your own Safaricom M-Pesa Till or PayBill number with KulmiPay collections. - [Quick Start](https://developers.kulmipay.com/quickstart.md): Create an account, get your API keys, and create your first KulmiPay checkout session. - [Creating a Refund](https://developers.kulmipay.com/refunds/creating-a-refund.md): Create a refund request for a completed KulmiPay collection using the chargebacks API. - [Retrieve Refunds](https://developers.kulmipay.com/refunds/retrieve-refunds.md): List refund requests or retrieve a single refund by chargeback ID. - [Sandbox](https://developers.kulmipay.com/sandbox.md): Test your KulmiPay integration in sandbox before switching to live payments. - [Bank Payouts](https://developers.kulmipay.com/send-money/bank-payouts.md): Send money to Kenyan bank accounts through PesaLink. - [Send Money Beneficiaries](https://developers.kulmipay.com/send-money/beneficiaries.md): Use the Kulmi Pay Beneficiaries API to retrieve saved recipients, filter by provider, and speed up bulk disbursements with pre-validated accounts. - [Send Money](https://developers.kulmipay.com/send-money/introduction.md): Send money from your KulmiPay wallet to M-Pesa wallets, M-Pesa Till or PayBill numbers, bank accounts, and KulmiPay wallets. - [KulmiPay P2P](https://developers.kulmipay.com/send-money/kulmipay-p2p.md): Transfer funds between KulmiPay wallets or accounts using the P2P send money provider. - [M-Pesa B2B](https://developers.kulmipay.com/send-money/mpesa-b2b.md): Send money to M-Pesa PayBill and Till numbers from your KulmiPay wallet. - [M-Pesa B2C](https://developers.kulmipay.com/send-money/mpesa-b2c.md): Send money from your KulmiPay wallet to a customer's M-Pesa phone number. - [Transaction Status](https://developers.kulmipay.com/send-money/transaction-status.md): Check the status of a Send Money payment file and each individual payout transaction. - [SMS Customization](https://developers.kulmipay.com/sms-customization/introduction.md): Customize SMS notifications sent after successful payment collections and payouts. - [Payment Collection SMS](https://developers.kulmipay.com/sms-customization/payment-collection-sms.md): Customize the SMS sent after a successful payment collection. - [Payment Disbursement SMS](https://developers.kulmipay.com/sms-customization/payment-disbursement-sms.md): Customize the SMS sent to payout recipients. - [Errors References](https://developers.kulmipay.com/troubleshooting.md): KulmiPay API error response formats, common HTTP status codes, and what each error usually means. - [Create Wallets](https://developers.kulmipay.com/wallets/create-wallets.md): Create a working wallet to separate operational balances on your KulmiPay account. - [Fund Wallet](https://developers.kulmipay.com/wallets/fund-wallet.md): Route an M-Pesa or PesaLink collection into a specific KulmiPay wallet using wallet_id. - [Internal Transfers](https://developers.kulmipay.com/wallets/internal-transfers.md): Move funds between wallets on the same KulmiPay account. - [Wallet as a Service](https://developers.kulmipay.com/wallets/introduction.md): Use KulmiPay wallets to hold balances, route collections, fund payout wallets, and move money between wallets on your account. - [Retrieve Wallets](https://developers.kulmipay.com/wallets/retrieve-wallets.md): List wallets on your KulmiPay account or retrieve a single wallet by wallet_id. - [Wallet Transactions](https://developers.kulmipay.com/wallets/wallet-transactions.md): Retrieve wallet statements and filter transaction history by wallet, date, currency, or transaction type. - [Chargeback Events](https://developers.kulmipay.com/webhooks/chargeback-events.md): Webhook payloads for chargeback and reversal status changes. - [Webhooks Overview](https://developers.kulmipay.com/webhooks/overview.md): Learn how to configure a Kulmi Pay webhook endpoint to receive instant notifications whenever a payment, Send Money request, or wallet transfer changes state. - [Payment Collection Events](https://developers.kulmipay.com/webhooks/payment-collection-events.md): Webhook payloads for M-Pesa and PesaLink collection invoice state changes. - [Send Money Events](https://developers.kulmipay.com/webhooks/send-money-events.md): Webhook payloads for Send Money payment file state changes. - [How to Setup Webhook](https://developers.kulmipay.com/webhooks/setup.md): Configure a KulmiPay webhook endpoint and verify incoming event payloads with your challenge value. - [Wallet Intra-Transfer Events](https://developers.kulmipay.com/webhooks/wallet-intra-transfer-events.md): Webhook payloads for wallet-to-wallet transfers inside a KulmiPay account. - [WooCommerce](https://developers.kulmipay.com/woocommerce.md): Install and configure the KulmiPay WooCommerce plugin to accept M-Pesa and PesaLink payments from your WordPress store. ## OpenAPI Specs - [openapi](https://developers.kulmipay.com/openapi.yml)