Payout Account Events

These webhooks specifically relate to payout account management, enabling you to monitor the lifecycle of merchant payout accounts in your system.

MERCHANT_PAYOUT_ACCOUNT_CREATED

Emitted when a new Violet Payout Account is created for a merchant. Use this to track when a merchant has completed the first step in enabling payouts through your application.

Sample Payload

The body of this webhook contains the latest `PayoutAccount` object, including embedded metadata from the connected payment provider account:

{
    "id": 13618,
    "merchant_id": 15756,
    "app_id": 11106,
    "is_active": true,
    "country_code": "US",
    "payment_provider": "STRIPE",
    "payment_provider_account_id": "acct_1R42bVR9DNmFQUp2",
    "payment_provider_account": {
        "account_id": "acct_1R42bVR9DNmFQUp2",
        "account_type": "EXPRESS",
        "banking_country": "US",
        "banking_currency": "usd",
        "charges_enabled": true,
        "payouts_enabled": true,
        "requirements": {
            "alternatives": [],
            "currently_due": [],
            "errors": [],
            "eventually_due": [],
            "past_due": [],
            "pending_verification": []
        },
        "date_created": "2025-03-18T16:03:01+0000",
        "date_last_modified": "2025-04-05T00:39:53+0000"
    },
    "errors": [],
    "date_created": "2025-03-18T16:03:01+0000",
    "date_last_modified": "2025-04-05T03:19:20+0000"
}

In addition to the JSON payload, the webhook request will include the X-Violet-Entity-External-Id header, which contains the payment provider account ID (e.g., the Stripe account ID like acct_1R42bVR9DNmFQUp2). This can be used to correlate events with your Stripe records.

MERCHANT_PAYOUT_ACCOUNT_REQUIREMENTS_UPDATED

Emitted when the KYC or onboarding requirements for a merchant’s payout account are updated. This can happen after account creation, especially when Stripe (or another provider) requests additional information from the merchant.

Sample Payload

The body of this webhook contains the latest `PayoutAccount` object, including embedded metadata from the connected payment provider account:

{
    "id": 13618,
    "merchant_id": 15756,
    "app_id": 11106,
    "is_active": true,
    "country_code": "US",
    "payment_provider": "STRIPE",
    "payment_provider_account_id": "acct_1R42bVR9DNmFQUp2",
    "payment_provider_account": {
        "account_id": "acct_1R42bVR9DNmFQUp2",
        "account_type": "EXPRESS",
        "banking_country": "US",
        "banking_currency": "usd",
        "charges_enabled": true,
        "payouts_enabled": true,
        "requirements": {
            "alternatives": [],
            "currently_due": [],
            "errors": [],
            "eventually_due": [],
            "past_due": [],
            "pending_verification": []
        },
        "date_created": "2025-03-18T16:03:01+0000",
        "date_last_modified": "2025-04-05T00:39:53+0000"
    },
    "errors": [],
    "date_created": "2025-03-18T16:03:01+0000",
    "date_last_modified": "2025-04-05T03:19:20+0000"
}

In addition to the JSON payload, the webhook request will include the X-Violet-Entity-External-Id header, which contains the payment provider account ID (e.g., the Stripe account ID like acct_1R42bVR9DNmFQUp2). This can be used to correlate events with your Stripe records.

MERCHANT_PAYOUT_ACCOUNT_ACTIVATED

Emitted when a Prism Payout Account is marked as the active payout account. Only one Payout Account can be marked as active at any given point in time.

Sample Payload

The body of this webhook contains the latest `PayoutAccount` object, including embedded metadata from the connected payment provider account:

{
  "id": 13618,
  "merchant_id": 15756,
  "app_id": 11106,
  "is_active": true,
  "country_code": "US",
  "payment_provider": "STRIPE",
  "payment_provider_account_id": "acct_1R42bVR9DNmFQUp2",
  "payment_provider_account": {
    "account_id": "acct_1R42bVR9DNmFQUp2",
    "account_type": "EXPRESS",
    "banking_country": "US",
    "banking_currency": "usd",
    "charges_enabled": true,
    "payouts_enabled": true,
    "requirements": {
      "alternatives": [],
      "currently_due": [],
      "errors": [],
      "eventually_due": [],
      "past_due": [],
      "pending_verification": []
    },
    "date_created": "2025-03-18T16:03:01+0000",
    "date_last_modified": "2025-04-05T00:39:53+0000"
  },
  "errors": [],
  "date_created": "2025-03-18T16:03:01+0000",
  "date_last_modified": "2025-04-05T03:19:20+0000"
}

In addition to the JSON payload, the webhook request will include the X-Violet-Entity-External-Id header, which contains the payment provider account ID (e.g., the Stripe account ID like acct_1R42bVR9DNmFQUp2). This can be used to correlate events with your Stripe records.

MERCHANT_PAYOUT_ACCOUNT_DEACTIVATED

Emitted when a Prism Payout Account is deactivated. A Payout Account is deactivated when a different Payout Account is marked as active.

Sample Payload

The body of this webhook contains the latest `PayoutAccount` object, including embedded metadata from the connected payment provider account:

{
  "id": 13618,
  "merchant_id": 15756,
  "app_id": 11106,
  "is_active": false,
  "country_code": "US",
  "payment_provider": "STRIPE",
  "payment_provider_account_id": "acct_1R42bVR9DNmFQUp2",
  "payment_provider_account": {
    "account_id": "acct_1R42bVR9DNmFQUp2",
    "account_type": "EXPRESS",
    "banking_country": "US",
    "banking_currency": "usd",
    "charges_enabled": true,
    "payouts_enabled": true,
    "requirements": {
      "alternatives": [],
      "currently_due": [],
      "errors": [],
      "eventually_due": [],
      "past_due": [],
      "pending_verification": []
    },
    "date_created": "2025-03-18T16:03:01+0000",
    "date_last_modified": "2025-04-05T00:39:53+0000"
  },
  "errors": [],
  "date_created": "2025-03-18T16:03:01+0000",
  "date_last_modified": "2025-04-05T03:19:20+0000"
}

In addition to the JSON payload, the webhook request will include the X-Violet-Entity-External-Id header, which contains the payment provider account ID (e.g., the Stripe account ID like acct_1R42bVR9DNmFQUp2). This can be used to correlate events with your Stripe records.

MERCHANT_PAYOUT_ACCOUNT_DELETED

Emitted when a Prism Payout Account is deleted. Currently, accounts can only be deleted via API. Learn more here

Sample Payload
{
    "id": "123456"
}

The id in any DELETE event is the unique Violet identifier of the entity that was deleted. For the MERCHANT_PAYOUT_ACCOUNT_DELETED event, this is the Prism Payout Account ID.

Last updated

Was this helpful?