Skip to content

Payout Subaccounts

Abraham Olaobaju edited this page Aug 2, 2023 · 7 revisions

Overview

The Payout Subaccounts feature enables you to create wallets linked to your Flutterwave account for your end users, consumers, or other entities. These wallets support payments across multiple currencies, specifically NGN, USD, EUR, and GBP. This means that you can use the wallets to manage balances on behalf of your consumers for online transactions.

For a more in-depth explanation of Payout SubAccounts kindly checkout this forum discussion

Create a Payout SubAccount

Create wallets for your users using Flutterwave.

<?php
use Flutterwave\Customer;
use Flutterwave\Service\PayoutSubaccount;
use Flutterwave\Payload;

$customer = new Customer();
$customer->set("fullname","PHP Person");
$customer->set("email","[email protected]");
$customer->set("phone_number","+2348065007910");
$payload = new Payload();
$payload->set("country", "NG");
$payload->set("customer", $customer);
$service = new PayoutSubaccount();
$request = $service->create($payload);
print_r($request);

List all Payout SubAccounts

Query wallet details for multiple wallets.

<?php
use Flutterwave\Service\PayoutSubaccount;
 
$service = new PayoutSubaccount();
$request = $service->list();
print_r($request);

Get a Payout SubAccount

Fetch wallet details for a single wallet.

use Flutterwave\Service\PayoutSubaccount;

$service = new PayoutSubaccount();
$account_reference = "PSA_REFERENCE";
$request = $service->get($account_reference);

Update a Payout SubAccount

Update customer details.

<?php
use Flutterwave\Service\PayoutSubaccount;
use Flutterwave\Payload;

$payload = new Payload();
$payload->set("account_name","Aramide Smith");
$payload->set("mobilenumber","+2348065007080");
$payload->set("email","[email protected]");
$payload->set("country","NG");

$service = new PayoutSubaccount();
$request = $service->update($account_reference, $payload);
print_r($request);

Fetch Available Balance

Fetch the available balance on a Payout SubAccount on Flutterwave.

<?php
use Flutterwave\Service\PayoutSubaccount;
use Flutterwave\Util\Currency;

$service = new PayoutSubaccount();
$request = $service->fetchAvailableBalance($account_reference, Currency::USD);

Fetch Static Virtual Accounts

Generate static account details (virtual accounts) for wallet funding.

<?php
use Flutterwave\Service\PayoutSubaccount;

$service = new PayoutSubaccount();
$request = $service->fetchStaticVirtualAccounts($account_reference, Currency::USD);