Charge Methods

The charge APIs help you to collect payments using different payment methods.

Cards

Collect card payments with Flutterwave. We recommend you read the method overview before you proceed.

post https://api.flutterwave.com/v3/charges?type=card

Body Params

amount int32

This is the amount to be charged for the transaction.

card_number int32

This is the number on the cardholders card. E.g. 5399 6701 2349 0229.

cvv int32

Card security code. This is 3/4 digit code at the back of the customers card, used for web payments.

expiry_month int32

Two-digit number representing the card's expiration month. It is usually the first two digits of the expiry date on the card.

expiry_year int32

Two-digit number representing the card's expiration year. It is the last two digits of the expiry date on the card.

email string

The customer's email address.

tx_ref string

This is a unique reference peculiar to the transaction being carried out.

eci string

This is the Electronic Commerce Indicator (ECI) value provided by the issuer's Access Control Server (ACS) to indicate the results of the attempt to authenticate the payer.

a_authenticationtoken string

This represents the base64 encoded value generated by the card issuer that is returned in the authentication response message.

a_transactionid string

A unique transaction identifier assigned by the Access Control Server to identify the 3DS transaction.

a_version string

EMV 3-D Secure protocol e.g. 2.1.0

a_transactionstatus string

You are expected to pass Y to indicate that the authorization was successful. Other options include N, U, A, R. It is recommended that you only attempt to charge for successful authorization.

a_statusreasoncode string

If a_transactionstatus Y then this becomes optional.

a_amount string

The amount for which the payer authentication has been performed.

is_custom_3ds_enabled boolean

TBD

authorization object
This is an object that contains the authorization details of the card you want to charge. The authorization instructions for card charges are returned in the initiate charge call as `meta.authorization`
mode string

This is the auth model of the card to use when validating, it is returned in the initiate charge call as authorization.mode.

pin int32

This is the card's pin. Required when the suggested auth mode is PIN.

city string

This is the city in the card's billing details. It is required when the suggested auth mode is avs_noauth.

address string

This is the cards billing address. It is required when the suggested auth mode is avs_noauth.

state string

This is the card issuing state. It is required when the suggested auth mode is avs_noauth.

country string

This is the cards issuing country. It is required when the suggested auth mode is avs_noauth.

zipcode int32

This is cards billing address zipcod. It is required when the suggested auth mode is avs_noauth.

Show optional parameters

Headers

Authorization string

Pass your secret key as a bearer token in the request header to authorize this call. Unauthorized calls would return a 401 http code or raise unauthorized error in the different SDKs.

const details = {
   "card_number":"5531886652142950",
   "cvv":"564",
   "expiry_month":"09",
   "expiry_year":"32",
   "currency":"NGN",
   "amount":"100",
   "fullname":"Example User",
   "email":"user@example.com",
   "tx_ref":"MC-3243e",
   "redirect_url":"https://www,flutterwave.ng"
};
await flw.Charge.card(details)
$details = array(
   "card_number":"5531886652142950",
   "cvv":"564",
   "expiry_month":"09",
   "expiry_year":"32",
   "currency":"NGN",
   "amount":"100",
   "fullname":"Example User",
   "email":"user@example.com",
   "tx_ref":"MC-3243e",
   "redirect_url":"https://www.flutterwave.ng"
)
$payment = new Card();
$result = $payment->cardCharge($details);
details = {
   "card_number" => "5531886652142950",
   "cvv" => "564",
   "expiry_month" => "09",
   "expiry_year" => "32",
   "currency" => "NGN",
   "amount" => "100",
   "fullname" => "Example User",
   "email" => "user@example.com",
   "tx_ref" => "MC-3243e",
   "redirect_url" => "https://www.flutterwave.ng"
}
charge_card = Card.new(payment)
response = charge_card.initiate_charge(details)
curl --location --request POST 'https://api.flutterwave.com/v3/charges?type=card' \
--header 'Authorization: Bearer YOUR_SECRET_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
   "card_number":"5531886652142950",
   "cvv":"564",
   "expiry_month":"09",
   "expiry_year":"32",
   "currency":"NGN",
   "amount":"100",
   "fullname":"Example User",
   "email":"user@example.com",
   "tx_ref":"MC-3243e",
   "redirect_url":"https://www.flutterwave.ng"
}'
{
  "status": "success",
  "message": "Charge initiated",
  "data": {
    "id": 288192886,
    "tx_ref": "sample_ref",
    "flw_ref": "FLW275389391",
    "device_fingerprint": "N/A",
    "amount": 100,
    "charged_amount": 100,
    "app_fee": 1.4,
    "merchant_fee": 0,
    "processor_response": "Kindly enter the OTP sent to *******0328",
    "auth_model": "PIN",
    "currency": "NGN",
    "ip": "::ffff:10.7.214.204",
    "narration": "Sample Card Transaction",
    "status": "pending",
    "auth_url": "N/A",
    "payment_type": "card",
    "fraud_status": "ok",
    "charge_type": "normal",
    "created_at": "2020-07-15T14:06:55.000Z",
    "account_id": 17321,
    "customer": {
      "id": 216517630,
      "phone_number": null,
      "name": "Example User",
      "email": "user@example.com",
      "created_at": "2020-07-15T14:06:55.000Z"
    },
    "card": {
      "first_6digits": "123456",
      "last_4digits": "2343",
      "issuer": "MASTERCARD GUARANTY TRUST BANK Mastercard Naira Debit Card",
      "country": "NG",
      "type": "MASTERCARD",
      "expiry": "08/22"
    }
  },
  "meta": {
    "authorization": {
      "mode": "otp",
      "endpoint": "/v3/validate-charge"
    }
  }
}
{}

