Tracking & analytics11 min readUpdated October 14, 2026

Ecommerce Shipping Integration: Where Shipping Meets Checkout

How an ecommerce shipping integration works: live rates at checkout, labels, tracking, when to capture payment, and the tracking that wins disputes.

Article summary

TL;DR

An ecommerce shipping integration connects your store to carriers or shipping software: it quotes rates at checkout, sends orders out for labels and brings tracking back to the order. You add one through your platform's settings, a shipping app or a carrier API. On the payment side, capture when the order ships and keep tracking with the full delivery address.

  • A shipping integration moves data both ways: orders out to the label tool, tracking numbers back to the order and the customer.
  • Three ways in: your platform's built-in shipping, a shipping app that imports orders, or a carrier or multi-carrier API.
  • Live rates make the total depend on the address. If the rate call fails, the checkout needs a fallback, or the buyer can't pay.
  • Visa's rules say not to deposit a sale until the goods ship, unless the buyer paid in advance. A card authorization usually lasts 7 days.
  • For a Visa 'not received' dispute, proof of delivery must show the full delivery address. Tracking with a partial address isn't accepted.
Want to go further? AskChatGPTClaudePerplexityGrok
On this page

A shipping integration is the link between the order a customer pays for and the parcel a carrier delivers. Most guides stop at labels and carrier APIs. This one also covers the points where shipping touches the checkout and the payment: the rate the buyer sees, the moment you capture the money, and the tracking you'll need if the customer says the package never came.

What is an ecommerce shipping integration?

An ecommerce shipping integration connects your store or order management system to carriers, directly or through shipping software. Data moves in both directions. The order goes out with its address, weight and service level. The rate, the label and the tracking number come back, and delivery events keep coming back until the parcel arrives.

Fig. 1One order, out and back

approved declined or closed routing step

  1. CheckoutAddress, shipping method, payment
  2. createsOrderYour store or order management system
  3. sends the orderShipping softwareRates, label, carrier choice
  4. buys the labelCarrierPickup, tracking events, deliveryApproved

the tracking number has to come back to the order

Illustrative example.

The first leg starts before payment: if you show live rates, the checkout asks the carrier, or your shipping software, for a price while the buyer is still typing. The last leg ends after delivery: the tracking number and the "delivered" event get written back to the order, where your notifications, your support team and, if it comes to that, your dispute response will look for them. The order record in the middle is what an order management system keeps; see our guide to order management.

What a shipping integration does

Every integration does some mix of the jobs below. "Shipping data integration" usually means the last three: getting order, tracking and stock data to stay the same in every system.

JobWhen it runsWho sees itWhat breaks without it
Rate quoteAt checkout, once the address is completeThe buyerFlat rates that over- or undercharge
Address checkAt checkout or before the labelThe buyer, then your teamReturned parcels, "not received" claims
Label and carrier choiceAfter the order is placedYour team or warehouseManual copy-paste into carrier sites
Tracking syncWhen the label is bought, then at each carrier eventThe buyer, support"Where is my order?" tickets, weak dispute evidence
Order statusWhen the parcel shipsYour store, your payment flowOrders stuck as unfulfilled, payments never captured
Stock updateWhen orders are placed or shippedYour storeOverselling
ReturnsWhen the customer asksThe buyer, your teamRefunds issued before the item comes back

An order that sits as "unfulfilled" after the label is bought is usually a sync problem, not a warehouse problem. Our article on what pending fulfillment means covers that status.

How to integrate shipping into your website

There are three routes. The right one depends on the platform you run, not on which tool is "best."

RouteWhat you getExamples, from the vendors' own pages
Your platform's built-in shippingFlat, free or calculated rates at checkout; labels from the admin on some platformsOn Shopify, you buy labels in the admin and they pass tracking to customers automatically; eligibility varies by carrier and country.13Shopify Help Center, Shipping labels WooCommerce core has three methods: flat rate, free shipping and local pickup; anything else comes from an extension or custom code.12WooCommerce Docs, Setting up shipping zones
A shipping app or platformOrders imported from your store and marketplaces, rates compared, labels in batches, tracking sent backShipStation centralizes orders from stores and marketplaces, including Shopify, WooCommerce, BigCommerce, Wix, Amazon and eBay.14ShipStation, Integrations
A carrier or multi-carrier APIRates, labels and tracking inside your own codeAt EasyPost, a shipment holds the addresses and the parcel, returns rates, and buying a rate returns a tracking code.15EasyPost Docs, Shipments
  1. List what you ship. Carriers, services (standard, express), countries, and the weights and box sizes you actually use.
  2. Pick where rates come from. Flat rates in your platform, or live rates from a carrier account or an app. Live rates need accurate weights and dimensions on every product.
  3. Connect the carrier accounts. In your platform, your shipping app, or through API keys in a test environment first.
  4. Map the order flow back. Check that a bought label marks the order as shipped and writes the tracking number on it.
  5. Turn on notifications. Shipping confirmation with the tracking link, and a delay notice when a date slips.
  6. Set a fallback rate. If the rate service is down, checkout must still show a price.

