Inttegro PHP SDK

FinancialAccounts
in package

Financial accounts resource for managing payout destinations.

Financial accounts represent where your Inttegro balance gets paid out. Create mobile money, bank_account, or dosh_account accounts, configure them for push (payouts) or pull (charges) operations, and connect them to your application for automatic settlements.

Tags
see
https://studio.inttegro.com/financial-accounts

for detailed guides

Table of Contents

Methods

__construct()  : mixed
archive()  : FinancialAccount
Archive a financial account, preventing it from receiving payouts or being charged.
connect()  : FinancialAccount
Connect a financial account for payouts.
create()  : FinancialAccount
Create a new financial account for receiving payouts.
disablePull()  : FinancialAccount
Disable pull configuration for charges.
disablePush()  : FinancialAccount
Disable push configuration for payouts.
disconnect()  : FinancialAccount
Disconnect a financial account.
enablePull()  : FinancialAccount
Enable pull configuration for charges (creates mandate).
enablePush()  : FinancialAccount
Enable push configuration for payouts.
lookup()  : FinancialAccount
Retrieve details of an existing financial account.
page()  : FinancialAccountPage
Retrieve a paginated list of financial accounts.
reconnect()  : FinancialAccount
Reconnect a previously disconnected financial account.
update()  : FinancialAccount
Update a financial account (POST /financial_accounts/update).
verify()  : FinancialAccount
Verify a financial account to enable payout operations.

Methods

archive()

Archive a financial account, preventing it from receiving payouts or being charged.

public archive(array<string|int, mixed> $payload) : FinancialAccount

Archived accounts are hidden from active account lists but remain in your account history. Use this when an account is no longer valid or needed. Archiving is reversible—you can create a new account with the same details if needed.

Parameters
$payload : array<string|int, mixed>

Archive parameters

  • account_id: string - Financial account to archive (required)
  • Additional parameters may be accepted
Tags
example

Archive a financial account

$result = $client->financialAccounts->archive([
    'account_id' => 'fa_abc123xyz'
]);

echo "Account archived\n";
see
https://studio.inttegro.com/financial-accounts

for account management

Return values
FinancialAccount

Archived financial account

connect()

Connect a financial account for payouts.

public connect(array<string|int, mixed> $payload) : FinancialAccount

Creates and connects a new financial account. This endpoint is an alias for create() and accepts the same payload fields.

Parameters
$payload : array<string|int, mixed>

Connection parameters (same as create)

  • label: string - Account label (5-40 characters, required)
  • type: string - Account type: 'wallet', 'bank_account', or 'dosh_account' (required)
  • reference: string - External reference ID (5-40 characters, required)
  • currency: string - Account currency, currently only 'ghs' supported (required)
  • description: string - Optional description (0-200 characters)
  • pull_configuration: array - Settings for charging this account
  • pull_configuration.mandate: array - Optional mandate parameters (created automatically)
  • push_configuration: array - Settings for sending payouts to this account
  • custom_data: array - Optional key-value metadata (string-to-string)
  • owner: array - Account owner information (required)
    • name: string - Owner full name
    • address: array - Owner address (name, line_1, city, region, country)
Tags
example

Connect a mobile money account

$account = $client->financialAccounts->connect([
    'label' => 'MTN Mobile Money',
    'type' => 'wallet',
    'reference' => 'mtn-primary-2025',
    'currency' => 'ghs',
    'wallet' => [
        'type' => 'mobile_money',
        'mobile_money' => [
            'account_number' => '0541234567',
            'network' => 'mtn'
        ]
    ],
    'push_configuration' => ['enabled' => true]
]);

echo "Account connected and ready for payouts\n";
see
https://studio.inttegro.com/set-up-financial-account

for connection guide

Return values
FinancialAccount

Connected financial account

create()

Create a new financial account for receiving payouts.

public create(array<string|int, mixed> $payload) : FinancialAccount

Creates a wallet (mobile money), bank_account, or dosh_account account. Configure whether the account supports push operations (receiving payouts), pull operations (being charged), or both. Accounts must be verified before use.

Parameters
$payload : array<string|int, mixed>

