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=cardBody Params
int32
This is the amount to be charged for the transaction.
int32
This is the number on the cardholders card. E.g. 5399 6701 2349 0229.
int32
Card security code. This is 3/4 digit code at the back of the customers card, used for web payments.
int32
Two-digit number representing the card's expiration month. It is usually the first two digits of the expiry date on the card.
int32
Two-digit number representing the card's expiration year. It is the last two digits of the expiry date on the card.
string
The customer's email address.
string
This is a unique reference peculiar to the transaction being carried out.
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.
string
This represents the base64 encoded value generated by the card issuer that is returned in the authentication response message.
string
A unique transaction identifier assigned by the Access Control Server to identify the 3DS transaction.
string
EMV 3-D Secure protocol e.g. 2.1.0
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.
string
If a_transactionstatus Y then this becomes optional.
string
The amount for which the payer authentication has been performed.
boolean
TBD
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`
string
This is the auth model of the card to use when validating, it is returned in the initiate charge call as authorization.mode
.
int32
This is the card's pin. Required when the suggested auth mode is PIN.
string
This is the city in the card's billing details. It is required when the suggested auth mode is avs_noauth
.
string
This is the cards billing address. It is required when the suggested auth mode is avs_noauth
.
string
This is the card issuing state. It is required when the suggested auth mode is avs_noauth
.
string
This is the cards issuing country. It is required when the suggested auth mode is avs_noauth
.
int32
This is cards billing address zipcod. It is required when the suggested auth mode is avs_noauth
.
Show optional parameters
Headers
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/paymentsBody Params
int32
This is the amount to be charged for the transaction.
string
This is a unique reference peculiar to the transaction being carried out.
object
Customer-related information.
string
The customer's email address.
string
This is the phone number linked to the customer's bank account or mobile money account
string
The customer's full name.
Show optional parameters
Headers
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_paymentBody Params
int32
This is the amount to be charged for the transaction.
string
The customer's email address.
string
This is a unique reference peculiar to the transaction being carried out.
string
This is the specified currency to charge in. Expected value is ZAR.
string
The Voucher Pin.
Show optional parameters
Headers
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_paymentBody Params
int32
This is the amount to be charged for the transaction.
string
The customer's email address.
string
This is a unique reference peculiar to the transaction being carried out.
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
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=applepayBody Params
int32
This is the amount to be charged for the transaction.
string
The customer's email address.
string
This is a unique reference peculiar to the transaction being carried out.
string
This is the specified currency to charge in. You can check the full list of expected values here.
Show optional parameters
Headers
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=monoBody Params
int32
This is the amount to be charged for the transaction.
string
The customer's email address.
string
This is a unique reference peculiar to the transaction being carried out.
Show optional parameters
Headers
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-ukBody Params
int32
This is the amount to be charged for the transaction.
string
The customer's email address.
string
This is a unique reference peculiar to the transaction being carried out.
int32
An internal flag to correctly route the transaction processing.
string
This is the specified currency to charge in. Expected values are EUR and GBP.
Show optional parameters
Headers
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_transferBody Params
int32
This is the amount to be charged for the transaction.
string
The customer's email address.
string
This is a unique reference peculiar to the transaction being carried out.
Show optional parameters
Headers
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=enairaBody Params
int32
This is the amount to be charged for the transaction.
string
The customer's email address.
string
This is a unique reference peculiar to the transaction being carried out.
Show optional parameters
Headers
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_payBody Params
int32
This is the amount to be charged for the transaction.
string
The customer's email address.
string
This is a unique reference peculiar to the transaction being carried out.
string
This is the specified currency to charge in. Expected value EGP
Show optional parameters
Headers
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=googlepayBody Params
int32
This is the amount to be charged for the transaction.
string
The customer's email address.
string
This is a unique reference peculiar to the transaction being carried out.
string
This is the specified currency to charge in. You can check the full list of expected values here.
Show optional parameters
Headers
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_ghanaBody Params
int32
This is the amount to be charged for the transaction.
string
The customer's email address.
string
This is a unique reference peculiar to the transaction being carried out.
string
This is the specified currency to charge in.
string
This is the phone number linked to the customer's bank account or mobile money account
string
This is the customer's mobile money network provider (possible values: MTN, VODAFONE, TIGO)
Show optional parameters
Headers
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_francoBody Params
int32
This is the amount to be charged for the transaction. Amounts should not be lower than 100
string
The customer's email address.
string
This is a unique reference peculiar to the transaction being carried out.
string
This is the specified currency to charge in. Expected value: XAF or XOF
string
This is the country code of the francophone country making the mobile money payment. Expected values include: BF, CI, CM, SN
string
This is the phone number linked to the customer's bank account or mobile money account
string
The customer's mobile network.
Show optional parameters
Headers
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_rwandaBody Params
int32
This is the amount to be charged for the transaction.
string
The customer's email address.
string
This is a unique reference peculiar to the transaction being carried out.
string
This is the specified currency to charge in. Expected value RWF
string
This is the phone number linked to the customer's bank account or mobile money account
string
Unique ref for the mobilemoney transaction to be provided by the merchant
Show optional parameters
Headers
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_tanzaniaBody Params
int32
This is the amount to be charged for the transaction.
string
The customer's email address.
string
This is a unique reference peculiar to the transaction being carried out.
string
This is the specified currency to charge in. Expected value TZS
string
This is the phone number linked to the customer's bank account or mobile money account
Show optional parameters
Headers
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_ugandaBody Params
int32
This is the amount to be charged for the transaction.
string
The customer's email address.
string
This is a unique reference peculiar to the transaction being carried out.
string
This is the specified currency to charge in. Expected value UGX
string
This is the phone number linked to the customer's bank account or mobile money account
Show optional parameters
Headers
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=mpesaBody Params
int32
This is the amount to be charged for the transaction.
string
The customer's email address.
string
This is a unique reference peculiar to the transaction being carried out.
string
This is the specified currency to charge in. Expected value KES
string
This is the phone number linked to the customer's bank account or mobile money account
Show optional parameters
Headers
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=qrBody Params
int32
This is the amount to be charged for the transaction.
string
The customer's email address.
string
This is a unique reference peculiar to the transaction being carried out.
string
This is the specified currency to charge in. Expected value NGN
string
Expected value 1
Show optional parameters
Headers
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=ussdBody Params
string
This is the Bank numeric code. It can be gotten from the banks endpoint.
int32
This is the amount to be charged for the transaction.
string
The customer's email address.
string
This is a unique reference peculiar to the transaction being carried out.
string
This is the specified currency to charge in. Expected value is NGN.
Show optional parameters
Headers
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#"
}
}
}
{}