Troubleshooting
“Test connection” fails
Section titled ““Test connection” fails”- Not authorized: open the authorization link on the Connection page as the shop owner and confirm. The authorization of a shop lasts at most 365 days and the refresh token 30 days without use.
- error_sign / Wrong sign: the partner key does not belong to the partner ID or the mode (test and live differ), or the clock of your server is more than a few minutes off (every request carries a timestamp that is valid for 5 minutes). Check for spaces around the key.
- source_ip_undeclared: declare the IP address of your server in the Console (App list > IP Address Whitelist).
- error_auth: partner_id is invalid / the App is deleted / permission restricted: the partner ID is wrong for the host (test partner IDs only work on the sandbox host) or the app was restricted in the Console.
- error_partner_key_expired: reset the Live partner key in the Console and enter the new one.
- shop_banned, error_kyc_auth: the shop is suspended or the seller has not finished registration in Seller Centre.
- error_rate_limit / error_limit: Shopee throttles the app (too many calls per minute) or the daily call limit of the app is used up (counted until 00:00 UTC+8). The job is retried by itself.
- The Log tab shows Shopee’s answer (masked).
- Your server must be able to reach Shopee over HTTPS (outgoing port 443) and have a current CA bundle.
The redirect after authorization shows an error
Section titled “The redirect after authorization shows an error”- The domain of the redirect URL must be the domain you entered as Redirect URL Domain in the Console (“The domain of redirect_uri is not consistent with the Redirect URL Domain declared in console”).
- The authorization link is valid for one hour (the legacy
auth_partnerform for 5 minutes): reload the Connection page and open it again. - The code is valid once and for 10 minutes. If the redirect cannot reach the store, copy
codeandshop_idfrom the address bar into the fallback form.
A product is not listed
Section titled “A product is not listed”The error is shown in the mapping list. The usual reasons: no category mapped or not a leaf category, a required attribute without value, no image Shopee accepts (JPG or PNG up to 10 MB), a price below the minimum of the category, a description shorter than the category’s minimum, or no enabled logistics channel with a fee the add-on can set (channels with a seller-defined fee are skipped).
A listing job stopped half way (rate limit, timeout)
Section titled “A listing job stopped half way (rate limit, timeout)”Nothing is listed twice. Every item is saved on the mapping right after Shopee created it, and before an item is created the add-on looks for its SKU on Shopee (search_item by item SKU): an item that exists, also one Shopee saved while the answer was lost, is linked instead of created again. The job is retried and goes on with the remaining products.
Stock or price is not updated
Section titled “Stock or price is not updated”- “SKU was not found on Shopee”: the item SKU on Shopee differs from the mapping SKU, or the item was deleted.
- “Item is banned”: Shopee blocked the item; see Seller Centre.
- Items with variations are matched by the model SKU; change the model SKU on Shopee to the mapping SKU.
Nothing happens after an order changes status
Section titled “Nothing happens after an order changes status”- Check Settings > General > Enable and the order status settings.
- Check the license status bar on the add-on pages.
- Open Jobs: queued jobs wait for cron. If the counts never change, the cron job is not running; run the command from the settings page by hand once.
A job is “Waiting to retry” or “Gave up”
Section titled “A job is “Waiting to retry” or “Gave up””The last error is shown in the list. Fix the cause (credentials, data, Shopee outage) and press Retry. Jobs are retried automatically after 5 minutes, 15 minutes, 1 hour, 3 hours and 12 hours before they give up.
Push (webhook) notifications are rejected
Section titled “Push (webhook) notifications are rejected”- The signature uses your partner key and the exact callback URL. Enter the URL from the Connection page in the Console unchanged (https, same host and query).
- The address must be reachable from the internet and not behind a login, an IP filter or a bot challenge.
- Shopee wants a 2xx answer with an empty body within 3 seconds; below 30% success it disables the subscription.
- Rejected events are listed in the log with the action “webhook”. Polling continues in any case.
- All events are rejected with “signature” in the log although the keys are right: the server does not pass the
Authorizationheader to PHP (Apache with PHP-FPM / CGI, common on cPanel). The add-on also reads the copy the store’s.htaccessmakes (REDIRECT_HTTP_AUTHORIZATION) and the server’s header list. If events are still rejected, make sure the store’s.htaccess(CS-Cart ships it) is in use and containsRewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}], or ask your host to pass the Authorization header to PHP.
The shipment cannot be arranged
Section titled “The shipment cannot be arranged”“Order is not ready to ship” (it was already arranged or cancelled), “no pickup address” (add a pickup address in Seller Centre), “tracking number required” (non-integrated channel: create the CS-Cart shipment with a tracking number first).
The cron address answers “Forbidden”
Section titled “The cron address answers “Forbidden””The key in the address is wrong. Copy the address again from the settings page.
Still stuck
Section titled “Still stuck”Contact us through https://cs-cart.kaviolabs.com with the add-on version, the CS-Cart version and the relevant log lines (secrets are masked automatically).