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.

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":"Yolande AglaƩ Colbert",
   "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":"Yolande AglaƩ Colbert",
   "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" => "Yolande AglaƩ Colbert",
   "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":"Yolande AglaƩ Colbert",
   "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": "Yolande AglaƩ Colbert",
      "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"
    }
  }
}
{}

Bank Transfers

Collect payments from your customers 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"
      }
   }
}
{}

NG Bank Accounts

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":"Yolande AglaƩ Colbert"
}
{
   "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":"Yolande AglaƩ Colbert"
      },
      "meta":{
         "authorization":{
            "mode":"otp",
            "validate_instructions":"Please validate with the OTP sent to your mobile or email"
         }
      }
   }
}
{}

Mpesa

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":"Yolande AglaƩ Colbert"
}
{
   "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":"Yolande AglaƩ Colbert",
         "email":"user@example.com",
         "created_at":"2020-03-27T15:46:13.000Z"
      }
   }
}
{}

Ghana Mobile Money

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":"Yolande AglaƩ Colbert",
   "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"
        }
    }
}
{}

Uganda Mobile Money

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":"Yolande AglaƩ Colbert",
   "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"
        }
    }
}
{}
Payment Voucher

Kindly note, Voucher is only required for Vodafone users.

Francophone Mobile Money

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

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":"Yolande AglaƩ Colbert"
}
{
   "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":"Yolande AglaƩ Colbert",
      "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":"Yolande AglaƩ Colbert",
         "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"
      }
   }
}
{}

Tanzania Mobile Money

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":"Yolande AglaƩ Colbert",
   "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"
        }
    }
}
{}

Rwanda Mobile Money

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":"Yolande AglaƩ Colbert"
}
{
    "status": "success",
    "message": "Charge initiated",
    "meta": {
        "authorization": {
            "redirect": "https://ravemodal-dev.herokuapp.com/captcha/verify/93:bc3bb122e3e9151361c910f619de0369",
            "mode": "redirect"
        }
    }
}
{}

Zambia Mobile Money

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

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

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 ZMW

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":"ZMW",
   "order_id":"URF_MMGH_1585323540079_5981535",
   "network":"MTN",
   "email":"user@example.com",
   "phone_number":"054709929220",
   "fullname":"Yolande AglaƩ Colbert",
   "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"
        }
    }
}
{}

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": "Yolande AglaƩ Colbert"
}
{
    "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": "Yolande AglaƩ Colbert",
        "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": "Yolande AglaƩ Colbert",
            "email": "user@example.com",
            "created_at": "2021-08-02T12:56:45.000Z"
        },
        "payment_code": "3650"
    },
    "meta": {
        "authorization": {
            "mode": "ussd",
            "note": "*889*767*3650#"
        }
    }
}
{}

UK and EU Bank Accounts

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

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"
        }
    }
}
{}

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": "Yolande AglaƩ Colbert",
    "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": "Yolande AglaƩ Colbert",
        "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": "Yolande AglaƩ Colbert",
            "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": "Yolande AglaƩ Colbert",
   "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"
         }
      }
   }
}
{}

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": "Yolande AglaƩ Colbert",
    "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": "Yolande AglaƩ Colbert",
            "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"
            }
        }
    }
}
{}

eNaira

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
}

PayPal

Collect payments from customers with PayPal.

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

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": "PayPalv3Test03",
    "amount": "10",
    "currency": "USD",
    "country": "US",
    "email": "dovedom221@vss6.com",
    "phone_number": "054222234847",
    "fullname": "John Madakin",
    "client_ip": "154.123.220.1",
    "redirect_url": "http://johnmadakin.com/u/payment-completed",
    "device_fingerprint": "62wd23423rq324323qew1",
    "billing_address": "3563 Huntertown Rd",
    "billing_city": "Allison park",
    "billing_zip": "15101",
    "billing_state": "Pensylvannia",
    "billing_country": "US",
    "shipping_name": "Robert K Gagne",
    "shipping_address": "1010  Woodrow Way",
    "shipping_city": "Lufkin",
    "shipping_zip": "75904",
    "shipping_state": "Texas",
    "shipping_country": "US"
  }
{
    "status": "success",
    "message": "Charge initiated",
    "data": {
        "id": 1904812,
        "tx_ref": "PayPalv3Test03",
        "flw_ref": "FLWT001343130",
        "device_fingerprint": "62wd23423rq324323qew1",
        "amount": 10,
        "charged_amount": 10,
        "app_fee": 0.38,
        "merchant_fee": 0,
        "processor_response": "Validation Required",
        "auth_model": "PAYPAL",
        "currency": "USD",
        "ip": "::ffff:10.9.247.118",
        "narration": "anjola sandbox",
        "status": "pending",
        "auth_url": "https://www.sandbox.paypal.com/checkoutnow?token=87X841257F074472S",
        "payment_type": "paypal",
        "fraud_status": "ok",
        "charge_type": "normal",
        "created_at": "2021-02-12T16:30:59.000Z",
        "account_id": 7813,
        "customer": {
            "id": 562419,
            "phone_number": "054222234847",
            "name": "John Madakin",
            "email": "dovedom221@vss6.com",
            "created_at": "2021-01-11T15:08:34.000Z"
        },
        "meta": {
            "authorization": {
                "mode": "redirect",
                "redirect": "https://www.sandbox.paypal.com/checkoutnow?token=87X841257F074472S"
            }
        }
    }
}
{}
Loading...