WooshPay OpenAPI
Product DocumentAPI ReferenceJS SDK ReferenceSaaS Platform Integration
Product DocumentAPI ReferenceJS SDK ReferenceSaaS Platform Integration
Back to WooshPay Website
  1. Payouts
  • Online payments
    • Quick Start
    • Integration overview
    • Wooshpay JS SDK
    • Wooshpay Checkout
    • Wooshpay Direct API
    • Payment Link
    • Authorize and capture
    • Build subscriptions integration
    • Testing cards
  • After the payment
    • Webhook
    • Check the webhook signatures
    • 校验webhook签名
  • Add more payment methods
    • Supported payment method
    • Cards
    • Wallets
      • Alipay
      • Alipay HK
      • Apple Pay
      • Google Pay
      • Wechat Pay
      • 微信支付
      • Kakao Pay
      • DANA
      • Boost
      • Grabpay
      • Mcash
      • Touch'n Go
      • ShopeePay
      • UnionPay
      • 9Pay
      • OVO
      • GCash
      • TrueMoney
    • Bank redirects
      • Bancontact
      • BPI
      • Trustly
      • EPS
      • Giropay
      • iDEAL
      • Przelewy24
      • FPX
    • Buy Now Pay Later
      • Klarna
    • Bank Debits
      • Sepa Direct Debit
    • Bank Transfer
      • Bank Transfer in Europe
      • Bank Transfer in United Kingdom
      • Bank Transfer in Indonesia
      • Bank Transfer in Nigeria
      • Bank Transfer in South Africa
    • QR Payments
      • QRIS
      • PromptPay
    • Real-time payments
      • PIX
      • PayNow
      • UPI
      • SPEI
  • More payment scenarios
    • Set up future payments
    • Save payment method during payment
  • SaaS platform integration
    • Shopify Plugin
    • WooCommerce
    • Shoplazza 店匠
    • Shopastro 星盘
    • Shopline Plugin
    • Sage Connection
  • Payouts
    • Overview
    • Cameroon
    • Europe
    • Ghana
    • Kenya
    • Nigeria
    • Rwanda
    • South Africa
    • Tanzania
    • Uganda
    • United Kindom
    • United States of America
    • Monitor Your Payout Results
  • Resources
    • Supported currencies
  1. Payouts

Monitor Your Payout Results

Payout events to subscribe#

EventWhen it firesWhat you usually do
payout.createdA payout object is generatedRecord the new payout in your system
payout.paidFunds are expected to be available in the beneficiary accountMark payout successful
payout.failedBank rejects or returns the payoutMark payout failed
payout.canceledWooshPay cancel the payout before it is sentMark payout canceled

Create your payout webhook endpoint#

Request:
{
  "url": "https://your_callback_address.com",
  "description": "Payout status notifications",
  "enabled_events": [
    "payout.created",
    "payout.paid",
    "payout.failed",
    "payout.canceled"
  ]
}
Response:
{
    "id": "we_1953668074666196992",
    "object": "webhook_endpoint",
    "created": 1754625741000,
    "livemode": true,
    "description": "Payout status notifications",
    "secret": "whsec_5B7ztykeFchpyupxbTLmZdQiNabRRqjg",
    "status": "enabled",
    "url": "https://your_callback_address.com",
    "enabled_events": [
        "payout.canceled",
        "payout.created",
        "payout.failed",
        "payout.paid"
    ]
}
Register one endpoint per environment (Test, Live).
The response contains a secret; store it if you plan to verify signatures.

What you’ll receive#

payout.created (example)#

{
  "id": "evt_1953671389605003264",
  "object": "event",
  "created": 1754626531398,
  "data": {
    "object": {
      "id": "po_1953671380213956608",
      "object": "payout",
      "created": 1754626530000,
      "status": "in_transit",
      "beneficiary_data": {
        "id": "bf_1953671305744089088",
        "object": "beneficiary",
        ......
      },
      "payment_amount": 7000,
      "payment_currency": "USD",
      "source_amount": 10000,
      "source_currency": "USD"
    }
  },
  "type": "payout.created"
}

payout.paid (example)#

{
  "id": "evt_1705940809180720002",
  "type": "payout.paid",
  "created": 17027155624825,
  "data": {
    "object": {
      "id": "po_1953671380213956608",
      "object": "payout",
      "created": 1754626530000,
      "status": "paid",
      "beneficiary_data": {
        "id": "bf_1953671305744089088",
        "object": "beneficiary",
        ......
      },
      "payment_amount": 7000,
      "payment_currency": "XXX",
      "source_amount": 10000,
      "source_currency": "XXX"
    }
  },
  "type": "payout.paid"
}

payout.failed (example)#

{
  "id": "evt_1953671356344172544",
  "object": "event",
  "created": 1754626523468,
  "livemode": false,
  "data": {
    "object": {
      "id": "po_1953671350849634304",
      "object": "payout",
      "created": 1754626523000,
      "livemode": false,
      "status": "failed",
      "failure_code": "unknown_errors",
      "failure_message": "Your Balance is insufficient or not exist.",
      "beneficiary_data": {
        "id": "bf_1953671305744089088",
        "object": "beneficiary",
        ......
      },
      "payment_amount": 7000,
      "payment_currency": "XXX",
      "source_amount": 10000,
      "source_currency": "XXX"
    }
  },
  "type": "payout.failed"
}

Handling tips#

1.
Respond with 2xx quickly
Your endpoint must quickly return a successful status code (2xx) prior to any complex logic that could cause a timeout.
2.
One-click simulations in the Dashboard
Switch to Test mode at dashboard.wooshpay.com → Payout. Here you can trigger “success / fail ” scenarios and inspect the exact webhook payloads before going live.
Deploy the endpoint, subscribe to the payout events, and you’ll receive real-time notifications whenever a payout is created, paid, failed, canceled
Modified at 2025-08-08 05:54:49
Previous
United States of America
Next
Supported currencies
Built with