Whatever the route, test with your real carrier accounts before switching it on at checkout.

Live shipping rates at checkout

Shipping cost is where checkouts lose buyers. In Baymard Institute's survey, extra costs were the top reason US shoppers abandoned a checkout, ahead of slow delivery.4Baymard Institute, Cart abandonment rate statistics (updated September 22, 2025)

  1. Extra costs too high (shipping, tax, fees)40%
  2. Delivery was too slow20%
  3. Couldn't see the total cost up front12%

Source: Baymard Institute, US shoppers who abandoned for a reason other than just browsing, page updated September 22, 2025

Live rates fix the "total not visible" part, but they make the total depend on the address, and they add a network call in the middle of the checkout. How the main platforms handle it:

  • Shopify: carrier-calculated shipping is available on the Advanced and Plus plans; Grow stores can add it for an extra monthly fee or by switching to annual billing. You connect your own UPS, FedEx, USPS, Canada Post or Australia Post account, and Shopify asks the carrier for a price based on weight, dimensions and destination.1Shopify Help Center, Third-party carrier-calculated shipping (read October 14, 2026) If every calculated rate fails and no other rate applies, Shopify shows your backup rates so the buyer can still check out. Any other eligible rate, such as a flat rate, shows first.2Shopify Help Center, Backup rates (read October 14, 2026)
  • Stripe Checkout: the full hosted page can't recalculate shipping options from the address. The embedded form can: your server calculates the options and updates the Checkout Session. The client call times out after 20 seconds, the form shows no loading indicator, shipping rates aren't available in subscription mode, and Apple Pay and Google Pay collect the address themselves, outside that flow.3Stripe Docs, Dynamically customize shipping options (embedded form)

We cover the layout side, refreshing rates on a single page, in one-page vs multi-step checkout. The signals below are what to watch once live rates are on.

  1. Checkout shows no shipping optionThe rate call failed and there's no fallbackAdd a flat or backup rate
  2. Rates appear several seconds after the addressSlow carrier or app response, no loading stateCache rates by zone and weight, keep the call short
  3. Total changes after the buyer edits the addressExpected with live ratesRecalculate before the Pay button is active
  4. Subscription orders ship with no shipping chargeStripe Checkout has no shipping rates in subscription modePrice shipping into the plan or add it as a line item

Inside Tagada

Build the funnel once, route every customer to the right offer

Checkout, upsells and subscriptions on one flow, with conditions per country, order or customer.

Start free

Charge at checkout or when the order ships?

Shipping changes when you should take the money. Visa's rules set the order of events for merchants:

Not submit a Deposit for a Transaction until one of the following occurs: The Transaction is completed. The merchandise or services are shipped or provided.

Visa Core Rules and Visa Product and Service Rules, April 18, 2026, section 1.5.6.1, Table 1-10

The exception is an advance payment the buyer agreed to.5Visa Core Rules and Visa Product and Service Rules, April 18, 2026 The usual way to follow the rule is to authorize at checkout, which holds the funds, and capture when the label is bought or the parcel leaves. The catch is that an authorization hold doesn't last long.

Card brandOnline payment started by the customerOnline payment started by the merchant
Visa7 days5 days (exactly 4 days and 18 hours)
Mastercard7 days7 days
American Express7 days7 days
Discover7 days7 days

Authorization validity windows at Stripe for card-not-present payments.6Stripe Docs, Place a hold on a payment method

If the authorization expires before you capture, the funds are released and the payment is canceled.6Stripe Docs, Place a hold on a payment method So the shipping integration has to tell the payment side that the order shipped, or someone has to capture by hand.

Fig. 2Authorize now, capture when it ships

  1. CheckoutCard authorized, funds held
  2. Label boughtTracking number written on the order
  3. CaptureFull amount, or only what shipped
  4. Day 7Uncaptured authorization expires and is canceled

the window is usually 7 days online

Based on Stripe Docs, Place a hold on a payment method. Illustrative sequence.

Three cases to plan for:

How holds show on a customer's statement, and why some buyers think they were charged twice, is in our guide to pre-authorization holds.

Tracking numbers as chargeback evidence

When a customer tells their bank the parcel never came, the tracking data your integration stored becomes your defense. Under Visa dispute condition 13.1 (merchandise not received), the merchant can answer with proof that the cardholder received the goods at the agreed location or by the agreed date, and Visa is specific about what counts:

