Charge Methods

This section describes how to charge customers using various payment methods powered by Flutterwave.

Card

Initiate debit and credit card payments. 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.

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

This is the email address of the customer

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

fullname string

This is the name of the customer making the payment.

preauthorize boolean

This should be set to true for preauthoize card transactions.

redirect_url string

This is a url you provide, we redirect to it after the customer completes payment and append the response to it as query parameters. (3DSecure only).

client_ip string

IP - Internet Protocol. This represents the current IP address of the customer carrying out the transaction.

device_fingerprint string

This is the fingerprint for the device being used. It can be generated using a library on whatever platform is being used.

payment_plan string

This is the id of a previously created payment plan needed to add a card user to the payment plan.

meta object
This is used to include additional payment information.
flightID string

This could be the extra information you want to pass.

sideNote string

This could be any message you'd like to associate with this call.

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.

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":"stefan.wexler@hotmail.eu",
   "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":"stefan.wexler@hotmail.eu",
   "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" => "stefan.wexler@hotmail.eu",
   "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":"stefan.wexler@hotmail.eu",
   "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": "stefan.wexler@hotmail.eu",
      "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"
    }
  }
}
{}

Charge Nigerian Bank Accounts

This payment method helps you charge Nigerian bank accounts using Flutterwave. We recommend you read the method overview before you proceed.

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

Body Params

account_bank string

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

account_number string

This is the account number of the customer.

amount int32

This is the amount to be charged.

email string

This is the email address of the customer

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.

phone_number string

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

fullname string

This is the name of the customer making the payment.

client_ip string

IP - Internet Protocol. This represents the current IP address of the customer carrying out the transaction.

device_fingerprint string

This is the fingerprint for the device being used. It can be generated using a library on whatever platform is being used.

passcode string

This is required for Zenith bank account payments, you are required to collect the customer's date of birth and pass it in this format DDMMYYYY as the passcode.

bvn string

This is the customer's BVN number (It is only required for UBA account payment option).

meta object
This is used to include additional payment information.
flightID string

This could be the extra information you want to pass

sideNote string

This could be any message you'd like to associate with this call

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":"stefan.wexler@hotmail.eu",
   "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":"stefan.wexler@hotmail.eu"
      },
      "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"
         }
      }
   }
}
{}

Charge via Bank Transfer

This payment method allows you to collect 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.

email string

This is the email address of the customer

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

fullname string

This is the name of the customer making the payment.

client_ip string

IP - Internet Protocol. This represents the current IP address of the customer carrying out the transaction.

device_fingerprint string

This is the fingerprint for the device being used. It can be generated using a library on whatever platform is being used.

is_permanent boolean

This allows you to create a static account number i.e. the account number doesn't change and customers can pay into the account number multiple times.

narration string

This allows the developer set the name that is shown to the customer when the account is resolved to a name. It also displays in the debit narration.

meta object
This is used to include additional payment information.
flightID string

This could be the extra information you want to pass

sideNote string

This could be any message you'd like to associate with this call

subaccounts object
This is an array of objects containing the subaccount IDs to split the payment into.
id string

This is the unique Id returned in the call to create a subaccount as data.subaccount_id

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 = {
  "tx_ref": "ref001",
  "amount": "1500",
  "email": "stefan.wexler@hotmail.eu",
  "phone_number": "08000000000",
  "currency": "NGN",
  "client_ip": "154.123.220.1",
  "device_fingerprint": "62wd23423rq324323qew1"
  "is_permanent": 1
};

details = {
    "tx_ref" => "ref001",
    "amount" => "1500",
    "email" => "stefan.wexler@hotmail.eu",
    "phone_number" => "08000000000",
    "currency" => "NGN",
    "is_permanent" => 1
}
bank_transfer = BankTransfer.new(payment)
response = bank_transfer.initiate_charge(payload)
curl --location --request POST 'https://api.flutterwave.com/v3/charges?type=bank_transfer' \
--header 'Authorization: Bearer YOUR_SECRET_KEY' \
--header 'Content-Type: application/json' \
--data-raw '{
   "tx_ref":"ref001",
   "amount":"1500",
   "email":"stefan.wexler@hotmail.eu",
   "phone_number":"08000000000",
   "currency":"NGN",
   "client_ip":"154.123.220.1",
   "device_fingerprint":"62wd23423rq324323qew1",
   "narration":"FlW Devs",
   "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":1500,
         "mode":"banktransfer"
      }
   }
}
{}

Charge UK Bank Accounts

This payment method helps you charge UK Bank accounts using Flutterwave. We recommend you read the method overview before you proceed.

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

Body Params

account_bank string

This is the Bank numeric code.

account_number string

This is the account number of the customer.

amount int32

