Payments during Checkout
The Violet Payments system, Prism Pay, is designed to support a wide variety of payment and payout flows across different merchants, apps, and platforms. Whether you're using Violet to orchestrate payments or simply tracking them through external providers, the core set of objects you’ll encounter are:
PaymentTransaction- Tracks the intent and status of payments from shoppers.Distribution- Represents how funds from an order are split across merchants and channels.Transfer- Represents the movement of funds from your platform Payment Provider account to the merchant Payment Provider account.Payout- Represents the actual payout of funds to merchants or channels.
When a refund occurs, the following additional objects are available in Prism Pay to represent the movement of funds and accurate states.
Refund- An object tied to theOrderitself to holistically represent the refund from the external ecom platform.Distribution- These are the same as Distributions during Checkout, however, are negative in amount to represent a debit.TransferReversal- Tracks the reversal of funds previously paid out.
Each of these objects plays a critical role in understanding how money moves through Violet from shopper to merchant (and back, if refunded).
Core Objects and Flows
Payment Transactions
A PaymentTransaction represents the shopper-facing payment activity for a specific Order. It tracks:
Which
OrderandBags are being paid forAmount and currency being charged
Payment method and provider (e.g., Stripe)
Capture and transfer statuses (e.g.,
CAPTURED,FAILED,REFUNDED)Errors and provider-specific metadata
Use this object to monitor the status of a payment and confirm whether the shopper has been charged successfully. Learn more here.
Distributions
A Distribution breaks down the funds collected from a shopper into amounts owed to different parties: merchants and channels. It includes:
The
BagandOrderassociated with the distributionWho the funds are going to (
MERCHANT,CHANNEL)The amount and currency
Tax information (if applicable)
Status indicators for when the funds were transferred or reversed
These records are the foundation for financial reporting and reconciliation. You can view them in the Violet dashboard or export them for further analysis. Learn more here.
Transfers
A Transfer represents the movement of funds to a merchant or channel from your platform payment provider account, based on one or more Distributions. It includes:
Linked
Distribution,Order, andBagIDsAmount and currency
Payment provider transaction identifiers
Status (
PENDING,SENT,FAILED, etc.)
This object helps confirm that a merchant has been paid out for their share of an order. Learn more here.
Payouts
The Payout object represents the actual transfer of funds from the Payment Provider (e.g. Stripe) to a connected merchants bank account, and is usually an aggregate of multiple Transfers. In includes:
Unique IDs for both the Violet and Payment Provider payout objects.
Links back to the associated Transfers and Distributions that contributed to the Payout
Amount and currency
Status (
PENDING,IN_TRANSIT,SETTLED,FAILED, etc.)
This object helps confirm that a merchant has received funds in their bank account for Orders placed through your app via Violet. Learn more here.
Refund
A Refund represents a formal refund request initiated by a merchant or app for a specific Order, Bag, or SKU. It also links together the refund’s financial consequences on Transfers and Distributions. A Refund includes:
The
Order,Bag, andAppinitiating the refundThe related
PaymentTransactionand provider-level transaction IDRefunded amount (in shopper and platform currencies)
Associated
TransferReversalIDs that show how payouts are clawed backA breakdown of refunded SKUs, shipping, and tax amounts
Refund status (
PROCESSING,COMPLETED,FAILED, etc.)Optional reason codes (e.g.
FRAUD,INVENTORY,CUSTOMER)Linked errors, if any
Transfer Reversals
A TransferReversal is created when funds that were sent to a merchant need to be pulled back—typically due to a refund. It includes:
The original
Transferthat’s being reversedThe amount and reason for the reversal
Status (
PENDING,COMPLETE, orFAILED)Provider-specific reversal IDs and metadata
These are automatically created and tracked when using Violet-managed transfers. Learn more here.
How These Objects Work Together
Here's how these concepts flow together during Checkout:
Order created
↓
PaymentTransaction created and captured
↓
Payment Distributions created (defines who gets what)
↓
Transfers initiated (payouts sent to parties)
↓
If refunded:
→ Refund created
→ Refund Distributions created (defines the amounts being reversed from each party)
→ TransferReversals createdLast updated
Was this helpful?