Deleting a Prism Payout Account
In certain situations, you may need to delete a merchant’s payout account:
- The Stripe account was created incorrectly
- The merchant onboarded with the wrong country or business type
- Administrative cleanup is required
Violet provides an API to delete a Payout Account and its associated Stripe Express account under specific conditions.
If the connected Stripe account has already been deleted externally (outside of Violet), you can still call this API to clean up the corresponding Violet records. Violet will detect this scenario and complete the deletion successfully.
Requirements for Deletion
A payout account can only be deleted if both of these conditions are met:
- The account has no transactions, payouts, or pending balance
- The account has not been used to process any orders or payments
API Reference
Request
Field | Type | Description |
---|---|---|
payout_account_id | string | The unique identifier of the Merchant Payout Account to delete. |
Error Responses
Status | Error Code | Error | Message | Reason |
---|---|---|---|---|
404 | 4407 | payout_account_not_found | The Payout Account was not found. | The payout account specified by the ID does not exist. The ID could be incorrect, or this account may have been deleted. |
403 | 9901 | insufficient_permissions | You do not have permission to delete this account. | The associated payout account cannot be accessed by your app. This could be because you are trying to delete a payout account associated with a different app. |
409 | 4452 | payout_account_conflict | This account cannot be deleted because it has existing payouts, transfers, or distributions. | Once an account has had transactions placed against is, it cannot be deleted. This is to ensure that past transaction data is still accessible to you and the merchants. |
500 | 4453 | external_payment_provider_exception | An exception was thrown by the payment provider when trying to make this request. Caused by: [Stripe error details will be here] | If Stripe throws an underlying exception while attempting to delete the account, the error message will include details from that exception. Possible reasons include trying to delete a Stripe Standard account, which you’re not authorized to access. |
Webhooks
After a successful payout account deletion, Violet will emit a webhook: MERCHANT_PAYOUT_ACCOUNT_DELETED
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.
You can subscribe to this webhook event to update your internal records accordingly.