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

ChannelHow it worksSettlement time
CardCustomer enters card details (Visa, Mastercard, Verve) on the checkout page. Supports 3D Secure and OTP verification.Standard
Bank TransferA 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:

Create a shareable URL that opens a Credo-hosted payment page. Customers click the link and pay.

  1. Go to Payment Links in your dashboard
  2. Click Create Payment Link
  3. Set the amount, description, and optional customer fields
  4. 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.

  1. Go to Invoicing in your dashboard
  2. Click Create Invoice
  3. Add line items, tax, and customer details
  4. 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

ScenarioRecommended channels
Online storeCard, bank
Subscription billingCard only (for recurring)
Offline-friendly customersUSSD, PAYOUTLET
Maximum conversionAll (omit the field)

Transaction fees

Credo charges a processing fee per transaction. The bearer field determines who pays:

ValueWho paysEffect
0CustomerFee added on top of the amount
1MerchantFee 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

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:

CurrencyCodeLowest unit
Nigerian NairaNGNKobo (1 NGN = 100 kobo)
US DollarUSDCents (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

On this page