# Introduction

Learn how to use our APIs to accept payments.

Flutterwave’s payment solution lets you accept payments seamlessly across multiple channels, including cards, mobile money, bank transfers, and more. Whether you're integrating payments into a website, mobile app, or custom checkout system, our flexible APIs give you full control over the experience while keeping transactions smooth and secure.

You can complete a payment using either of the following flows:

* **[General Flow](/v4.0/docs/main-payment-flow)** – A customizable flow that breaks the payment process into steps, giving you more control over how the payment experience looks and feels.
* **[Orchestrator Flow](/v4.0/docs/payment-orchestrator-flow)** – A simplified, all-in-one flow where you initiate the payment and handle the result with minimal steps.

<br />

## Available Payment Methods

[block:html]
{
  "html": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n  <meta charset=\"UTF-8\">\n  <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\">\n  <title>Responsive Cards</title>\n  <style>\n    * {\n      box-sizing: border-box;\n    }\n\n    .card-container {\n      display: flex;\n      flex-wrap: wrap;\n      gap: 32px;\n      max-width: 1200px;\n      margin: 0 auto;\n      justify-content: flex-start;\n    }\n\n    .card {\n      flex: 1 1 calc(50% - 16px);\n      text-decoration: none;\n      color: inherit;\n      border: 1px solid #E0E0E0;\n      border-radius: 10px;\n      padding: 24px;\n      margin-bottom: 6px;\n      max-width: 370px;\n      text-align: left;\n    }\n\n    .card h3 {\n      font-size: 1.5em;\n      font-family: Millik, sans-serif;\n      margin: 0;\n      font-weight: 400;\n      color: #100F0D !important;\n    }\n\n    .card p {\n      margin-top: 4px;\n      font-size: 1em;\n      font-family: Moderat, sans-serif;\n      font-weight: 400;\n      color: #828282;\n    }\n\n    /* Card background variations */\n    .bg-orange { background-color: #fff3e0; }\n    .bg-purple { background-color: #e8e6ff; }\n    .bg-pink   { background-color: #FAD7E5; }\n\n    /* Responsive behavior */\n    @media (max-width: 768px) {\n      .card {\n        flex: 1 1 100%;\n        max-width: 100%;\n      }\n    }\n  </style>\n</head>\n<body>\n\n<div class=\"card-container\">\n\n  <a href=\"/v4.0/docs/card\" class=\"card\">\n    <h3>Card Payments</h3>\n    <p>Accept debit and credit card payments from Visa, Mastercard and other networks.</p>\n  </a>\n\n    <a href=\"/v4.0/docs/mobile-money\" class=\"card\">\n    <h3>Mobile Money</h3>\n    <p>Enable payments through mobile wallets like MPesa, MTN, Airtel and other mobile money networks.</p>\n  </a>\n  \n    <a href=\"/v4.0/docs/pay-with-bank-transfer\" class=\"card\">\n    <h3>Virtual Accounts</h3>\n    <p>Generate virtual account details for customers to deposit from their bank accounts.</p>\n  </a>\n  \n    <a href=\"/v4.0/docs/opay\" class=\"card\">\n    <h3>OPay</h3>\n    <p>Enable Opay checkout and collect payments from OPay wallets.</p>\n  </a>\n  \n<a href=\"/v4.0/docs/ussd\" class=\"card\">\n    <h3>USSD</h3>\n    <p>Generate USSD strings for offline payments.</p>\n  </a>\n\n\n</div>\n\n</body>\n</html>"
}
[/block]