Search...
APIJSLog inGet started
Airwallex logo
Home
Platform APIs
Payments
Transactional FX
Payouts
Issuing
Back to home
OverviewUnderstanding Payments for PlatformsChoose your Payments for Platforms solution
Use cases
Payments for marketplaces
Implement your marketplace solution
Payments for SaaS
PSP-agnostic payments for marketplaces

Implement your marketplace solution

Follow these steps to implement a seller ledger for marketplaces.

Step 1: Create a ledger for sellers

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 to RECIPIENT.

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 to COMPANY or SOLE_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.*: Provide country_code, number (Business Registration Number (BRN) or equivalent business identifier) and type.
Shell
Example request

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 to NON_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 of DRIVERS_LICENCE, PASSPORT, PERSONAL_ID, TAX_ID
    • issuing_country_code
Shell
Example request

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:

  1. Collect payments: Use Airwallex’s acquiring API to process payments directly from buyers.
  2. Split funds: After payment collection, split the funds between the seller and the platform using the Funds Split API.
  3. Deposit to ledger account: Allocate the seller’s portion to their ledger account using the account_id.

Refer to these resources for detailed information.

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:

  1. Set up a holding account: Establish a holding account to receive funds from the third-party PSP.
  2. Split funds: Use Airwallex’s PSP-agnostic APIs to split the funds and allocate the seller’s share to their ledger account.
  3. 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.

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.

Shell
Example request
On this page