Log inGet started
Airwallex logo
Home
Online Payments
Treasury
Transactional FX
Payouts
Issuing
Scale
Open Banking
Developer Tools
API Reference
Home
Online Payments
Overview
Starting with paymentsAirwallex platform overviewOnline payments modelPricing model
Platforms
IntroductionProcess payments and manage funds
Payments owned by connected account, funds split to platform account
Payments owned by platform account, funds split to connected account(s)
Manage split funds flowReverse split funds

Payments owned by connected account, funds split to platform account

With this model, payments belong to your connected account instead of you as the platform. The connected account is responsible for Payments fees, refunds, and chargebacks. The fund will be split from a connected account to a platform account. It is recommended for the case where the connected account directly interacts with end customers and manages daily transactions, while the platform has limited engagement in every transaction. Typical case includes SaaS platforms.

In this model, the platform will submit all the payments on behalf of the connected account to Airwallex. In order to indicate this relation, you need to specify the account ID of the connected account with the x-on-behalf-of header.

The below chart illustrates the process of a standard one-off 100 GBP payment in this model.

connected split to platform

Note:

In the case of Hosted Payment Page/Embedded Fields/Drop-in/Mobile Integration, platform can bypass step 2&3 but needs to create the FundsSplit request after receiving notifications that the payment is successfully captured.

  1. Platform creates payment_intent with 100 GBP on behalf of connected account with id "acct_ad1KMcnQM2Wmo2PFSuvR2g"
$ curl --request POST \
> 'https://pci-api-demo.airwallex.com/api/v1/pa/payment_intents/create' \
> -H 'Content-Type: application/json' \
> -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0b20iLCJyb2xlcyI6WyJ1c2VyIl0sImlhdCI6MTQ4ODQxNT I1NywiZXhwIjoxNDg4NDE1MjY3fQ.UHqau03y5kEk5lFbTp7J4a-U6LXsfxIVNEsux85hj-Q' \
> -H 'x-on-behalf-of: acct_ad1KMcnQM2Wmo2PFSuvR2g \
> -d'{
  "request_id": "ee939540-3203-4a2c-9172-89a566485dd9",
  "merchant_order_id": "cc9bfc13-ba30-483b-a62c-ee925fc9bfea",
  "amount": 100,
  "currency": "GBP"
}'
  1. Platform confirms payment_intent on behalf of connected account
$ curl --request POST \
> 'https://pci-api-demo.airwallex.com/api/v1/pa/payment_intents/int_e65tkXCSzJrsMpTrzoFrjaa u53/confirm' \
> -H 'Content-Type: application/json' \
> -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0b20iLCJyb2xlcyI6WyJ1c2VyIl0sImlhdCI6MTQ4ODQxNT I1NywiZXhwIjoxNDg4NDE1MjY3fQ.UHqau03y5kEk5lFbTp7J4a-U6LXsfxIVNEsux85hj-Q' \
> -H 'x-on-behalf-of: acct_ad1KMcnQM2Wmo2PFSuvR2g \
> -d'{
  "request_id": "ee939540-3203-4a2c-9172-89a566485dd9",
  "payment_method": {
    "card": {
      "expiry_month": "12",
      "expiry_year": "2030",
      "number": "4111111111111111"
    }
  }
}'
  1. Platform captures payment_intent with 100 GBP on behalf of connected account (you can also skip this process by choosing auto capture)
$ curl --request POST \
> 'https://pci-api-demo.airwallex.com/api/v1/pa/payment_intents/int_e65tkXCSzJrsMpTrzoFrjaa u53/capture’ \
> -H 'Content-Type: application/json' \
> -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0b20iLCJyb2xlcyI6WyJ1c2VyIl0sImlhdCI6MTQ4ODQxNT I1NywiZXhwIjoxNDg4NDE1MjY3fQ.UHqau03y5kEk5lFbTp7J4a-U6LXsfxIVNEsux85hj-Q' \
> -H 'x-on-behalf-of: acct_ad1KMcnQM2Wmo2PFSuvR2g \
> -d'{
  "request_id": "ee939540-3203-4a2c-9172-89a566485dd9",
  "amount": 100
}'
  1. Platform creates FundsSplit with 10 GBP on behalf of connected account, where the source_id equals to payment_intent_id, and destination equals to platform account’s own account_id. Platform can use metadata to record values that help better recognition of each split
$ curl --request POST \
> 'https://pci-api-demo.airwallex.com/api/v1/pa/funds_splits/create' \
> -H 'Content-Type: application/json' \
> -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0b20iLCJyb2xlcyI6WyJ1c2VyIl0sImlhdCI6MTQ4ODQxNT I1NywiZXhwIjoxNDg4NDE1MjY3fQ.UHqau03y5kEk5lFbTp7J4a-U6LXsfxIVNEsux85hj-Q' \
> -H 'x-on-behalf-of: acct_ad1KMcnQM2Wmo2PFSuvR2g \
> -d'{
  "request_id": "ee939540-3203-4a2c-9172-89a566485dd9",
  "source_id": "int_e65tkXCSzJrsMpTrzoFrjaau53",
  "source_type":"PAYMENT_INTENT",
  "amount": 10, 
  "destination":"acct_ITNg64dHNgihu9rPpWeiMg",
  "metadata": { 
      "reason": "commission agreed with seller A"
  }
}'
  1. Funds will be settled to both parties’ wallets based on split portion, where platform receives 10 GBP as commission and connected account receives 85 GBP (5 GBP Airwallex fees being netted)
Note:

If you want to create recurring payments in this model you also need to create and verify a PaymentConsent on behalf of connected account.

 

$ curl --request POST \
> 'https://pci-api-demo.airwallex.com/api/v1/pa/payment_consents/create' \
> -H 'Content-Type: application/json' \
> -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0b20iLCJyb2xlcyI6WyJ1c2VyIl0sImlhdCI6MTQ4ODQxNT I1NywiZXhwIjoxNDg4NDE1MjY3fQ.UHqau03y5kEk5lFbTp7J4a-U6LXsfxIVNEsux85hj-Q' \
> -H 'x-on-behalf-of: acct_ad1KMcnQM2Wmo2PFSuvR2g \
> -d'{
  "customer_id": "cus_aag4MsYdcgHc9UTjVUS15WPvmoX",
  "request_id": "88bf9327-0c10-4e87-b050-7c74ef11e1c6",
  "next_triggered_by": "merchant",
  "payment_method": {
    "id": "mtd_0eUIICYocwY8prvHWgWoODiGxPP",
    "type": "card"
  },
  "requires_cvc": false
}'
$ curl --request POST \
> 'https://pci-api-demo.airwallex.com/api/v1/pa/payment_consents/cst_u79lnfufjxxfdc0/verify' \
> -H 'Content-Type: application/json' \
> -H 'Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ0b20iLCJyb2xlcyI6WyJ1c2VyIl0sImlhdCI6MTQ4ODQxNT I1NywiZXhwIjoxNDg4NDE1MjY3fQ.UHqau03y5kEk5lFbTp7J4a-U6LXsfxIVNEsux85hj-Q' \
> -H 'x-on-behalf-of: acct_ad1KMcnQM2Wmo2PFSuvR2g \
> -d'{
  "request_id": "88bf9327-0c10-4e87-b050-7c74ef11e1c6",
  "verification_options": {
    "card": { \
      "amount": 0,
      "currency": "GBP",
      "cvc": "string"
    } 
  }
}'