Implement your marketplace solution
Follow these steps to implement a seller ledger for marketplaces.
Step 1: Create a ledger for sellers
Use Create a Connected Account API to create a seller ledger. The data requirements will vary depending on the seller type as described in the sections below.
All sellers
Data requirements
identifier
: Provide Seller ID on the platform.account_details.business_details.industry_category_code
: Industry category code for your business.account_details.business_details.url
: URL(s) for your store.primary_contact.email
: Primary contact details for your business.customer_agreements.terms_and_conditions.service_agreement_type
: Set this toRECIPIENT
.
Registered sellers
In addition to the information provided for All sellers, provide the following data for sellers who have a registered business.
Data requirements
account_details.business_details.business_structure
: Set this toCOMPANY
orSOLE_PROPRIETOR
.account_details.business_details.business_name
: Legal entity name.account_details.business_details.business_name_trading
: Trading/DBA name.account_details.business_details.registration_address.country_code
: Country where the business is registered.account_details.business_details.business_identifiers.*
: Providecountry_code
,number
(Business Registration Number (BRN) or equivalent business identifier) andtype
.
Non-registered sellers
In addition to the information provided for All sellers, provide the following data for sellers who do not have a registered business.
Data requirements
account_details.business_details.business_structure
: Set this toNON_REGISTERED_SOLE_PROPRIETOR
.account_details.business_address.country_code
: Country where seller's business operates.account_details.business_person_details.first_name
: Seller's first name.account_details.business_person_details.last_name
: Seller's last name.account_details.business_person_details.date_of_birth
: Seller's date of birth.account_details.business_person_details.roles
: Business person role.account_details.business_person_details.identifications.primary.*
:- ID number for any of the identification documents:
drivers_license
/passport
/personal_id
/tax_id
identification_type
: One ofDRIVERS_LICENCE
,PASSPORT
,PERSONAL_ID
,TAX_ID
issuing_country_code
- ID number for any of the identification documents:
Terms and Conditions
To complete the account creation, platform needs to collect terms and conditions acceptance from sellers for the use of ledger.
Refer to the following resources for detailed information:
If terms & conditions are agreed upon after account creation, use Agree to Terms and Conditions API.
Account updates
Accounts may be updated in stages using Update a connected account API. After all the required information has been collected, call Submit account for activation API.
If the information provided fulfils the requirements determined in Step 1, the account status will be updated to SUBMITTED
.
Create beneficiaries based on seller’s bank information
To create a beneficiary based on the seller’s bank information, use Create a beneficiary API and ensure to log the beneficiary_id
.
Step 2: Deposit buyers’ funds to sellers’ ledger
The implementation steps for depositing buyer's funds into seller's ledger will depend on the acquiring entity as described below.
Scenario 1: Acquiring with Airwallex as the acquirer
This method uses Airwallex as the payment service provider (PSP) to acquire funds and deposit them into the seller’s ledger account. It is the recommended approach for clear funds flow and compliance.
Key steps:
- Collect payments: Use Airwallex’s acquiring API to process payments directly from buyers.
- Split funds: After payment collection, split the funds between the seller and the platform using the Funds Split API.
- Deposit to ledger account: Allocate the seller’s portion to their ledger account using the account_id.
Refer to these resources for detailed information.
- Use Airwallex’s Online Payments: Process payments and manage funds
- Fund Split to ledger: Create funds split
Scenario 2: Acquiring with other PSP as the acquirer
When using a third-party PSP, additional steps are required to ensure compliance and accurate funds flow.
Key steps:
- Set up a holding account: Establish a holding account to receive funds from the third-party PSP.
- Split funds: Use Airwallex’s PSP-agnostic APIs to split the funds and allocate the seller’s share to their ledger account.
- Deposit to ledger account: Transfer the seller’s portion from the holding account to their ledger account using the account_id.
Refer to the following resources for detailed information.
- PSP-Agnostic Setup: Get started with PSP-agnostic solutions
- Handle Settlements: PSP-agnostic solution for settlements
Step 3: Pay out from the ledger
Prerequisites
Before initiating a payout, ensure you have the following:
- The ledger account ID for the seller. You will need to pass this in
x-on-behalf-of
header. - The beneficiary ID, created in a previous setup step.
- Platform’s information, to be included in the
payer
object. - Webhook listener: Set up a webhook to monitor transaction updates and handle any Requests for Information (RFIs).
Create a payout
Call create a transfer API with the required information.
x-on-behalf-of
header: Specify the account_id of the seller’s ledger account in the request header.payer
object: Include the platform’s information in the payer object to display the platform’s name in the bank transfer record.
For detailed information on the payload, see product docs.