Checkout

Generate Flutterwave checkout to receive payments from customers. Learn more about our Checkout.

post https://api.flutterwave.com/v3/payments

Body Params

amount int32

This is the amount to be charged for the transaction.

tx_ref string

This is a unique reference peculiar to the transaction being carried out.

customer object
Customer-related information.
email string

The customer's email address.

phone_number string

This is the phone number linked to the customer's bank account or mobile money account

name string

The customer's full name.

Show optional parameters

Headers

Authorization string

Pass your secret key as a bearer token in the request header to authorize this call. Unauthorized calls would return a 401 http code or raise unauthorized error in the different SDKs.

curl --location --request POST 'https://api.flutterwave.com/v3/payments' \
--header 'Authorization: Bearer YOUR_SECRET_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
   "tx_ref":"YOUR_TRANSACTION_REFERENCE",
   "amount":"200",
   "currency":"NGN",
   "redirect_url":"https://flutterwave.com/ng",
   "customer":{
      "email":"user@example.com",
      "phone_number":"08101112121",
      "name":"Example User"
   },
   "customizations":{
      "title":"Pied Piper Payments",
      "logo":"http://www.piedpiper.com/app/themes/joystick-v27/images/logo.png"
   }
}'
{
    "status": "success",
    "message": "Hosted Link",
    "data": {
        "link": "https://checkout.flutterwave.com/v3/hosted/pay/flwlnk-01j4dc4maegqf82pfqg4chw46b"
    }
}
{
    "status": "error",
    "errors": [
        {
            "field": "amount",
            "message": "Amount is required"
        }
    ],
    "message": "One or more required parameters missing"
}

1Voucher

Charge South African customers via 1Voucher. We recommend you read the method overview before you proceed.

post https://api.flutterwave.com/v3/charges?type=voucher_payment

Body Params

amount int32

This is the amount to be charged for the transaction.

email string

The customer's email address.

tx_ref string

This is a unique reference peculiar to the transaction being carried out.

currency string

This is the specified currency to charge in. Expected value is ZAR.

pin string

The Voucher Pin.

Show optional parameters

Headers

Authorization string

Pass your secret key as a bearer token in the request header to authorize this call. Unauthorized calls would return a 401 http code or raise unauthorized error in the different SDKs

{
  "tx_ref": "YOUR_PAYMENT_REFERENCE",
  "amount": "1",
  "currency": "ZAR",
  "phone_number": "27xxxxxxxx7",
  "email": "user@example.com",
  "pin": "1234567890"
}
{
  "status": "success",
  "message": "Charge successful",
  "data": {
    "id": 1362136900,
    "tx_ref": "YOUR_PAYMENT_REFERENCE",
    "flw_ref": "IUYG0857317139626658",
    "device_fingerprint": "N/A",
    "amount": 1,
    "charged_amount": 1,
    "app_fee": 0.07,
    "merchant_fee": 0,
    "processor_response": "Transaction Successful",
    "auth_model": "AUTH",
    "currency": "ZAR",
    "ip": "52.18.161.235",
    "narration": "TEST_PAYMENT",
    "status": "successful",
    "auth_url": "NO-URL",
    "payment_type": "1voucher",
    "fraud_status": "ok",
    "charge_type": "normal",
    "created_at": "2024-04-24T12:44:25.000Z",
    "account_id": 18428,
    "meta_data": {
      "change_voucher": {
        "amount": 51.86,
        "pin": "1234567890123456",
        "serial": "20240424144460200153",
        "expiry": "2027-04-24T14:44:26+02:00"
      }
    },
    "customer": {
      "id": 854597931,
      "phone_number": "27xxxxxxxx7",
      "name": "Anonymous customer",
      "email": "user@example.com",
      "created_at": "2024-04-24T12:44:25.000Z"
    }
  }
}
{
  "status": "error",
  "message": "Invalid Authorization key",
  "data": null
}

ACH Payments

Collect ACH payments for USD and ZAR transactions. We recommend you read the method overview before you proceed.

post https://api.flutterwave.com/v3/charges?type=ach_payment

Body Params

amount int32

This is the amount to be charged for the transaction.

email string

The customer's email address.

tx_ref string

This is a unique reference peculiar to the transaction being carried out.

currency string

This is the specified currency to charge in. Expected values are ZAR for ZA ACH and USD for US ACH.

Show optional parameters

Headers

Authorization string

Pass your secret key as a bearer token in the request header to authorize this call. Unauthorized calls would return a 401 http code or raise unauthorized error in the different SDKs

{
    "tx_ref": "MC-1585230ew9v5050e8",
    "amount": "100",
    "currency": "USD",
    "country": "US",
    "email": "user@example.com",
    "phone_number": "0902620185",
    "fullname": "Example User",
    "client_ip": "154.123.220.1",
    "redirect_url": "https://www.flutterwave.com/us/",
    "device_fingerprint": "62wd23423rq324323qew1",
    "meta": {
        "flightID": "123949494DC"
    }
}
{
    "status": "success",
    "message": "Charge initiated",
    "data": {
        "id": 1190657,
        "tx_ref": "MC-15852309v5050e8",
        "flw_ref": "FLW751551585302175553",
        "device_fingerprint": "62wd23423rq324323qew1",
        "amount": 100,
        "charged_amount": 100,
        "app_fee": 1.4,
        "merchant_fee": 0,
        "processor_response": "Pending Validation",
        "auth_model": "AUTH",
        "auth_url": "https://flutterwavestaging.com:9443/flwusprocessor/redirect?hid=FLW3f9f99f0e5534d438c15297bc608f21d",
        "currency": "USD",
        "ip": "154.123.220.1",
        "narration": "Example User",
        "status": "success-pending-validation",
        "payment_type": "account-ach-us",
        "fraud_status": "ok",
        "charge_type": "normal",
        "created_at": "2020-03-27T09:42:54.000Z",
        "account_id": 73362,
        "redirect_url": "https://www.flutterwave.com/us/",
        "customer": {
            "id": 349079,
            "phone_number": "0902620185",
            "name": "Example User",
            "email": "user@example.com",
            "created_at": "2020-03-27T09:42:54.000Z"
        }
    }
}
{}

