3dcart / Shift4Shop
Overview of Violet's 3dcart (Shift4Shop) integration for channel developers
Last updated
Was this helpful?
Overview of Violet's 3dcart (Shift4Shop) integration for channel developers
3dcart, now rebranded as Shift4Shop, is a hosted ecommerce platform. Violet integrates using OAuth 2.0 — merchants authorize access via a standard redirect flow using your app's registered client credentials.
Taxes and shipping: 3dcart does not support dynamic tax calculation or real-time shipping rate retrieval. Channels are responsible for calculating and displaying taxes independently. Shipping rates must be configured statically — either by the merchant or by the channel — within Violet before checkout can complete.
3dcart uses an OAuth redirect flow. Your Violet application must have a 3dcart client ID and client secret registered with Violet. When a merchant connects, Violet redirects them to:
https://apirest.3dcart.com/oauth/authorize
?client_id={clientId}
&redirect_uri={callbackUrl}
&response_type=code
&store_url={merchantStoreUrl}After the merchant approves, the authorization code is exchanged for an access token and stored as the merchant's credential.
App credentials required: Your Violet application must have 3dcart OAuth credentials (client ID and client secret) registered before merchants can connect. Contact Violet support to configure these.
Violet registers webhooks automatically after a merchant connects. The following events are subscribed:
Order Status Change
Order status updated
Product New
Product created
Product Changed
Product details updated
Product Stock Changed
Product inventory quantity changed
Product Deleted
Product removed
Orders are submitted directly to the 3dcart store. The flow is:
Look up or create the customer by email
Compose and submit the order via the 3dcart Orders API
Set the order to New status at creation
Update to Processing status after payment is confirmed
3dcart uses a product + options model. SKU IDs in Violet are compound identifiers that encode the product catalog ID and any selected option values using :: and : separators. Violet parses these internally when composing line items.
No dynamic taxes: 3dcart does not return tax estimates at cart or checkout time. Channels must calculate and display taxes independently.
No dynamic shipping rates: 3dcart does not expose a live shipping rate endpoint. Shipping rates must be configured statically within Violet by the merchant or the channel.
No order polling: Fetching individual orders or paginating order history is not implemented for this platform. Order state is driven entirely by inbound webhooks.
App credentials required: Unlike some platforms where merchants supply their own API keys, 3dcart requires your Violet app to have registered OAuth credentials with 3dcart before any merchant can connect.
Last updated
Was this helpful?
Was this helpful?