The Prism Payout Account
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
The following fields are available in the Prism Pay Payout Account:
Field | Type | Sample Value | Description |
---|---|---|---|
id | Long | 13618 | Unique identifier for the Violet Payout Account. |
account_type | Enum | ”MERCHANT” | Type of the account entity in Violet. This value is always MERCHANT for merchant payout accounts. |
account_id | Long | 15756 | Identifier of the account entity in Violet. For merchants, this is the Violet Merchant ID. |
app_id | Long | 10581 | Unique identifier of the app that this Violet Payout Account is associated with. |
is_active | Boolean | true | Whether or not the payout account is currently active. Only one Payout Account can be active for a given app_id . |
country_code | String | ”US” | Two-letter country code of the bank that this Payout Account is associated to. |
payment_provider | String | ”STRIPE” | The payment provider backing the underlying payout account. |
payment_provider_account_id | String | ”acct_1R42bBHAJNmFQUp2” | Identifier of the payout account in the payment provider system. |
payment_provider_account | Object | A custom object representing specific details about the Payout Account in the underlying Payment Provider. | |
errors | nullable List of Strings | [] | A list of errors associated with this Violet Payout Account, if any. |
date_created | String in ISO-8601 format | ”2025-03-18T16:03:01+0000” | Time at which the object was created. In ISO-8601 format. |
date_last_modified | String 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.
Field | Type | Sample Value | Description |
---|---|---|---|
account_id | String | ”acct_1R42bBHJKNmFQUp2” | Unique identifier of the account in the payment provider system. |
account_type | String | ”EXPRESS” | Type of account (e.g. EXPRESS, STANDARD, CUSTOM) with the provider |
banking_country | String | ”US” | Country where the banking account is registered |
banking_currency | String | ”usd” | Currency used for banking operations |
charges_enabled | Boolean | true | Indicates 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_enabled | Boolean | true | Indicates 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. |
requirements | Object | Object detailing account verification and onboarding requirements. | |
date_created | String in ISO-8601 format | ”2025-03-18T16:03:01+0000” | Timestamp when the payment provider account was created |
date_last_modified | String 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.
Field | Type | Sample Value | Description |
---|---|---|---|
alternatives | nullable List of Strings | [] | Fields that are due and can be satisfied by providing the corresponding alternative fields instead. |
currently_due | nullable 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. |
errors | nullable List of Strings | [] | Fields that are currently_due and need to be collected again because validation or verification failed. |
eventually_due | nullable 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_due | nullable List of Strings | [] | Fields that weren’t collected by current_deadline. These fields need to be collected to enable the account. |
pending_verification | nullable 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:
- Get active Prism Pay Account by Violet Merchant ID
- Get all Prism Pay Accounts for a Merchant
- Get Prism Pay Account by specific Prism Pay Account ID
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