Home Documentation Connecting Payment Gateways

Connecting Payment Gateways

Accept payments from guests via M-Pesa, Pesapal, DPO Pay or MomoPay. This guide walks through enabling and configuring each gateway.

Payment gateway configuration is only available to users with the Admin or Owner role. Credentials are stored encrypted and are never exposed in the UI after saving.

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

1

Create a Daraja app

Log in to developer.safaricom.co.ke, create an app and note the Consumer Key and Secret.

2

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.

3

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
Always test in sandbox/demo mode before switching to live credentials. Use small test amounts and verify that payment notifications reach the platform correctly.

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.