Account creation parameters

  • label: string - Account label (5-40 characters, required)
  • type: string - Account type: 'wallet', 'bank_account', or 'dosh_account' (required)
  • reference: string - External reference ID (5-40 characters, required)
  • currency: string - Account currency, currently only 'ghs' supported (required)
  • description: string - Optional description (0-200 characters)
  • pull_configuration: array - Settings for charging this account
  • push_configuration: array - Settings for sending payouts to this account
  • custom_data: array - Optional key-value metadata (string-to-string)
  • owner: array - Account owner information (required)
    • name: string - Owner full name
    • address: array - Owner address (name, line_1, city, region, country)
  • bank_account: array - Bank account configuration (required when type is 'bank_account')
    • type: string - 'ghana_bank_account'
    • ghana_bank_account: array
      • bank_name: string - Bank name
      • branch: string - Branch name or identifier
      • number: string - Bank account number
      • sort_code: string - Required if swift_code is not provided
      • swift_code: string - Required if sort_code is not provided
      • holder: array
        • name: string - Account holder full name
        • address: array
          • name: string - Address label
          • line_1: string - Address line 1
          • city: string - City or town
          • region: string - Region or state
          • country: string - Country code or name
Tags
example

Create mobile money account for payouts

$account = $client->financialAccounts->create([
    'label' => 'MTN Mobile Money',
    'type' => 'wallet',
    'reference' => 'mtn-primary-2025',
    'currency' => 'ghs',
    'description' => 'Primary MTN MoMo account for payouts',
    'wallet' => [
        'type' => 'mobile_money',
        'mobile_money' => [
            'network' => 'mtn',
            'account_number' => '0541234567'
        ]
    ],
    'push_configuration' => [
        'enabled' => true
    ]
]);

echo "Account created: {$account->id}\n";
echo "Status: {$account->status}\n";
see
https://studio.inttegro.com/set-up-financial-account

for account setup guide

Return values
FinancialAccount

Created financial account

disablePush()

Disable push configuration for payouts.

public disablePush(mixed $accountIdOrPayload) : FinancialAccount

Accepts either a financial account ID string or a payload with optional unset_as_payout_destination.

Parameters
$accountIdOrPayload : mixed
Return values
FinancialAccount

disconnect()

Disconnect a financial account.

public disconnect(mixed $accountIdOrPayload) : FinancialAccount

Accepts either a financial account ID string or a payload with optional unset_as_payout_destination.

Parameters
$accountIdOrPayload : mixed
Return values
FinancialAccount

lookup()

Retrieve details of an existing financial account.

public lookup(string $accountId) : FinancialAccount

Returns full account information including type, currency, configuration, verification status, and masked account details. Use this to display account information to users or check account status before operations.

Parameters
$accountId : string

Unique identifier of the financial account to retrieve (required)

Tags
example

Lookup a financial account

$account = $client->financialAccounts->lookup(
    'fa_abc123xyz'
);

echo "Label: {$account->label}\n";
echo "Type: {$account->type}\n";
echo "Currency: {$account->currency}\n";
echo "Status: {$account->status}\n";
see
https://studio.inttegro.com/financial-accounts

for financial account overview

Return values
FinancialAccount

Complete financial account object

page()

Retrieve a paginated list of financial accounts.

public page([array<string|int, mixed> $payload = [] ]) : FinancialAccountPage

Returns accounts associated with your application. Use this to display available payout destinations to users or manage account inventory programmatically.

Parameters
$payload : array<string|int, mixed> = []

Pagination parameters (optional)

  • Pagination and filtering options (specific parameters depend on implementation)
Tags
example

Get financial accounts

$page = $client->financialAccounts->page();

foreach ($page->accounts as $account) {
    echo "{$account->label} ({$account->type}): {$account->currency}\n";
}
see
https://studio.inttegro.com/financial-accounts

for account overview

https://studio.inttegro.com/pagination

for pagination guide

Return values
FinancialAccountPage

Paginated list of financial accounts

update()

Update a financial account (POST /financial_accounts/update).

public update(array<string|int, mixed> $payload) : FinancialAccount

All fields except account_id are optional. custom_data merges with existing data.

Parameters
$payload : array<string|int, mixed>

Update parameters including account_id

Return values
FinancialAccount

Updated financial account

verify()

Verify a financial account to enable payout operations.

public verify(array<string|int, mixed> $payload) : FinancialAccount

Initiates or completes the verification process for a financial account. Verification confirms account ownership and enables the account to receive payouts. The specific verification process depends on the account type.

Parameters
$payload : array<string|int, mixed>

Verification parameters

  • account_id: string - Financial account to verify (required)
  • Verification-specific parameters depend on account type
Tags
example

Verify a financial account

$account = $client->financialAccounts->verify([
    'account_id' => 'fa_abc123xyz'
]);

if ($account->status === 'verified') {
    echo "Account verified and ready for use\n";
}
see
https://studio.inttegro.com/set-up-financial-account

for verification guide

Return values
FinancialAccount

Verified financial account

On this page

Search results