Online Payments

Accept card and mobile-money payments via Stripe, Paystack, or Flutterwave directly within EasyBill.


Supported Gateways

GatewayBest ForCurrencies
Stripe International card payments (Visa, Mastercard, etc.) USD, GBP, EUR, GHS, and 130+ currencies
Paystack Card & mobile money payments in Ghana and Nigeria GHS, NGN
Flutterwave Cards, mobile money, bank transfers across Africa GHS, NGN, KES, ZAR, USD, and more

Step 1 — Configure a Gateway

  1. Go to Settings → Payment Gateways.
  2. Find the card for the gateway you want to enable (Stripe, Paystack, or Flutterwave).
  3. Enter your Secret Key (and Publishable Key for Stripe). These are found in your gateway's developer dashboard:
    • Stripe: Dashboard → Developers → API Keys
    • Paystack: Dashboard → Settings → API Keys & Webhooks
    • Flutterwave: Dashboard → Settings → API Keys
  4. Toggle the Active switch to enable the gateway.
  5. Click Save. Credentials are encrypted before storage.

You can configure multiple gateways simultaneously. Customers will be able to choose their preferred gateway at checkout.

Step 2 — Configure Webhooks (Recommended)

Webhooks allow the payment gateway to notify EasyBill the moment a payment is confirmed, even if the customer closes their browser before being redirected back. This makes payment recording robust and reliable.

GatewayWebhook URL to RegisterSetting
Stripe https://v2.easybillghana.com/webhooks/stripe Dashboard → Developers → Webhooks → Add endpoint. Select event: checkout.session.completed. Copy the Signing Secret into the Webhook Secret field under Settings → Payment Gateways.
Paystack https://v2.easybillghana.com/webhooks/paystack Dashboard → Settings → API Keys & Webhooks → Webhook URL.
Flutterwave https://v2.easybillghana.com/webhooks/flutterwave Dashboard → Settings → Webhooks. Copy your Secret Hash into the Webhook Secret field under Settings → Payment Gateways.

The Checkout Flow

  1. A customer clicks Pay Now on an invoice or payment link.
  2. They select a gateway and confirm the amount.
  3. EasyBill redirects them to the gateway's secure hosted checkout page.
  4. The customer completes payment on the gateway's page (card details never pass through EasyBill).
  5. The gateway redirects the customer back to EasyBill's confirmation page.
  6. EasyBill verifies the transaction via the gateway's API and records the payment against the invoice.
  7. Simultaneously, the gateway fires a webhook to EasyBill as a fallback confirmation.

Testing

Use your gateway's Test / Sandbox mode keys when setting up. All three gateways provide test card numbers that can be used to simulate successful and failed payments without real money changing hands. Switch to live keys only when you're ready to accept real payments.

Important: Never share your Secret Key publicly. EasyBill encrypts and stores it securely, but treat it like a password — regenerate it immediately if you suspect it has been exposed.