Configuration
1. Endpoint credentials (CS-Cart)
Section titled “1. Endpoint credentials (CS-Cart)”Open Orders > ShipStation > Connection.
- URL to custom XML page: the address ShipStation calls, for example
https://shop.example/index.php?dispatch=kv_shipstation.endpoint&c=0. Copy it as shown. - Click Generate new credentials. The username and a 24-character password are shown once; copy both. Or type your own username (4 to 64 characters) and password (12 to 128 characters) and click Save.
- The password is stored encrypted and is never shown again. To change it, type a new one or generate new credentials (ShipStation then needs the new ones too).
- Status Disabled stops this ShipStation store from importing (and from sending notices) without deleting the credentials.
Which store you are setting up:
| Edition | Stores |
|---|---|
| CS-Cart (Ultimate) | one per storefront; choose the storefront at the top of the admin. c= is the storefront id and the URL is on that storefront’s own address: use exactly the URL shown for each storefront. |
| Multi-Vendor, owner mode on (default) | one for the whole marketplace (c=0), receives every vendor order. |
| Multi-Vendor, owner mode off | each vendor sets up their own under Orders > ShipStation > Connection in the vendor panel (c= = vendor id). Orders of vendors without their own store still go to the marketplace store (c=0). |
2. Order status map (CS-Cart)
Section titled “2. Order status map (CS-Cart)”On the same page, choose a ShipStation group for every order status (one map for the whole store; only administrators of the whole store see it). The add-on sends one of these five words as the order status:
| Group in ShipStation | Word sent | Default CS-Cart statuses |
|---|---|---|
| Awaiting payment (Unpaid Status) | unpaid |
Open |
| Awaiting shipment (Paid Status) | paid |
Processed |
| Shipped (Shipped Status) | shipped |
Complete |
| Cancelled (Cancelled Status) | cancelled |
Failed, Declined, Cancelled |
| On hold (On-Hold Status) | on_hold |
Backordered, Awaiting call |
| not sent | - | Incomplete and every custom status until you choose a group |
If your store uses Complete for “paid, not shipped yet”, map Complete to paid.
3. Custom Store (ShipStation)
Section titled “3. Custom Store (ShipStation)”- In ShipStation open Account Settings, then Selling Channels > Store Setup, and click Connect a Store or Marketplace.
- Choose Custom Store.
- Paste the endpoint URL into URL to custom XML page and enter the username and password from CS-Cart.
- Type the words exactly as shown (they are case-sensitive): Unpaid Status
unpaid, Paid Statuspaid, Shipped Statusshipped, Cancelled Statuscancelled, On-Hold Statuson_hold. - Click Test Connection, then Connect.
- Import orders with Update Stores in ShipStation, or turn on automatic store updates there. ShipStation decides how often it imports.
Multi-Vendor with owner mode off: each vendor adds their own Custom Store in their own ShipStation account.
4. Add-on settings
Section titled “4. Add-on settings”Add-ons > Manage add-ons > ShipStation Connector > Settings:
| Setting | Default | Meaning |
|---|---|---|
| Enable | on | Off: ShipStation can no longer import orders. Shipment notices for labels that already exist are still applied. |
| Marketplace owner mode | on | Multi-Vendor only, see the table in section 1. |
| Order status when all items are shipped | Complete | Set when the last unshipped items are reported. “Do not change” keeps the status. Orders that are cancelled, declined, failed, in a status that returns stock (e.g. a custom Refunded) or in a status mapped to cancelled are never changed. |
| Order status when some items are shipped | Do not change | For partial shipments, e.g. a custom “Partly shipped” status. |
| Shipment e-mail from CS-Cart | Automatic | ShipStation can e-mail the customer itself. Automatic sends CS-Cart’s shipment and status e-mails only when ShipStation’s notice says NotifyCustomer = true; Always / Never override it. |
| Orders per import page | 100 | 10 to 500. Lower it if the import times out on a slow server. |
| Import window overlap (hours) | 12 | Added before the start of each import window so no order is missed when clocks or time zones differ. Orders sent twice are just updated in ShipStation. |
| Tracking URLs | empty | Extra or replacement tracking links, one per line: code = https://carrier.example/track?n={tracking}. A family name from Developer notes (e.g. royal_mail) replaces that family’s link; any other ShipStation carrier code (e.g. my_courier, aramex_au_walleted) adds a carrier with its own link, up to 10. Keep the order of the lines and add new ones at the end. Only https:// links are accepted. The link appears on the order pages and in CS-Cart’s shipment e-mail. |
| Debug log | off | Also logs empty imports. |
| Log retention (days) | 90 | Older log lines are removed by the cron run. |
A shipment notice that cannot be applied at once (for example while someone edits the order) is stored and retried. Run the queue every 5 to 15 minutes with the console command or the secret URL shown under Settings > Cron:
php /path/to/store/admin.php --dispatch=kv_shipstation.cronWithout cron, use Orders > ShipStation > Retry queue > Run now, or Apply again on the order’s ShipStation tab.