The Prism Payout Account (PPA) acts as a wrapper around an underlying payment provider account, enabling payment orchestration. Each PPA is linked to a specific account with the payment provider, and merchants can have multiple PPAs. However, only one PPA is active for payouts at any given time. Violet provides you with the ability to view Payout Accounts via APIs and Webhooks to let you build any custom flows needed around Merchant enablement or onboarding.

Sample Prism Payout Account

{
    "id": 13618,
    "merchant_id": 15756,
    "app_id": 10000,
    "is_active": true,
    "country_code": "US",
    "payment_provider": "STRIPE",
    "payment_provider_account_id": "acct_asdfghjklASDFGH",
    "payment_provider_account": {
        "account_id": "acct_asdfghjklASDFGH",
        "account_type": "EXPRESS",
        "email": "chelseadabest@violet.io",
        "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",
}

The following fields are available in the Prism Pay Payout Account:

FieldTypeSample ValueDescription
idLong13618Unique identifier for the Violet Payout Account.
account_typeEnum”MERCHANT”Type of the account entity in Violet. This value is always MERCHANT for merchant payout accounts.
account_idLong15756Identifier of the account entity in Violet. For merchants, this is the Violet Merchant ID.
app_idLong10581Unique identifier of the app that this Violet Payout Account is associated with.
is_activeBooleantrueWhether or not the payout account is currently active. Only one Payout Account can be active for a given app_id.
country_codeString”US”Two-letter country code of the bank that this Payout Account is associated to.
payment_providerString”STRIPE”The payment provider backing the underlying payout account.
payment_provider_account_idString”acct_1R42bBHAJNmFQUp2”Identifier of the payout account in the payment provider system.
payment_provider_accountObjectA custom object representing specific details about the Payout Account in the underlying Payment Provider.
errorsnullable List of Strings[]A list of errors associated with this Violet Payout Account, if any.
date_createdString in ISO-8601 format”2025-03-18T16:03:01+0000”Time at which the object was created. In ISO-8601 format.
date_last_modifiedString in ISO-8601 format”2025-04-05T03:19:20+0000”Time at which the object was last modified. In ISO-8601 format.

The following fields are available in the underlying Payment Provider Account when the payment provider of the Violet Payout Account is STRIPE . You can learn more about these fields in the Stripe docs.

FieldTypeSample ValueDescription
account_idString”acct_1R42bBHJKNmFQUp2”Unique identifier of the account in the payment provider system.
account_typeString”EXPRESS”Type of account (e.g. EXPRESS, STANDARD, CUSTOM) with the provider
banking_countryString”US”Country where the banking account is registered
banking_currencyString”usd”Currency used for banking operations
charges_enabledBooleantrueIndicates if the account can accept transfers from the platform account. From the perspective of the payout account, Stripe refers to this as a charge, which is why this field is called charges_enabled .
payouts_enabledBooleantrueIndicates whether or not payouts are enabled on the underlying Stripe account. A Payout is money moving from the Stripe Connect account to the merchants connected bank account.
requirementsObjectObject detailing account verification and onboarding requirements.
date_createdString in ISO-8601 format”2025-03-18T16:03:01+0000”Timestamp when the payment provider account was created
date_last_modifiedString in ISO-8601 format”2025-04-05T00:39:53+0000”Timestamp of the most recent update to the account in the payment provider.

Requirements

The requirements section of the STRIPE payment_provider_account directly corresponds to KYC information that Stripe requires for this account to remain in good standing.

FieldTypeSample ValueDescription
alternativesnullable List of Strings[]Fields that are due and can be satisfied by providing the corresponding alternative fields instead.
currently_duenullable List of Strings[]Fields that need to be collected to keep the account enabled. If not collected by current_deadline, these fields appear in past_due as well, and the account is disabled.
errorsnullable List of Strings[]Fields that are currently_due and need to be collected again because validation or verification failed.
eventually_duenullable List of Strings[]Fields you must collect when all thresholds are reached. As they become required, they appear in currently_due as well, and current_deadline becomes set.
past_duenullable List of Strings[]Fields that weren’t collected by current_deadline. These fields need to be collected to enable the account.
pending_verificationnullable List of Strings[]Fields that might become required depending on the results of verification or review. It’s an empty array unless an asynchronous verification is pending. If verification fails, these fields move to eventually_due, currently_due, or past_due. Fields might appear in eventually_due, currently_due, or past_due and in pending_verification if verification fails but another verification is still pending.

Payout Account APIs

You can retrieve Prism Pay Payout Accounts using the following APIs:

Webhooks

The following events are available for you to subscribe to in order to receive updates about the Prism Pay Payout Account:

  • MERCHANT_PAYOUT_ACCOUNT_CREATED
  • MERCHANT_PAYOUT_ACCOUNT_REQUIREMENTS_UPDATED

Learn more here