Apple Pay

Accept payments from your customers with Apple Pay. We recommend you read the method overview before you proceed.

post https://api.flutterwave.com/v3/charges?type=applepay

Body Params

amount int32

This is the amount to be charged for the transaction.

email string

The customer's email address.

tx_ref string

This is a unique reference peculiar to the transaction being carried out.

currency string

This is the specified currency to charge in. You can check the full list of expected values here.

Show optional parameters

Headers

Authorization string

Pass your secret key as a bearer token in the request header to authorize this call. Unauthorized calls would return a 401 http code or raise unauthorized error in the different SDKs

{
   "tx_ref":"MC-TEST-123456",
   "amount":"10",
   "currency":"USD",
   "email": "user@example.com",
   "fullname": "Example User",
   "narration":"Test payment",
   "redirect_url":"http://localhost:9000/dump",
   "client_ip":"192.168.0.1",
   "device_fingerprint":"gdgdhdh738bhshsjs",
   "billing_zip":"15101",
   "billing_city":"allison park",
   "billing_address":"3563 Huntertown Rd",
   "billing_state":"Pennsylvania",
   "billing_country":"US",
   "phone_number":"09012345678",
   "meta":{
      "metaname":"testmeta",
      "metavalue":"testvalue"
   }
}
{
   "status":"success",
   "message":"Charge initiated",
   "data":{
      "id":645498756,
      "tx_ref":"MC-TEST-1234523",
      "flw_ref":"TKVH48681032738026",
      "device_fingerprint":"gdgdhdh738bhshsjs",
      "amount":1,
      "charged_amount":1.04,
      "app_fee":0.04,
      "merchant_fee":0,
      "processor_response":"Pending validation",
      "auth_model":"APPLEPAY",
      "currency":"GBP",
      "ip":"192.168.0.1",
      "narration":"Test payment",
      "status":"pending",
      "auth_url":"https://applepay.aq2-flutterwave.com?reference=TKVH48681032738026",
      "payment_type":"applepay",
      "fraud_status":"ok",
      "charge_type":"normal",
      "created_at":"2022-06-11T12:18:11.000Z",
      "account_id":3442,
      "customer":{
         "id":379560157,
         "phone_number":"09012345678",
         "name":"Flutterwave Developers",
         "email":"developers@flutterwavego.com",
         "created_at":"2022-06-11T12:18:11.000Z"
      },
      "meta":{
         "authorization":{
            "mode":"redirect",
            "redirect":"https://applepay.aq2-flutterwave.com?reference=TKVH48681032738026"
         }
      }
   }
}
{}

Bank Accounts (NG)

Charge Nigerian bank accounts using Flutterwave. We recommend you read the method overview before you proceed.

post https://api.flutterwave.com/v3/charges?type=mono

Body Params

amount int32

This is the amount to be charged for the transaction.

email string

The customer's email address.

tx_ref string

This is a unique reference peculiar to the transaction being carried out.

Show optional parameters

Headers

Authorization string

Pass your secret key as a bearer token in the request header to authorize this call. Unauthorized calls would return a 401 http code or raise unauthorized error in the different SDKs

{
   "tx_ref":"MC-1585230ew9v5050e8",
   "amount":"100",
   "account_bank":"044",
   "account_number":"0690000032",
   "currency":"NGN",
   "email":"user@example.com",
   "phone_number":"0902620185",
   "fullname":"Example User"
}
{
   "status":"success",
   "message":"Charge initiated",
   "data":{
      "id":1190962,
      "tx_ref":"MC-1585230ew9v5050e8",
      "flw_ref":"URF_1585311768729_7845335",
      "device_fingerprint":"62wd23423rq324323qew1",
      "amount":100,
      "charged_amount":100,
      "app_fee":1247.2,
      "merchant_fee":0,
      "auth_model":"AUTH",
      "currency":"NGN",
      "ip":"154.123.220.1",
      "narration":"Software Engineering as a service",
      "status":"pending",
      "auth_url":"NO-URL",
      "payment_type":"account",
      "fraud_status":"ok",
      "created_at":"2020-03-27T12:22:48.000Z",
      "account_id":74843,
      "customer":{
         "id":349094,
         "email":"user@example.com"
      },
      "account":{
         "account_number":"0690000040",
         "bank_code":"044",
         "account_name":"Example User"
      },
      "meta":{
         "authorization":{
            "mode":"otp",
            "validate_instructions":"Please validate with the OTP sent to your mobile or email"
         }
      }
   }
}
{}

Bank Accounts (UK/EU)

Charge Customers UK and EU bank accounts. We recommend you read the method overview before you proceed.

post https://api.flutterwave.com/v3/charges?type=account-ach-uk

Body Params

amount int32

This is the amount to be charged for the transaction.

email string

