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.
- 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 SCHEDULED
. Subscribe to the payment.scheduled
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 APPROVAL_REJECTED
. Subscribe to the payment.approval_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 APPROVAL_RECALLED
. Subscribe to the payment.approval_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 APPROVAL_BLOCKED
. Subscribe to the payment.approval_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.
Learn more about How to handle transfers that are blocked or stuck in approval .