Skip to main content

Overview

CrediBill supports 4 African payment providers. Each provider has different requirements, coverage, and features. This guide walks through configuring each provider.

Getting Started

General Setup Process

  1. Get active merchant account with provider
  2. Obtain API credentials (keys, tokens, secrets)
  3. Configure webhook in provider dashboard
  4. Add to CrediBill via settings
  5. Test connection before going live

CrediBill Configuration Steps

  1. Go to Settings → Payment Providers
  2. Click Add Provider
  3. Select provider from dropdown
  4. Enter credentials
  5. Choose environment (Test or Live)
  6. Optionally set as primary provider
  7. Click Save & Test Connection

Flutterwave

Coverage

Setup Steps

1. Create Account

  1. Go to Flutterwave Dashboard
  2. Complete business verification (KYC)
  3. Wait for approval (1-3 business days)

2. Get Credentials

Test Mode:
  1. Log in to Flutterwave dashboard
  2. Navigate to Settings → API
  3. Copy “Public Key (Test)” - format: FLWPUBK_TEST-xxx
  4. Copy “Secret Key (Test)” - format: FLWSECK_TEST-xxx
Live Mode:
  1. Complete business verification
  2. Get approval from Flutterwave support
  3. Switch to Live mode in dashboard
  4. Copy “Public Key (Live)” - format: FLWPUBK-xxx
  5. Copy “Secret Key (Live)” - format: FLWSECK-xxx

3. Configure Webhook

  1. In Flutterwave dashboard, go to Settings → Webhooks
  2. Set webhook URL to: https://your-credibill-instance.com/webhooks/flutterwave
  3. Copy the webhook hash (this is your webhook secret)
  4. Enable webhook notifications
  5. Test webhook delivery

4. Add to CrediBill

In CrediBill Dashboard → Settings → Payment Providers:
Click Save & Test Connection

Testing

Test Cards

Test Mobile Money

MTN Uganda (Success):
Airtel Uganda (Success):
Test Failure Scenarios:

Webhook Format

Flutterwave sends webhooks in this format:

Troubleshooting

PawaPay

Coverage

Setup Steps

1. Create Account

  1. Contact PawaPay sales: hello@pawapay.io
  2. Complete KYC (Know Your Customer) verification
  3. Sign merchant agreement
  4. Receive API credentials via email

2. Get Credentials

Test Mode:
Live Mode:

3. Configure Webhook

  1. Contact PawaPay support
  2. Provide webhook URL: https://your-credibill-instance.com/webhooks/pawapay
  3. Request webhook secret for signature verification
  4. PawaPay will configure on their end and send you the secret

4. Add to CrediBill

In CrediBill Dashboard → Settings → Payment Providers:
Click Save & Test Connection

Testing

Test Mobile Money Numbers

MTN Uganda (Instant Success):
MTN Uganda (Delayed Success ~5s):
Airtel Kenya (Success):
Failed Transactions:

Webhook Format

PawaPay sends webhooks in this format:
Status values: PENDING, COMPLETED, FAILED, CANCELLED

Troubleshooting

Pesapal

Coverage

Setup Steps

1. Create Account

  1. Go to Pesapal
  2. Register as merchant
  3. Complete business verification (KYC)
  4. Wait for approval

2. Get Credentials

Test Mode:
  1. Log in to Pesapal dashboard
  2. Go to Settings → API Integration
  3. Copy “Consumer Key (Demo)” - format: qkio1BGGYAXTu2JOfm7XSXNruoZsrqEW
  4. Copy “Consumer Secret (Demo)” - format: osGQ364R49cXKeOYSpaOnT++rHs=
Live Mode:
  1. Switch to Live mode in dashboard
  2. Copy “Consumer Key (Live)”
  3. Copy “Consumer Secret (Live)“

3. Configure IPN (Webhook)

  1. In Pesapal dashboard, go to Settings → IPN
  2. Set IPN URL to: https://your-credibill-instance.com/webhooks/pesapal
  3. Enable IPN notifications
  4. Save settings