The customer's email address.

tx_ref string

This is a unique reference peculiar to the transaction being carried out.

is_token_io int32

An internal flag to correctly route the transaction processing.

currency string

This is the specified currency to charge in. Expected values are EUR and GBP.

Show optional parameters

Headers

Authorization string

Pass your secret key as a bearer token in the request header to authorize this call. Unauthorized calls would return a 401 http code or raise unauthorized error in the different SDKs

{
     "currency": "GBP",
     "redirect_url": "https://flutterwave.ng",
     "amount": 10,
     "phone_number": "07086234518",
     "email": "user@example.com",
     "tx_ref": "YOUR_PAYMENT_REFERENCE",
     "fullname": "Example User",
     "is_token_io": 1
}
{
    "status": "success",
    "message": "Charge initiated",
    "data": {
        "id": 966939654,
        "tx_ref": "YOUR_PAYMENT_REFERENCE",
        "flw_ref": "NRFL7073847946214",
        "device_fingerprint": "N/A",
        "amount": 1,
        "charged_amount": 1,
        "app_fee": 0.5,
        "merchant_fee": 0,
        "processor_response": "Transaction is pending authentication",
        "auth_model": "TOKEN",
        "currency": "GBP",
        "ip": "52.18.161.235",
        "narration": "Flutterwave Developers",
        "status": "pending",
        "payment_type": "account-ach-uk",
        "fraud_status": "ok",
        "charge_type": "normal",
        "created_at": "2023-07-03T15:11:50.000Z",
        "account_id": 35308,
        "customer": {
            "id": 612259304,
            "phone_number": null,
            "name": "Example User",
            "email": "user@example.com",
            "created_at": "2023-07-03T15:11:50.000Z"
        }
    },
    "meta": {
        "authorization": {
            "mode": "redirect",
            "redirect": "https://token-io-fe-prod.aq2-flutterwave.com/transactions?reference=NRFL7073847946214"
        }
    }
}
{}

Bank Transfers

Generate dynamic virtual accounts for instant payments via bank transfers. We recommend you read the method overview before you proceed.

post https://api.flutterwave.com/v3/charges?type=bank_transfer

Body Params

amount int32

This is the amount to be charged for the transaction.

email string

The customer's email address.

tx_ref string

This is a unique reference peculiar to the transaction being carried out.

Show optional parameters

Headers

Authorization string

Pass your secret key as a bearer token in the request header to authorize this call. Unauthorized calls would return a 401 http code or raise unauthorized error in the different SDKs

{
   "tx_ref":"YOUR_PAYMENT_REFERENCE",
   "amount":"10",
   "email":"user@example.com",
   "phone_number":"08000000000",
   "currency":"NGN",
   "client_ip":"154.123.220.1",
   "device_fingerprint":"62wd23423rq324323qew1",
   "narration":"FlW Devs",
   "is_permanent":false
}

{
   "tx_ref":"YOUR_PAYMENT_REFERENCE",
   "amount":"10",
   "email":"user@example.com",
   "phone_number":"08000000000",
   "currency":"NGN",
   "client_ip":"154.123.220.1",
   "device_fingerprint":"62wd23423rq324323qew1",
   "narration":"FlW Devs", 
   "bank_transfer_options" : {
          "expires": 3600,
        }
   "is_permanent":false
}'

{
   "status":"success",
   "message":"Charge initiated",
   "meta":{
      "authorization":{
         "transfer_reference":"FLW-ee58c31372724f2889b8211a5a477bb1",
         "transfer_account":"7825397990",
         "transfer_bank":"WEMA BANK",
         "account_expiration":"2020-03-27 09:53:39",
         "transfer_note":"Please make a bank transfer to FLW Devs",
         "transfer_amount":10,
         "mode":"banktransfer"
      }
   }
}
{}

e-Naira

Accept payment from eNaira wallets. We recommend you read the method overview before you proceed.

post https://api.flutterwave.com/v3/charges?type=enaira

Body Params

amount int32

This is the amount to be charged for the transaction.

email string

The customer's email address.

tx_ref string

This is a unique reference peculiar to the transaction being carried out.

Show optional parameters

Headers

Authorization string

Pass your secret key as a bearer token in the request header to authorize this call. Unauthorized calls would return a 401 http code or raise unauthorized error in the different SDKs

{
    "tx_ref":"YOUR_PAYMENT_REFERENCE",
   "amount":"100",
   "currency":"NGN",
   "email":"user@example.com",
   "fullname":"Yemi Desola",
   "phone_number":"09000000000",
   "redirect_url":"https://example_company.com/success"
}
{
    "status": "success",
    "message": "Charge initiated",
    "data": {
        "id": 4197118,
        "tx_ref": "12345test_05",
        "flw_ref": "ZZYO0021678723801871881",
        "device_fingerprint": "N/A",
        "amount": 200,
        "charged_amount": 200,
        "app_fee": 2.8,
        "merchant_fee": 0,
        "processor_response": "pending",
        "auth_model": "ENAIRA",
        "currency": "NGN",
        "ip": "54.75.161.64",
        "narration": "Flutterwave Developers",
        "status": "pending",
        "payment_type": "enaira",
        "fraud_status": "ok",
        "charge_type": "normal",
        "created_at": "2023-03-13T16:10:00.000Z",
        "account_id": 20937,
        "customer": {
            "id": 1953337,
            "phone_number": "08092269174",
            "name": "Wisdom Joshua",
            "email": "wsdmjsh@gmail.com",
            "created_at": "2023-01-18T13:22:14.000Z"
        },
        "meta": {
            "authorization": {
                "mode": "redirect",
                "redirect": "https://camltest.azurewebsites.net/enairapay/?invoiceId=01GVDVRTG80MVSRJJQQYRFTZK3&amount=200&token=438890"
            }
        }
    }
}
{}

