Payments
Understand payment methods, channels, and how to collect payments through your Credo dashboard.
Credo supports multiple payment channels so your customers can pay however they prefer. This guide covers the available methods, how they work from the dashboard perspective, and when to use each one.
Payment channels
| Channel | How it works | Settlement time |
|---|---|---|
| Card | Customer enters card details (Visa, Mastercard, Verve) on the checkout page. Supports 3D Secure and OTP verification. | Standard |
| Bank Transfer | A virtual account number is generated. Customer transfers from their bank app. | Standard |
Not all channels are available for every currency or transaction amount. The checkout page automatically shows only the channels that apply.
Collecting payments from the dashboard
You don't need to write code to accept payments. The Credo dashboard offers two no-code tools:
Payment links
Create a shareable URL that opens a Credo-hosted payment page. Customers click the link and pay.
- Go to Payment Links in your dashboard
- Click Create Payment Link
- Set the amount, description, and optional customer fields
- Share the link via email, SMS, social media, or embed it on your website
See the Payment Links guide for detailed setup.
Invoices
Send professional invoices with a built-in pay button. Customers receive an email with the invoice and can pay directly.
- Go to Invoicing in your dashboard
- Click Create Invoice
- Add line items, tax, and customer details
- Send - the customer receives an email with a payment link
See the Invoicing guide for details.
Collecting payments via API
For developers building custom checkout flows, Credo provides a transaction API. The typical flow:
Initialize the transaction
Send a POST request to /transaction/initialize with the amount, customer email, and payment channels.
Redirect to checkout
Send the customer to the authorizationUrl from the response. Credo handles card entry, OTP, and bank transfer instructions.
Verify the result
After payment, verify the transaction server-side using /transaction/{transRef}/verify.
See Accept Payments for the full developer guide.
Choosing payment channels
You can control which channels appear on the checkout page by specifying the channel array when initializing a transaction:
{
"channel": ["CARD", "BANK"]
}If you omit channel, all available methods are shown.
When to restrict channels
| Scenario | Recommended channels |
|---|---|
| Online store | Card, bank |
| Subscription billing | Card only (for recurring) |
| Offline-friendly customers | USSD, PAYOUTLET |
| Maximum conversion | All (omit the field) |
Transaction fees
Credo charges a processing fee per transaction. The bearer field determines who pays:
| Value | Who pays | Effect |
|---|---|---|
0 | Customer | Fee added on top of the amount |
1 | Merchant | Fee deducted from the amount |
For a NGN 5,000 transaction with a NGN 100 fee:
- Customer pays: NGN 5,100
- You receive: NGN 5,000
For a NGN 5,000 transaction with a NGN 100 fee:
- Customer pays: NGN 5,000
- You receive: NGN 4,900
Tracking payments
All transactions appear in the Transactions section of your dashboard. For each transaction you can see:
- Status - successful, failed, pending, etc.
- Amount - what the customer paid, fees, and your settlement amount
- Customer - email, name, and phone number
- References - transaction reference, business reference, and CRN
- Date - when the transaction occurred
- Channel - which payment method was used
Filtering and search
Use the dashboard filters to find specific transactions:
- Filter by status, date range, channel, or amount range
- Search by transaction reference, email, or CRN
- Export filtered results as CSV or PDF
Currencies
Credo currently supports:
| Currency | Code | Lowest unit |
|---|---|---|
| Nigerian Naira | NGN | Kobo (1 NGN = 100 kobo) |
| US Dollar | USD | Cents (1 USD = 100 cents) |
All amounts in the API are expressed in the lowest currency unit. To charge NGN 1,500, send 150000.
Next steps
Was this page helpful?
Last updated on
