/api/v1/openapi/payeesCreate a Payee and its PayoutAccount.
If a payee under the current business already exists with the same transfer_method,
country, currency, and payout-account details for that method (see matrix below),
the API returns the existing payee id with a success response and does not create a new payee.
Matching is scoped to the current business.
| transfer_method | Required block |
|---|---|
HK FPS - Account Number | payee.payout_account.hk_fps.bank_account (bank_code / account_name / account_number) |
HK FPS - Mobile | hk_fps.mobile + hk_fps.full_name |
HK FPS - Email | hk_fps.email + hk_fps.full_name |
HK FPS - FPS ID | hk_fps.fps_id + hk_fps.full_name |
RTGS | rtgs.bank_account (swift_code / account_name / account_number) |
SWIFT | swift.bank_account (swift_code / account_name / account_number) |
When payee.type = People and transfer_method is one of the HK FPS methods below, payout_account.date_of_birth is required:
HK FPS - Account NumberHK FPS - MobileHK FPS - EmailHK FPS - FPS IDFormat: YYYY-MM-DD.
Example: TRUE
Example: good
Example: {{credential}}
Example: {{$string.uuid}}
Example: zh-CN
Example: application/json
In the current implementation, email / phone / nickname are always validated; empty values fail, so they are documented as required. `company_name` is optional.
Payee type. - `People`: individual; for HK FPS methods, `date_of_birth` is typically required - `Business`: company
PeopleBusiness
Example: People
Contact email. Required; max 100 characters; must pass email format validation. Failure → `810002 Invalid email`.
Example: alice@example.com
Nickname. Required; max 50 characters (runes). Empty or too long → `810004 Invalid nickname`.
Example: Alice HK
Company / entity name. Optional; when provided, max 120 characters (runes). Too long → `810005 Invalid company name`.
Example: Alice Trading
Phone number (without country code). Validated together with `phone_country_code`. Failure → `810003 Invalid mobile number`.
Example: 91234567
Phone country code (without `+`). Validated together with `phone_number`. Failure → `810003 Invalid mobile number`.
Example: 852
Payout category name. Must exist in `revenue_expense_categories.category_name`. Empty or not found → `810000 Invalid category`.
Other Staff ExpensesOther InvestmentMiscellaneous ExpensesMerchant DisbursementMedical ServicesLoan RepaymentInventories & SuppliesGoods TradeGeneral Office OverheadsCharitable DonationCapital InvestmentWonder Extended ServicesTaxesStaff TrainingRelated Company TransferProfessional ServicesOffice SuppliesPayrollWonder Treasury ServicesTravel ExpensesTransportationSubscriptionStaff AccommodationRent & Management FeePensionLogistics Expenses
Example: Merchant Disbursement
Created successfully, or the existing payee `id` when the same payout-account details already exist under the current business (idempotent reuse).
Always 200 on success
200
Example: 200
Always succeed on success
succeed
Example: succeed