Fawry Pay

Receive Fawry payments from customers in Egypt. Read the overview for this payment method before proceeding.

post https://api.flutterwave.com/v3/charges?type=fawry_pay

Body Params

amount int32

This is the amount to be charged for the transaction.

email string

The customer's email address.

tx_ref string

This is a unique reference peculiar to the transaction being carried out.

currency string

This is the specified currency to charge in. Expected value EGP

Show optional parameters

Headers

Authorization string

Pass your secret key as a bearer token in the request header to authorize this call. Unauthorized calls would return a 401 http code or raise unauthorized error in the different SDKs

{
    "tx_ref": "fawrySample1",
    "amount": "10",
    "email": "user@flw.com",
    "currency": "EGP",
    "phone_number": "09012345678",
    "redirect_url": "https://www.flutterwave.com",
    "meta": {
        "name": "Cornelius",
        "tools": "Postman"
    }
}
{
    "status": "success",
    "message": "Charge initiated",
    "data": {
        "id": 3907288,
        "tx_ref": "fawrySample1",
        "order_ref": "URF_FAWRY_1667168731662_2318135",
        "flw_ref": "9200967586",
        "device_fingerprint": "N/A",
        "amount": 10,
        "charged_amount": 10,
        "app_fee": 0.23,
        "merchant_fee": 0,
        "processor_response": "Request is pending",
        "currency": "EGP",
        "narration": "Flutterwave Developers",
        "status": "pending",
        "auth_url": "N/A",
        "payment_type": "fawry_pay",
        "fraud_status": "ok",
        "charge_type": "normal",
        "created_at": "2022-10-30T22:25:31.000Z",
        "account_id": 20937,
        "customer": {
            "id": 1869436,
            "phone_number": "09012345678",
            "name": "Anonymous customer",
            "email": "user@flw.com",
            "created_at": "2022-10-30T22:25:31.000Z"
        }
    },
    "meta": {
        "authorization": {
            "mode": "fawry_pay",
            "instruction": "Please make payment with the flw_ref returned in the response which should be the same as the reference sent via SMS"
        }
    }
}
{
    "status": "error",
    "message": "Merchant is not enabled for Fawry Pay collections.",
    "data": null
}

Google Pay

Accept payments from your customers with Google Pay. We recommend you read the method overview before you proceed.

post https://api.flutterwave.com/v3/charges?type=googlepay

Body Params

amount int32

This is the amount to be charged for the transaction.

email string

The customer's email address.

tx_ref string

This is a unique reference peculiar to the transaction being carried out.

currency string

This is the specified currency to charge in. You can check the full list of expected values here.

Show optional parameters

Headers

Authorization string

Pass your secret key as a bearer token in the request header to authorize this call. Unauthorized calls would return a 401 http code or raise unauthorized error in the different SDKs

{
    "tx_ref": "MC-TEST-1234568_success_mock",
    "amount": "10",
    "currency": "USD",
    "email": "user@example.com",
    "fullname": "Example User",
    "narration": "Test Google Pay charge",
    "redirect_url": "http://localhost:9000/dump",
    "client_ip": "192.168.0.1",
    "device_fingerprint": "gdgdhdh738bhshsjs",
    "billing_zip": "15101",
    "billing_city": "allison park",
    "billing_address": "3563 Huntertown Rd",
    "billing_state": "Pennsylvania",
    "billing_country": "US",
    "meta": {
        "metaname": "testmeta",
        "metavalue": "testvalue"
    }
}
{
    "status": "success",
    "message": "Charge initiated",
    "data": {
        "id": 2615403,
        "tx_ref": "MC-TEST-1234568_success_mock",
        "flw_ref": "RQFA6549001367743",
        "device_fingerprint": "gdgdhdh738bhshsjs",
        "amount": 10,
        "charged_amount": 10,
        "app_fee": 0.38,
        "merchant_fee": 0,
        "processor_response": "Payment token retrieval has been initiated",
        "auth_model": "GOOGLEPAY_NOAUTH",
        "currency": "USD",
        "ip": "54.75.56.55",
        "narration": "Test Google Pay charge",
        "status": "pending",
        "auth_url": "https://rave-api-v2.herokuapp.com/flwv3-pug/getpaid/api/short-url/XPtNw-WkQ",
        "payment_type": "googlepay",
        "fraud_status": "ok",
        "charge_type": "normal",
        "created_at": "2022-05-11T20:36:15.000Z",
        "account_id": 20937,
        "customer": {
            "id": 955307,
            "phone_number": null,
            "name": "Example User",
            "email": "user@example.com",
            "created_at": "2022-05-11T20:36:14.000Z"
        },
        "meta": {
            "authorization": {
                "mode": "redirect",
                "redirect": "https://rave-api-v2.herokuapp.com/flwv3-pug/getpaid/api/short-url/XPtNw-WkQ"
            }
        }
    }
}
{}

Mobile Money (Ghana)

Collect mobile money payments from customers in Ghana. We recommend you read the method overview before you proceed.

post https://api.flutterwave.com/v3/charges?type=mobile_money_ghana

Body Params

amount int32

This is the amount to be charged for the transaction.

email string

The customer's email address.

tx_ref string

This is a unique reference peculiar to the transaction being carried out.

currency string

This is the specified currency to charge in.

