AI agents: this site is available as Markdown at /llms.txt. Each page has a Markdown version at its URL with a .md suffix, and the full API is described in /api/v3/openapi.json.

Direct Charge

Collect card, bank, and other payment details with your own UI, then charge the customer through the API.

Last updated 13 September 2026

Introduction

Inline, Checkout, and HTML Checkout collect payments with Flutterwave’s payment page. One integration can offer card, bank, and other supported methods.

Use direct charge when you need to collect the customer’s payment details in your own UI. You then send those details to the charge endpoint for that payment method.

When to use direct charge

You integrate each payment method separately. Use direct charge when customers will pay with one specific method, such as cards or a bank account.

How direct charge works

There are three main steps in direct charge:

  1. Initiating the payment: You send the transaction details and the customer's payment details to the appropriate charge endpoints.
  2. Authorize the charge: The customer authorizes the charge with their payment provider, such as their card issuer or bank. This completes the charge.
  3. Verify the payment: As a failsafe, you'll call our API to verify that the payment was successful before giving value (the verify transaction endpoint).

These steps vary depending on the payment method (for example, card charges may include multiple authorization steps). We'll explain what applies to each method in its guide.

Direct Charge Options

Here are the different options for collecting payments via direct charge. Each type of Direct Charge has its own unique requirements and authorization flow. Follow the links to view detailed guides for each type:

Webhooks

When working with direct charge, webhooks are useful tools to know when a charge has been authorized by the customer. See our webhooks guide to learn how to work with them.

As a backup, you can also poll for the status of a pending charge at regular intervals (say, 5 minutes). This way, you can still get updates if your webhook endpoint is down or webhooks are delayed.



FL.AI

Answers from the Flutterwave docs

Hi, I’m FL.AI

Ask anything about Flutterwave’s APIs, guides and coverage.

FL.AI can make mistakes. Check important details in the docs.

Get API Keys