Manage approvals for payouts
Introduction
Creating a payout to be submitted for approval is available upon request. With this feature enabled, created payouts will be routed through the active transfer approval workflow in the Airwallex account.
Actions required to use this feature:
- Contact your account manager to enable this feature on API.
Ensure that your Airwallex account has the new transfer approval feature. To confirm this, the account owner or admin should be able to create or edit transfer approval workflows on the Account > Approvals > Transfers page.
- If your Airwallex account is currently using Batch Transfers with an Airwallex batch transfer file, it will not have the new transfer approval feature as both features are not compatible yet. Contact your account manager to disable the Batch Transfers feature in order to use the new transfer approval feature.
Integrate with Client API version 2023-04-15 or later.
Handle approval for payouts
Submit payouts for approval
After a payout has been created through the Client API, it may be routed through the approval process based on your active approval workflow, at which point its status will transition to IN_APPROVAL
. Subscribe to the payment.in_approval
webhook event to receive real-time notifications.
The submitter for the payout depends on the authorization method.
- Your Airwallex account. This applies when the payout creation requests are submitted with the Authorization token obtained using the method mentioned in Obtain access token API.
- A third-party app that you used to create the payout. This applies when the payout creation requests are submitted with the Authorization code obtained using the method mentioned in Airwallex OAuth 2.0 API API.
To ensure a payout cannot be approved by the same person that manually submits it from the external system, you need to avoid assigning them as approvers in the transfer approval workflow.
Approve payouts
After a payout has been approved by a user in the web app, if there is additional approval required from other users, its status will remain as IN_APPROVAL
. Otherwise, its status transitions to PENDING_FUNDS
. Subscribe to the payment.pending_funds
webhook event to receive real-time notifications of each payout that has been fully approved for further processing.
Reject payouts
After a payout has been rejected by a user in the web app, its status will transition to REJECTED
. Subscribe to the payment.rejected
webhook event to receive real-time notifications of each payout that has been rejected in the approval flow. Users can edit and resubmit a rejected payout in the web app.
Recall payouts
After a payout has been recalled by a user in the web app, it exits the approval process, at which point its status will transition to RECALLED
. Subscribe to the payment.recalled
webhook event to receive real-time notifications of each payout that has been recalled in the approval flow. Users can edit and resubmit a recalled payout in the web app.
Handle blocked payouts
After a payout has been approved by a user in the web app, if the next approver cannot be found, its status will transition to BLOCKED
. Subscribe to the payment.blocked
webhook event to receive real-time notifications of each payout that has been blocked in the approval flow. The account owner or account admins need to review the active approval workflow and fix any issues before re-submitting the payout for approval again.