Search...
APIJSLog inGet started in sandbox
Airwallex logo
Home
Platform APIs
Connected Accounts
Accounts
Payments
Transactional FX
Payouts
Issuing
Back to home
OverviewAPI
SDKs
Sandbox environment
Partner connections
Partners overviewGet startedImplement your authorization flow
Integration guides
Bill payments
Invoicing and payment linksBank feedOnline payment acceptance
Notifications and workflow automation

Bill payments

A typical use case involves paying vendor bills on ERPs or accounts payable management software through a connected Airwallex account. Customers will upload bills to your platform, undergo an approval process, and seamlessly execute payouts to vendors through integration with Airwallex. This eliminates the need to manually enter vendor payment details and initiate transfers via the Airwallex Webapp.

To build such an integration, you will need the following OAuth Scopes:

  • r:awx_action:settings.account_details_view
  • r:awx_action:balances_view
  • w:awx_action:contact_management_edit
  • w:awx_action:transfers_edit

Bill payments OAuth interaction

To enable bill payments:

  1. Check that the customer has sufficient funds in their account using the GET /api/v1/balances/current API endpoint
  2. Create a Beneficiary for the Vendor with their payment details (e.g. bank account numbers), if you have not previously created one. Beneficiary records on Airwallex can be re-used across multiple Payouts. Call POST /api/v1/beneficiaries/create API to do this — note that the fields required to create a Beneficiary vary significantly across regions and destination bank account types, so you can use the POST /api/v1/beneficiary_api_schemas/generate API endpoint to obtain the correct schema for a given region and destination bank account type combination.
  3. Once you have a valid Beneficiary, create the Payout with the amount of the bill to be paid by calling POST /api/v1/transfers/create API
  4. Sometimes the Payout may be subject to additional review, in which case the status of the Payout will not be immediately successful. To obtain the most up-to-date status of the Payout, call GET /api/v1/transfers/{id} API with the Payout ID from the previous step.
Was this page helpful?