This is the amount to be charged.

email string

This is the email address of the customer

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 GBP.

phone_number string

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

fullname string

This is the name of the customer making the payment.

client_ip string

IP - Internet Protocol. This represents the current IP address of the customer carrying out the transaction.

device_fingerprint string

This is the fingerprint for the device being used. It can be generated using a library on whatever platform is being used.

meta object
This is used to include additional payment information.
flightID string

This could be the extra information you want to pass

sideNote string

This could be any message you'd like to associate with this call

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",
   "type":"debit_uk_account",
   "account_bank":"044",
   "account_number":"0690000032",
   "currency":"GBP",
   "email":"stefan.wexler@hotmail.eu",
   "phone_number":"0902620185",
   "fullname":"Yolande Aglaé Colbert"
}
{
   "status":"success",
   "message":"Charge initiated",
   "data":{
      "amount":"100.00",
      "type":"paymentcode",
      "redirect":false,
      "created_at":"2020-03-27T11:20:00.777",
      "order_ref":"URF_1585304398140_8642835",
      "flw_ref":"ACH378551585304400779",
      "redirect_url":null,
      "payment_code":"GBPBEDF2CC",
      "type_data":"GBPBEDF2CC",
      "meta":{
         "authorization":{
            "account_number":"43271228",
            "sort_code":"040053"
         }
      }
   }
}
{}

ACH Payments

This payment method allows you to collect USD and ZAR payments via ACH. 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.

email string

This is the email address of the customer

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.

phone_number string

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

fullname string

This is the name of the customer making the payment.

client_ip string

IP - Internet Protocol. This represents the current IP address of the customer carrying out the transaction.

device_fingerprint string

This is the fingerprint for the device being used. It can be generated using a library on whatever platform is being used.

redirect_url string

This is a url you provide, we redirect to it after the customer completes payment and append the response to it as query parameters

country string

Pass your country as US for US ACH payments and ZA for SA ACH payments.

meta object
This is used to include additional payment information.
flightID string

This could be the extra information you want to pass

sideNote string

This could be any message you'd like to associate with this call

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": "stefan.wexler@hotmail.eu",
    "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": "stefan.wexler@hotmail.eu",
            "created_at": "2020-03-27T09:42:54.000Z"
        }
    }
}
{}

Charge via PayPal

This payment method allows you to collect payments via PayPal.

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

Body Params

amount int32

This is the amount to be charged.

email string

This is the email address of the customer

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.

phone_number string

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

fullname string

This is the name of the customer making the payment.

redirect_url string

This is a url you provide, we redirect to it after the customer completes payment and append the response to it as query parameters.

client_ip string

IP - Internet Protocol. This represents the current IP address of the customer carrying out the transaction.

device_fingerprint string

This is the fingerprint for the device being used. It can be generated using a library on whatever platform is being used.

billing_address string

This is the house/building address registered with the card. Customers can easily find this on their bank statement.

billing_city string

This is the city registered with the card, it makes up part of the address the customer used for their card.

billing_state string

This is the state registered with the card.

billing_country string

This is the country registered with the card.

billing_zip int32

This is the zip code or postal card registered with the card.

shipping_address string

This is the destination house/building address.

shipping_city string

This is the city the destination house/building is located in.

shipping_state string

This is the state the destination house/building is located in.

shipping_country string

TThis is the country the destination house/building is located in.

shipping_zip int32

This is the postal code of the destination house/building.

meta object
This is used to include additional payment information.
flightID string

This could be the extra information you want to pass

sideNote string

This could be any message you'd like to associate with this call

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

Mpesa

This payment method allows you to receive KES payments via Mpesa. 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.

email string

This is the email address of the customer

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

fullname string

This is the name of the customer making the payment.

client_ip string

IP - Internet Protocol. This represents the current IP address of the customer carrying out the transaction.

device_fingerprint string

This is the fingerprint for the device being used. It can be generated using a library on whatever platform is being used.

meta object
This is used to include additional payment information.
flightID string

This could be the extra information you want to pass

sideNote string

This could be any message you'd like to associate with this call

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":"1500",
   "currency":"KES",
   "email":"stefan.wexler@hotmail.eu",
   "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":1500,
      "charged_amount":1500,
      "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":"stefan.wexler@hotmail.eu",
         "created_at":"2020-03-27T15:46:13.000Z"
      }
   }
}
{}

Ghana Mobile Money

This payment method allows you to recieve GHS payments via Mobile Money. 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.

email string

This is the email address of the customer

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)

fullname string

This is the name of the customer making the payment.

client_ip string

IP - Internet Protocol. This represents the current IP address of the customer carrying out the transaction.

device_fingerprint string

