[Skip to main content](#vessel-content)

☰ Documentation

#  Shippo shipping plugin

Details    Written by: Administrator    Category: [Shipping plugins](/support/documentation/hikashop/shipping-plugins)     Published: 09 November 2026     Hits: 9

### Installation

- 1) Open a Shippo account at goshippo.com (the API plan is free for the first labels of the month, then Shippo charges a small fee per label), add a payment method for the labels in Shippo, and get your API keys in Shippo: Settings, Advanced, API. The shippo\_test\_ key buys sample labels only, to try the plugin; the shippo\_live\_ key ships for real.
- 2) In Shippo, Settings, Carriers, activate the carriers you want (Shippo's own USPS, UPS, DHL Express accounts need "Activate Account" once), or connect your own carrier accounts.
- 3) Install this plugin, then create a shipping method with it in HikaShop: System &gt; Shipping methods &gt; New, Shippo.
- 4) Paste the API key, fill the sender address and save: the connection line turns green and the services of your account fill the list. Choose the services, the price and publish the method.
- 5) Copy the notification address shown in the method's settings into Shippo: Settings, Webhooks, Add webhook, event track\_updated (once in test mode, once in live mode). Shippo then tells the shop when a parcel moves.
- 6) Set up the HikaShop cron (System &gt; Configuration &gt; Cron): it reads the tracking every hour when Shippo's notifications cannot reach the shop.
- 7) For international parcels, give your products their weight, add product custom fields for the HS code, the country of origin and the manufacturer code if you need them, and name them in the method's customs settings.

### Configuration

These are the settings of the Shippo shipping method (System &gt; Shipping methods).

- **Shippo API key**: the test key (shippo\_test\_...) to try, the live key (shippo\_live\_...) to ship (step 1).
- **Connection**: after saving, says whether Shippo accepts the key, in test mode (sample labels) or live mode, with the carriers of your account.
- **Services offered**: the carrier services shown at checkout, chosen in the list of your account (hold Ctrl, or Cmd on a Mac, to choose several). None chosen: every service Shippo answers for the address.
- **Price of the method**: "Shippo's rate per service" shows each service at Shippo's price for the cart (without tax: set the method's tax category for HikaShop to add it); "HikaShop price" shows the method once, at the price settings of the method, and the label takes the cheapest service you offer.
- **Markup (%)** and **Markup (amount)**: shown with "Shippo's rate per service" only. Added to Shippo's rate, the percentage first, the amount in the cart's currency. A negative amount gives a discount. Empty: Shippo's price as it is.
- **Round up to**: rounds the price up to the next 0.10, 0.50 or 1.00.
- **Show the delivery days**: shown with "Shippo's rate per service" only. Adds Shippo's estimated delivery days to each service's name.
- **Check the address with Shippo**: at checkout, Shippo checks the shipping address (United States addresses) and a note under the rates asks the customer to check it when Shippo cannot find it, or shows Shippo's correction. The order is never blocked. Off by default.
- **Weight unit sent to Shippo** and **Size unit sent to Shippo**: pounds and inches, or kilograms and centimetres; the products' units are converted.
- **Default parcel: Weight, Length, Width, Height**: in the units above, the parcel used when the products of the cart have no weight or no dimensions. Empty: 2.2 lb in 12 x 8 x 6 in (1 kg in 30 x 20 x 15 cm). Give your products their weight and dimensions for the best rates.
- **Sender address**: name, company, street, city, state (two letters in the United States and Canada), postcode, country (two letters: US, CA, GB...), phone and e-mail of the place your parcels leave from, printed on the labels. Carriers check it: give a real address. Empty company: your shop's name.
- **Buy the label when the order is**: the status at which the plugin buys the label, "confirmed" by default. "Never" leaves it to the "Buy the label" button of the order page.
- **Label format**: 4 x 6 in for a label printer, letter or A4 for an office printer, A6, PNG or ZPL II.
- **Notification address**: the address to copy into Shippo's webhooks (step 5). It carries a secret of your shop; the plugin reads every notification back from Shippo before changing an order.
- **Order status when shipped**: given to the order when Shippo reports the parcel in transit, "shipped" by default. "Unchanged" to keep moving your orders yourself.
- **Order status when delivered**: given when Shippo reports the parcel delivered; unchanged by default.
- **Tell the customer when the status changes**: sends HikaShop's status e-mail, with the tracking link, when the plugin moves the order.
- **Contents**: what the customs declaration says the parcel is, merchandise (a sale) by default, or a gift, a sample, documents.
- **Duties and taxes paid by**: the customer (DDU, by default) or your shop (DDP, billed to you by the carrier, when it offers it).
- **If the parcel cannot be delivered**: returned to you, or abandoned.
- **Signed by**: the name certifying the customs declaration. Empty: the sender's name.
- **Export code (from the US)**: the EEL or PFC code of exports from the United States, NOEEI\_30\_37\_a (no export declaration, under 2,500 USD per tariff number) when empty.
- **Product field of the HS code**, **Product field of the country of origin** and **Product field of the manufacturer code**: the column names of the product custom fields that hold them (a variant takes its main product's). **Default HS code** and **Default country of origin** give the value for the products that have none; without an origin, your sender country. The product code of each product is sent as its SKU.
- **Debug**: off by default; writes the plugin's calls to Shippo to the HikaShop log file.

[![The settings of a Shippo shipping method: the key, the connection line, the services of the account and the price](/images/doc/plugins/shippo/shippo_settings.png)](/images/doc/plugins/shippo/shippo_settings.png)

### Troubleshooting

- "Shippo refused the key": check the API key, copied whole from Shippo, Settings, Advanced, API.
- The method does not show at checkout: check that it is published and its restrictions (zone, weight, price). With Shippo's rates it only shows once the customer has a shipping address, and only the services Shippo answers for it. Turn Debug on to see Shippo's answers, and its reasons ("doesn't support one or more shipment options", "out of service area"), in the HikaShop log.
- "Shippo did not give the label": Shippo's and the carrier's reason follows, and stays on the order page with the button to try again. "Recipient address invalid": correct the order's shipping address. "The account is not yet registered, Activate Account": activate that carrier in Shippo, Settings, Carriers.
- "Shippo has no rate for the service ... for this parcel": that service does not serve the address or the parcel any more; change the order's shipping method or offer another service.
- "... has no product code or no manufacturer code": EU customs require both for merchandise sent from outside the EU to a consumer in the EU; fill the products' code and the manufacturer code field.
- "Shippo did not void the label": a label already scanned by the carrier or too old cannot be refunded.
- Test mode: Shippo only tracks its own test numbers, so the tracking of a sample label is not read ("not a valid test tracking carrier").
- The tracking does not come back: check the notification address in Shippo's webhooks and that the HikaShop cron runs, or use the "Refresh" button of the order.
- Shippo answers "too many requests": Shippo limits the calls per minute, much lower in test mode; the rates are kept an hour so that it rarely happens at checkout.
