Payments
Accept payments through your own payment service provider
Overview
Billingrails is provider agnostic. You can connect your existing payment service provider and route transactions through the provider that best fits each payment—whether by geography, currency, or failover.
Bring your own key (BYOK)
Billingrails supports payments through a Bring Your Own Key (BYOK) model. You connect your own payment service provider and maintain full control of your funds—money never touches our servers.
Security
Your payment provider credentials are securely encrypted at rest using AES-256-GCM encryption. Only your Billingrails instance can decrypt and use these credentials to process payments on your behalf.
Setup process
To start accepting payments:
- Get your API keys from your payment service provider (Stripe, Paystack, etc.)
- Navigate to Settings → Integrations in your Billingrails dashboard
- Add a payment integration and enter your provider credentials
- Test the connection to verify everything works correctly
Once configured, Billingrails can use your payment provider to process transactions while keeping your funds flowing directly to your account.
Integrations
Connect your Billingrails application to payment providers to process customer payments. Billingrails currently supports the following payment providers, with plans to add more in the future.
Stripe
Stripe is a leading payment provider that enables businesses to accept payments online globally.
Paystack
Paystack helps businesses in Africa get paid by anyone, anywhere in the world.
Payment routing
Payment routing lets you define rules that determine which payment provider handles each transaction. This is useful for:
- Geographic optimization: Route payments to local providers for better conversion
- Currency handling: Direct transactions to providers with the best currency support
- Load balancing: Distribute traffic across multiple providers
- Failover: Automatically switch to backup providers if one fails
How routing works
- When a payment is initiated, Billingrails evaluates your routing rules in priority order
- The first rule whose conditions match is selected
- The payment is processed through that rule's assigned provider
- If no rules match, the default rule is used
Rule conditions
You can route payments based on:
- Currency
- Customer location
- Transaction type (e.g. one-time or recurring)
- Payment amount
Health checks
Enable health checks to automatically skip providers that recently failed, ensuring higher success rates and better customer experience.