> ## Documentation Index
> Fetch the complete documentation index at: https://flutterwaveinc.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Flutterwave v3 Java Library

The Java library provides easy access to Flutterwave for Business (F4B) v3 APIs for your Java codebase. It abstracts the complexity involved in direct integration and allows you to make quick calls to the APIs.

Available features include:

* Collections: Card, Account, Mobile money, Bank Transfers, USSD, Barter, NQR.
* Payouts and Beneficiaries.
* Recurring payments: Tokenization and Subscriptions.
* Split payments
* Card issuing
* Transactions dispute management: Refunds and Chargebacks.
* Transaction reporting: Collections, Payouts, Settlements, Refunds and Chargebacks.
* Bill payments: Airtime, Data bundle, Cable, Power, Toll, E-bills, and Remitta.
* Identity verification: Resolve bank account, resolve BVN information and generate OTP.

## Heads up!

This Library cannot be used on a project with a file named "base.properties" in project path.

## Requirements

1. Flutterwave for business [API Keys](/authentication)
2. Java

## Installation

## Maven users

Add this dependency to your project's POM:

```java theme={null}
<dependency>
 <groupId>com.flutterwave</groupId>
    <artifactId>f4b-java</artifactId>
    <version>3.0</version>
</dependency>
```

## Gradle users

Add this dependency to your project's build file:

```java theme={null}
compile("com.flutterwave:f4b-java:3.0")
```

## Environment Variables

The foloowing environment variables need to be set before calling any method

```java theme={null}
  Environment.setSecretKey("FLWSECK_TEST-92e*******-X");
  Environment.setPublicKey("FLWSECK_TEST-92e*******-X");
  Environment.setEncryptionKey("FLWSECK_TE********c1f2");
```

For staging, Use TEST API Keys and for production, use LIVE API KEYS.
You can get your keys from the Flutterwave dashboard.

Read the [requirement section](#requirements) for more information on how to get your API keys.

## Usage

1. [Collections](documentation/Collections.md)
2. [Tokenization](documentation/Tokenization.md)
3. [Split payments](documentation/SubAccounts.md)
4. [Scheduled payments](documentation/ScheduledPayments.md)
5. [Transfers](documentation/Transfers.md)
6. [Card Issuing](documentation/CardIssuing.md)
7. [Virtual Account](documentation/VirtualAccount.md)
8. [Bill payments](documentation/Bills.md)
9. [Transactions and reporting](documentation/Transactions.md)
10. [Beneficiaries](documentation/Beneficiary.md)
11. [Banks](documentation/Banks.md)
12. [Settlements](documentation/Settlements.md)
13. [OTP](documentation/OTP.md)
14. [Misc](documentation/Misc.md)
15. [Subscriptions](documentation/Subscriptions.md)
16. [PaymentPlans](documentation/PaymentPlans.md)

## Debugging Errors

We understand that you may run into some errors while integrating our library. You can read more about our error messages [here](/common-errors).

For `authorization` and `validation` error responses, double-check your API keys and request. If you get a `server` error, kindly engage the team for support.

## Support

For additional assistance using this library, contact the developer experience (DX) team via [email](mailto:developers@flutterwavego.com) or on [slack](https://bit.ly/34Vkzcg).

You can also follow us [@FlutterwaveEng](https://twitter.com/FlutterwaveEng) and let us know what you think 😊.