For merchandise that was delivered, proof of delivery that contains the full delivery address (tracking with partial address is not permitted).

Visa Core Rules and Visa Product and Service Rules, April 18, 2026, Table 11-94

Other rules in the same section that shipping data decides:5Visa Core Rules and Visa Product and Service Rules, April 18, 2026

  • The dispute amount is limited to the part of the order that wasn't received. Tracking per parcel matters on split shipments.
  • The merchant is responsible for goods held by customs in the merchant's country. Goods held by customs in the cardholder's country make the dispute invalid.
  • A buyer who cancelled before the expected delivery date, out of buyer's remorse, can't use this reason.
  • If no delivery date was given, the bank waits 15 days from the transaction date. The dispute must be filed within 120 days of processing or of the last expected delivery date, and never later than 540 days.
  • For dispute responses processed from April 18, 2026, when the merchant sends proof of delivery, the bank must confirm it reviewed it with the cardholder and address it, for example a photo or a signature.

What to keep for every shipment, mapped to the evidence fields Stripe asks for:7Stripe Docs, Dispute reason code categories (Product not received)

Keep thisWhyStripe evidence field
The address the customer enteredMust match an address checked with AVS, or a business linked to the cardholdershipping_address
Label or shipment receipt showing the full addressProves where you sent itshipping_documentation
Ship dateShows you shipped on timeshipping_date
Carrier nameSeveral carriers per order are allowedshipping_carrier
Tracking numberStripe expands it into carrier delivery details in your evidence fileshipping_tracking_number
Signature, for high-value ordersStripe suggests requiring onecustomer_signature
Emails with the customer about the deliveryShows whether they contacted you firstcustomer_communication

PayPal has its own rules for Seller Protection. Proof of delivery is carrier documentation with an online, verifiable tracking number, the delivery date and a "delivered" status, and a recipient address that matches the Transaction Details page, showing at least the city and state or the zip code.16PayPal, Seller Protection Program That's looser than Visa's full-address rule, so store the full address anyway. The parcel must go to the address on the Transaction Details page; a parcel later redirected to another address loses eligibility, which is why PayPal advises against shipping services arranged by the buyer.16PayPal, Seller Protection Program For transactions processed before January 26, 2026 and over $750, a signature was required; PayPal now recommends it without requiring it.8PayPal Help Center, How do I prove that I've sent an item to the buyer? And when a buyer who paid by card disputes through their card issuer rather than PayPal, Seller Protection no longer covers "item not received" for transactions received after January 16, 2024.9PayPal Help Center, Does Seller Protection include Item Not Received chargebacks from buyers?

Practical rule

Never ship to an address the buyer gives you after checkout by email or chat. Change the order address, or cancel and let them order again. Your proof of delivery has to match the address on the payment.

How to write the response itself is in our chargeback rebuttal letter template. How to keep "not received" disputes from being filed at all is in our guide to chargeback prevention.

Shipping notifications and the FTC 30-day rule

In the US, the date you promise at checkout is a legal commitment. The FTC's Mail, Internet, or Telephone Order Merchandise Rule (16 CFR Part 435) applies to orders placed online:10FTC, Business Guide to the Mail, Internet, or Telephone Order Merchandise Rule1116 CFR Part 435, Mail, Internet, or Telephone Order Merchandise (sections 435.1 and 435.2)

  1. The promise

    You need a reasonable basis to ship within the time you state. With no time stated, that's 30 days from a complete order, or 50 days if the buyer applies for credit with you to pay.

  2. The delay notice

    If you can't ship on time, you must offer the buyer, without being asked, the choice to accept the delay or cancel for a prompt refund. The first notice gives a definite new date.

  3. Silence

    If the new date is 30 days or less past the original one, no answer counts as consent. Beyond that, the order is cancelled unless the buyer agrees or you ship within those 30 days.

  4. Shipped means handed over

    "Shipment" is the moment the goods are in the carrier's possession, not when the label is printed.

The FTC can seek civil penalties of up to $53,088 per violation (inflation update of January 2025).10FTC, Business Guide to the Mail, Internet, or Telephone Order Merchandise Rule Stripe's own advice for avoiding "not received" disputes points the same way: estimate shipping and delivery dates as accurately as you can, and tell the customer when a delay comes up.7Stripe Docs, Dispute reason code categories (Product not received)

So the integration should send three messages from real carrier events, not from the checkout: a shipping confirmation with the tracking link when the label is bought, a delay notice when a date slips, and a delivery confirmation. Our guide to payment confirmation emails covers the order and receipt emails that come before them.

