1. Home
  2. Integrations
  3. Fulfilment Services
  4. ShipStation Integration
  1. Home
  2. Physical Products
  3. ShipStation Integration

ShipStation Integration

The ThriveCart ShipStation integration with ShipStation dynamic shipping rates eliminates manual shipping cost guesswork by pulling real-time carrier pricing directly into your checkout. Instead of setting fixed shipping amounts that either leave money on the table or discourage customers with overcharges, you can display live rates from USPS, FedEx, UPS, DHL, and other carriers based on each customer’s exact address, package weight, and current carrier rates. 

This automation saves hours of rate maintenance, reduces cart abandonment from unexpected shipping costs, and ensures you charge precisely what carriers will actually bill—all while leveraging ShipStation’s powerful fulfillment platform you may already use for order processing and label generation.

What Are ShipStation Dynamic Shipping Rates?

ShipStation dynamic shipping rates calculate shipping costs in real-time as customers enter their address at checkout. When enabled, ThriveCart sends the customer’s destination address, your product’s weight and dimensions, and the carrier/service configuration from your ShipStation product to ShipStation’s API, which returns live pricing from actual carriers.

How It Works:

  • Customer enters shipping address at checkout
  • ThriveCart sends address + package details to ShipStation based the product link setup in shipping rules
  • ShipStation queries your configured carrier (USPS, FedEx, UPS, etc.) for current rates
  • Live rate displays within 3-5 seconds
  • Customer completes purchase with accurate shipping cost

Fallback Protection: If ShipStation’s API doesn’t respond, times out, or returns no rates (invalid address, unsupported destination), ThriveCart automatically uses your configured fallback shipping amount so checkout never breaks.

Connecting Your ShipStation Account to ThriveCart

Before configuring dynamic rates on products, connect your ShipStation account.

Step 1: Get Your ShipStation API Credentials

  1. Log into your ShipStation account at shipstation.com
  2. Navigate to Settings → API Settings
  3. If you haven’t generated API credentials yet, click “Generate API Keys”
  4. Copy your API Key
  5. Copy your API Secret

Important: ShipStation uses API Key + API Secret pairs (v1 API). These credentials expire after 3, 6, or 12 months (based on your settings), so you’ll need to regenerate and update them in ThriveCart based on your expiration setting timeline.

Step 2: Connect ShipStation to ThriveCart

  1. Navigate to Settings → Integrations in your ThriveCart dashboard
  2. Find the ShipStation Integration section 
  3. Click “Connect ShipStation account”
  4. Fill in the connection form:
    • Account Name: Internal identifier for this ShipStation account (e.g., “Main ShipStation Account”)
    • API Key: Paste your ShipStation API key
    • API Secret: Paste your ShipStation API secret
  5. Click “Save this ShipStation account”
  6. ThriveCart validates your credentials and syncs your ShipStation products

Once connected, ThriveCart automatically pulls your ShipStation product list, making them available when configuring shipping options.

Multiple Accounts: You can connect multiple ShipStation accounts if you have separate warehouses, product lines, or business entities—just repeat the connection process with different account names.

Creating ShipStation Products with Default Carrier Settings

Dynamic shipping rates rely on default carrier codes and service codes configured in ShipStation. Before enabling dynamic rates in ThriveCart, ensure your ShipStation products have these settings configured.

In ShipStation:

  1. Navigate to Products in ShipStation
  2. Create or edit a product
  3. Set the following fields:
    • Weight: Product weight (required)
    • Dimensions: Length × Width × Height (required)
    • Default Carrier Code: The carrier to use (e.g., usps, fedex, ups_walleted)
    • Default Service Code: The service level (e.g., usps_priority, fedex_ground, ups_ground)

Why This Matters: When ThriveCart requests rates from ShipStation, it uses these default codes to determine which carrier rates to fetch. If no defaults are set, ShipStation returns multiple rates for all carriers, and ThriveCart can’t automatically select one—triggering the fallback rate instead.

Example Configuration:

  • Product: Coffee Mug Set (2 lbs)
  • Default Carrier: usps
  • Default Service: usps_priority
  • Result: ThriveCart fetches and displays only USPS Priority Mail rates at checkout, based on the weight & size of your product + the shipping distance

Enabling Dynamic Shipping Rates on a ThriveCart Product

