Flutterwave

Flutterwave Integration Guide

Braintree's partnership with Flutterwave enables Braintree merchants to leverage their existing Braintree integration to process transactions in multiple countries supported by Flutterwave.

Supported OperationsAnchorIcon

Supported CountriesAnchorIcon

Country NameSupported Credit CardsSupported Debit Cards
South AfricaMastercard, VisaMastercard, Visa
EgyptMastercard, VisaMastercard, Visa
Saudi ArabiaMastercard, VisaMastercard, Visa
TurkeyMastercard, VisaMastercard, Visa
UkraineMastercard, VisaMastercard, Visa
NigeriaMastercard, VisaMastercard, Visa
QatarMastercard, VisaMastercard, Visa
BahrainMastercard, VisaMastercard, Visa
Ivory CoastMastercard, VisaMastercard, Visa
JordanMastercard, VisaMastercard, Visa
KenyaMastercard, VisaMastercard, Visa
GhanaMastercard, VisaMastercard, Visa
UgandaMastercard, VisaMastercard, Visa
TanzaniaMastercard, VisaMastercard, Visa

SetupAnchorIcon

Flutterwave Configuration & CredentialsAnchorIcon

Each merchant should have an account with Flutterwave. Once the account with Flutterwave is created, please work with the account manager or technical account manager to securely share the account's API/integration keys with Braintree.

Braintree Merchant AccountAnchorIcon

To process cards with Flutterwave, you will need currency-specific Braintree merchant accounts. Your account manager TAM can help facilitate this.

TransactionsAnchorIcon

Tokenize Payment MethodAnchorIcon

[SDK, GraphQL] Tokenization returns a single use token or nonce of a payment method. When using the SDK, it is recommended to use a payment nonce sent from the client performing the transaction. For more information see receiving a Payment Method nonce from your client.

Vault Payment MethodAnchorIcon

[SDK, GraphQL] Vaulting a tokenized payment method will create an entity that can be authorized or charged multiple times. When using a single-use tokenized payment method during an authorization, you can configure the authorization request to vault the tokenized payment method to reuse it multiple times SDK, GraphQL].

Supported Operations with Flutterwave:AnchorIcon

Note: Please use Braintree platform for Authorization, Capture, Charge, Void and Refund Operations. Performing these operations in Flutterwave without Braintree could lead to discrepancies and synchronization errors.
  1. Authorization [SDK,GraphQL]
  2. Capture [SDK, GraphQL]
  3. Charge (Authorization + Capture in one step)[SDK, GraphQL]
  4. Void [SDK, GraphQL]
Note: Using the ReverseTransactionmutation in the GraphQL API will void a transaction that is not in the SETTLED state, and will refund a transaction that is in the SETTLED state.
  1. Refund [SDK, GraphQL]
Note: Refunds cannot be performed for an amount greater than the settled amount.
  1. Verifying a Card [GraphQL] Cards can be verified in various ways using the SDK, see this documentation for more details.

Response CodesAnchorIcon

Braintree can only display a limited number of response codes since transaction results are controlled by Flutterwave. When the Fluttrewave decline code cannot be mapped to a like-to-like Braintree decline code, Braintree returns code 2000 with the message Do Not Honor

Failure ResponsesAnchorIcon

Braintree Error CodeBraintree Error MessageFlutterwave Error CodeFlutterwave Error Message
1000Approved11Approved, VIP
1000Approved16Approved, Update Track 3
1001Approved, check customer ID08Honour With Identification
1004Approved for Partial Amount10Approved For Partial Amount
2000Do Not Honor05Do Not Honour
2001Insufficent Funds51Insufficient Funds
2002Limit Exceeded61Exceeds Withdrawal Limit
2004Expired Card33Expired Card, Capture
2004Expired Card54Expired Card
2005Invalid Credit Card Number06Error
2005Invalid Credit Card Number06Error
2005Invalid Credit Card Number30Format Error
2007No Account52No Cheque Account
2007No Account53No Savings Account
2007No Account56No Card Record
2009No Such Issuer15No Issuer
2009No Such Issuer25Unable to Locate Record On File
2010Card Issuer Declined CVV82CVV Validation Error
2012Processor Declined – Possible Lost Card41Lost Card
2013Processor Declined – Possible Stolen Card43Stolen Card
2014Processor Declined – Fraud Suspected34Suspected Fraud, Retain Card
2014Processor Declined – Fraud Suspected59Suspected Fraud
2014Processor Declined – Fraud Suspected67Capture Card
2016Duplicate Transaction94Duplicate Transaction
2019Invalid Transaction12Invalid Transaction
2019Invalid Transaction12Function Not Supported
2019Invalid Transaction42No Universal Account
2019Invalid Transaction44No Investment Account
2019Invalid Transaction57Function Not Permitted to Cardholder
2019Invalid Transaction58Function Not Permitted to Terminal
2019Invalid Transaction60Acceptor Contact Acquirer
2021Security Violation66Acceptor Contact Acquirer, Security
2020Violation93Cannot Complete, Violation Of The Law
2025Bank Not Supported By Switch31Bank Not Supported By Switch
2026Invalid Merchant ID03Invalid Merchant
2034No Action Taken21No Action Taken
2034No Action Taken22Suspected Malfunction
2034No Action Taken23Unacceptable Transaction Fee
2034No Action Taken96System Error
2047Call Issuer. Pick Up Card04Pick Up Card
2047Call Issuer. Pick Up Card04Pick Up Card, Special
2047Call Issuer. Pick Up Card35Card Acceptor, Contact Acquirer, Retain Card
2047Call Issuer. Pick Up Card36Restricted Card, Retain Card
2047Call Issuer. Pick Up Card37Contact Acquirer Security Department, Retain Card
2048Invalid Amount13Invalid Amount
2050Invalid Credit Plan39No Credit Account
2057Issuer or Cardholder has put a restriction on the card62Restricted Card
2102Incorrect PIN55Incorrect PIN
2103PIN try exceeded38PIN Tries Exceeded, Capture
2103PIN try exceeded75PIN Tries Exceeded
2104Offline Issuer Declined90Cutoff In Progress
2104Offline Issuer Declined91Card Issuer Unavailable
2105Processor Declined92Unable To Route Transaction
2105Processor Declined09Request In Progress
3000Processor Network Unavailable – Try Again19Re-enter Last Transaction
To query for Flutterwave response message use the additional_processor_response for the SDK or The PaymentStatusEvent->processorResponse->additionalInformation for GraphQL.

Test CardsAnchorIcon

Braintree provides a set of test card numbers that can be used in sandbox to test integrations. Merchants can use different card numbers to exercise various scenarios. Because we map the credit cards in sandbox to facilitate end-to-end testing, there may be discrepancies in reporting in sandbox. However, in production, the card numbers are sent to Flutterwave directly without any modification.

Credit Cards | SuccessAnchorIcon

Card brandTest numberFlutterwave numberAutomatically mapped?
Mastercard55555555555544445111111111111118
Visa40128888888818814012000033330026

Credit Cards | FailureAnchorIcon

ScenarioTest numberFlutterwave numberAutomatically mapped?Braintree result
Declined - Visa40001111111111154012000033330026Processor Declined
Declined - Mastercard51051051051051005111111111111118Processor Declined

If you accept cookies, we’ll use them to improve and customize your experience and enable our partners to show you personalized PayPal ads when you visit other sites. Manage cookies and learn more