This is the fingerprint for the device being used. It can be generated using a library on whatever platform is being used.

redirect_url string

This is a url you provide, we redirect to it after the customer completes payment and append the response to it as query parameters.

meta object
This is used to include additional payment information.
flightID string

This could be the extra information you want to pass

sideNote string

This could be any message you'd like to associate with this call

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":"stefan.wexler@hotmail.eu",
   "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

This payment method allows you to receive payments via Uganda Mobile Money. 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.

email string

This is the email address of the customer

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

order_id string

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

fullname string

This is the name of the customer making the payment.

client_ip string

IP - Internet Protocol. This represents the current IP address of the customer carrying out the transaction.

device_fingerprint string

This is the fingerprint for the device being used. It can be generated using a library on whatever platform is being used.

redirect_url string

This is a url you provide, we redirect to it after the customer completes payment and append the response to it as query parameters.

voucher int32

This is the voucher code generated by the customer. It is meant to be passed in the initial charge request.

network string

This is the customer's mobile money network provider

meta object
This is used to include additional payment information.
flightID string

This could be the extra information you want to pass

sideNote string

This could be any message you'd like to associate with this call

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":"stefan.wexler@hotmail.eu",
   "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

This payment method allows you to collect payments via mobile money in Francophone countries. 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. Amounts should not be lower than 100

email string

This is the email address of the customer

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

phone_number string

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

country string

This is the country code of the francophone country making the mobile money payment.

fullname string

This is the name of the customer making the payment.

client_ip string

IP - Internet Protocol. This represents the current IP address of the customer carrying out the transaction.

device_fingerprint string

This is the fingerprint for the device being used. It can be generated using a library on whatever platform is being used.

meta object
This is used to include additional payment information.
flightID string

This could be the extra information you want to pass

sideNote string

This could be any message you'd like to associate with this call

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":"1500",
   "currency":"XAF",
   "country": "CM",
   "email":"stefan.wexler@hotmail.eu",
   "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":1500,
      "charged_amount":1500,
      "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":"stefan.wexler@hotmail.eu",
         "created_at":"2020-03-27T09:12:54.000Z"
      },
      "processor_response":"Transaction in progress"
   },
   "meta":{
      "authorization":{
         "mode":"redirecturl",
         "redirect_url":"http://test.com/example"
      }
   }
}
{}

Rwanda Mobile Money

This payment method allows you to collect payments via Rwandan Mobile Money. 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.

email string

This is the email address of the customer

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

fullname string

This is the name of the customer making the payment.

client_ip string

IP - Internet Protocol. This represents the current IP address of the customer carrying out the transaction.

device_fingerprint string

This is the fingerprint for the device being used. It can be generated using a library on whatever platform is being used.

meta object
This is used to include additional payment information.
flightID string

This could be the extra information you want to pass

sideNote string

This could be any message you'd like to associate with this call

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":"1500",
   "currency":"RWF",
   "email":"stefan.wexler@hotmail.eu",
   "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

This payment method allows you to collect payments via Zambia Mobile Money. 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.

email string

This is the email address of the customer

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

network string

This is the customer's mobile money network provider. Expected values include MTN, Airtel and Zamtel.

order_id string

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

fullname string

This is the name of the customer making the payment.

client_ip string

IP - Internet Protocol. This represents the current IP address of the customer carrying out the transaction.

device_fingerprint string

This is the fingerprint for the device being used. It can be generated using a library on whatever platform is being used.

meta object
This is used to include additional payment information.
flightID string

This could be the extra information you want to pass

sideNote string

This could be any message you'd like to associate with this call

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":"stefan.wexler@hotmail.eu",
   "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"
        }
    }
}
{}

Charge via USSD

This method allows you to generate USSD strings for payments. 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.

account_number string

This is the account number of the customer.

amount int32

This is the amount to be charged.

email string

This is the email address of the customer

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 GBP.

phone_number string

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

fullname string

This is the name of the customer making the payment.

client_ip string

IP - Internet Protocol. This represents the current IP address of the customer carrying out the transaction.

device_fingerprint string

This is the fingerprint for the device being used. It can be generated using a library on whatever platform is being used.

meta object
This is used to include additional payment information.
flightID string

This could be the extra information you want to pass

sideNote string

This could be any message you'd like to associate with this call

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": "1500",
    "currency": "NGN",
    "email": "stefan.wexler@hotmail.eu",
    "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": 1500,
        "charged_amount": 1500,
        "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": "stefan.wexler@hotmail.eu",
            "created_at": "2021-08-02T12:56:45.000Z"
        },
        "payment_code": "3650"
    },
    "meta": {
        "authorization": {
            "mode": "ussd",
            "note": "*889*767*3650#"
        }
    }
}
{}
Loading...