4. Add to CrediBill

In CrediBill Dashboard → Settings → Payment Providers:
Click Save & Test Connection

Testing

Test Cards

Visa (Success):
Mastercard (Success):

Test M-Pesa

Test Failure Scenarios

Webhook Format

Pesapal sends IPN (Instant Payment Notification) in this format:
Status values: COMPLETED, FAILED, CANCELLED, PENDING

Troubleshooting

DPO (Direct Pay Online)

Coverage

Setup Steps

1. Create Account

  1. Contact DPO sales: https://www.directpay.online/
  2. Complete merchant application
  3. Provide business documentation
  4. Wait for approval (3-5 business days)

2. Get Credentials

Test Mode:
Live Mode:

3. Configure Callback URL

  1. Log in to DPO merchant portal
  2. Go to Settings → Integration
  3. Set Callback URL: https://your-credibill-instance.com/webhooks/dpo
  4. Save settings

4. Add to CrediBill

In CrediBill Dashboard → Settings → Payment Providers:
Click Save & Test Connection

Testing

Test Cards

Visa (Success):
Mastercard (Success):

Test Mobile Money

Test Failure Scenarios

Webhook Format

DPO sends callbacks in XML format:
Result codes: 000 (Paid), 001 (Failed), other codes for specific errors

Troubleshooting

Multi-Provider Strategy

Primary + Backup Setup

Recommended configuration:
  1. Set one provider as primary (default for all payments)
  2. Add second provider as backup for failover
  3. CrediBill automatically fails over if primary unavailable
Example:

Country-Specific Routing

Route by customer country:

Payment Method Routing

Route by payment method:

Production Checklist

Provider Setup

  • Live merchant account created
  • Business verification completed with provider
  • Live API credentials obtained
  • Webhook URL configured in provider dashboard
  • Webhook signature verified working
  • SSL/HTTPS certificate is valid
  • Test connection succeeds in CrediBill

CrediBill Configuration

  • Environment set to Live (not Test)
  • Primary provider configured
  • Backup provider configured (optional)
  • Webhook secret matches provider exactly
  • No test data in production
  • Error notifications configured

Testing

  • Test successful payment end-to-end
  • Test failed payment and retry logic
  • Test webhook delivery and signature verification
  • Test multiple payment methods (if provider supports)
  • Test idempotency (duplicate webhook handling)
  • Monitor logs for first 24 hours

Monitoring

  • Payment success rate tracked (target: >95%)
  • Webhook delivery monitored (target: 99.9%)
  • Failed payments monitored
  • Error alerts configured
  • Provider status page monitored
  • Daily reconciliation spot-checks

Common Issues

Test Credentials Not Working

Cause: Using test credentials in Live mode or vice versa Solution:
  • Double-check environment is “Test” in CrediBill
  • Verify credentials are for test, not live
  • Don’t use live credentials in test environment

Webhook Not Received

Causes:
  • Webhook URL not publicly accessible
  • HTTPS certificate invalid
  • Firewall blocking provider IPs
  • Provider disabled webhooks
Solution:
  • Test webhook URL manually: curl -X POST https://your-url.com/webhooks/provider
  • Check provider dashboard for webhook delivery logs
  • Verify firewall rules
  • Enable webhooks in provider settings

Payment Stuck in Pending

Cause: Provider API slow response or webhook delivery delay Solution:
  • Check provider dashboard for payment status
  • Wait 5-10 minutes for mobile money
  • Check webhook logs for delivery attempts
  • Contact provider support if stuck > 1 hour

Signature Verification Fails

Cause: Webhook secret wrong or corrupted Solution:
  • Copy webhook secret again from provider dashboard
  • Don’t add/remove any characters
  • Clear any extra spaces
  • Test connection again in CrediBill

Support

Provider Support Contacts

CrediBill Support