PSP Settlement SplitsBeta
Platforms must share PSP Settlement Split information with Airwallex before funds settle to the holding account, by calling the Split a PSP Settlement Intent API. This data typically originates from the pay-in PSP's reporting feed.
Funds in the holding account are inaccessible to all parties until the funds are released to other connected accounts. A Platform can choose to release a PSP Settlement Split anytime. On release, funds are transferred to a connected account for the recipient, such as a seller.
If a Platform wants to apply a transaction fee to the seller, they can create one split for the amount due to the seller, and can create another split for the fee to the platform's own account. A Platform can trigger a payout from any connected account to an external bank account at any time (for example, at the end of a payout cycle). PSP Settlement Splits form part of the PSP-agnostic payout solution .
GET /api/v1/psp_settlement_splits/{id}GET /api/v1/psp_settlement_splitsPOST /api/v1/psp_settlement_intents/{psp_settlement_intent_id}/splitPOST /api/v1/psp_settlement_splits/{id}/releasePOST /api/v1/psp_settlement_splits/{id}/cancel
Retrieve a PSP Settlement Split
GET /api/v1/psp_settlement_splits/{id}
Get details for a PSP settlement split by specifying the split unique identifier.
Unique identifier of the PSP settlement split to retrieve.
Amount of the transfer in currency specified in the request
The time this PSP settlement split was created
Unique identifier for the PSP settlement split
settlement type of the split, could be either CREDIT or DEBIT
Status of the PSP settlement split. One of: NEW, MATCHED, CANCELLED, PENDING,FAILED,SETTLED
Airwallex target account unique identifier specified in the request
| Error status | Description |
|---|---|
| 400 | Possible errors: |
| 401 | Possible errors: |
| 404 | NOT FOUND |
| 429 | Too many requests |
| 500 | Service unavailable |
$curl --request GET \> --url 'https://api.sandbox.airwallex.com/api/v1/psp_settlement_splits/psp_settlement_split_id' \> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \> --header 'Content-Type: application/json'
1{2 "amount": "10000",3 "created_at": "2022-09-22T16:08:02+1100",4 "id": "pss_78acasfou09cja",5 "settlement_type": "CREDIT",6 "status": "NEW",7 "target_account_id": "acct_5SF2d1wFPZ-4WIHUBzOXXw"8}
List all PSP Settlement Splits
GET /api/v1/psp_settlement_splits
Get list of PSP settlement splits created by your account. The splits returned are sorted by creation time in descending order.
The start date of created_at in ISO8601 format (inclusive).
Global account unique identifier that accepted the deposit for the splits.
Airwallex holding account unique identifier.
The value you select to identify while creating the split.
Page number, starts from 0.
Number of results per page. Default value is 100, minimum 10, maximum 100.
Unique identifier of the PSP settlement intent associated with the PSP settlement splits.
PSP Settlement Split settlement type. Could be either CREDIT or DEBIT.
PSP Settlement Split status. One of NEW, RELEASED, PENDING, FAILED, SETTLED or CANCELLED.
Airwallex target account unique identifier.
The end date of created_at in ISO8601 format (inclusive).
A flag which identifies whether there are more results.
Paged results.
Amount of the transfer in currency specified in the request
The time this PSP settlement split was created
Unique identifier for the PSP settlement split
settlement type of the split, could be either CREDIT or DEBIT
Status of the PSP settlement split. One of: NEW, MATCHED, CANCELLED, PENDING,FAILED,SETTLED
Airwallex target account unique identifier specified in the request
| Error status | Description |
|---|---|
| 400 | Possible errors: |
| 401 | Possible errors: |
| 429 | Too many requests |
| 500 | Service unavailable |
$curl --request GET \> --url 'https://api.sandbox.airwallex.com/api/v1/psp_settlement_splits' \> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \> --header 'Content-Type: application/json'
1{2 "has_more": false,3 "items": [4 {5 "amount": "10000",6 "created_at": "2022-09-22T16:08:02+1100",7 "id": "pss_78acasfou09cja",8 "settlement_type": "CREDIT",9 "status": "NEW",10 "target_account_id": "acct_5SF2d1wFPZ-4WIHUBzOXXw"11 }12 ]13}
Split a PSP Settlement Intent
POST /api/v1/psp_settlement_intents/{psp_settlement_intent_id}/split
Use this endpoint to share data with Airwallex on the funds to be transferred to or from a target account as part of the PSP Settlement. When settlement_type is CREDIT, this is a payment to the target account. When settlement_type is DEBIT, this is a refund or chargeback.
Data on the amounts within a PSP Settlement should be shared with Airwallex before funds from the pay-in PSP settle in the holding account.
Each PSP settlement split is created with an initial status of NEW.
Unique identifier of the PSP settlement intent to split.
Unique request identifier. Max length 50 characters.
A (partial) list of PSP Settlement Splits that comprise the PSP Settlement Intent. Maximum 2000 PSP Settlement Splits per call to this endpoint.
Amount of the PSP settlement split, representing how much to disburse to the account. Must always be positive.
A value you select to identify this split, must be unique per PSP settlement intent, max length 40 symbols.
Settlement type of the split, One of CREDIT or DEBIT.
The Airwallex account receiving the credit or paying the debit.
PSP Settlement Intent unique identifier for which this PSP Settlement Split is a part. The value is returned by the API endpoint for creating or getting a PSP Settlement Intent.
Unique request identifier. Max length 50 characters.
| Error status | Description |
|---|---|
| 400 | Possible errors: |
| 401 | Possible errors: |
| 429 | Too many requests |
| 500 | Service unavailable |
$curl --request POST \> --url 'https://api.sandbox.airwallex.com/api/v1/psp_settlement_intents/psp_settlement_intent_id/split' \> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \> --header 'Content-Type: application/json' \> --data '{> "request_id": "7f687fe6-dcf4-4462-92fa-80335301d9d2",> "splits": [> {> "amount": "1000.5",> "identifier": "PMT1936398",> "settlement_type": "CREDIT",> "target_account_id": "acct_5SF2d1wFPZ-4WIHUBzOXXw"> }> ]>}'
1{2 "psp_settlement_intent_id": "<string>",3 "request_id": "7f687fe6-dcf4-4462-92fa-80335301d9d2"4}
Release a PSP Settlement Split
POST /api/v1/psp_settlement_splits/{id}/release
Release the split when your Platform considers a seller ready to receive funds (for example, when a shopper has received goods). Funds are deducted from the holding account's balance, and are credited to the available balance of the respective seller connected accounts.
Releasing a credit split results in net movement of funds from the holding account to the seller wallet. Releasing a debit split results in movement of funds in the opposite direction (from the connected account to the holding account).
Status of the split is moved to state PENDING first when we receive the request and then updated as SETTLED when the funds movement between holding account and target account completed successfully.
Unique identifier of the PSP settlement split to release.
Unique request identifier. 1-50 characters long.
Amount of the transfer in currency specified in the request
The time this PSP settlement split was created
Unique identifier for the PSP settlement split
settlement type of the split, could be either CREDIT or DEBIT
Status of the PSP settlement split. One of: NEW, MATCHED, CANCELLED, PENDING,FAILED,SETTLED
Airwallex target account unique identifier specified in the request
| Error status | Description |
|---|---|
| 400 | Possible errors: |
| 401 | Possible errors: |
| 404 | NOT FOUND |
| 429 | Too many requests |
| 500 | Service unavailable |
$curl --request POST \> --url 'https://api.sandbox.airwallex.com/api/v1/psp_settlement_splits/psp_settlement_split_id/release' \> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \> --header 'Content-Type: application/json' \> --data '{> "request_id": "7f687fe6-dcf4-4462-92fa-80335301d9d2">}'
1{2 "amount": "10000",3 "created_at": "2022-09-22T16:08:02+1100",4 "id": "pss_78acasfou09cja",5 "settlement_type": "CREDIT",6 "status": "NEW",7 "target_account_id": "acct_5SF2d1wFPZ-4WIHUBzOXXw"8}
Cancel a PSP Settlement Split
POST /api/v1/psp_settlement_splits/{id}/cancel
If the PSP settlement split has not yet been matched, it can be cancelled (for example, if data had been shared wrongly previously.) After cancelling, the associated PSP settlement intent status becomes NEW. A new PSP settlement split should be created after cancellation to ensure all funds in the holding account are allocated to a seller, and the PSP settlement intent should be submitted again.
Unique identifier of the PSP settlement split to cancel.
Amount of the transfer in currency specified in the request
The time this PSP settlement split was created
Unique identifier for the PSP settlement split
settlement type of the split, could be either CREDIT or DEBIT
Status of the PSP settlement split. One of: NEW, MATCHED, CANCELLED, PENDING,FAILED,SETTLED
Airwallex target account unique identifier specified in the request
| Error status | Description |
|---|---|
| 400 | Possible errors: |
| 401 | Possible errors: |
| 404 | NOT FOUND |
| 429 | Too many requests |
| 500 | Service unavailable |
$curl --request POST \> --url 'https://api.sandbox.airwallex.com/api/v1/psp_settlement_splits/psp_settlement_split_id/cancel' \> --header 'Authorization: Bearer {{ACCESS_TOKEN}}' \> --header 'Content-Type: application/json'
1{2 "amount": "10000",3 "created_at": "2022-09-22T16:08:02+1100",4 "id": "pss_78acasfou09cja",5 "settlement_type": "CREDIT",6 "status": "NEW",7 "target_account_id": "acct_5SF2d1wFPZ-4WIHUBzOXXw"8}