Connecting a Stripe Platform Account To Violet
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.
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/create - Store 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/create - Store 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
-
Go to https://dashboard.stripe.com/test/settings/connect/onboarding-options/oauth
-
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.
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.
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.
Was this page helpful?