Before you switch it on

  1. Break the rate call. Disable the carrier connection and check that checkout still shows a price.
  2. Change the address mid-checkout. The rate and the total must update before payment.
  3. Pay with a wallet. Apple Pay and Google Pay pass their own address; check it lands on the order and the label.
  4. Buy a label. The order should switch to shipped, store the tracking number, and trigger the payment capture if you authorize first.
  5. Ship part of an order. Check the capture amount and that each parcel has its own tracking number.
  6. Let an authorization age. Make sure an order waiting past day 7 is flagged, not silently canceled.

Run these with real addresses and real carrier accounts in test mode.

Where Tagada fits

How Tagada helps

The checkout and payment side of the order

Tagada isn't a shipping tool: it runs the checkout and the payments that your shipping integration hangs off. Its checkout supports one-click upsells, order bumps, A/B tests, Apple Pay and Google Pay, and it runs standalone or with Shopify, WooCommerce or a headless store. Payments route across Stripe, Adyen and TagadaPay with one logic, with a cascade on decline. See pricing for plans. Tagada follows Visa and Mastercard rules and the laws that apply to payments.

For the full order of events from cart to confirmation, see our checkout flow guide, and for the shipping-cost side of abandonment, how to reduce cart abandonment.

Nick Bonnassies

CMO at Tagada

CMO at Tagada. Before Tagada, Nick built direct-to-consumer brands that generated over $115M in sales, raised over $25M in crowdfunding and sold two of them. He also works as a fractional CMO on marketing operations and AI systems.

Frequently asked questions

What is an ecommerce shipping integration?

A connection between your store, or your order management system, and one or more carriers or a shipping platform. It sends order and address data out to quote rates and buy labels, and brings tracking numbers and delivery status back to the order, so the customer gets notified and support can see where the package is.

How do I integrate shipping into my website?

Start with your platform. Shopify and WooCommerce have built-in shipping settings, and Shopify can show carrier-calculated rates on some plans. If you need more carriers or batch labels, connect a shipping app that imports your orders. On a custom site, call a carrier or multi-carrier API to get rates, buy labels and track parcels.

Does Shopify calculate shipping rates at checkout?

Yes, with carrier-calculated shipping. Shopify says it's available on the Advanced and Plus plans, and Grow stores can add it for an extra monthly fee or by switching to annual billing. You connect your own UPS, FedEx, USPS, Canada Post or Australia Post account, and rates come from weight, dimensions and destination.

Should I charge the card at checkout or when the order ships?

Visa's rules tell merchants not to deposit a sale until it's completed or the goods have shipped, unless the buyer made an advance payment. In practice, authorize at checkout and capture when the order ships. At Stripe, an online card authorization usually lasts 7 days, so longer lead times need a new authorization or an extended hold.

Is a tracking number enough to win a 'not received' chargeback?

Not on its own. For Visa dispute condition 13.1, the merchant's proof of delivery must contain the full delivery address, and tracking with a partial address isn't permitted. Add the shipping date, carrier, label, the address the customer entered and any customer messages. For high-value orders, Stripe suggests requiring a signature.

How long do I have to ship an online order in the US?

Under the FTC's Mail, Internet, or Telephone Order Merchandise Rule, you must have a reasonable basis to ship within the time you state. With no stated time, that's 30 days, or 50 days if the buyer applies for credit with you. If you can't, you must offer the buyer the choice to accept the delay or cancel for a prompt refund.

Sources

Checked October 14, 2026
  1. Shopify Help Center, Third-party carrier-calculated shipping (read October 14, 2026)
  2. Shopify Help Center, Backup rates (read October 14, 2026)
  3. Stripe Docs, Dynamically customize shipping options (embedded form)
  4. Baymard Institute, Cart abandonment rate statistics (updated September 22, 2025)
  5. Visa Core Rules and Visa Product and Service Rules, April 18, 2026
  6. Stripe Docs, Place a hold on a payment method
  7. Stripe Docs, Dispute reason code categories (Product not received)
  8. PayPal Help Center, How do I prove that I've sent an item to the buyer?
  9. PayPal Help Center, Does Seller Protection include Item Not Received chargebacks from buyers?
  10. FTC, Business Guide to the Mail, Internet, or Telephone Order Merchandise Rule
  11. 16 CFR Part 435, Mail, Internet, or Telephone Order Merchandise (sections 435.1 and 435.2)
  12. WooCommerce Docs, Setting up shipping zones
  13. Shopify Help Center, Shipping labels
  14. ShipStation, Integrations
  15. EasyPost Docs, Shipments
  16. PayPal, Seller Protection Program

Tagada

Your checkout and payments, ready for whatever ships next

Funnels, one-click upsells, subscription billing and payment routing, on one customer record.

  1. 01Create your free account
  2. 02Connect your store or build a checkout
  3. 03Launch funnels, upsells and subscriptions