Transfer Mechanisms
Transfer mechanisms control how funds are moved to merchants at the payment provider level. While Transfer Methods (AUTOMATIC, CUSTOM, EXTERNAL, DISABLED) control when transfers occur, transfer mechanisms determine the underlying payment flow used to execute those transfers.
Violet supports two transfer mechanisms:
Standard Transfers
Standard transfers use Stripe's separate charge-and-transfer model, where payment capture and merchant transfers are distinct operations.
How It Works:
Violet captures the payment from the shopper using your platform's Stripe account.
A separate transfer operation is then initiated to move funds from your platform account to the merchant's connected account.
The charge and transfer are independent operations, giving you maximum flexibility over timing and control.
Key Characteristics:
Flexible timing: Transfer can occur immediately after capture, on a schedule, or triggered manually via API.
Independent operations: The charge and transfer are separate, allowing for custom logic between them.
Merchant of record flexibility: Either the platform or connected account can appear as the merchant of record depending on configuration.
Application / Use Case:
Suitable for most marketplace and platform use cases.
Ideal when you need flexibility in transfer timing (immediate, batched, or custom).
Works with all transfer methods (
AUTOMATIC,CUSTOM,EXTERNAL).Best for platforms that need fine-grained control over when merchants receive funds.
Destination Payments
Destination payments use Stripe's destination charge model, where payment capture and merchant transfer occur atomically in a single operation.
How It Works:
Violet creates a Payment Intent with
transfer_data.destination, specifying the merchant's connected account as the destination.When the payment is captured, Stripe automatically transfers the specified amount to the merchant's connected account.
The platform's application fee is automatically calculated and retained.
Key Characteristics:
Atomic operation: Payment capture and merchant transfer happen together—no separate transfer step required.
Platform as merchant of record: Your platform name appears on customer statements, providing a consistent brand experience across all merchants.
Automatic Application Fees: Stripe creates Application Fee objects automatically, simplifying commission tracking and platform revenue reconciliation.
Simplified fund flow: Funds flow directly to the connected merchant account as part of the payment capture process.
Application / Use Case:
Ideal for platform-centric marketplaces where the platform is the primary business entity customers interact with (similar to Airbnb or Lyft models).
Useful when you want automatic, immediate payouts to connected accounts without managing separate transfer operations.
Best suited for platforms that want explicit application fee tracking through Stripe's built-in reporting.
Recommended when you need the guarantee that payment capture and merchant fund distribution happen together.
Important: Destination payments currently require Scheduled Transfers to be enabled. This ensures proper coordination between payment capture and fund distribution timing.
Choosing the Right Transfer Mechanism
Default
Yes
No
Merchant of Record
Can be platform or connected account
Platform is always merchant of record
Transfer Timing Control
Full control (immediate, batched, or custom)
Automatic upon capture
Stripe Fee Tracking
Manual reconciliation
Automatic Application Fee objects
Operation Type
Separate charge and transfer
Atomic single operation
Complexity
More flexible, slightly more complex
Simpler, more automated
Scheduled Transfers
Optional
Required
When to Use Standard Transfers
Choose standard transfers when:
You need maximum flexibility over transfer timing
You want to implement custom conditions before transferring funds
Your merchants should appear as the merchant of record on customer statements
You're using
CUSTOMorEXTERNALtransfer methods with manual control
When to Use Destination Payments
Choose destination payments when:
Your platform should appear on all customer statements (consistent branding)
You want simplified accounting with automatic Application Fee tracking
You need atomic guarantees that capture and transfer happen together
Your business model is similar to Airbnb, Lyft, or other platform-centric marketplaces
Configuration
Transfer mechanism settings can be configured at two levels:
App Level: The default transfer mechanism for all merchants connected to your app
Merchant Level: Override the app-level setting for specific merchants with different requirements
Related Documentation
Transfer Settings - Configure when and how transfers are executed
Scheduled Transfers - Configure fulfillment requirements and batched transfer schedules
Stripe Destination Charges - Stripe's documentation on destination charges
Last updated
Was this helpful?