phone_number string

This is the phone number linked to the customer's bank account or mobile money account

network string

This is the customer's mobile money network provider (possible values: MTN, VODAFONE, TIGO)

Show optional parameters

Headers

Authorization string

Pass your secret key as a bearer token in the request header to authorize this call. Unauthorized calls would return a 401 http code or raise unauthorized error in the different SDKs

{
   "tx_ref":"MC-158523s09v5050e8",
   "amount":"150",
   "currency":"GHS",
   "voucher":"143256743",
   "network":"MTN",
   "email":"user@example.com",
   "phone_number":"054709929220",
   "fullname":"Example User",
   "client_ip":"154.123.220.1",
   "device_fingerprint":"62wd23423rq324323qew1",
   "meta":{
      "flightID":"213213AS"
   }
}
{
    "status": "success",
    "message": "Charge initiated",
    "meta": {
        "authorization": {
            "redirect": "https://ravemodal-dev.herokuapp.com/captcha/verify/86:8a3b2011f03961d6b634041c8cf1e97c",
            "mode": "redirect"
        }
    }
}
{}

Mobile Money (Francophone)

Collect mobile money payments from customers in Francophone countries. This method supports payment from Cameroon, Cote d'Ivoire, Mali and Senegal. We recommend you read the method overview before you proceed.

post https://api.flutterwave.com/v3/charges?type=mobile_money_franco

Body Params

amount int32

This is the amount to be charged for the transaction. Amounts should not be lower than 100

email string

The customer's email address.

tx_ref string

This is a unique reference peculiar to the transaction being carried out.

currency string

This is the specified currency to charge in. Expected value: XAF or XOF

country string

This is the country code of the francophone country making the mobile money payment. Expected values include: BF, CI, CM, SN

phone_number string

This is the phone number linked to the customer's bank account or mobile money account

network string

The customer's mobile network.

Show optional parameters

Headers

Authorization string

Pass your secret key as a bearer token in the request header to authorize this call. Unauthorized calls would return a 401 http code or raise unauthorized error in the different SDKs

{
   "tx_ref":"MC-158523s09v5050e8",
   "amount":"10",
   "currency":"XAF",
   "country": "CM",
   "email":"user@example.com",
   "phone_number":"23700000020",
   "fullname":"Example User"
}
{
   "status":"success",
   "message":"Charge initiated",
   "data":{
      "id":1191267,
      "tx_ref":"MC-158523s09v5050e8",
      "flw_ref":"FLW714021585320891879",
      "order_id":"USS_URG_893982923s2323",
      "device_fingerprint":"62wd23423rq324323qew1",
      "amount":10,
      "charged_amount":10,
      "app_fee":1703,
      "merchant_fee":0,
      "auth_model":"AUTH",
      "currency":"XAF",
      "ip":"154.123.220.1",
      "narration":"Example User",
      "status":"pending",
      "payment_type":"mobilemoneysn",
      "fraud_status":"ok",
      "charge_type":"normal",
      "created_at":"2020-03-27T14:54:50.000Z",
      "account_id":73362,
      "customer":{
         "id":349061,
         "phone_number":"23700000020",
         "name":"Example User",
         "email":"user@example.com",
         "created_at":"2020-03-27T09:12:54.000Z"
      },
      "processor_response":"Transaction in progress"
   },
   "meta":{
      "authorization":{
         "mode":"redirecturl",
         "redirect_url":"http://test.com/example"
      }
   }
}
{}

Mobile Money (Rwanda)

Collect mobile money payments from customers in Rwanda. We recommend you read the method overview before you proceed.

post https://api.flutterwave.com/v3/charges?type=mobile_money_rwanda

Body Params

amount int32

This is the amount to be charged for the transaction.

email string

The customer's email address.

tx_ref string

This is a unique reference peculiar to the transaction being carried out.

currency string

This is the specified currency to charge in. Expected value RWF

phone_number string

This is the phone number linked to the customer's bank account or mobile money account

order_id string

Unique ref for the mobilemoney transaction to be provided by the merchant

Show optional parameters

Headers

Authorization string

Pass your secret key as a bearer token in the request header to authorize this call. Unauthorized calls would return a 401 http code or raise unauthorized error in the different SDKs

{
   "tx_ref":"MC-158523s09v5050e8",
   "order_id":"USS_URG_893982923s2323",
   "amount":"10",
   "currency":"RWF",
   "email":"user@example.com",
   "phone_number":"054709929220",
   "fullname":"Example User"
}
{
    "status": "success",
    "message": "Charge initiated",
    "meta": {
        "authorization": {
            "redirect": "https://ravemodal-dev.herokuapp.com/captcha/verify/93:bc3bb122e3e9151361c910f619de0369",
            "mode": "redirect"
        }
    }
}
{}

Mobile Money (Tanzania)

Collect mobile money payments in Tanzania.

post https://api.flutterwave.com/v3/charges?type=mobile_money_tanzania

Body Params

amount int32

This is the amount to be charged for the transaction.

email string

The customer's email address.

tx_ref string

This is a unique reference peculiar to the transaction being carried out.

currency string

This is the specified currency to charge in. Expected value TZS

phone_number string

This is the phone number linked to the customer's bank account or mobile money account

Show optional parameters

Headers

Authorization string

Pass your secret key as a bearer token in the request header to authorize this call. Unauthorized calls would return a 401 http code or raise unauthorized error in the different SDKs

