1. Webhooks
PIK
  • Start
    • Getting Started
  • Authentication
    • Authentication Token
      POST
  • Global Account
    • Contacts
      • Create Contact
      • List Contacts
      • Get Contact
      • Count Contacts
    • Virtual Accounts
      • Create Virtual Account
      • List Virtual Accounts
      • Get Virtual Account
    • Transactions
      • List Transactions
      • Get Transaction
    • Account Balance
      • List Account Balances
      • Get Balance by Currency
    • Payout
      • Create Payout
    • Webhooks
      • Unified Webhook Entry
        POST
      • Virtual Account Webhook
        POST
      • Deposit Webhook
        POST
      • Payout Status Webhook
        POST
  • Payment Links
    • Payment Links
      • Create Payment Link
      • Update Payment Link
      • Get Payment Link Detail
      • Get Payment Link List
    • Transactions
      • Get Transaction List
  • Webhook
    • Global Account
      • Deposit Webhook
      • Payout Webhook
      • Virtual Account Webhook
    • Payment Links
      • Overview
      • Order Collect Out Webhook
      • Customer Payment Webhook
      • Customer Refund Webhook
      • Master Recharge Webhook
      • Web3 Direct Payment Webhook
      • Withdraw Out Webhook
  1. Webhooks

Payout Status Webhook

POST
/receive/webhook/uqpay/payout
Receive UQPay payout status change events. Payouts are processed asynchronously after creation; final results are delivered via this webhook.
Event types:
payout.ready.send: Payout ready to send (INIT -> PROCESSING)
payout.completed: Payout successful (-> SUCCESS) - unfreeze + deduct, fee record created
payout.failed: Payout failed (-> FAILED) - unfreeze and refund, no deduction
payout.compliance.rejected: Compliance rejected (-> FAILED) - unfreeze and refund, no deduction
data fields:
payout_id: Unique payout id (UUID)
status: Payout status
fee_amount: Provider fee (returned on completed)
fee_currency: Fee currency (returned on completed)
account_id: UQPay account id
Fee notes (on payout.completed):
Total fee = system fee (calculated at creation) + provider fee (returned in webhook)
Beneficiary receives = user payout amount - total fee
The user is only debited the payout amount (no extra charges); fees are split internally
Note: This endpoint is called by UQPay servers and does not require JWT auth.

Request

Authorization
JWT Bearer
Add the parameter
Authorization
to Headers
Example:
Authorization: ********************
or
Body Params application/jsonRequired

Examples

Responses

🟢200
Webhook received successfully
This response does not have a body.
Request Request Example
Shell
JavaScript
Java
Swift
curl --location '/receive/webhook/uqpay/payout' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
    "version": "1.0",
    "event_name": "VIRTUAL",
    "event_type": "string",
    "event_id": "string",
    "source_id": "string",
    "data": {
        "property1": "string",
        "property2": "string"
    }
}'
Modified at 2026-05-27 09:47:15
Previous
Deposit Webhook
Next
Payment Links
Built with