# Payout Approved

**Webhook:** `PayoutApproved`

Triggered when a payout request has been approved by an admin. This webhook is useful for notifying the user or updating external systems (e.g., accounting or CRM) to proceed with the next steps in disbursement.

```json
{
  "webhookType"          : "PayoutApproved",
  "testMode"             : false,
  "userId"               : "<user_id>",
  "userFirstname"        : "<user_firstname>",
  "userLastname"         : "<user_lastname>",
  "userEmail"            : "<user_email>",
  "userCountryCode"      : "<user_country>",
  "programId"            : "<program_id>",
  "programName"          : "<program_name>",
  "accountId"            : "<account_id>",
  "accountLogin"         : "<account_login>",
  "payoutMethod"         : "<payout_method>",
  "payoutCurrency"       : "<payout_currency>",
  "payoutAmount"         : "<payout_amount>",
  "payoutProfitSplit"    : "<payout_profitsplit>",
  "payoutCommission"     : "<payout_commission>",
  "payoutTraderReceive"  : "<payout_earning>",
  "payoutDetails"        : "<payout_details> BankDetail / CryptoDetail",
  "payoutUpdatedById"    : "<payout_updatedbyid>",
  "payoutUpdatedByEmail" : "<payout_updatedbyemail>",
  "approveTimestamp"     : "<approve_timestamp>"
}
```

## Payload Structure

| Field                 | Type    | Description                                                                                                                                                                                                                                                                                                                                                                                                        |
| --------------------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `webhookType`         | String  | Type of webhook event. Always `PayoutApproved` for this webhook.                                                                                                                                                                                                                                                                                                                                                   |
| `testMode`            | Boolean | Flag to indicate whether this payload is a test `true` or live `false`. Currently, only `false` is supported.                                                                                                                                                                                                                                                                                                      |
| `userId`              | String  | Unique identifier for the user within YourPropFirm SaaS platform.                                                                                                                                                                                                                                                                                                                                                  |
| `userFirstname`       | String  | First name of the user.                                                                                                                                                                                                                                                                                                                                                                                            |
| `userLastname`        | String  | Last name of the user.                                                                                                                                                                                                                                                                                                                                                                                             |
| `userEmail`           | String  | Email address of the user, also the user unique identifier for authentication.                                                                                                                                                                                                                                                                                                                                     |
| `userCountryCode`     | String  | ISO 3166-1 alpha-2 country code (e.g., `US`, `SG`, `GB`) of the user’s address.                                                                                                                                                                                                                                                                                                                                    |
| `programId`           | String  | Unique identifier for the trading program or plan the user enrolled in.                                                                                                                                                                                                                                                                                                                                            |
| `programName`         | String  | Display name of the trading program of the user joined.                                                                                                                                                                                                                                                                                                                                                            |
| `accountId`           | String  | Internal ID used to reference the created trading account.                                                                                                                                                                                                                                                                                                                                                         |
| `accountLogin`        | String  | Login ID or number for accessing the trading account on the platform.                                                                                                                                                                                                                                                                                                                                              |
| `payoutMethod`        | String  | <p>Method used for payout (e.g., <code>BankTransfer</code>,<br><code>USDTWalletTransfer</code>,<br><code>BTCWalletTransfer</code>,<br><code>Rise</code>,<br><code>Email</code>,<br><code>EmailBankTransfer</code>).</p>                                                                                                                                                                                            |
| `payoutCurrency`      | String  | Currency used for the payout (e.g., `USD`).                                                                                                                                                                                                                                                                                                                                                                        |
| `payoutAmount`        | Number  | Total payout amount before deductions.                                                                                                                                                                                                                                                                                                                                                                             |
| `payoutProfitSplit`   | Number  | The number of profit split for the trader in percentage (e.g., `80`).                                                                                                                                                                                                                                                                                                                                              |
| `payoutCommission`    | Number  | Any commission or fee deducted from the payout.                                                                                                                                                                                                                                                                                                                                                                    |
| `payoutTraderReceive` | Number  | Final amount the trader will receive after profit split and commission.                                                                                                                                                                                                                                                                                                                                            |
| `payoutDetails`       | String  | <p>Additional payout information (e.g., bank or crypto details).</p><p>Bank</p><p><code>{ "BankName": "Santander Uk Plc", "BankCity": "Bootle", "BankCountry": "United Kingdom", "Currency": "USD", "AccountHolderName": "John Doe", "SwiftBic": "ABBYGB2L", "AccountNumber": "\<Bank Account Number>" }</code></p><p>Crypto</p><p><code>{ "WalletAddress" : "\<Crypto Address>", "Currency" : "USDT" }</code></p> |
| `payoutUpdateById`    | String  | Unique identifier for the admin user or system that approved the payout.                                                                                                                                                                                                                                                                                                                                           |
| `payoutUpdateByEmail` | String  | Email of the person / system who approved the payout.                                                                                                                                                                                                                                                                                                                                                              |
| `approveTimestamp`    | String  | ISO 8601. Timestamp of when the payout was approved.                                                                                                                                                                                                                                                                                                                                                               |
