Skip to main content
Recipients and beneficiaries refer to the same party: the person or company that receives funds from a payout. The Dashboard uses “Recipient” in the user interface, while the API uses “Beneficiary” in endpoint names, request fields, and webhook payloads. You can create and manage beneficiaries from the Dashboard or through the API. Use the API flow when your integration needs to onboard beneficiaries programmatically, validate whether a beneficiary already exists, or maintain beneficiary records for multiple sub-accounts.

Dashboard flow

  1. Sign in to the Dashboard > Select Global Account
recipients beneficiary screenshot 2025 07 08 at 16.10.29
  1. Navigate to the Reference > Recipients screen
  2. Click Create new recipients in the top-right corner.
recipients beneficiary output

API integration flow

Use this flow when creating beneficiaries through API:
  1. Get supported payment methods for the beneficiary’s bank country and currency.
  2. Check whether a matching beneficiary already exists.
  3. Create the beneficiary if no reusable beneficiary is found.
  4. Listen for the beneficiary webhook and retrieve the beneficiary status.
  5. Use the beneficiary_id when creating payouts.
  6. Keep beneficiary records up to date with list, retrieve, update, and delete APIs.
If you manage beneficiaries for a sub-account, pass the sub-account’s account_id in the x-on-behalf-of header for beneficiary APIs. If x-on-behalf-of is omitted, the request is executed for the authenticated master account.

Step 1: List payment methods

Before collecting bank details from your user, call List Payment Methods with the beneficiary bank country and account currency.
The response returns one record per supported clearing_systems and payment_method combination for that country and currency.
Use this response to decide which fields to show in your beneficiary creation form.

Step 2: Prepare beneficiary details

Create Beneficiary supports company and individual beneficiaries. For a company beneficiary, collect:
  • entity_type = COMPANY
  • company_name
  • Optional email and nickname
  • payment_method
  • bank_details
  • address
  • additional_info, when required by the payout country or currency
For an individual beneficiary, collect:
  • entity_type = INDIVIDUAL
  • first_name and last_name
  • Optional email, nickname, and id_number
  • payment_method
  • bank_details
  • address
  • additional_info, when required by the payout country or currency
The most important bank_details fields are: Some currencies require additional_info. For example, COP payouts require msisdn, and may require id_type and id_number for individual beneficiaries or tax_id for company beneficiaries. HKD local payouts also require msisdn.

Step 3: Check for an existing beneficiary

Before creating a new beneficiary, call Check Beneficiary. This helps avoid duplicate records when the same bank account has already been saved.
If a matching beneficiary exists, the response includes beneficiary_id. Reuse that ID when creating a payout. If no match is found, the response returns an empty beneficiary_id.

Step 4: Create the beneficiary

Call Create Beneficiary only when you do not already have a reusable beneficiary_id.
The response returns the beneficiary identifiers:
Store the beneficiary_id. This is the value you should pass in beneficiary_id when creating a payout.

Step 5: Handle the beneficiary webhook

Subscribe to Beneficiary Created events. After receiving the webhook, you can call Retrieve Beneficiary to confirm the latest beneficiary_status.
Only use an ACTIVE beneficiary for payouts. If the beneficiary remains PENDING, wait for the final result before initiating payout.

Step 6: Use the beneficiary in a payout

When creating a payout, pass the saved beneficiary_id instead of repeating all beneficiary details.
Using beneficiary_id keeps payout requests smaller and reduces the risk of sending inconsistent bank details.

Managing beneficiaries

Use these APIs to keep your saved beneficiary records in sync:

Integration recommendations

  • Always call List Payment Methods before designing the input form for a new country and currency.
  • Use Check Beneficiary before Create Beneficiary to avoid duplicates.
  • Store both beneficiary_id and short_reference_id.
  • Keep a local mapping between your customer or vendor ID and UQPAY beneficiary_id.
  • Use x-on-behalf-of consistently when managing beneficiaries for sub-accounts.
  • Do not create payouts until the beneficiary is ACTIVE.
  • Reuse existing beneficiaries for repeat payouts to the same bank account.
  • Use idempotency keys for create and update requests.

API Doc