{
   "tx_ref":"MC-158523s09v5050e8",
   "amount":"150",
   "currency":"TZS",
   "network":"Halopesa",
   "email":"user@example.com",
   "phone_number":"0782835136",
   "fullname":"Example User",
   "client_ip":"154.123.220.1",
   "device_fingerprint":"62wd23423rq324323qew1",
   "meta":{
      "flightID":"213213AS"
   }
}
{
    "status": "success",
    "message": "Charge initiated",
    "data": {
        "id": 4376085,
        "tx_ref": "MC-158523s09v5050e8",
        "flw_ref": "flwm3s4m0c1686152189776",
        "device_fingerprint": "62wd23423rq324323qew1",
        "amount": 150,
        "charged_amount": 150,
        "app_fee": 21,
        "merchant_fee": 0,
        "processor_response": "Transaction in progress",
        "auth_model": "MOBILEMONEY",
        "currency": "TZS",
        "ip": "154.123.220.1",
        "narration": "Corvus DevOps",
        "status": "pending",
        "payment_type": "mobilemoneytz",
        "fraud_status": "ok",
        "charge_type": "normal",
        "created_at": "2023-06-07T15:36:29.000Z",
        "account_id": 122055,
        "customer": {
            "id": 2095069,
            "phone_number": "0782835136",
            "name": "Yolande Aglaé",
            "email": "user@example.com",
            "created_at": "2023-06-07T15:36:29.000Z"
        }
    }
}
{}

Mobile Money (Uganda)

Receive mobile money payments from customers in Uganda. We recommend you read the method overview before you proceed.

post https://api.flutterwave.com/v3/charges?type=mobile_money_uganda

Body Params

amount int32

This is the amount to be charged for the transaction.

email string

The customer's email address.

tx_ref string

This is a unique reference peculiar to the transaction being carried out.

currency string

This is the specified currency to charge in. Expected value UGX

phone_number string

This is the phone number linked to the customer's bank account or mobile money account

Show optional parameters

Headers

Authorization string

Pass your secret key as a bearer token in the request header to authorize this call. Unauthorized calls would return a 401 http code or raise unauthorized error in the different SDKs

{
   "tx_ref":"MC-158523s09v5050e8",
   "amount":"150",
   "currency":"UGX",
   "voucher":"128373",
   "network":"VODAFONE",
   "email":"user@example.com",
   "phone_number":"054709929220",
   "fullname":"Example User",
   "client_ip":"154.123.220.1",
   "device_fingerprint":"62wd23423rq324323qew1",
   "meta":{
      "flightID":"213213AS"
   }
}
{
    "status": "success",
    "message": "Charge initiated",
    "meta": {
        "authorization": {
            "redirect": "https://ravemodal-dev.herokuapp.com/captcha/verify/86:8a3b2011f03961d6b634041c8cf1e97c",
            "mode": "redirect"
        }
    }
}
{}

M-PESA

Collect Mpesa payments from customers in Kenya. We recommend you read the method overview before you proceed.

post https://api.flutterwave.com/v3/charges?type=mpesa

Body Params

amount int32

This is the amount to be charged for the transaction.

email string

The customer's email address.

tx_ref string

This is a unique reference peculiar to the transaction being carried out.

currency string

This is the specified currency to charge in. Expected value KES

phone_number string

This is the phone number linked to the customer's bank account or mobile money account

Show optional parameters

Headers

Authorization string

Pass your secret key as a bearer token in the request header to authorize this call. Unauthorized calls would return a 401 http code or raise unauthorized error in the different SDKs

{
   "tx_ref":"MC-15852113s09v5050e8",
   "amount":"10",
   "currency":"KES",
   "email":"user@example.com",
   "phone_number":"25454709929220",
   "fullname":"Example User"
}
{
   "status":"success",
   "message":"Charge initiated",
   "data":{
      "id":1191376,
      "tx_ref":"MC-15852113s09v5050e8",
      "flw_ref":"2899902722",
      "device_fingerprint":"62wd23423rq324323qew1",
      "amount":10,
      "charged_amount":10,
      "app_fee":21,
      "merchant_fee":0,
      "processor_response":"Successful",
      "auth_model":"LIPA_MPESA",
      "currency":"KES",
      "ip":"154.123.220.1",
      "narration":"FLW-PBF MPESA Transaction ",
      "status":"pending",
      "auth_url":"N/A",
      "payment_type":"mpesa",
      "fraud_status":"ok",
      "charge_type":"normal",
      "created_at":"2020-03-27T15:46:37.000Z",
      "account_id":74843,
      "customer":{
         "id":349271,
         "phone_number":"25454709929220",
         "name":"Example User",
         "email":"user@example.com",
         "created_at":"2020-03-27T15:46:13.000Z"
      }
   }
}
{}

NIBSS QR

Generate QR images for NQR payments. We recommend you read the method overview before you proceed.

post https://api.flutterwave.com/v3/charges?type=qr

Body Params

amount int32

This is the amount to be charged for the transaction.

email string

The customer's email address.

tx_ref string

This is a unique reference peculiar to the transaction being carried out.

currency string

This is the specified currency to charge in. Expected value NGN

is_nqr string

Expected value 1

Show optional parameters

Headers

Authorization string

Pass your secret key as a bearer token in the request header to authorize this call. Unauthorized calls would return a 401 http code or raise unauthorized error in the different SDKs

{
    "amount":100,
    "email":"example@test.com",
    "tx_ref":"test001",
    "currency": "NGN,
    "phonenumber": "08167235612",
    "is_nqr": "1",
    "client_ip": "154.123.220.1",      
}

