For the complete documentation index, see llms.txt. This page is also available as Markdown.

3dcart / Shift4Shop

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.

Connection

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.

Webhooks

Violet registers webhooks automatically after a merchant connects. The following events are subscribed:

Event
Trigger

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

Order Submission

Orders are submitted directly to the 3dcart store. The flow is:

  1. Look up or create the customer by email

  2. Compose and submit the order via the 3dcart Orders API

  3. Set the order to New status at creation

  4. Update to Processing status after payment is confirmed

Products

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.

Notable Behavior

  • 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?