Once your ShipStation account is connected and products are configured, enable dynamic rates on individual ThriveCart products.

  1. Navigate to the Fulfillment tab in your physical product’s settings
  2. Scroll to the Shipping section
  3. Click “Add shipping option”
  4. Configure Basic Settings:
    • Public Name: Customer-facing label (e.g., “Standard Shipping” or “Priority Mail”)
    • Fulfillment Provider: Select “ShipStation” from the dropdown
    • ShipStation Account: Choose which connected ShipStation account to use
  5. Enable Dynamic Shipping:
    • Check the box labeled “Use dynamic shipping rates”
    • Notice the label changes from “Amount to charge” to “Fallback shipping amount”
  6. Set Fallback Amount:
    • Enter a reasonable fallback rate (e.g., $9.99)
    • This is charged if ShipStation API fails or times out
    • Set it slightly higher than your average shipping cost for safety
  7. Configure Package Details:
    • Weight: Enter value and select unit (kg, g, lb, oz) – must be > 0
    • Dimensions: Enter Length × Width × Height and select unit (cm, m, in, ft) – all must be > 0
  8. Example:
    • Weight: 2.5 lb
    • Dimensions: 12 × 8 × 4 in
  9. Optional: Geographic Restrictions:
    • Choose Worldwide, Specific Countries, or US States Only
    • Click the edit icon to select or exclude specific regions
  10. Optional: Quantity & Subscription Settings:
    • Multiple Quantity Orders: Charge shipping once or per item
    • Subscription Products: Ship on first payment only, every rebill, or variable schedule
  11. Select the ShipStation Product: Select the corresponding product from your ShipStation account (this pulls the default carrier/service codes)
  12. Click “Save” to add the shipping option

How Dynamic Shipping Rates Work at Checkout

Customer Experience

Here’s what your customers see when dynamic shipping rates are enabled:

  1. Checkout Page Load: Customer lands on checkout and sees your shipping option(s) with fallback rates displayed initially
  2. Address Entry: Customer begins filling in their shipping address (name, street, city, state, zip, country)
  3. Automatic Trigger: Once they’ve entered the required fields (Address Line 1, City, and Country), ThriveCart waits 1 second (debounce delay to let them finish typing)
  4. Loading State: The shipping option displays:
    • Currency symbol + spinner: $ ⟳
    • Checkout buttons become temporarily disabled
  5. Rate Calculation: ThriveCart sends the address + product details to ShipStation’s API
  6. Rate Display: Within 3-5 seconds, the shipping cost updates to the live carrier-calculated rate
  7. Timeout Handling: If ShipStation doesn’t respond within 15 seconds, ThriveCart silently uses the fallback amount and re-enables checkout—no error message shown to the customer.
  8. Address Changes: If customer modifies their address (changes state, zip code, or country), rates automatically recalculate
  9. Selection & Purchase: Customer selects their shipping option and completes checkout with accurate costs
  10. Order Creation: The order is created in ShipStation, ready for shipping label purchase

Setting Up Multiple Shipping Options

You can offer multiple shipping speeds or methods by creating multiple shipping options with different ShipStation products:

Example Setup:

Shipping Option 1: Standard Shipping

  • ShipStation Product: “Standard Product” (configured with USPS Ground as default)
  • Public Name: “Standard Shipping (5-7 business days)”
  • Fallback Amount: $6.99
  • Dynamic Rates: Enabled

Shipping Option 2: Express Shipping

  • ShipStation Product: “Express Product” (configured with USPS Priority as default)
  • Public Name: “Express Shipping (2-3 business days)”
  • Fallback Amount: $19.99
  • Dynamic Rates: Enabled

At checkout, customers see both options with live carrier-calculated rates for each service level, giving them control over cost vs. speed.

Dynamic Rates for Bumps, Upsells, and Downsells

ShipStation dynamic shipping rates work across your entire funnel:

Bump Offers

Configure dynamic shipping on physical bump offers in the bump settings. Each bump can have its own ShipStation product association and shipping configuration. Shipping rates would be combined for the main product and bump offer(s) when bumps are selected in checkout.

Upsells

If your upsell is a physical product, enable dynamic rates in the upsell product settings. Rates are calculated on the upsell page using the customer’s address from the main checkout – any fields not already collected are surfaced on the upsell page.

Downsells

Same as upsells—configure dynamic rates if the downsell includes physical items. Rates calculate automatically when the downsell page loads.

Note: Each purchase type (product, upsell, downsell) makes its own API request to ShipStation with appropriate package details, ensuring accurate rates for each item independently.

Troubleshooting

