Financial Accounts
Financial accounts represent external wallets and bank accounts you connect to your Commerce balance for bi-directional money movement. Push funds out to settle vendors, disburse earnings, or process refunds. Pull funds in to top up your balance, collect recurring payments, or sweep from connected accounts. Each account tracks its own verification status, currency constraints, and push/pull capabilities—giving you granular control over how money flows through your system.
Connect, create, update, disconnect, reconnect, enable pull, disable pull, enable push, and disable push support idempotency. A successful response can be replayed with the same idempotency key and request body for 24 hours. Lookup and page do not opt in to idempotent replay.
The financial account object
Every financial account captures the complete state needed for bi-directional transfers: account details (wallet or bank), currency constraints, push/pull configurations, mandate authorizations, and verification status. The type field determines which nested object contains the account-specific details.
Properties
pull_configurationobjectControls pull operations (debiting funds from this account into your Commerce balance). Present when you've enabled inbound transfers—lets you top up your balance, collect recurring payments, or sweep from connected accounts. Includes mandate details for regulatory compliance.Click or tap to expandbank_accountobjectPresent whentypeisbank_account. Currently supports Ghana bank accounts. Note: Bank transfers are in beta.Click or tap to expand
Connect a financial account
Connect an existing wallet or bank account for bi-directional money movement. Use this endpoint when the financial account already exists in the real world—you're just registering it in your Commerce account. Supply the account type (wallet or bank_account), currency constraints, type-specific details, and optionally enable push/pull capabilities in a single request. The API validates field lengths, currency support, and account-specific requirements automatically—if something's misconfigured, you'll get a clear error before any state is persisted.
Common use cases: Connect a mobile money wallet to disburse vendor payments (push) or collect subscription fees (pull). Link a bank account to sweep daily revenue into your operating account (pull) or process customer refunds (push). Connect your founder's wallet to inject working capital when your balance runs low (pull).
Validation rules
labelandreference: Both must be 5–40 characters. Uselabelfor human-readable names,referencefor your internal identifiers.currency: Currentlyghs.type: Determines which nested object is required.walletneeds awalletobject,bank_accountneedsbank_account. Sending multiple type objects in one request will fail validation.- Wallet-specific: When
typeiswallet,wallet.typemust bemobile_money. A Dosh account uses the top-leveldosh_accounttype and adosh_accountobject. - Bank account-specific: When
typeisbank_account, providebank_account.typeasghana_bank_account, an accountnumber, and at least one ofsort_codeorswift_code.holderand top-levelownerare optional. - Push/Pull config:
push_configuration.enabledandpull_configuration.enabledare optional booleans. The connect request does not accept authorization context fields for pull; use Enable pull capability when you need to submit them.
Required attributes
Optional attributes
- Name
custom_data- Type
- object
- Description
Arbitrary string key-value pairs for application-specific needs. Attach reconciliation identifiers, internal classifications, accounting codes, or any metadata your system requires. Maximum size when serialized: 25 KB. See the Custom Data guide for best practices.
Request
curl https://api.zebo.dev/financial_accounts/connect \
-H "Authorization: Bearer $COMMERCE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"label": "Konadu Tailoring Collections",
"reference": "KONADU-MOMO-SETTLEMENT",
"description": "Primary settlement wallet for Konadu B2C operations.",
"type": "wallet",
"currency": "ghs",
"wallet": {
"type": "mobile_money",
"mobile_money": {
"network": "mtn",
"account_number": "0242057831"
}
},
"push_configuration": { "enabled": true },
"pull_configuration": { "enabled": false }
}'
{
"account": {
"id": "fa_Q90wZdd2P7W8hJ1cN9Mx4Rk5sVWBvY3L6pTz8q0",
"created_at": "2025-03-18T10:22:11.745Z",
"currency": "ghs",
"custom_data": {},
"description": "Primary settlement wallet for Konadu B2C operations.",
"label": "Konadu Tailoring Collections",
"owner": {
"name": "Konadu Tailoring Ltd",
"address": {
"city": "Accra",
"country": "Ghana",
"line_1": "123 High Street",
"line_2": "Suite 4",
"name": "Business Address",
"phone": "+233242057831",
"post_code": "GA-123",
"region": "Greater Accra"
}
},
"push_configuration": {
"enabled_at": "2025-03-18T10:22:11.745Z"
},
"reference": "KONADU-MOMO-SETTLEMENT",
"type": "wallet",
"wallet": {
"id": "wal_TJPFxX9C3651K6Sb5RXjc9gIH4KjzqZIiD0WQsZ",
"type": "mobile_money",
"mobile_money": {
"account_number": "0242057831",
"network": "mtn"
}
}
}
}
Disconnect a financial account
Permanently disconnect a financial account—marks it as no longer usable for payouts or charges while preserving it for historical reference. Use this when closing a business relationship (vendor partnership ended, switching to a different provider) or when an external account has been closed at the financial institution.
Disconnected accounts remain visible in account lookups and listings so you can trace historical transactions, reconcile past payouts, and maintain audit trails. However, they cannot be used for new operations: you can't send payouts to them, pull funds from them, or configure them as payout destinations.
If the account is currently configured as a payout destination for any currency, the request fails unless you either remove it from payout destinations first or set unset_as_payout_destination to true. This prevents accidentally breaking automatic payouts.
This operation is idempotent—disconnecting an already-disconnected account succeeds without error. The disconnected_at timestamp marks when the account was first disconnected.
When to use each operation:
- Disconnect: Account-level deactivation that keeps the record for history. Use this when you need to stop all new use immediately.
- Reconnect: Clears
disconnected_atand restores local usability on the same account record. This does not rerun provider authorization. - Disable push/pull: Temporary suspension of specific capabilities. Can be re-enabled later without reconnecting.
- Archive: Hide the account from default listings while keeping it retrievable by ID. Use for cleanup when you have many inactive accounts.
Request attributes
- Name
unset_as_payout_destination- Type
- boolean
- Description
Optional. When
true, automatically removes this financial account from all payout destinations before disconnecting. Defaults tofalse. Set this totrueif you want to disconnect an account that's currently configured as a payout destination—the API will first unset it as a destination, then mark it as disconnected.
Request
curl https://api.zebo.dev/financial_accounts/disconnect \
-H "Authorization: Bearer $COMMERCE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"account_id": "fa_Q90wZdd2P7W8hJ1cN9Mx4Rk5sVWBvY3L6pTz8q0",
"unset_as_payout_destination": true
}'
{
"account": {
"id": "fa_Q90wZdd2P7W8hJ1cN9Mx4Rk5sVWBvY3L6pTz8q0",
"currency": "ghs",
"type": "wallet",
"label": "Vendor settlement - MTN",
"description": "Payout destination for marketplace vendor settlements",
"disconnected_at": "2025-03-22T14:35:18.221Z",
"created_at": "2025-01-15T09:12:33.445Z"
}
}
Reconnect a financial account
Restore a previously disconnected financial account to active local state. Use this when the same external account relationship is valid again and you want to keep using the original Commerce financial-account record instead of creating a new one.
Reconnect only clears the account-level disconnected_at state. It preserves the same account ID, historical payouts or charges, and any existing push or pull configuration already stored on the record. If you removed this account from payout destinations during disconnect, set those destinations again separately.
This endpoint does not perform provider-side authorization. If your account type requires provider authorization for pull or push capability, that authorization happens separately in later capability flows.
This operation is idempotent—reconnecting an already-active account succeeds without error.
Request attributes
Request
curl https://api.zebo.dev/financial_accounts/reconnect \
-H "Authorization: Bearer $COMMERCE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"account_id": "fa_Q90wZdd2P7W8hJ1cN9Mx4Rk5sVWBvY3L6pTz8q0"
}'
{
"account": {
"id": "fa_Q90wZdd2P7W8hJ1cN9Mx4Rk5sVWBvY3L6pTz8q0",
"currency": "ghs",
"type": "wallet",
"label": "Vendor settlement - MTN",
"description": "Payout destination for marketplace vendor settlements",
"created_at": "2025-01-15T09:12:33.445Z"
}
}
Create a financial account
Create and register a financial-account resource for supported Commerce flows. The operation does not guarantee that a new external wallet or bank account is provisioned.
Request and response
The request structure and response format match Connect a financial account. See that operation for the complete discriminated request shape.
Request
curl https://api.zebo.dev/financial_accounts/create \
-H "Authorization: Bearer $COMMERCE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"label": "Marketplace Seller Sub-Account",
"reference": "SELLER-001-COLLECTION",
"description": "Dedicated collection account for seller 001.",
"type": "wallet",
"currency": "ghs",
"wallet": {
"type": "mobile_money",
"mobile_money": {
"network": "mtn",
"account_number": "0244123456"
}
}
}'
{
"account": {
"id": "fa_X1Y2Z3A4B5C6D7E8F9G0H1I2J3K4L5M6N7O8P9Q",
"created_at": "2025-03-18T11:30:00.000Z",
"currency": "ghs",
"custom_data": {},
"description": "Corporate account for vendor disbursements and payroll.",
"label": "Ecobank - Operations",
"owner": {
"name": "TechFlow Industries Ltd",
"address": {
"city": "Accra",
"country": "Ghana",
"line_1": "Independence Avenue",
"line_2": "4th Floor, Tech Plaza",
"name": "Corporate Office",
"phone": "+233302567890",
"post_code": "GA-187",
"region": "Greater Accra"
}
},
"reference": "TECHFLOW-ECOBANK-PAYROLL",
"type": "bank_account",
"bank_account": {
"type": "ghana_bank_account",
"ghana_bank_account": {
"number": "1234567890",
"name": "ECOBANK GHANA LTD",
"branch": "Independence Avenue Branch",
"swift_code": "ECOCGHAC",
"sort_code": "130101",
"holder": {
"name": "TechFlow Industries Ltd",
"address": {
"city": "Accra",
"country": "Ghana",
"line_1": "Independence Avenue",
"line_2": "4th Floor, Tech Plaza",
"name": "Corporate Office",
"phone": "+233302567890",
"post_code": "GA-187",
"region": "Greater Accra"
}
}
}
}
}
}
Lookup a financial account
Retrieve the current state of a financial account by its ID. This returns the full account object including any configuration changes, verification status updates, or archive timestamps since creation. Use this to confirm account details before initiating transfers, check if push/pull capabilities have been modified, or inspect mandate authorization status for pull operations.
The response structure matches what you received when creating the account, with all the same nested objects and timestamps. If the account has been archived, archived_at will be populated.
Request attributes
Request
curl https://api.zebo.dev/financial_accounts/lookup \
-H "Authorization: Bearer $COMMERCE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"account_id": "fa_Q90wZdd2P7W8hJ1cN9Mx4Rk5sVWBvY3L6pTz8q0"
}'
{
"account": {
"id": "fa_Q90wZdd2P7W8hJ1cN9Mx4Rk5sVWBvY3L6pTz8q0",
"created_at": "2025-03-18T10:22:11.745Z",
"currency": "ghs",
"custom_data": {
"vendor_id": "VNDR-001",
"region": "Greater Accra"
},
"description": "Primary settlement wallet for Konadu B2C operations.",
"label": "Konadu Tailoring Collections",
"owner": {
"name": "Konadu Tailoring Ltd",
"address": {
"city": "Accra",
"country": "Ghana",
"line_1": "123 High Street",
"line_2": "Suite 4",
"name": "Business Address",
"phone": "+233242057831",
"post_code": "GA-123",
"region": "Greater Accra"
}
},
"pull_configuration": {
"enabled_at": "2025-03-17T14:30:00.000Z",
"mandate": {
"id": "man_K3Lx9PqW7jZ2vN8mR5tY1hC6bF4dS0gA",
"created_at": "2025-03-17T14:30:00.000Z",
"ip_address": "102.176.95.12",
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)..."
}
},
"push_configuration": {
"enabled_at": "2025-03-18T10:22:11.745Z"
},
"reference": "KONADU-MOMO-SETTLEMENT",
"type": "wallet",
"wallet": {
"id": "wal_TJPFxX9C3651K6Sb5RXjc9gIH4KjzqZIiD0WQsZ",
"type": "mobile_money",
"mobile_money": {
"network": "mtn",
"account_number": "0242057831"
}
}
}
}
Update a financial account
Update an existing financial account's custom data, description, label, owner, or reference.
Unlike Connect or Create, Update doesn't modify the underlying financial account details (network, account number, bank details). It only changes the descriptive metadata and custom data stored in your Commerce account. To change capabilities (enable/disable push or pull), use the dedicated enable/disable endpoints.
Note: The type field and account-type-specific objects (wallet, bank_account, dosh_account) are immutable and cannot be updated. Attempts to modify these fields will be rejected with a validation error. If you need to change the account type or underlying account details, create a new financial account instead.
The response includes the full account object with updated fields, plus owner, custom_data, and any enabled push_configuration or pull_configuration. This is the most comprehensive response of all FA endpoints.
Request attributes
Request
curl https://api.zebo.dev/financial_accounts/update \
-H "Authorization: Bearer $COMMERCE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"account_id": "fa_Q90wZdd2P7W8hJ1cN9Mx4Rk5sVWBvY3L6pTz8q0",
"label": "Konadu Tailoring - Primary",
"custom_data": {
"vendor_id": "VNDR-001",
"region": "Greater Accra"
}
}'
{
"account": {
"id": "fa_Q90wZdd2P7W8hJ1cN9Mx4Rk5sVWBvY3L6pTz8q0",
"created_at": "2025-03-18T10:22:11.745Z",
"currency": "ghs",
"custom_data": {
"vendor_id": "VNDR-001",
"region": "Greater Accra"
},
"description": "Primary settlement wallet for Konadu B2C operations.",
"label": "Konadu Tailoring - Primary",
"owner": {
"name": "Konadu Tailoring Ltd",
"address": {
"city": "Accra",
"country": "Ghana",
"line_1": "123 High Street",
"line_2": "Suite 4",
"name": "Business Address",
"phone": "+233242057831",
"post_code": "GA-123",
"region": "Greater Accra"
}
},
"push_configuration": {
"enabled_at": "2025-03-18T10:22:11.745Z"
},
"reference": "KONADU-MOMO-SETTLEMENT",
"type": "wallet",
"wallet": {
"id": "wal_TJPFxX9C3651K6Sb5RXjc9gIH4KjzqZIiD0WQsZ",
"type": "mobile_money",
"mobile_money": {
"account_number": "0242057831",
"network": "mtn"
}
}
}
}
Enable pull capability
Enable pull operations on an existing financial account—allows you to debit funds from this account into your Commerce balance. Use this for balance top-ups, subscription renewals, recurring payments, or sweeping funds from connected accounts.
You can optionally send the authorization request's ip_address and user_agent. Omit either field when it is unavailable; the API does not derive these values automatically for this operation.
The response returns the full account object including all account details, the newly enabled pull_configuration with mandate, and any other configurations or account-type-specific details.
Request attributes
Request
curl https://api.zebo.dev/financial_accounts/enable_pull \
-H "Authorization: Bearer $COMMERCE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"account_id": "fa_Q90wZdd2P7W8hJ1cN9Mx4Rk5sVWBvY3L6pTz8q0"
}'
{
"account": {
"id": "fa_Q90wZdd2P7W8hJ1cN9Mx4Rk5sVWBvY3L6pTz8q0",
"created_at": "2025-03-18T10:22:11.745Z",
"currency": "ghs",
"custom_data": {},
"description": "Operations account for collections and transfers.",
"label": "GCB Bank - Collections",
"owner": {
"name": "QuickPay Solutions Ltd",
"address": {
"city": "Kumasi",
"country": "Ghana",
"line_1": "Adum Commercial Street",
"line_2": "Building 12",
"name": "Regional Office",
"phone": "+233322098765",
"post_code": "AK-039",
"region": "Ashanti"
}
},
"pull_configuration": {
"enabled_at": "2025-03-18T11:45:22.103Z",
"mandate": {
"id": "man_K3Lx9PqW7jZ2vN8mR5tY1hC6bF4dS0gA",
"created_at": "2025-03-18T11:45:22.103Z",
"ip_address": "102.176.95.12",
"user_agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7)..."
}
},
"reference": "QUICKPAY-GCB-COLLECTIONS",
"type": "bank_account",
"bank_account": {
"type": "ghana_bank_account",
"ghana_bank_account": {
"number": "0123456789",
"name": "GCB BANK LTD",
"branch": "Adum Branch",
"swift_code": "GHCBGHAC",
"sort_code": "040211",
"holder": {
"name": "QuickPay Solutions Ltd",
"address": {
"city": "Kumasi",
"country": "Ghana",
"line_1": "Adum Commercial Street",
"line_2": "Building 12",
"name": "Regional Office",
"phone": "+233322098765",
"post_code": "AK-039",
"region": "Ashanti"
}
}
}
}
}
}
Disable pull capability
Disable pull operations on a financial account—prevents future debits from this account into your Commerce balance. Use this when you no longer need to pull funds (subscription cancelled, balance source retired) or when temporarily suspending pull capability for security or compliance reasons.
Disabling pull retains the existing mandate record and enabled_at timestamp for audit trails—the configuration remains visible but operations are blocked. To fully remove pull capability history, archive the account.
The response returns the full account object including all account details and the current pull_configuration with the original enabled_at and mandate details preserved.
Request attributes
Request
curl https://api.zebo.dev/financial_accounts/disable_pull \
-H "Authorization: Bearer $COMMERCE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"account_id": "fa_Q90wZdd2P7W8hJ1cN9Mx4Rk5sVWBvY3L6pTz8q0"
}'
{
"account": {
"id": "fa_Q90wZdd2P7W8hJ1cN9Mx4Rk5sVWBvY3L6pTz8q0",
"created_at": "2025-03-18T10:22:11.745Z",
"currency": "ghs",
"custom_data": {},
"description": "Primary settlement wallet for Konadu B2C operations.",
"label": "Konadu Tailoring Collections",
"owner": {
"name": "Konadu Tailoring Ltd",
"address": {
"city": "Accra",
"country": "Ghana",
"line_1": "123 High Street",
"line_2": "Suite 4",
"name": "Business Address",
"phone": "+233242057831",
"post_code": "GA-123",
"region": "Greater Accra"
}
},
"reference": "KONADU-MOMO-SETTLEMENT",
"type": "wallet",
"wallet": {
"id": "wal_TJPFxX9C3651K6Sb5RXjc9gIH4KjzqZIiD0WQsZ",
"type": "mobile_money",
"mobile_money": {
"account_number": "0242057831",
"network": "mtn"
}
}
}
}
Enable push capability
Enable push operations on an existing financial account—allows you to send funds from your Commerce balance to this account. Use this for vendor disbursements, customer refunds, earnings payouts, marketplace settlements, or any scenario where you need to transfer funds out of your balance.
The response returns the full account object including all account details and the new push_configuration object with the enabled_at timestamp.
Request attributes
Request
curl https://api.zebo.dev/financial_accounts/enable_push \
-H "Authorization: Bearer $COMMERCE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"account_id": "fa_Q90wZdd2P7W8hJ1cN9Mx4Rk5sVWBvY3L6pTz8q0"
}'
{
"account": {
"id": "fa_Q90wZdd2P7W8hJ1cN9Mx4Rk5sVWBvY3L6pTz8q0",
"created_at": "2025-03-18T10:22:11.745Z",
"currency": "ghs",
"custom_data": {},
"description": "Business account for payroll and vendor settlements.",
"label": "Stanbic Bank - Payroll",
"owner": {
"name": "TechFlow Ghana Ltd",
"address": {
"city": "Accra",
"country": "Ghana",
"line_1": "Airport City",
"line_2": "Building 5",
"name": "Head Office",
"phone": "+233302456789",
"post_code": "GA-234",
"region": "Greater Accra"
}
},
"push_configuration": {
"enabled_at": "2025-03-18T11:52:07.845Z"
},
"reference": "TECHFLOW-STANBIC-PAYROLL",
"type": "bank_account",
"bank_account": {
"type": "ghana_bank_account",
"ghana_bank_account": {
"number": "5678901234",
"name": "STANBIC BANK GHANA LTD",
"branch": "Airport City Branch",
"swift_code": "SBICGHAC",
"sort_code": "190102",
"holder": {
"name": "TechFlow Ghana Ltd",
"address": {
"city": "Accra",
"country": "Ghana",
"line_1": "Airport City",
"line_2": "Building 5",
"name": "Head Office",
"phone": "+233302456789",
"post_code": "GA-234",
"region": "Greater Accra"
}
}
}
}
}
}
Disable push capability
Disable push operations on a financial account—completely removes push capability and prevents future transfers from your Commerce balance to this account. Use this when you no longer need to send funds (vendor relationship ended, payout destination changed) or when suspending push capability for security or compliance reasons.
If the financial account is configured as a payout destination for any currency, the request fails unless you either remove it from payout destinations first or set unset_as_payout_destination to true. This safety check prevents accidentally breaking automatic payouts by disabling push on accounts that are actively receiving settlements.
Disabling push removes push_configuration from the response. If you need to send funds to this account again later, re-enable push capability with Enable push capability.
The response returns the full account object without push_configuration.
Request attributes
- Name
unset_as_payout_destination- Type
- boolean
- Description
Optional. When
true, automatically removes this financial account from all payout destinations before disabling push. Defaults tofalse. Set this totrueif you want to disable push on an account that's currently configured as a payout destination—the API will first unset it as a destination, then disable push capability.
Request
curl https://api.zebo.dev/financial_accounts/disable_push \
-H "Authorization: Bearer $COMMERCE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"account_id": "fa_Q90wZdd2P7W8hJ1cN9Mx4Rk5sVWBvY3L6pTz8q0"
}'
{
"account": {
"id": "fa_Q90wZdd2P7W8hJ1cN9Mx4Rk5sVWBvY3L6pTz8q0",
"created_at": "2025-03-18T10:22:11.745Z",
"currency": "ghs",
"custom_data": {},
"description": "Settlement account for marketplace operations.",
"label": "Fidelity Bank - Settlement",
"owner": {
"name": "MarketHub Ghana Ltd",
"address": {
"city": "Kumasi",
"country": "Ghana",
"line_1": "Adum High Street",
"line_2": "Floor 2",
"name": "Regional Office",
"phone": "+233322567890",
"post_code": "AK-123",
"region": "Ashanti"
}
},
"reference": "MARKETHUB-FIDELITY-SETTLEMENT",
"type": "bank_account",
"bank_account": {
"type": "ghana_bank_account",
"ghana_bank_account": {
"number": "4567890123",
"name": "FIDELITY BANK GHANA",
"branch": "High Street Branch",
"swift_code": "FIDEGHAC",
"sort_code": "240103",
"holder": {
"name": "MarketHub Ghana Ltd",
"address": {
"city": "Kumasi",
"country": "Ghana",
"line_1": "Adum High Street",
"line_2": "Floor 2",
"name": "Regional Office",
"phone": "+233322567890",
"post_code": "AK-123",
"region": "Ashanti"
}
}
}
}
}
}
Page through financial accounts
Retrieve a paginated list of your financial accounts sorted by creation time in descending order. Page 1 always contains the most recently created accounts, with subsequent pages stepping back in time. Use this to build account selection interfaces, export account data, or audit account configurations.
Request attributes
Response shape
- Top-level
pageobject containsnumber,size, and anaccountsarray - Each account includes all configuration:
id,type,currency,label,description,reference,custom_data,created_at, andarchived_at(when applicable) - Type-specific details are nested under
wallet,bank_account, ordosh_account - Push/pull configurations are included when enabled:
push_configurationandpull_configuration - Archived accounts are included in results—filter on
archived_atif you need active accounts only
Request
curl https://api.zebo.dev/financial_accounts/page \
-H "Authorization: Bearer $COMMERCE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"page_number": 1,
"page_size": 50
}'
{
"page": {
"number": 1,
"size": 50,
"accounts": [
{
"id": "fa_abc123xyz",
"type": "wallet",
"currency": "ghs",
"label": "Primary Mobile Money",
"description": "Main MTN wallet for customer payouts",
"reference": "mtn_primary",
"custom_data": {
"region": "greater_accra",
"purpose": "payouts"
},
"created_at": "2025-11-23T10:00:00Z",
"push_configuration": {
"enabled_at": "2025-11-23T10:05:00Z"
},
"wallet": {
"id": "wa_xyz789",
"type": "mobile_money",
"mobile_money": {
"network": "mtn",
"account_number": "024205****"
}
}
},
{
"id": "fa_def456uvw",
"type": "bank_account",
"currency": "ghs",
"label": "Settlement Account",
"created_at": "2025-11-20T14:30:00Z",
"bank_account": {
"type": "ghana_bank_account",
"ghana_bank_account": {
"number": "4567890123",
"name": "FIDELITY BANK GHANA",
"branch": "High Street Branch",
"swift_code": "FIDEGHAC",
"sort_code": "240103",
"holder": {
"name": "MarketHub Ghana Ltd",
"address": {
"city": "Kumasi",
"country": "Ghana",
"line_1": "Adum High Street",
"region": "Ashanti"
}
}
}
}
}
]
}
}