{
    "status": "success",
    "message": "Charge initiated",
    "data": {
        "id": 2621067,
        "tx_ref": "ridko-pp-ref-33333545634259_S",
        "flw_ref": "OVJD0654516590954247",
        "device_fingerprint": "62wd23423rq324323qew1",
        "amount": 100,
        "charged_amount": 100,
        "app_fee": 0.5,
        "merchant_fee": 0,
        "processor_response": "QR GENERATED. PENDING VALIDATION",
        "auth_model": "NIBSS-QR",
        "currency": "NGN",
        "ip": "154.123.220.1",
        "narration": "FLW-ECO",
        "status": "pending",
        "auth_url": "NO-URL",
        "payment_type": "nibss-qr",
        "fraud_status": "ok",
        "charge_type": "normal",
        "created_at": "2022-07-29T11:50:23.000Z",
        "account_id": 1090323,
        "customer": {
            "id": 958108,
            "phone_number": "08156170991",
            "name": "Anonymous Customer",
            "email": "fintech.request@gmail.com",
            "created_at": "2022-07-28T13:59:40.000Z"
        }
    },
    "meta": {
        "authorization": {
            "qr_image": "data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAAPoAAAD6AQAAAACgl2eQAAACq0lEQVR42u2ZS7LjIAxFYSOw/130UtBGcN9z5VTZGfQM9SR+r1LBnIFKnytB2vXv50/7AT/gBxwCVmudzzF5FbFmXJEvy4DQ/9LmErH6HlO7Pfy+DlhaxsbEPcbcsm53v6wF9NhAbYZ29/wPwO67Te0rRNqVwdUAWcKnHbbkKUz9iuZhgPyM7+c7qw8DlzNFWdJUMWtSQbt/V/dhQGWiXOkYK8sUtrn6GsO1XAUE2TpGG9q6M5akrQV45KUL65CSSF9FIaANKcZyhBYCohLqq82rELCQWs5dwR1Y64hKIBwrrNqOFy57B+s84EbGSxF4idSdXtYBipKWNm40+WjDtFIA6ZaLiJilVGGbKa51gNJjuHjpKONTvPuhMBVAMlJvS8nM4p1RCOASJ8q0mOgrKfys7gLgyhHHxTuspfEq3goA9cicnYZR9WWbywBUEx2lrTbL+OLNI6vPAxQvow0uQksUq9GzeMoAfY27l/XP5J8jaB2wex44BkJCCcFcDzEvAJittI12LNcPscuZswzgGyeOQd30NHdnzpYBuYVh3skTEH+VgF2CenMCmeEWf+1Xcz8NKDfIUWqGYddHIAyPSoAVAsKuaIspfaUQsHQ0iveeMqid9VS584AvBLCNXkZbJV7z2dzPA5zJJ33NO0Z6XpXUActNzAcv9TM3l3gVbwHgHtLd0Zj+nUHubIUAtqWRWbwckK9ItApgzvZdFR4bd1vJK4s6gLOoEZq6p814JW0BwGDHUjqS5w4PndawMiDnvXu28XURx5FHcy8AVjY0ZIy5+y7eeF9YHQYiB2/c1O9pZ2FkrwSsWdwYfYaLiPfQWwPcunV3+Tt1q4GRl5fWkWDgelzcVQDZUxQijZoz8l49XjcYx4GVN8iebNJZLprVC4Hfb0k/4AeUA38BdP+AAT1Xy6kAAAAASUVORK5CYII=",
            "mode": "qr",
            "validate_instructions": "Scan the QR code below from your mobile banking app to complete the payment"
        }
    }
}
{}

USSD

Collect USSD payments from customers in Nigeria. We recommend you read the method overview before you proceed.

post https://api.flutterwave.com/v3/charges?type=ussd

Body Params

account_bank string

This is the Bank numeric code. It can be gotten from the banks endpoint.

amount int32

This is the amount to be charged for the transaction.

email string

The customer's email address.

tx_ref string

This is a unique reference peculiar to the transaction being carried out.

currency string

This is the specified currency to charge in. Expected value is NGN.

Show optional parameters

Headers

Authorization string

Pass your secret key as a bearer token in the request header to authorize this call. Unauthorized calls would return a 401 http code or raise unauthorized error in the different SDKs

{
    "tx_ref": "MC-15852309v5050e8y",
    "account_bank": "057",
    "amount": "10",
    "currency": "NGN",
    "email": "user@example.com",
    "phone_number": "054709929220",
    "fullname": "Example User"
}
{
    "status": "success",
    "message": "Charge initiated",
    "data": {
        "id": 2382777,
        "tx_ref": "MC-15852309v5050e8y",
        "flw_ref": "WKOM430901627909006960",
        "device_fingerprint": "N/A",
        "amount": 10,
        "charged_amount": 10,
        "app_fee": 481.5,
        "merchant_fee": 0,
        "processor_response": "Transaction in progress",
        "auth_model": "USSD",
        "currency": "NGN",
        "ip": "::ffff:127.0.0.1",
        "narration": "Example User",
        "status": "pending",
        "payment_type": "ussd",
        "fraud_status": "ok",
        "charge_type": "normal",
        "created_at": "2021-08-02T12:56:45.000Z",
        "account_id": 20937,
        "customer": {
            "id": 1355534,
            "phone_number": "054709929220",
            "name": "Example User",
            "email": "user@example.com",
            "created_at": "2021-08-02T12:56:45.000Z"
        },
        "payment_code": "3650"
    },
    "meta": {
        "authorization": {
            "mode": "ussd",
            "note": "*889*767*3650#"
        }
    }
}
{}
Loading...