IssueCommon CausesSolution
Fallback Amount is Always Shown (Never Fetch Live Rates)ShipStation product missing default carrier code or service codeIncomplete “ship from” address in ThriveCart profileInvalid or expired ShipStation API credentialsNo active carrier accounts connected in ShipStationLog into ShipStation and open the product you’re usingVerify Default Carrier Code and Default Service Code are both set (not blank)In ThriveCart, go to Settings → Profile and complete all “ship from” address fields (line1, city, state, zip, country)Go to Settings → Integrations → ShipStation and verify your API credentials are current (regenerate if older than 12 months)In ShipStation, go to Settings → Carriers and confirm your desired carrier (USPS, FedEx, UPS) is connected and activeTest again with a known-good address
Rates Not Updating When Customer Changes AddressCustomer hasn’t entered all required fields (line1, city, country)JavaScript error blocking rate calculationPrevious API request still processingA slight change in address may not change the amountEnsure customer completes Address Line 1, City, and Country before expecting rate updatesCheck browser console for JavaScript errors (F12 → Console tab)If rates seem stuck, refresh the checkout pageVerify customer’s browser has JavaScript enabled (rate calculation requires JavaScript)
“There was no response from ShipStation” or Timeout ErrorsShipStation API experiencing downtime or high latencyNetwork connectivity issuesInvalid destination address (ShipStation can’t calculate rates)Check ShipStation’s status page for known outagesTest with a standard US domestic address (if you’re US-based) to rule out address issuesWait a few minutes and try again—temporary API issues usually resolve quicklyIf persistent, contact ShipStation support to verify your account statusConfirm your fallback rates are reasonable so customers can still check out during API issues
ShipStation Shows Order but No Rate Was CalculatedDestination country not supported by configured carrierPackage dimensions exceed carrier maximumsCarrier account in ShipStation not fully activatedLog into ShipStation and view the order detailsCheck for ShipStation error messages indicating why rates weren’t generatedVerify the destination country is supported by your default carrier (e.g., USPS may not deliver to certain countries)Confirm package weight and dimensions are realistic (not 1000 lbs or 10 ft cubes)Review your ShipStation carrier settings and ensure accounts are fully activated (not in trial or pending status)

Frequently Asked Questions (FAQ’s):

  • Q: What happens if ShipStation is down or slow during checkout?
    • A: ThriveCart automatically uses your configured fallback shipping amount after a 15-second timeout. Customers never see an error—they simply see the fallback rate and can complete their purchase. This ensures you never lose a sale due to API downtime. Once the order is placed, you can manually adjust shipping if needed before generating labels in ShipStation.
  • Q: Can I use different ShipStation products for different ThriveCart products?
    • A: Absolutely. Each ThriveCart product can be linked to a different ShipStation product. This is useful if you sell items with different sizes, weights, or carrier requirements. For example, you might use USPS Priority for small items and FedEx Ground for large, heavy items—just configure different ShipStation products with appropriate defaults.
  • Q: Does this work with ShipStation’s discounted carrier rates?
    • A: Yes! ShipStation’s dynamic rates reflect any negotiated discounts or carrier account benefits you have configured in ShipStation. If you’ve connected your own USPS Commercial Plus or FedEx account to ShipStation, those discounted rates are what customers see at checkout in ThriveCart.
  • Q: Can I test this before enabling it on my live checkout?
    • A: Yes. When your ThriveCart account is in Test Mode, you can enable dynamic shipping rates and complete test checkouts to verify that rates are calculating correctly. Use real addresses (your own address works fine, or search coffee shops in other states for accurate address/post codes to use) to see actual carrier rates. Once satisfied, switch to Live Mode to enable for real customers.
  • Q: Why does ThriveCart need my “ship from” address in Settings → Profile?
    • A: ShipStation needs both the origin (your location) and destination (customer’s address) to calculate accurate shipping rates. Carrier pricing varies significantly based on distance and shipping zones. ThriveCart uses your profile address as the “ship from” location in all ShipStation rate requests, just like ShipStation uses your “Main Shipping Address” when you manually generate labels.
  • Q: I just want orders created in Shipstation, can I not use Dynamic Shipping rates?
    • A: Absolutely! Just leave the box for Dynamic Shipping unchecked, and the amount that you enter in the shipping price setup step will show for all customers, at all times. You will then be able to purchase shipping labels within your ShipStation account directly. 
Updated on February 26, 2026
Was this article helpful?