Connecting Payment Gateways
Accept payments from guests via M-Pesa, Pesapal, DPO Pay or MomoPay. This guide walks through enabling and configuring each gateway.
Where to configure gateways
Go to Settings → Payment Gateways. Each gateway has its own tab. Enable a gateway by toggling it on and entering the required credentials.
M-Pesa (Safaricom Daraja)
BnBFlows uses the Daraja API to trigger STK Push payments directly to your guest's phone.
Required credentials
- Consumer Key and Consumer Secret (from Safaricom Developer Portal)
- Business Short Code (Paybill or Till Number)
- Passkey
- Callback URL (auto-generated by BnBFlows)
Setup steps
Create a Daraja app
Log in to developer.safaricom.co.ke, create an app and note the Consumer Key and Secret.
Enable Lipa na M-Pesa
In your Daraja app, enable the Lipa na M-Pesa Online API and note the Passkey for your Short Code.
Enter credentials in BnBFlows
Paste all values into Settings → Payment Gateways → M-Pesa and click Save. Use Sandbox mode for testing.
Pesapal
Pesapal supports card payments, M-Pesa, Airtel Money and bank transfers in one checkout flow.
- Obtain your Consumer Key and Consumer Secret from your Pesapal merchant dashboard
- Set the environment to Live when ready to go live (use Demo for testing)
- The IPN (Instant Payment Notification) URL is auto-configured by the platform
DPO Pay
DPO Pay enables card and mobile money payments across 19+ African countries.
- Enter your Company Token from the DPO merchant portal
- Optionally set a Service Type for transaction categorisation
MomoPay (MTN Mobile Money)
For MTN Mobile Money markets (Ghana, Uganda, Côte d'Ivoire, and others).
- Enter your MTN MoMo API User, API Key and Subscription Key
- Select your target country/currency from the dropdown
Testing payments
With sandbox credentials set, create a test booking and proceed to payment on your booking portal. Check Finance → Payments to confirm the payment was recorded.