Connecting a Stripe Platform Account
Overview
Violet Payments handles your platform's complete payment lifecycle through your Stripe account, including:
Payment processing and shopper charges
Commission and fee calculations
Fund transfers and payouts
Refund processing and transfer reversals
When you integrate Violet Payments, you get automatic generation of:
Distribution records
Payouts and payout summaries
Reconciliation data exports for accounting
Security and Privacy
Violet securely stores all credentials in HashiCorp Cloud Platform Vault, a industry-standard solution for managing sensitive data. Only authorized Violet services can access these encrypted keys. For more information, visit HashiCorp Cloud Platform Vault, here.
Integration Steps
Configure Your Stripe Account
Create a Stripe account if you don't have one
Enable Stripe Connect on your account
Locate your Stripe Account ID in Account Settings (this ID works for both Test and Live modes)
Store the
accountId
in a secure location.
Generate Stripe Restricted Keys
Stripe Restricted Keys
Stripe restricted keys are API credentials with limited permissions that you'll generate for both test and live modes. These keys can be created through either:
The Stripe Dashboard API keys page
The Stripe CLI
Each restricted key requires two permission sets:
Platform Account permissions for webhook processing
Stripe Connect permissions for merchant account creation
You'll need to generate and securely store these keys before sharing them with Violet through our encrypted channel. For each of these keys, the following scopes will be needed:

Test Mode Keys
Go to the Stripe API Keys Dashboard
Enable Test mode
Note your Publishable Key from the "Standard Keys" section
Create a restricted key named
violet-test
with required scopes at https://dashboard.stripe.com/test/apikeys/createStore the key securely
Live Mode Keys
Return to the Stripe API Keys Dashboard
Disable Test mode
Note your Publishable Key from the "Standard Keys" section
Create a restricted key named
violet-live
with required scopes at https://dashboard.stripe.com/apikeys/createStore the key securely
Configure Stripe OAuth
OAuth enables merchants to connect their existing Stripe Standard accounts for payouts instead of creating new Stripe Express accounts. Violet uses Stripe Client keys to authenticate merchant accounts through OAuth 2.0 to let merchants connect their existing Stripe Standard accounts for payouts. This requires Stripe Client keys, which are separate from the restricted API keys.
With OAuth authentication:
Merchants can use their existing Stripe Standard accounts
No need to create new Stripe Express accounts
Violet securely connects merchant accounts to your platform
Test Mode OAuth Setup
Toggle “on” the setting that says “Enable OAuth”
Copy the “Test Mode Client ID” in a secure location
Click on “Add URI” to add the following Redirect URIs.
https://connect.violet.dev/payments/oauth/complete https://merchant.violet.dev/settings/payouts https://channel.violet.io/settings/payouts
Live Mode OAuth Setup
Go to https://dashboard.stripe.com/settings/connect/onboarding-options/oauth or turn off “Test” mode from the toggle in the right hand corner of the screen.
Toggle “on” the setting that says “Enable OAuth”
Copy the “Live Mode Client ID” in a secure location
Click on “Add URI” to add the following Redirect URIs.
https://connect.violet.io/payments/oauth/complete https://merchant.violet.io/settings/payouts https://channel.violet.io/settings/payouts
Share Stripe Keys with Violet
Visit the Violet Credentials Encryptor
Enter your stored Stripe credentials
Click "Encrypt"
Share the encrypted payload with Violet via Slack or DevRev
Repeat for both Test and Live mode credentials
Verification
Test Merchant Onboarding
Onboard a test merchant through the Sandbox Mode Violet Connect URL
Verify the merchant's payout account appears in your Stripe Connect dashboard
To test the connection, onboard a test Merchant through the Sandbox Mode Violet Connect URL and then navigate to https://dashboard.stripe.com/test/connect/accounts/overview. The payout account created for the new Merchant should be visible in the Stripe Account that was connected to Violet.
Test Checkout Flow
To test Checkout against your Stripe account, you can create and submit an Order in Test Mode as described here.
The Order object will have a PaymentTransaction
on it, which includes a payment_provider_transcation_id
. This is the ID of the Payment Intent in Stripe. You can navigate to this payment intent by doing the following:
Copy the payment intent ID and navigate to https://dashboard.stripe.com/test/payments.
Paste the
payment_intent_id
in the search bar. Hit Enter.Stripe dashboards should automatically take you to the succeeded payment intent.
Alternatively, you can paste the Violet Order ID in Stripe’s search bar and hit enter. Violet attaches metadata to the transaction in Stripe, so you should be able to see any associated payment intents and transfers when searching by Order ID.
Last updated
Was this helpful?