The PayDeck Payment abstraction library - A library for multiple african payment providers.
# Paydeck Java SDK
> **Note**: This SDK is in active development. APIs might change without notice. Not recommended for production use yet.
A unified payment gateway integration for multiple payment providers in Africa.
## Table of Contents
- Features
- Installation
- Quick Start
- Transaction Types
- Deposit
- Provider Initialization
- Creating Checkout Request
- Transaction Verification
- Response Handling
- Error Handling
- Supported Payment Methods
- Withdrawal or Payout (Coming Soon)
- Supported Providers
- Upcomming Providers
- Advanced Configuration
- Development Status
- Contributing
- License
## Features
- Single API interface for multiple payment providers
- Support for Flutterwave and Paystack
- Modular architecture for different transaction types (Deposits, Withdrawals, etc.)
- Type-safe enum-based provider selection
- Comprehensive error handling with provider-specific details
- Transaction status verification
## Installation
Add to your `pom.xml`:
```xml
co.paydeck
paydeck-java
1.0-SNAPSHOT
```
## Quick Start
```java
import co.paydeck.ProviderBuilder;
import co.paydeck.model.Provider;
import co.paydeck.core.BaseDepositProvider;
import co.paydeck.model.common.PaydeckResponse;
// Initialize provider
BaseDepositProvider provider = ProviderBuilder.buildProvider(
Provider.FLUTTERWAVE,
"YOUR-SECRET-KEY"
);
// Verify transaction
PaydeckResponse response = provider.fetchTransaction("TXN_REF");
if (response.isSuccess()) {
TransactionResponseData data = response.getData();
System.out.println("Status: " + data.getStatus());
} else {
System.out.println("Error: " + response.getError().getMessage());
}
```
## Transaction Types
### Deposit
#### Provider Initialization
```java
import co.paydeck.ProviderBuilder;
import co.paydeck.model.Provider;
import co.paydeck.core.BaseDepositProvider;
// Available providers
Provider.FLUTTERWAVE
Provider.PAYSTACK
// Initialize provider
BaseDepositProvider provider = ProviderBuilder.buildProvider(
Provider.FLUTTE …