{"id":39342,"date":"2026-03-19T23:57:54","date_gmt":"2026-03-19T13:57:54","guid":{"rendered":"https:\/\/ebaoguo.com\/kb\/%e4%b8%ad%e5%9b%bd%e4%bb%93%e5%ba%93%e9%80%80%e8%b4%a7%e6%8c%87%e5%8d%97\/"},"modified":"2026-07-22T09:28:40","modified_gmt":"2026-07-22T07:28:40","password":"","slug":"china-warehouse-return","status":"publish","type":"docs","link":"https:\/\/ebaoguo.com\/en\/kb\/china-warehouse-return\/","title":{"rendered":"China Warehouse Return Guide | Process, Fees &#038; Timeline"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/images.unsplash.com\/photo-1586528116311-ad8dd3c8310d?w=1200&#038;auto=format&#038;fit=crop&#038;q=80\" alt=\"China warehouse return guide \u2014 person taping up a moving box\" loading=\"eager\" \/><\/figure>\n\n\n\n<p class=\"ebg-last-updated\" style=\"margin-top:8px;padding-top:12px;border-top:1px solid #e5e7eb;color:#6b7280;font-size:13px;text-align:right\"><small>This guide was last updated: <time datetime=\"2026-05-13\">May 13, 2026<\/time><\/small><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Yes \u2014 you can return a package sitting in your China warehouse without flying home.<\/strong> The wrong size arrived, the item is faulty, or the seller simply shipped the wrong thing, and you&#8217;re overseas with no way to walk it into a courier branch yourself. This <strong>China warehouse return guide<\/strong> covers who&#8217;s allowed to return what, what the rules actually say, how Ebaoguo handles the return for you remotely, and where people usually get stuck.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Quick overview: China warehouse return guide<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Start here to see which return path fits your situation.<\/p>\n\n\n\n<div style=\"overflow-x:auto;margin:18px 0\"><table style=\"width:100%;border-collapse:collapse\"><thead><tr style=\"background:#dbeafe\"><th style=\"padding:10px 12px;text-align:left;border:1px solid #bfdbfe;font-weight:600\">Dimension<\/th><th style=\"padding:10px 12px;text-align:left;border:1px solid #bfdbfe;font-weight:600\">Return directly to the seller (you have a contact in China)<\/th><th style=\"padding:10px 12px;text-align:left;border:1px solid #bfdbfe;font-weight:600\">Return via your Ebaoguo warehouse (you&#039;re overseas)<\/th><\/tr><\/thead><tbody><tr style=\"background:#fff\"><td style=\"padding:8px 12px;border:1px solid #e2e8f0;font-size:14px\">Best for<\/td><td style=\"padding:8px 12px;border:1px solid #e2e8f0;font-size:14px\">Seller&#039;s return address is in China and someone can act for you<\/td><td style=\"padding:8px 12px;border:1px solid #e2e8f0;font-size:14px\">Your parcel is already at the Ebaoguo warehouse and needs remote handling<\/td><\/tr><tr style=\"background:#f8fafc\"><td style=\"padding:8px 12px;border:1px solid #e2e8f0;font-size:14px\">Return shipping cost<\/td><td style=\"padding:8px 12px;border:1px solid #e2e8f0;font-size:14px\">Depends on seller policy and platform rules<\/td><td style=\"padding:8px 12px;border:1px solid #e2e8f0;font-size:14px\">You pay the domestic courier fee<\/td><\/tr><tr style=\"background:#fff\"><td style=\"padding:8px 12px;border:1px solid #e2e8f0;font-size:14px\">Effort required<\/td><td style=\"padding:8px 12px;border:1px solid #e2e8f0;font-size:14px\">You contact the courier yourself or ask someone to<\/td><td style=\"padding:8px 12px;border:1px solid #e2e8f0;font-size:14px\">Ebaoguo arranges the domestic courier pickup for you<\/td><\/tr><tr style=\"background:#f8fafc\"><td style=\"padding:8px 12px;border:1px solid #e2e8f0;font-size:14px\">Proof of return<\/td><td style=\"padding:8px 12px;border:1px solid #e2e8f0;font-size:14px\">Courier tracking number<\/td><td style=\"padding:8px 12px;border:1px solid #e2e8f0;font-size:14px\">Ebaoguo activity log + tracking number + photo record<\/td><\/tr><tr style=\"background:#fff\"><td style=\"padding:8px 12px;border:1px solid #e2e8f0;font-size:14px\">Turnaround<\/td><td style=\"padding:8px 12px;border:1px solid #e2e8f0;font-size:14px\">Depends on the courier<\/td><td style=\"padding:8px 12px;border:1px solid #e2e8f0;font-size:14px\">Usually 1\u20133 business days for the domestic leg<\/td><\/tr><tr style=\"background:#f8fafc\"><td style=\"padding:8px 12px;border:1px solid #e2e8f0;font-size:14px\">Best suited for<\/td><td style=\"padding:8px 12px;border:1px solid #e2e8f0;font-size:14px\">Anyone with a contact in China (or based there themselves)<\/td><td style=\"padding:8px 12px;border:1px solid #e2e8f0;font-size:14px\">Anyone living overseas who can&#039;t handle it in person<\/td><\/tr><\/tbody><\/table><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">The short version: once your item is at the Ebaoguo China warehouse, the whole return can be handled remotely through your account \u2014 no flight home, no finding someone to do it for you.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The rules: official customs and platform policy<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Two sets of rules apply to a return: China Customs&#8217; regulations on goods leaving the country again, and each marketplace&#8217;s own return policy. You need both, or the process stalls halfway through.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">China Customs: the basic framework for returned goods<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Sending a parcel back out of China after it has entered the country counts, at the customs level, as &#8220;re-export of imported goods.&#8221; Personal items and commercial shipments are handled differently.<\/p>\n\n\n\n<div class=\"ebg-2col\" style=\"display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0\">\n<div class=\"ebg-2col__left\">\n<strong>Personal items<\/strong><br><br>\nThese normally go back out through the same channel they came in on \u2014 post or international courier \u2014 with no separate customs declaration needed. Keep on hand:<br><br>\n\u2022 The original inbound courier waybill<br>\n\u2022 Proof of purchase (order screenshot, invoice)<br>\n\u2022 A reason for the return (some couriers ask for this)<br><br>\nIn practice, small personal-item returns move through the international courier channel without extra customs holds, as long as the declared contents on the parcel are accurate.\n<\/div>\n<div class=\"ebg-2col__right\">\n<strong>Commercial shipments<\/strong><br><br>\nThese need a formal customs declaration, with more documentation required:<br><br>\n\u2022 The original import declaration<br>\n\u2022 A written reason for the return<br>\n\u2022 A return agreement or correspondence between buyer and seller<br>\n\u2022 If import duty was already paid, a refund can be requested, though the process is slower and more involved<br><br>\nFor bulk purchases (large 1688 orders, for example), talk to a freight forwarder or customs broker before shipping the return \u2014 an incomplete declaration can get the goods held up.\n<\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Special oversight for cross-border e-commerce returns<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">China&#8217;s General Administration of Customs runs a dedicated oversight regime for cross-border e-commerce returns. Major platforms like Tmall Global and JD Worldwide are already plugged into this system, so the process is fairly standardized \u2014 the platform auto-generates the return declaration data and you don&#8217;t need to file anything with customs yourself. If you bought through an unofficial channel instead (a personal shopper, a reseller on social media), that system doesn&#8217;t cover you, and you&#8217;ll need to sort out the declaration side yourself.<\/p>\n\n\n\n<div class=\"ebg-callout ebg-callout--legal\" style=\"background:#fefce8;border-left:4px solid #ca8a04;padding:14px 18px;border-radius:0 8px 8px 0;margin:18px 0;line-height:1.7;font-size:14.5px\"><strong style=\"display:block;margin-bottom:6px;color:#ca8a04\"><svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"display:inline-block;vertical-align:-3px;margin-right:6px\"><path d=\"M16 16l3-8 3 8\"\/><path d=\"M2 16l3-8 3 8\"\/><path d=\"M7 21h10\"\/><path d=\"M12 3v18\"\/><\/svg>\ufe0f Official sources<\/strong>\nThis section is based on the following official channels. Rules change, so check the current version before acting on it:<br><br>\n\u2022 China Customs (General Administration): <a href=\"http:\/\/www.customs.gov.cn\/\" target=\"_blank\" rel=\"noopener nofollow\">www.customs.gov.cn<\/a><br>\n\u2022 Customs&#8217; cross-border e-commerce oversight section: <a href=\"http:\/\/www.customs.gov.cn\/customs\/302249\/302266\/302267\/index.html\" target=\"_blank\" rel=\"noopener nofollow\">customs.gov.cn \u2014 cross-border e-commerce<\/a><br>\n\u2022 Customs English-language site: <a href=\"http:\/\/english.customs.gov.cn\/\" target=\"_blank\" rel=\"noopener nofollow\">english.customs.gov.cn<\/a><br>\n\u2022 State Taxation Administration (for duty refunds): <a href=\"https:\/\/www.chinatax.gov.cn\/\" target=\"_blank\" rel=\"noopener nofollow\">www.chinatax.gov.cn<\/a>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\">What the major platforms&#8217; return policies say<\/h3>\n\n\n\n<div class=\"ebg-2col\" style=\"display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0\">\n<div class=\"ebg-2col__left\">\n<strong>Taobao \/ Tmall<\/strong><br>\n\u2022 7-day no-reason return applies (excludes custom-made items, perishables, and a few other categories)<br>\n\u2022 The seller provides the return address \u2014 usually somewhere in China<br>\n\u2022 Return-shipping insurance covers the courier fee if you bought it; otherwise the buyer pays<br>\n\u2022 Refunds land 1\u20137 business days after the seller confirms receipt<br>\n\u2022 Official policy: <a href=\"https:\/\/rule.taobao.com\/rule\/detail.htm?ruleId=5\" target=\"_blank\" rel=\"noopener nofollow\">Taobao return rules<\/a><br><br>\n<strong>JD.com<\/strong><br>\n\u2022 JD-fulfilled items get a 30-day no-reason return\/exchange window<br>\n\u2022 Third-party sellers set their own policy \u2014 check before you order<br>\n\u2022 JD Logistics offers courier pickup, which makes returns fairly painless<br>\n\u2022 Official policy: <a href=\"https:\/\/help.jd.com\/user\/issue\/1-1.html\" target=\"_blank\" rel=\"noopener nofollow\">JD after-sales service<\/a>\n<\/div>\n<div class=\"ebg-2col__right\">\n<strong>Pinduoduo<\/strong><br>\n\u2022 7-day no-reason return applies<br>\n\u2022 The buyer usually covers return shipping (the platform sometimes subsidizes it during promotions)<br>\n\u2022 Get the return address from the platform after your request is approved \u2014 don&#8217;t ship to the storefront address<br>\n\u2022 Official policy: <a href=\"https:\/\/mobile.yangkeduo.com\/help_center.html\" target=\"_blank\" rel=\"noopener nofollow\">Pinduoduo Help Center<\/a><br><br>\n<strong>1688 \/ Alibaba (domestic)<\/strong><br>\n\u2022 Mostly wholesale, so return policy is set by each supplier \u2014 there&#8217;s no platform-wide standard<br>\n\u2022 Expect to negotiate directly with the seller; refunds can take 7\u201315 business days<br>\n\u2022 Confirm the return terms in chat before you order, not after<br>\n\u2022 Official policy: <a href=\"https:\/\/rule.1688.com\/\" target=\"_blank\" rel=\"noopener nofollow\">1688 trading rules<\/a>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Ebaoguo&#8217;s take (for reference only)<\/h2>\n\n\n\n<div class=\"ebg-callout ebg-callout--info\" style=\"background:#f8fafc;border-left:4px solid #64748b;padding:14px 18px;border-radius:0 8px 8px 0;margin:18px 0;line-height:1.7;font-size:14.5px\"><strong style=\"display:block;margin-bottom:6px;color:#64748b\"><svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"display:inline-block;vertical-align:-3px;margin-right:6px\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><line x1=\"12\" y1=\"16\" x2=\"12\" y2=\"12\"\/><line x1=\"12\" y1=\"8\" x2=\"12.01\" y2=\"8\"\/><\/svg>\ufe0f \u26a0\ufe0f Reference only \u2014 not official guidance<\/strong>\nThe following is how the Ebaoguo team reads the situation based on day-to-day handling of return cases. It isn&#8217;t legal advice or an official customs interpretation. Go by the official rules and the seller&#8217;s stated policy for your specific case.\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">From the return cases we&#8217;ve handled, the real sticking point usually isn&#8217;t &#8220;am I allowed to return this&#8221; \u2014 it&#8217;s &#8220;how do I actually do it from here.&#8221; With your item overseas and the parcel sitting in a warehouse in China, these are the four things that usually get in the way:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><strong>No one to hand the parcel to a domestic courier<\/strong> \u2014 courier pickup in China needs someone physically present, or a trip to a drop-off point, neither of which works from overseas<\/li><li><strong>Uncertainty about the return address<\/strong> \u2014 sellers sometimes change the return address on short notice, or require an RMA\/return number written on the outside of the box; miss that and the seller can refuse the parcel<\/li><li><strong>Sellers who don&#8217;t confirm receipt<\/strong> \u2014 this is where most disputes happen, especially with smaller 1688 and Pinduoduo sellers<\/li><li><strong>Confusion over who pays return shipping<\/strong> \u2014 the policy says &#8220;seller pays,&#8221; but in practice sellers often push back and the buyer ends up covering it<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Our advice: nail down these three things before you submit a return request to the warehouse.<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li><strong>Return address<\/strong> \u2014 pull it from the platform&#8217;s return-request page, not the storefront&#8217;s main address<\/li><li><strong>Return \/ RMA number<\/strong> \u2014 some sellers require this written on the outer box, or they&#8217;ll refuse the parcel<\/li><li><strong>Who pays for shipping<\/strong> \u2014 confirm whether it&#8217;s cash-on-delivery or prepaid before the courier picks it up, so the parcel doesn&#8217;t get rejected on the seller&#8217;s end<\/li><\/ol>\n\n\n\n<div class=\"ebg-callout ebg-callout--tip\" style=\"background:#f0f9ff;border-left:4px solid #116ebf;padding:14px 18px;border-radius:0 8px 8px 0;margin:18px 0;line-height:1.7;font-size:14.5px\"><strong style=\"display:block;margin-bottom:6px;color:#116ebf\"><svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"display:inline-block;vertical-align:-3px;margin-right:6px\"><path d=\"M9 18h6v2H9z\"\/><path d=\"M12 2a7 7 0 0 0-4 12.74V17h8v-2.26A7 7 0 0 0 12 2z\"\/><\/svg> From experience: don&#039;t skip the RMA number<\/strong>\nIf the seller wants a return or RMA number written on the outer box, put it in the notes field when you submit your return request \u2014 we&#8217;ll label the parcel accordingly when we pack it. Skip this step and the seller may not be able to match the parcel to your order, which stalls the refund.\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">One more thing worth knowing: actual domestic courier transit times often run longer than what the platform displays, especially around public holidays. If your return has a deadline (the platform&#8217;s return window is closing, for example), submit your request 2\u20133 days early to build in a buffer.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What to do, scenario by scenario<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Scenario 1: The item is faulty or damaged and needs to go back to the seller<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This is the most common case. When your parcel reaches the Ebaoguo warehouse, we photograph it as it arrives. If you spot a problem after reviewing the photos, here&#8217;s the sequence:<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Open a return request on the platform (Taobao, JD, Pinduoduo, etc.) and wait for the seller to approve it and provide a return address<\/li><li>Confirm the return address, return number (if any), and who&#8217;s paying for shipping<\/li><li>Log into your Ebaoguo account and submit a &#8220;domestic return&#8221; request under that parcel<\/li><li>In the notes, include: the return address, return number, whether you need unboxing photos, and the shipping payment method (COD or prepaid)<\/li><li>Ebaoguo arranges domestic courier pickup \u2014 usually done within 1\u20133 business days<\/li><li>Once you have the tracking number, enter it into the platform&#8217;s return-request page<\/li><li>Wait for the seller to confirm receipt, which triggers the platform refund<\/li><\/ol>\n\n\n\n<div class=\"ebg-callout ebg-callout--warning\" style=\"background:#fef2f2;border-left:4px solid #dc2626;padding:14px 18px;border-radius:0 8px 8px 0;margin:18px 0;line-height:1.7;font-size:14.5px\"><strong style=\"display:block;margin-bottom:6px;color:#dc2626\"><svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"display:inline-block;vertical-align:-3px;margin-right:6px\"><path d=\"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\"\/><line x1=\"12\" y1=\"9\" x2=\"12\" y2=\"13\"\/><line x1=\"12\" y1=\"17\" x2=\"12.01\" y2=\"17\"\/><\/svg>\ufe0f Get photo proof before you ship the return<\/strong>\nBefore submitting a return request, make sure Ebaoguo has already photographed the contents of the parcel. If the seller later claims the returned item doesn&#8217;t match, or that the box arrived empty, those photos are your only real evidence. If the warehouse hasn&#8217;t photographed it yet, add an &#8220;unboxing inspection&#8221; service to your request \u2014 it usually costs less than what a dispute would cost you.\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Scenario 2: The seller sent the wrong item and you need an exchange, not a refund<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">An exchange follows a similar process to a return, but there&#8217;s one important thing to settle upfront: does the seller ship the replacement first and collect the old item after, or do they want the old item back before sending the replacement? The first option is better for you, but sellers won&#8217;t always agree to it. Spell out what you want in the exchange request, and screenshot the seller&#8217;s reply \u2014 that&#8217;s your evidence if things go sideways later.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If the seller insists on getting the old item back first, follow the same steps as Scenario 1. Once the old item is returned, the replacement gets shipped to your Ebaoguo warehouse address, and you forward it on as normal.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Scenario 3: A bulk 1688 order, with part of it needing to go back<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">1688 doesn&#8217;t have a platform-wide return standard \u2014 it&#8217;s entirely up to the supplier. Based on the cases we&#8217;ve handled, most suppliers will accept a return, but expect to cover the shipping both ways, and expect a longer refund timeline (7\u201315 business days). A few things to keep in mind with bulk returns:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Open a formal return request on 1688 rather than just negotiating in chat \u2014 the platform record is what protects you<\/li><li>For a partial return (say, 20 of 100 units), specify the exact quantity and SKU in the request<\/li><li>Have Ebaoguo photograph each item as it&#8217;s packed, with an itemized list, so the quantities don&#8217;t get disputed on arrival<\/li><li>If shipping is cash-on-delivery, confirm the courier company with the seller first \u2014 some suppliers only accept COD from specific couriers<\/li><\/ul>\n\n\n\n<div class=\"ebg-callout ebg-callout--tip\" style=\"background:#f0f9ff;border-left:4px solid #116ebf;padding:14px 18px;border-radius:0 8px 8px 0;margin:18px 0;line-height:1.7;font-size:14.5px\"><strong style=\"display:block;margin-bottom:6px;color:#116ebf\"><svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"display:inline-block;vertical-align:-3px;margin-right:6px\"><path d=\"M9 18h6v2H9z\"\/><path d=\"M12 2a7 7 0 0 0-4 12.74V17h8v-2.26A7 7 0 0 0 12 2z\"\/><\/svg> 1688 tip<\/strong>\nIf a supplier refuses to go through the platform&#8217;s return process and pushes for a private transfer or an off-platform settlement instead, decline and escalate to 1688&#8217;s customer service. Once money changes hands off-platform, the platform can&#8217;t step in if it goes wrong.\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Scenario 4: The item has already shipped out of China and now needs to go back<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">This is the messiest case. The item has already left China, so returning it to the seller means paying international freight (to you) plus shipping it back into China again \u2014 often more than the item itself is worth. What we&#8217;d suggest:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Work out whether a return even makes financial sense \u2014 if the item&#8217;s value is under roughly RMB 200, the round-trip shipping can easily exceed that<\/li><li>Try negotiating a partial refund with the seller instead \u2014 many sellers prefer this over an international return, since they don&#8217;t want to cover the freight either<\/li><li>If the seller insists on a full return, the parcel has to re-enter China through the normal import process, which can mean customs clearance and additional charges<\/li><\/ul>\n\n\n\n<div class=\"ebg-callout ebg-callout--warning\" style=\"background:#fef2f2;border-left:4px solid #dc2626;padding:14px 18px;border-radius:0 8px 8px 0;margin:18px 0;line-height:1.7;font-size:14.5px\"><strong style=\"display:block;margin-bottom:6px;color:#dc2626\"><svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"display:inline-block;vertical-align:-3px;margin-right:6px\"><path d=\"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\"\/><line x1=\"12\" y1=\"9\" x2=\"12\" y2=\"13\"\/><line x1=\"12\" y1=\"17\" x2=\"12.01\" y2=\"17\"\/><\/svg>\ufe0f Already shipped out? Do the math before you commit<\/strong>\nOnce an item has left China, the international leg of a return is usually on the buyer, and re-entering China can trigger import duty again. Unless the item is high-value or the seller agrees to cover shipping, a full return often doesn&#8217;t pencil out. Try negotiating a partial refund first.\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">Common mistakes people make<\/h2>\n\n\n\n<div class=\"ebg-callout ebg-callout--warning\" style=\"background:#fef2f2;border-left:4px solid #dc2626;padding:14px 18px;border-radius:0 8px 8px 0;margin:18px 0;line-height:1.7;font-size:14.5px\"><strong style=\"display:block;margin-bottom:6px;color:#dc2626\"><svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"display:inline-block;vertical-align:-3px;margin-right:6px\"><path d=\"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\"\/><line x1=\"12\" y1=\"9\" x2=\"12\" y2=\"13\"\/><line x1=\"12\" y1=\"17\" x2=\"12.01\" y2=\"17\"\/><\/svg>\ufe0f Mistake 1: Shipping straight to the storefront address<\/strong>\nThe address shown on a seller&#8217;s storefront is usually where they ship orders from, not where returns go. The return address has to come from the platform&#8217;s return-request page \u2014 once the seller approves your request, they&#8217;ll give you a dedicated return address, sometimes with a return number attached. Ship to the storefront address instead and the seller can legitimately refuse the parcel, which gets sent back to you and costs you shipping again.\n<\/div>\n\n\n\n<div class=\"ebg-callout ebg-callout--warning\" style=\"background:#fef2f2;border-left:4px solid #dc2626;padding:14px 18px;border-radius:0 8px 8px 0;margin:18px 0;line-height:1.7;font-size:14.5px\"><strong style=\"display:block;margin-bottom:6px;color:#dc2626\"><svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"display:inline-block;vertical-align:-3px;margin-right:6px\"><path d=\"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\"\/><line x1=\"12\" y1=\"9\" x2=\"12\" y2=\"13\"\/><line x1=\"12\" y1=\"17\" x2=\"12.01\" y2=\"17\"\/><\/svg>\ufe0f Mistake 2: Shipping the return before it&#039;s approved<\/strong>\nWait for the seller to approve your return request on the platform before arranging pickup. If you ship it before they&#8217;ve agreed, they&#8217;re within their rights to refuse it, and the platform won&#8217;t force a refund. The order matters: request \u2192 wait for approval \u2192 get the return address \u2192 ship \u2192 enter the tracking number.\n<\/div>\n\n\n\n<div class=\"ebg-callout ebg-callout--warning\" style=\"background:#fef2f2;border-left:4px solid #dc2626;padding:14px 18px;border-radius:0 8px 8px 0;margin:18px 0;line-height:1.7;font-size:14.5px\"><strong style=\"display:block;margin-bottom:6px;color:#dc2626\"><svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"display:inline-block;vertical-align:-3px;margin-right:6px\"><path d=\"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\"\/><line x1=\"12\" y1=\"9\" x2=\"12\" y2=\"13\"\/><line x1=\"12\" y1=\"17\" x2=\"12.01\" y2=\"17\"\/><\/svg>\ufe0f Mistake 3: Assuming return-shipping insurance covers everything<\/strong>\nReturn-shipping insurance only covers the domestic courier fee for the buyer&#8217;s leg, and it&#8217;s capped (typically RMB 10\u201325). If your return parcel is heavier or needs a special courier, you cover the difference. It also has to be purchased at the time of the original order \u2014 you can&#8217;t add it retroactively.\n<\/div>\n\n\n\n<div class=\"ebg-callout ebg-callout--warning\" style=\"background:#fef2f2;border-left:4px solid #dc2626;padding:14px 18px;border-radius:0 8px 8px 0;margin:18px 0;line-height:1.7;font-size:14.5px\"><strong style=\"display:block;margin-bottom:6px;color:#dc2626\"><svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"display:inline-block;vertical-align:-3px;margin-right:6px\"><path d=\"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\"\/><line x1=\"12\" y1=\"9\" x2=\"12\" y2=\"13\"\/><line x1=\"12\" y1=\"17\" x2=\"12.01\" y2=\"17\"\/><\/svg>\ufe0f Mistake 4: Not following up, and expecting the refund to land automatically<\/strong>\nOnce the return courier reaches the seller, they have to manually confirm receipt before the refund is triggered. Some sellers delay this, or claim they never received it. Once the courier shows the parcel as delivered, follow up with the seller directly and keep a screenshot of the delivery confirmation. If the seller doesn&#8217;t confirm within the platform&#8217;s stated window, you can escalate to platform customer service.\n<\/div>\n\n\n\n<div class=\"ebg-callout ebg-callout--warning\" style=\"background:#fef2f2;border-left:4px solid #dc2626;padding:14px 18px;border-radius:0 8px 8px 0;margin:18px 0;line-height:1.7;font-size:14.5px\"><strong style=\"display:block;margin-bottom:6px;color:#dc2626\"><svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"display:inline-block;vertical-align:-3px;margin-right:6px\"><path d=\"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\"\/><line x1=\"12\" y1=\"9\" x2=\"12\" y2=\"13\"\/><line x1=\"12\" y1=\"17\" x2=\"12.01\" y2=\"17\"\/><\/svg>\ufe0f Mistake 5: Assuming every item qualifies for 7-day no-reason return<\/strong>\nThe 7-day no-reason return has clear exceptions: custom-made goods, perishables, digital content (activated software, game codes), items that can&#8217;t be resold once opened (underwear, swimwear), and anything the listing explicitly marks as non-returnable. Check the return policy on the product page before you order.\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">How to submit a return through Ebaoguo<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If your item is already at the Ebaoguo China warehouse, the whole return can be handled remotely from your account dashboard: log in \u2192 find the parcel \u2192 submit a &#8220;domestic return&#8221; request \u2192 enter the return address and any notes \u2192 we arrange domestic courier pickup and send you the tracking number. From there you just enter that tracking number back on the platform and wait for the seller to confirm receipt. If you don&#8217;t have a China warehouse address yet, register an Ebaoguo account to get one \u2014 future purchases, inspections, returns, and onward shipping can all be managed from the same account.<\/p>\n\n\n\n<div class=\"ebg-cross-sell\" style=\"margin:28px 0\"><div style=\"font-size:13px;color:#64748b;margin-bottom:10px;font-weight:600\"><svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"display:inline-block;vertical-align:-3px;margin-right:6px\"><path d=\"M9 18h6v2H9z\"\/><path d=\"M12 2a7 7 0 0 0-4 12.74V17h8v-2.26A7 7 0 0 0 12 2z\"\/><\/svg> You might also like<\/div><div style=\"display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px\"><a href=\"https:\/\/ap.ebaoguo.com\" target=\"_blank\" rel=\"noopener\" style=\"display:block;padding:16px 18px;background:#fff;border:1px solid #c8dff5;border-radius:8px;text-decoration:none;color:inherit;transition:all .2s\"><div style=\"font-size:24px;margin-bottom:6px\"><svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"display:inline-block;vertical-align:-3px;margin-right:6px\"><path d=\"M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z\"\/><line x1=\"3\" y1=\"6\" x2=\"21\" y2=\"6\"\/><path d=\"M16 10a4 4 0 0 1-8 0\"\/><\/svg><\/div><div style=\"font-size:15px;font-weight:600;color:#116ebf;margin-bottom:4px\">Proxy Shopping \u2192<\/div><div style=\"font-size:13px;color:#64748b;line-height:1.5\">Stores that don&#039;t ship overseas? We buy, pay, and receive on your behalf.<\/div><\/a><a href=\"https:\/\/pickup.ebaoguo.com\" target=\"_blank\" rel=\"noopener\" style=\"display:block;padding:16px 18px;background:#fff;border:1px solid #c8dff5;border-radius:8px;text-decoration:none;color:inherit;transition:all .2s\"><div style=\"font-size:24px;margin-bottom:6px\"><svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"display:inline-block;vertical-align:-3px;margin-right:6px\"><rect x=\"1\" y=\"3\" width=\"15\" height=\"13\"\/><polygon points=\"16 8 20 8 23 11 23 16 16 16 16 8\"\/><circle cx=\"5.5\" cy=\"18.5\" r=\"2.5\"\/><circle cx=\"18.5\" cy=\"18.5\" r=\"2.5\"\/><\/svg><\/div><div style=\"font-size:15px;font-weight:600;color:#116ebf;margin-bottom:4px\">Home Pickup \u2192<\/div><div style=\"font-size:13px;color:#64748b;line-height:1.5\">AU \/ NZ \/ MY door pickup, 10+ carrier price comparison, no monthly fees.<\/div><\/a><a href=\"https:\/\/storage.ebaoguo.com\" target=\"_blank\" rel=\"noopener\" style=\"display:block;padding:16px 18px;background:#fff;border:1px solid #c8dff5;border-radius:8px;text-decoration:none;color:inherit;transition:all .2s\"><div style=\"font-size:24px;margin-bottom:6px\"><svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"display:inline-block;vertical-align:-3px;margin-right:6px\"><rect x=\"6\" y=\"6\" width=\"12\" height=\"14\" rx=\"2\"\/><line x1=\"10\" y1=\"6\" x2=\"10\" y2=\"3\"\/><line x1=\"14\" y1=\"6\" x2=\"14\" y2=\"3\"\/><\/svg><\/div><div style=\"font-size:15px;font-weight:600;color:#116ebf;margin-bottom:4px\">Luggage Storage &amp; Resale \u2192<\/div><div style=\"font-size:13px;color:#64748b;line-height:1.5\">Store luggage \/ resell items before returning home; 6-angle photo intake, transparent.<\/div><\/a><\/div><\/div>\n\n\n\n    <div class=\"ebg-calc\" id=\"ebg-calc-e57dbe9f-39fe-45d9-861d-1e4d1c54d988\" data-config='{&quot;restBase&quot;:&quot;https:\\\/\\\/ebaoguo.com\\\/en\\\/wp-json\\\/ebg\\\/v1\\\/calc&quot;,&quot;storeId&quot;:2,&quot;originIso&quot;:&quot;cn&quot;,&quot;destIso&quot;:&quot;au&quot;,&quot;originCid&quot;:44,&quot;destCid&quot;:13,&quot;language&quot;:&quot;en&quot;,&quot;apiLang&quot;:&quot;en&quot;,&quot;currencyId&quot;:55,&quot;pcRequired&quot;:true,&quot;i18n&quot;:{&quot;pc_unfound&quot;:&quot;&lt;svg width=\\&quot;18\\&quot; height=\\&quot;18\\&quot; viewBox=\\&quot;0 0 24 24\\&quot; fill=\\&quot;none\\&quot; stroke=\\&quot;currentColor\\&quot; stroke-width=\\&quot;2\\&quot; stroke-linecap=\\&quot;round\\&quot; stroke-linejoin=\\&quot;round\\&quot; style=\\&quot;display:inline-block;vertical-align:-3px;margin-right:6px\\&quot;&gt;&lt;path d=\\&quot;M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\\&quot;\\\/&gt;&lt;line x1=\\&quot;12\\&quot; y1=\\&quot;9\\&quot; x2=\\&quot;12\\&quot; y2=\\&quot;13\\&quot;\\\/&gt;&lt;line x1=\\&quot;12\\&quot; y1=\\&quot;17\\&quot; x2=\\&quot;12.01\\&quot; y2=\\&quot;17\\&quot;\\\/&gt;&lt;\\\/svg&gt;\\ufe0f Postcode not recognised \\u2014 please pick State \\\/ Region manually&quot;,&quot;pc_missing_state&quot;:&quot;Please select State \\\/ Region&quot;,&quot;select_state&quot;:&quot;\\u2014 Select \\u2014&quot;,&quot;custom_size&quot;:&quot;Custom size&quot;}}'>\n        <div class=\"ebg-calc__header\">\n            <div class=\"ebg-calc__route\">\n                <span class=\"ebg-calc__chip\" data-role=\"origin\"><svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"display:inline-block;vertical-align:-3px;margin-right:6px\"><path d=\"M16.5 9.4l-9-5.19M21 16V8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16z\"\/><polyline points=\"3.27 6.96 12 12.01 20.73 6.96\"\/><line x1=\"12\" y1=\"22.08\" x2=\"12\" y2=\"12\"\/><\/svg> CN<\/span>\n                <span class=\"ebg-calc__arrow\">\u2192<\/span>\n                <span class=\"ebg-calc__chip\" data-role=\"dest\"><svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"display:inline-block;vertical-align:-3px;margin-right:6px\"><circle cx=\"12\" cy=\"12\" r=\"10\"\/><line x1=\"2\" y1=\"12\" x2=\"22\" y2=\"12\"\/><path d=\"M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z\"\/><\/svg> AU<\/span>\n            <\/div>\n        <\/div>\n\n                <div class=\"ebg-calc__section ebg-calc__grid\">\n            <label><span>Postcode (optional)<\/span><input type=\"text\" data-role=\"postcode\" placeholder=\"3000\"><\/label>\n            <label><span>State \/ Region<\/span><select data-role=\"state\"><option value=\"\">Loading\u2026<\/option><\/select><\/label>\n            <label><span>Suburb \/ City<\/span><input type=\"text\" data-role=\"suburb\" placeholder=\"Melbourne\"><\/label>\n            <label><span>Declared value<\/span><input type=\"number\" min=\"0\" step=\"1\" data-role=\"declare\" value=\"100\"><\/label>\n        <\/div>\n\n        <div class=\"ebg-calc__pc-hint\" data-role=\"pc-hint\" style=\"display:none;font-size:12px;color:#b45309;margin:-8px 0 6px 4px\"><\/div>\n\n        <div class=\"ebg-calc__section\">\n            <div class=\"ebg-calc__label\">Package Type<\/div>\n            <div class=\"ebg-calc__tags\" data-role=\"tags\"><\/div>\n        <\/div>\n\n        <div class=\"ebg-calc__section ebg-calc__grid\" data-role=\"dims-grid\">\n            <label><span>Weight (kg)<\/span><input type=\"number\" min=\"0.1\" step=\"0.1\" data-role=\"weight\" value=\"2\"><\/label>\n            <label><span>Length (cm)<\/span><input type=\"number\" min=\"1\" step=\"1\" data-role=\"length\" value=\"25\"><\/label>\n            <label><span>Width (cm)<\/span><input type=\"number\" min=\"1\" step=\"1\" data-role=\"width\" value=\"20\"><\/label>\n            <label><span>Height (cm)<\/span><input type=\"number\" min=\"1\" step=\"1\" data-role=\"height\" value=\"15\"><\/label>\n        <\/div>\n        <div class=\"ebg-calc__dim-presets-wrap\">\n            <span class=\"ebg-calc__dim-presets-label\">Size reference:<\/span>\n            <div data-role=\"dim-presets\" class=\"ebg-calc__dim-presets\"><\/div>\n        <\/div>\n\n\n        <div class=\"ebg-calc__actions\">\n            <button type=\"button\" class=\"ebg-calc__submit\" data-role=\"submit\">Calculate now<\/button>\n        <\/div>\n\n        <div class=\"ebg-calc__status\" data-role=\"status\"><\/div>\n        <!-- Fee transparency notice \u2014 always visible above results -->\n        <details class=\"ebg-calc__transparency\" style=\"margin:14px 0;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc;padding:0\">\n          <summary style=\"cursor:pointer;padding:10px 14px;font-size:13px;font-weight:600;color:#116ebf;list-style:none\">\n            <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"display:inline-block;vertical-align:-3px;margin-right:6px\"><line x1=\"12\" y1=\"1\" x2=\"12\" y2=\"23\"\/><path d=\"M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6\"\/><\/svg> Fee Transparency \u2014 No Hidden Costs <svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"display:inline-block;vertical-align:-3px;margin-right:6px\"><polyline points=\"6 9 12 15 18 9\"\/><\/svg>\n          <\/summary>\n          <div style=\"padding:0 14px 14px;font-size:12.5px;line-height:1.7;color:#374151\">\n            <strong>All quotes include:<\/strong>\n            <ul style=\"margin:6px 0 10px 18px;padding:0\">\n              <li>Shipping rate (by chargeable weight)<\/li>\n              <li>Handling \/ warehouse intake \/ fumigation fees (if applicable)<\/li>\n              <li>Pickup fee (if you choose home pickup)<\/li>\n              <li>Extra service fees, commission, fuel surcharges<\/li>\n              <li>Destination customs duty \/ VAT \/ GST (only on DDP self-operated lines marked \"included\")<\/li>\n            <\/ul>\n            <strong style=\"color:#dc2626\">NOT included (recipient pays):<\/strong>\n            <ul style=\"margin:6px 0 10px 18px;padding:0\">\n              <li>Import duty + GST\/VAT on non-DDP routes \u2014 destination customs collects from recipient<\/li>\n              <li>Insurance (optional, ~5% of declared value; shown at bottom of each card)<\/li>\n              <li>Customs inspection \/ return \/ storage detention fees in exceptional cases<\/li>\n            <\/ul>\n            <strong>Weight & size limits:<\/strong>\n            Each carrier has different limits \u2014 exceeding triggers automatic rate-tier switch (e.g. \"above 20kg\" rate). Each quote card shows that carrier's max weight, max length, and length+girth limits at the bottom.          <\/div>\n        <\/details>\n\n        <div class=\"ebg-calc__results\" data-role=\"results\"><\/div>\n    <\/div>\n        <style>\n    .ebg-calc{font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,sans-serif;max-width:880px;margin:24px auto;border:1px solid #e5e7eb;border-radius:12px;padding:20px;background:#fff;color:#1f2937;}\n    .ebg-calc__header{display:flex;justify-content:center;margin-bottom:16px;}\n    .ebg-calc__route{display:inline-flex;align-items:center;gap:10px;background:#f3f4f6;border-radius:999px;padding:8px 16px;font-weight:600;}\n    .ebg-calc__arrow{color:#9ca3af;}\n    .ebg-calc__section{margin:16px 0;}\n    .ebg-calc__label{font-weight:600;margin-bottom:8px;font-size:14px;color:#374151;}\n    \/* Item-attribute cards \u2014 black-line icon style *\/\n    .ebg-calc__tags{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:10px;margin-top:8px;}\n    .ebg-calc__tag{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;padding:14px 8px 10px;border:1.5px solid #e5e7eb;border-radius:10px;background:#fff;cursor:pointer;font-size:13px;text-align:center;transition:border-color .15s, background .15s, transform .1s;line-height:1.3;min-height:78px;}\n    .ebg-calc__tag:hover{border-color:#2563eb;background:#f8faff;}\n    .ebg-calc__tag.is-active{border-color:#2563eb;background:#eff6ff;}\n    .ebg-calc__tag.is-active .ebg-calc__tag-name{color:#1d4ed8;font-weight:600;}\n    .ebg-calc__tag-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;color:#111827;}\n    .ebg-calc__tag-icon svg{width:26px;height:26px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}\n    .ebg-calc__tag.is-active .ebg-calc__tag-icon{color:#2563eb;}\n    .ebg-calc__tag-name{display:block;color:#374151;font-weight:500;}\n    .ebg-calc__tags-loading{padding:12px;color:#6b7280;font-size:13px;text-align:center;}\n    \/* Size-reference preset cards *\/\n    .ebg-calc__dim-presets-wrap{margin-top:12px;padding:14px;background:#fafafa;border-radius:10px;border:1px dashed #e5e7eb;}\n    .ebg-calc__dim-presets-label{display:block;font-size:13px;color:#6b7280;font-weight:500;margin-bottom:10px;}\n    .ebg-calc__dim-presets{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:10px;}\n    .ebg-calc__dim-preset{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;padding:12px 8px;border:1.5px solid #e5e7eb;border-radius:10px;background:#fff;cursor:pointer;font-size:13px;color:#374151;line-height:1.3;transition:border-color .15s, background .15s;min-height:78px;font-family:inherit;}\n    .ebg-calc__dim-preset:hover{border-color:#2563eb;background:#f8faff;}\n    .ebg-calc__dim-preset.is-active{border-color:#2563eb;background:#eff6ff;}\n    .ebg-calc__dim-preset.is-active .ebg-calc__dim-preset-name{color:#1d4ed8;font-weight:600;}\n    .ebg-calc__dim-preset-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:28px;color:#111827;}\n    .ebg-calc__dim-preset-icon svg{stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}\n    .ebg-calc__dim-preset.is-active .ebg-calc__dim-preset-icon{color:#2563eb;}\n    .ebg-calc__dim-preset-name{font-weight:500;}\n    .ebg-calc__dim-preset-weight{font-size:11px;color:#9ca3af;font-weight:500;}\n    .ebg-calc__dim-preset.is-active .ebg-calc__dim-preset-weight{color:#3b82f6;}\n    .ebg-calc__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;}\n    .ebg-calc__grid label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:#374151;font-weight:500;}\n    .ebg-calc__grid input,.ebg-calc__grid select{padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:15px;line-height:1.4;height:42px;min-height:42px;box-sizing:border-box;background:#fff;color:#111827;}\n    .ebg-calc__grid input:focus,.ebg-calc__grid select:focus{outline:none;border-color:#3b82f6;}\n    .ebg-calc__actions{text-align:center;margin:18px 0 8px;}\n    .ebg-calc__submit{background:#2563eb;color:#fff;border:0;border-radius:8px;padding:12px 32px;font-size:15px;font-weight:600;cursor:pointer;transition:background .15s;}\n    .ebg-calc__submit:hover{background:#1d4ed8;}\n    .ebg-calc__submit:disabled{opacity:.5;cursor:wait;}\n    .ebg-calc__status{margin:10px 0;padding:10px;border-radius:6px;font-size:14px;display:none;}\n    .ebg-calc__status.is-error{background:#fef2f2;color:#991b1b;display:block;}\n    .ebg-calc__status.is-info{background:#eff6ff;color:#1e40af;display:block;}\n    .ebg-calc__results{display:flex;flex-direction:column;gap:12px;margin-top:8px;}\n    .ebg-calc__card{border:1px solid #e5e7eb;border-radius:10px;padding:14px;display:grid;grid-template-columns:60px 1fr auto;gap:12px;align-items:center;}\n    .ebg-calc__card-v2{border:1px solid #e5e7eb;border-radius:10px;padding:14px 16px;background:#fff;}\n    .ebg-calc__card-v2.is-disabled{opacity:.55}\n    .ebg-calc__card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;flex-wrap:wrap;}\n    .ebg-calc__card-head-left{display:flex;gap:12px;align-items:flex-start;flex:1;min-width:0}\n    .ebg-calc__card-total{text-align:right;flex-shrink:0}\n    .ebg-calc__card-total-label{font-size:11px;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}\n    .ebg-calc__card-total-amount{font-size:22px;font-weight:800;color:#1d4ed8;white-space:nowrap;line-height:1.2;margin-top:2px}\n    .ebg-calc__breakdown{margin-top:10px;padding-top:10px;border-top:1px dashed #e5e7eb;display:flex;flex-direction:column;gap:5px}\n    .ebg-calc__bd-row{display:flex;justify-content:space-between;font-size:13px;color:#475569}\n    .ebg-calc__bd-row span:last-child{font-weight:600;color:#0f172a}\n    @media(max-width:540px){.ebg-calc__card-v2{padding:12px}.ebg-calc__card-head{flex-direction:column;align-items:stretch}.ebg-calc__card-total{text-align:left}.ebg-calc__card-total-amount{font-size:20px}}\n    .ebg-calc__card.is-disabled{opacity:.55;}\n    .ebg-calc__card img{max-width:60px;max-height:40px;object-fit:contain;}\n    .ebg-calc__card-title{font-weight:600;font-size:15px;margin-bottom:4px;}\n    .ebg-calc__card-meta{font-size:12px;color:#6b7280;display:flex;flex-wrap:wrap;gap:8px;}\n    .ebg-calc__card-price{font-size:20px;font-weight:700;color:#1d4ed8;text-align:right;white-space:nowrap;}\n    .ebg-calc__card-warn{font-size:12px;color:#b45309;margin-top:4px;}\n    @media (max-width:540px){\n        .ebg-calc__card{grid-template-columns:1fr;text-align:center;}\n        .ebg-calc__card img{margin:0 auto;}\n        .ebg-calc__card-price{text-align:center;}\n    }\n    @media (max-width:420px){\n        .ebg-calc__grid{grid-template-columns:1fr;}\n        .ebg-calc__grid input,.ebg-calc__grid select{font-size:16px;}\n        .ebg-calc__submit{width:100%;padding:14px 20px;}\n    }\n    <\/style>\n    <script>\n    (function(){\n        var TAG_DEFAULTS = {\n            '\u5065\u5eb7\u8425\u517b\u54c1':{w:2,l:25,W:20,h:15},\n            '\u5065\u5eb7\u71df\u990a\u54c1':{w:2,l:25,W:20,h:15},\n            '\u7cbe\u6cb9':{w:1.5,l:25,W:20,h:12},\n            '\u98df\u54c1':{w:4,l:35,W:25,h:18},\n            '\u666e\u901a\u6d17\u62a4\u7528\u54c1':{w:1.5,l:25,W:20,h:12},\n            '\u666e\u901a\u6d17\u8b77\u7528\u54c1':{w:1.5,l:25,W:20,h:12},\n            '\u8863\u5e3d\u978b\u5305':{w:3,l:40,W:30,h:15},\n            '\u7535\u5b50\u4ea7\u54c1\uff08\u4e0d\u542b\u7535\u6c60\uff09':{w:1,l:30,W:20,h:10},\n            '\u7535\u5b50\u4ea7\u54c1\uff08\u542b\u7535\u6c60\uff09':{w:1,l:30,W:20,h:10},\n            '\u7f50\u88c5\u5976\u7c89':{w:5,l:30,W:25,h:25},\n            '\u888b\u88c5\u5976\u7c89':{w:5,l:30,W:25,h:15},\n            '\u6587\u4ef6\u4e66\u7c4d\u6742\u5fd7':{w:1,l:30,W:22,h:5},\n            '\u8461\u8404\u9152':{w:6,l:35,W:25,h:30},\n            '\u8fd0\u52a8\u6237\u5916\u7528\u54c1':{w:5,l:50,W:35,h:20},\n            '\u73e0\u5b9d\u624b\u8868':{w:0.5,l:20,W:15,h:8},\n            '\u9ad8\u503c\u6d17\u62a4\u7528\u54c1':{w:2,l:25,W:20,h:12},\n            '\u6d77\u9c9c\u5e72\u8d27':{w:3,l:30,W:25,h:15},\n            '\u7f50\u5934\u7c7b\u98df\u54c1':{w:5,l:30,W:25,h:18}\n        };\n        var TAG_EMOJI = {\n            '\u5065\u5eb7\u8425\u517b\u54c1':'\\u{1F48A}','\u5065\u5eb7\u71df\u990a\u54c1':'\\u{1F48A}',\n            '\u7cbe\u6cb9':'\\u{1F33F}',\n            '\u98df\u54c1':'\\u{1F36B}',\n            '\u666e\u901a\u6d17\u62a4\u7528\u54c1':'\\u{1F9F4}','\u666e\u901a\u6d17\u8b77\u7528\u54c1':'\\u{1F9F4}',\n            '\u9ad8\u503c\u6d17\u62a4\u7528\u54c1':'\\u{1F9F4}',\n            '\u8863\u5e3d\u978b\u5305':'\\u{1F455}',\n            '\u7535\u5b50\u4ea7\u54c1\uff08\u4e0d\u542b\u7535\u6c60\uff09':'\\u{1F4F1}','\u7535\u5b50\u4ea7\u54c1\uff08\u542b\u7535\u6c60\uff09':'\\u{1F50B}',\n            '\u7f50\u88c5\u5976\u7c89':'\\u{1F37C}','\u888b\u88c5\u5976\u7c89':'\\u{1F37C}',\n            '\u6587\u4ef6\u4e66\u7c4d\u6742\u5fd7':'\\u{1F4DA}',\n            '\u8461\u8404\u9152':'\\u{1F377}',\n            '\u8fd0\u52a8\u6237\u5916\u7528\u54c1':'\\u{26BD}',\n            '\u73e0\u5b9d\u624b\u8868':'\\u{1F48E}',\n            '\u6d77\u9c9c\u5e72\u8d27':'\\u{1F990}',\n            '\u7f50\u5934\u7c7b\u98df\u54c1':'\\u{1F96B}',\n            '\u6e05\u6d01\u7528\u54c1(\u542b\u9152\u7cbe)':'\\u{1F9FC}',\n            '\u5de5\u5177':'\\u{1F527}',\n            '\u6c7d\u8f66\u914d\u4ef6':'\\u{1F697}',\n            '\u5371\u9669\u54c1':'\\u{2622}',\n            '\u5904\u65b9\u836f':'\\u{1F489}',\n            '\u7eaf\u7535\u6c60':'\\u{1F50B}',\n            '\u7c89\u672b':'\\u{1F9C2}'\n        };\n        var HIDE_TAGS = {'\u8fdd\u7981\u54c1':1,'\u5371\u9669\u54c1':1,'\u6613\u71c3\u6613\u7206\u6807\u5fd7':1,'\u654f\u611f\u7269\u54c1':1,'\u7eaf\u7535\u6c60':1,'\u5904\u65b9\u836f':1,'\u661f\u94fe':1,'\u7eaa\u5ff5\u5e01':1,'\u54c1\u724c':1,'\u4e00\u7ebf\u5962\u4f88\u54c1\u724c':1,'UGG':1,'\u4e2a\u4eba\u884c\u674e':1,'\u7f8a\u6bdb\u88ab':1};\n        var TAG_NORM = {\n            \"\u666e\u8d27\": \"General Goods\",\n            \"\u666e\u8d27CN\": \"General Goods\",\n            \"\u666e\u8ca8\": \"General Goods\",\n            \"\u666e\u8ca8CN\": \"General Goods\",\n            \"general\": \"General Goods\",\n            \"general cn\": \"General Goods\",\n            \"general item\": \"General Goods\",\n            \"domestic\": \"General Goods\",\n            \"\u9632\u75ab\u7269\u8d44\": \"Anti-epidemic Supplies\",\n            \"\u9632\u75ab\u7269\u8cc7\": \"Anti-epidemic Supplies\",\n            \"anti-epidemic materials\": \"Anti-epidemic Supplies\",\n            \"\u670d\u9970\": \"Clothing, Shoes & Bags\",\n            \"\u670d\u98fe\": \"Clothing, Shoes & Bags\",\n            \"\u670d\u88c5\u978b\u5e3d\": \"Clothing, Shoes & Bags\",\n            \"\u8863\u5e3d\u978b\u5305\": \"Clothing, Shoes & Bags\",\n            \"\u670d\u88dd\u548c\u7d21\u7e54\u54c1\": \"Clothing, Shoes & Bags\",\n            \"\u670d\u88c5\u548c\u7eba\u7ec7\u54c1\": \"Clothing, Shoes & Bags\",\n            \"apparel\": \"Clothing, Shoes & Bags\",\n            \"apparel & accessories\": \"Clothing, Shoes & Bags\",\n            \"apparel and textiles\": \"Clothing, Shoes & Bags\",\n            \"clothings&bag&shoes\": \"Clothing, Shoes & Bags\",\n            \"\u978b\u5b50\": \"Shoes\",\n            \"shoes\": \"Shoes\",\n            \"\u661f\u94fe\": \"Starlink\",\n            \"\u661f\u93c8\": \"Starlink\",\n            \"starlink\": \"Starlink\",\n            \"\u4fdd\u5065\u54c1\": \"Health Supplements\",\n            \"\u5065\u5eb7\u8425\u517b\u54c1\": \"Health Supplements\",\n            \"\u5065\u5eb7\u71df\u990a\u54c1\": \"Health Supplements\",\n            \"\u5065\u5eb7\u548c\u7f8e\u5bb9\u4ea7\u54c1\": \"Health Supplements\",\n            \"\u5065\u5eb7\u548c\u7f8e\u5bb9\u7522\u54c1\": \"Health Supplements\",\n            \"health & nutrition products\": \"Health Supplements\",\n            \"health and beauty products\": \"Health Supplements\",\n            \"supplement\": \"Health Supplements\",\n            \"suplements and vitamins\": \"Health Supplements\",\n            \"supplements and vitamins\": \"Health Supplements\",\n            \"\u62a4\u80a4\u54c1\": \"Skincare & Cosmetics\",\n            \"\u8b77\u819a\u54c1\": \"Skincare & Cosmetics\",\n            \"\u5316\u5986\u54c1\": \"Skincare & Cosmetics\",\n            \"\u5316\u599d\u54c1\": \"Skincare & Cosmetics\",\n            \"\u5316\u5986\u62a4\u80a4\u54c1\": \"Skincare & Cosmetics\",\n            \"\u5316\u599d\u8b77\u819a\u54c1\": \"Skincare & Cosmetics\",\n            \"\u7f8e\u5bb9\u62a4\u80a4\u54c1\": \"Skincare & Cosmetics\",\n            \"\u7f8e\u5bb9\u8b77\u819a\u54c1\": \"Skincare & Cosmetics\",\n            \"skin care\": \"Skincare & Cosmetics\",\n            \"skin care products\": \"Skincare & Cosmetics\",\n            \"beauty & skincare products\": \"Skincare & Cosmetics\",\n            \"cosmetics and skin care products\": \"Skincare & Cosmetics\",\n            \"\u666e\u901a\u6d17\u62a4\u7528\u54c1\": \"Personal Care\",\n            \"\u666e\u901a\u6d17\u8b77\u7528\u54c1\": \"Personal Care\",\n            \"normal toiletries\": \"Personal Care\",\n            \"\u9ad8\u503c\u6d17\u62a4\u7528\u54c1\": \"Premium Personal Care\",\n            \"\u9ad8\u503c\u6d17\u8b77\u7528\u54c1\": \"Premium Personal Care\",\n            \"high value toiletries\": \"Premium Personal Care\",\n            \"\u6587\u4ef6\": \"Documents\",\n            \"document\": \"Documents\",\n            \"doc\": \"Documents\",\n            \"\u4e66\": \"Books & Magazines\",\n            \"\u66f8\": \"Books & Magazines\",\n            \"\u4e66\u7c4d\u6742\u5fd7\": \"Books & Magazines\",\n            \"\u66f8\u7c4d\u96dc\u8a8c\": \"Books & Magazines\",\n            \"books & magazines\": \"Books & Magazines\",\n            \"doc&books & magazines\": \"Books & Magazines\",\n            \"\u4e66\u7c4d\u548c\u6587\u5177\": \"Books & Stationery\",\n            \"\u66f8\u7c4d\u548c\u6587\u5177\": \"Books & Stationery\",\n            \"\u6587\u5177\": \"Books & Stationery\",\n            \"stationery\": \"Books & Stationery\",\n            \"books and stationery\": \"Books & Stationery\",\n            \"\u827a\u672f\u54c1\u548c\u5531\u7247\": \"Artwork & CD\",\n            \"\u85dd\u8853\u54c1\u548c\u5531\u7247\": \"Artwork & CD\",\n            \"artwork & cd\": \"Artwork & CD\",\n            \"cd\u3001dvd\": \"Artwork & CD\",\n            \"CD\u3001DVD\": \"Artwork & CD\",\n            \"cd\": \"Artwork & CD\",\n            \"\u6db2\u4f53\": \"Liquid\",\n            \"\u6db2\u9ad4\": \"Liquid\",\n            \"liquid\": \"Liquid\",\n            \"\u6db2\u4f53(\u4e0d\u8d85\u8fc7500ml)\": \"Liquid (\u2264500ml)\",\n            \"\u6db2\u9ad4(\u4e0d\u8d85\u904e500ml)\": \"Liquid (\u2264500ml)\",\n            \"liquid (not exceeding 500ml)\": \"Liquid (\u2264500ml)\",\n            \"\u6db2\u4f53(\u8d85\u8fc7500ml)\": \"Liquid (>500ml)\",\n            \"\u6db2\u9ad4(\u8d85\u904e500ml)\": \"Liquid (>500ml)\",\n            \"liquid (more than 500ml)\": \"Liquid (>500ml)\",\n            \"\u7cbe\u6cb9\": \"Essential Oils\",\n            \"essential oil\": \"Essential Oils\",\n            \"essential oils\": \"Essential Oils\",\n            \"\u98df\u54c1\": \"Food\",\n            \"food\": \"Food\",\n            \"\u98df\u54c1\u548c\u996e\u6599\": \"Food & Beverages\",\n            \"\u98df\u54c1\u548c\u98f2\u6599\": \"Food & Beverages\",\n            \"food and beverages\": \"Food & Beverages\",\n            \"foods and snacks\": \"Food & Beverages\",\n            \"\u7535\u6c60\u4ef6\": \"With Batteries\",\n            \"\u96fb\u6c60\u4ef6\": \"With Batteries\",\n            \"\u542b\u7535\u6c60\": \"With Batteries\",\n            \"\u542b\u96fb\u6c60\": \"With Batteries\",\n            \"batteries included\": \"With Batteries\",\n            \"battery\": \"With Batteries\",\n            \"\u7eaf\u7535\u6c60\": \"Pure Battery\",\n            \"\u7d14\u96fb\u6c60\": \"Pure Battery\",\n            \"pure battery\": \"Pure Battery\",\n            \"\u5145\u7535\u5b9d\": \"Power Bank\",\n            \"\u5145\u96fb\u5bf6\": \"Power Bank\",\n            \"power bank\": \"Power Bank\",\n            \"\u6237\u5916\u7535\u6e90\": \"Power Station\",\n            \"\u6236\u5916\u96fb\u6e90\": \"Power Station\",\n            \"power station\": \"Power Station\",\n            \"\u9ad8\u4ef7\u5962\u4f88\u54c1\u724c\": \"Luxury Brands\",\n            \"\u9ad8\u50f9\u5962\u4f88\u54c1\u724c\": \"Luxury Brands\",\n            \"\u4e00\u7ebf\u5962\u4f88\u54c1\u724c\": \"Luxury Brands\",\n            \"\u4e00\u7dda\u5962\u4f88\u54c1\u724c\": \"Luxury Brands\",\n            \"luxury brand\": \"Luxury Brands\",\n            \"first-tier luxury brands\": \"Luxury Brands\",\n            \"\u54c1\u724c\": \"Branded Items\",\n            \"branded items\": \"Branded Items\",\n            \"famous brand\": \"Branded Items\",\n            \"\u54c1\u724c\u5305\u5305\uff08\u542b\u4eff\u724c\uff09\": \"Branded Items\",\n            \"brand handbags (including replicas)\": \"Branded Items\",\n            \"\u5c0f\u578b\u7535\u5668\uff08\u4e0d\u542b\u7535\u6c60\uff09\": \"Small Appliances (no battery)\",\n            \"\u5c0f\u578b\u96fb\u5668\uff08\u4e0d\u542b\u96fb\u6c60\uff09\": \"Small Appliances (no battery)\",\n            \"appliances (without batteries)\": \"Small Appliances (no battery)\",\n            \"\u71d5\u7a9d\": \"Bird's Nest\",\n            \"\u71d5\u7aa9\": \"Bird's Nest\",\n            \"bird's nest\": \"Bird's Nest\",\n            \"\u73a9\u5177\": \"Toys & Games\",\n            \"\u73a9\u5177\u4e0e\u6e38\u620f\": \"Toys & Games\",\n            \"\u73a9\u5177\u548c\u6e38\u620f\": \"Toys & Games\",\n            \"\u73a9\u5177\u8207\u904a\u6232\": \"Toys & Games\",\n            \"\u73a9\u5177\u548c\u904a\u6232\": \"Toys & Games\",\n            \"toys\": \"Toys & Games\",\n            \"toys & games\": \"Toys & Games\",\n            \"toys and games\": \"Toys & Games\",\n            \"\u4e00\u822c\u836f\u7269\": \"Medicine\",\n            \"\u4e00\u822c\u85e5\u7269\": \"Medicine\",\n            \"\u836f\u54c1\": \"Medicine\",\n            \"\u85e5\u54c1\": \"Medicine\",\n            \"medicine\": \"Medicine\",\n            \"\u5904\u65b9\u836f\": \"Prescription Medicine\",\n            \"\u8655\u65b9\u85e5\": \"Prescription Medicine\",\n            \"prescription\": \"Prescription Medicine\",\n            \"\u5916\u7528\u836f\u818f\": \"Topical Ointment\",\n            \"\u5916\u7528\u85e5\u818f\": \"Topical Ointment\",\n            \"topical ointment\": \"Topical Ointment\",\n            \"\u65e5\u5e38\u7528\u54c1\": \"Daily Necessities\",\n            \"\u65e5\u7528\u54c1\": \"Daily Necessities\",\n            \"daily necessities\": \"Daily Necessities\",\n            \"\u7c89\u672b\": \"Powder\",\n            \"powder\": \"Powder\",\n            \"\u7c89\u672b\u6216\u6676\u4f53\": \"Powder or Crystal\",\n            \"\u7c89\u672b\u6216\u6676\u9ad4\": \"Powder or Crystal\",\n            \"powder or crystal\": \"Powder or Crystal\",\n            \"\u6c7d\u8f66\u914d\u4ef6\": \"Automotive Parts\",\n            \"\u6c7d\u8eca\u914d\u4ef6\": \"Automotive Parts\",\n            \"\u6c7d\u8f66\u7528\u54c1\": \"Automotive Parts\",\n            \"\u6c7d\u8eca\u7528\u54c1\": \"Automotive Parts\",\n            \"car accessories\": \"Automotive Parts\",\n            \"automotive products\": \"Automotive Parts\",\n            \"\u8fdd\u7981\u54c1\": \"Prohibited Items\",\n            \"\u9055\u7981\u54c1\": \"Prohibited Items\",\n            \"prohibited\": \"Prohibited Items\",\n            \"prohibited items\": \"Prohibited Items\",\n            \"\u654f\u611f\u8d27\": \"Sensitive Goods\",\n            \"\u654f\u611f\u8ca8\": \"Sensitive Goods\",\n            \"\u654f\u611f\u7269\u54c1\": \"Sensitive Goods\",\n            \"sensitive\": \"Sensitive Goods\",\n            \"sensitive item\": \"Sensitive Goods\",\n            \"\u5371\u9669\u54c1\": \"Dangerous Goods\",\n            \"\u5371\u96aa\u54c1\": \"Dangerous Goods\",\n            \"dangerous good\": \"Dangerous Goods\",\n            \"\u542b\u78c1\": \"Magnetic\",\n            \"magnetic\": \"Magnetic\",\n            \"\u5f03\u4ef6\": \"Abandoned Items\",\n            \"\u68c4\u4ef6\": \"Abandoned Items\",\n            \"abandon items\": \"Abandoned Items\",\n            \"\u624b\u673a\": \"Mobile Phone\",\n            \"\u624b\u6a5f\": \"Mobile Phone\",\n            \"cell phone\": \"Mobile Phone\",\n            \"\u624b\u8868\": \"Watch\",\n            \"\u624b\u9336\": \"Watch\",\n            \"watch\": \"Watch\",\n            \"\u73e0\u5b9d\u624b\u8868\": \"Jewellery & Watches\",\n            \"\u73e0\u5bf6\u624b\u9336\": \"Jewellery & Watches\",\n            \"jewelry & watches\": \"Jewellery & Watches\",\n            \"\u6258\u76d8\": \"Pallet\",\n            \"\u6258\u76e4\": \"Pallet\",\n            \"pallet\": \"Pallet\",\n            \"\u4e2a\u4eba\u884c\u674e\": \"Personal Belongings\",\n            \"\u500b\u4eba\u884c\u674e\": \"Personal Belongings\",\n            \"\u4e2a\u4eba\u884c\u674e\u7bb1\": \"Personal Belongings\",\n            \"\u500b\u4eba\u884c\u674e\u7bb1\": \"Personal Belongings\",\n            \"personal belongings\": \"Personal Belongings\",\n            \"\u6210\u4eba\u7528\u54c1\": \"Adult Products\",\n            \"adult products\": \"Adult Products\",\n            \"\u5ba0\u7269\u7528\u54c1\": \"Pet Supplies\",\n            \"\u5bf5\u7269\u7528\u54c1\": \"Pet Supplies\",\n            \"pet supplies\": \"Pet Supplies\",\n            \"\u5bb6\u5c45\u4e0e\u53a8\u623f\": \"Home & Kitchen\",\n            \"\u5bb6\u5c45\u8207\u5eda\u623f\": \"Home & Kitchen\",\n            \"home & kitchen\": \"Home & Kitchen\",\n            \"\u5bb6\u7528\u7535\u5668\": \"Home Appliances\",\n            \"\u5bb6\u7528\u96fb\u5668\": \"Home Appliances\",\n            \"\u54c1\u724c\u5bb6\u7535\": \"Home Appliances\",\n            \"\u54c1\u724c\u5bb6\u96fb\": \"Home Appliances\",\n            \"home appliances\": \"Home Appliances\",\n            \"\u7535\u52a8\u8f66\": \"Electric Bike\",\n            \"\u96fb\u52d5\u8eca\": \"Electric Bike\",\n            \"electric bike\": \"Electric Bike\",\n            \"\u7535\u5b50\u4ea7\u54c1\": \"Electronics\",\n            \"\u96fb\u5b50\u7522\u54c1\": \"Electronics\",\n            \"electronics\": \"Electronics\",\n            \"electronic products\": \"Electronics\",\n            \"\u7535\u5b50\u4ea7\u54c1(\u4e0d\u542b\u7535\u6c60)\": \"Electronics (no battery)\",\n            \"\u7535\u5b50\u4ea7\u54c1\uff08\u4e0d\u542b\u7535\u6c60\uff09\": \"Electronics (no battery)\",\n            \"\u96fb\u5b50\u7522\u54c1\uff08\u4e0d\u542b\u96fb\u6c60\uff09\": \"Electronics (no battery)\",\n            \"electronic product (without battery)\": \"Electronics (no battery)\",\n            \"electronic product (no-battery)\": \"Electronics (no battery)\",\n            \"electronic products (without batteries)\": \"Electronics (no battery)\",\n            \"\u7535\u5b50\u4ea7\u54c1\uff08\u542b\u7535\u6c60\uff09\": \"Electronics (with battery)\",\n            \"\u96fb\u5b50\u7522\u54c1\uff08\u542b\u96fb\u6c60\uff09\": \"Electronics (with battery)\",\n            \"electronic product (with battery)\": \"Electronics (with battery)\",\n            \"\u7535\u5b50\u70df\": \"E-cigarette\",\n            \"\u96fb\u5b50\u83f8\": \"E-cigarette\",\n            \"e-cigarette\": \"E-cigarette\",\n            \"\u70df\u5f39\": \"Vape Pods\",\n            \"\u83f8\u5f48\": \"Vape Pods\",\n            \"smoke bomb\": \"Vape Pods\",\n            \"\u9999\u70df\": \"Cigarettes\",\n            \"\u9999\u83f8\": \"Cigarettes\",\n            \"cigarette\": \"Cigarettes\",\n            \"\u7eaa\u5ff5\u5e01\": \"Commemorative Coins\",\n            \"\u7d00\u5ff5\u5e63\": \"Commemorative Coins\",\n            \"commemorative coins\": \"Commemorative Coins\",\n            \"\u7f8a\u6bdb\u88ab\": \"Wool Quilts\",\n            \"wool quilts\": \"Wool Quilts\",\n            \"\u6d77\u9c9c\u5e72\u8d27\": \"Dried Seafood\",\n            \"\u6d77\u9bae\u4e7e\u8ca8\": \"Dried Seafood\",\n            \"dried seafood\": \"Dried Seafood\",\n            \"\u7f50\u5934\u7c7b\u98df\u54c1\": \"Canned Food\",\n            \"\u7f50\u982d\u985e\u98df\u54c1\": \"Canned Food\",\n            \"canned food\": \"Canned Food\",\n            \"\u7f50\u88c5\u5976\u7c89\": \"Canned Milk Powder\",\n            \"\u7f50\u88dd\u5976\u7c89\": \"Canned Milk Powder\",\n            \"canned milk powder\": \"Canned Milk Powder\",\n            \"\u888b\u88c5\u5976\u7c89\": \"Bagged Milk Powder\",\n            \"\u888b\u88dd\u5976\u7c89\": \"Bagged Milk Powder\",\n            \"bagged milk powder\": \"Bagged Milk Powder\",\n            \"\u5976\u7c89\": \"Milk Powder\",\n            \"milk powder\": \"Milk Powder\",\n            \"\u6bcd\u5a74\u7528\u54c1\": \"Maternity & Baby\",\n            \"\u6bcd\u5b30\u7528\u54c1\": \"Maternity & Baby\",\n            \"maternity & baby supplies\": \"Maternity & Baby\",\n            \"\u8fd0\u52a8\u6237\u5916\u7528\u54c1\": \"Sports & Outdoor\",\n            \"\u904b\u52d5\u6236\u5916\u7528\u54c1\": \"Sports & Outdoor\",\n            \"\u8fd0\u52a8\u548c\u6237\u5916\u7528\u54c1\": \"Sports & Outdoor\",\n            \"\u904b\u52d5\u548c\u6236\u5916\u7528\u54c1\": \"Sports & Outdoor\",\n            \"sports & outdoor goods\": \"Sports & Outdoor\",\n            \"sports and outdoor equipment\": \"Sports & Outdoor\",\n            \"\u5de5\u5177\": \"Tools\",\n            \"tools\": \"Tools\",\n            \"\u7af9\u6728\u7269\u54c1\": \"Wood & Bamboo\",\n            \"solid wood\": \"Wood & Bamboo\",\n            \"wood\": \"Wood & Bamboo\",\n            \"\u8336\u53f6\": \"Tea\",\n            \"\u8336\u8449\": \"Tea\",\n            \"tea\": \"Tea\",\n            \"\u8461\u8404\u9152\": \"Wine\",\n            \"wine\": \"Wine\",\n            \"\u9152\": \"Liquor\",\n            \"liquor\": \"Liquor\",\n            \"\u9690\u5f62\u773c\u955c\": \"Contact Lenses\",\n            \"\u96b1\u5f62\u773c\u93e1\": \"Contact Lenses\",\n            \"contact lenses\": \"Contact Lenses\",\n            \"\u6e05\u6d01\u7528\u54c1(\u542b\u9152\u7cbe)\": \"Cleaning Products (alcohol)\",\n            \"\u6e05\u6f54\u7528\u54c1(\u542b\u9152\u7cbe)\": \"Cleaning Products (alcohol)\",\n            \"disinfectant\": \"Cleaning Products (alcohol)\",\n            \"\u6613\u71c3\u6613\u7206\u6807\u5fd7\": \"Flammable Sign\",\n            \"\u6613\u71c3\u6613\u7206\u6a19\u8a8c\": \"Flammable Sign\",\n            \"flammable sign\": \"Flammable Sign\",\n            \"ugg\": \"UGG\",\n            \"\u5176\u4ed6\": \"Others\",\n            \"others\": \"Others\"\n        };\n        function normTagEN(raw, isEn){\n            if(!isEn) return raw;\n            var s=(raw==null?'':String(raw)).replace(\/\\s+\/g,' ').trim();\n            return TAG_NORM[s] || TAG_NORM[s.toLowerCase()] || s;\n        }\n\n        function $(root, sel){return root.querySelector(sel);}\n        function $$(root, sel){return root.querySelectorAll(sel);}\n\n        \/\/ Phase 1b (2026-09-25)\uff1a\u62a5\u4ef7 API \u56de\u8c03\u540e\u5e7f\u64ad DOM \u4e8b\u4ef6 ebg:quote\uff0c\u7531 ebg-analytics.php \u8f6c\u6210 GA4\n        \/\/ quote_success \/ quote_failed\u3002\u53ea\u63cf\u8ff0\u771f\u5b9e API \u7ed3\u679c\uff0c\u4e0d\u6539\u4efb\u4f55\u8ba1\u7b97\u903b\u8f91\uff1b\u51fa\u9519\u9759\u9ed8\u3002\n        function ebgQuoteEvent(el, cfg, status, list, payload, code){\n            try {\n                var tag = el.querySelector('.ebg-calc__tag.is-active');\n                var o = String(cfg.originIso || '').toUpperCase(), d = String(cfg.destIso || '').toUpperCase();\n                var det = { quote_source: 'ebg_calc', origin: o, destination: d, route: o + '_' + d,\n                            package_type: tag ? tag.textContent.trim().slice(0, 30) : '',\n                            quote_result_status: status, api_code: code || 0, page_path: location.pathname };\n                var w = 0; ((payload && payload.package) || []).forEach(function(pk){ w += (parseFloat(pk.weight) || 0) * (parseInt(pk.qty, 10) || 1); });\n                if (w > 0) det.weight_kg = Math.round(w * 100) \/ 100;\n                if (status === 'success' && list && list.length) {\n                    var ests = list.map(function(i){ return parseFloat(i.estimation); }).filter(function(x){ return !isNaN(x); });\n                    det.options_count = list.length;\n                    if (ests.length) det.estimation_total = Math.min.apply(null, ests);\n                    det.currency = String(list[0].currency_name || '');\n                }\n                document.dispatchEvent(new CustomEvent('ebg:quote', { detail: det }));\n            } catch (e) {}\n        }\n\n        function init(el){\n            var cfg;\n            try { cfg = JSON.parse(el.getAttribute('data-config')); } catch(e){ return; }\n            var state = { tagId: null, tags: [], states: [] };\n            var status = $(el,'[data-role=\"status\"]');\n            var results = $(el,'[data-role=\"results\"]');\n\n            function setStatus(msg, kind){\n                status.className = 'ebg-calc__status' + (kind?(' is-'+kind):'');\n                status.textContent = msg || '';\n            }\n\n            function fetchJSON(path, opts){\n                opts = opts || {};\n                opts.headers = opts.headers || {};\n                \/\/ No X-WP-Nonce here on purpose -- see comment at cfg.restBase above.\n                if (opts.body && typeof opts.body !== 'string') {\n                    opts.headers['Content-Type'] = 'application\/json';\n                    opts.body = JSON.stringify(opts.body);\n                }\n                return fetch(cfg.restBase + path, opts).then(function(r){ return r.json(); });\n            }\n\n            function loadTags(){\n                \/\/ Black-line SVG icon set (heroicons-style outline). Mapped per category.\n                \/\/ Default: generic package icon\n                var ICON_PACKAGE = '<svg viewBox=\"0 0 24 24\"><path d=\"M3.27 6.96 12 12.01l8.73-5.05M12 22.08V12\"\/><path d=\"M20.5 7.27 12 2.27l-8.5 5 0 9.46 8.5 5 8.5-5z\"\/><\/svg>';\n                var ICON_PILL = '<svg viewBox=\"0 0 24 24\"><rect x=\"3\" y=\"9\" width=\"18\" height=\"6\" rx=\"3\"\/><line x1=\"12\" y1=\"9\" x2=\"12\" y2=\"15\"\/><\/svg>';\n                var ICON_BOTTLE = '<svg viewBox=\"0 0 24 24\"><path d=\"M9 2h6M10 2v3a3 3 0 0 0-2 3v12a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2V8a3 3 0 0 0-2-3V2\"\/><\/svg>';\n                var ICON_FORK = '<svg viewBox=\"0 0 24 24\"><path d=\"M7 2v6a3 3 0 0 0 3 3v11M7 2v6M17 2v20\"\/><\/svg>';\n                var ICON_SHIRT = '<svg viewBox=\"0 0 24 24\"><path d=\"M20.38 3.46 16 2a4 4 0 0 1-8 0L3.62 3.46a2 2 0 0 0-1.34 2.23l.58 3.47a1 1 0 0 0 .99.84H6v10c0 1.1.9 2 2 2h8a2 2 0 0 0 2-2V10h2.15a1 1 0 0 0 .99-.84l.58-3.47a2 2 0 0 0-1.34-2.23z\"\/><\/svg>';\n                var ICON_LAPTOP = '<svg viewBox=\"0 0 24 24\"><rect x=\"3\" y=\"5\" width=\"18\" height=\"12\" rx=\"2\"\/><line x1=\"2\" y1=\"20\" x2=\"22\" y2=\"20\"\/><\/svg>';\n                var ICON_BATTERY = '<svg viewBox=\"0 0 24 24\"><rect x=\"2\" y=\"7\" width=\"18\" height=\"10\" rx=\"2\"\/><line x1=\"22\" y1=\"11\" x2=\"22\" y2=\"13\"\/><line x1=\"6\" y1=\"11\" x2=\"14\" y2=\"11\"\/><\/svg>';\n                var ICON_BABY_BOTTLE = '<svg viewBox=\"0 0 24 24\"><path d=\"M9 2h6M10 4v2M14 4v2\"\/><rect x=\"7\" y=\"6\" width=\"10\" height=\"16\" rx=\"2\"\/><line x1=\"7\" y1=\"11\" x2=\"17\" y2=\"11\"\/><\/svg>';\n                var ICON_BOOK = '<svg viewBox=\"0 0 24 24\"><path d=\"M4 4a2 2 0 0 1 2-2h12v18H6a2 2 0 0 0-2 2V4z\"\/><line x1=\"8\" y1=\"7\" x2=\"14\" y2=\"7\"\/><line x1=\"8\" y1=\"11\" x2=\"14\" y2=\"11\"\/><\/svg>';\n                var ICON_SPARKLE = '<svg viewBox=\"0 0 24 24\"><path d=\"M12 3v3M12 18v3M3 12h3M18 12h3M5.6 5.6l2.1 2.1M16.3 16.3l2.1 2.1M5.6 18.4l2.1-2.1M16.3 7.7l2.1-2.1\"\/><\/svg>';\n                var ICON_WINE = '<svg viewBox=\"0 0 24 24\"><path d=\"M8 3h8l-1 7a3 3 0 0 1-6 0L8 3zM12 13v8M8 21h8\"\/><\/svg>';\n                var ICON_GEM = '<svg viewBox=\"0 0 24 24\"><path d=\"m6 3 6 18 6-18M3 9l9 12M21 9l-9 12M3 9h18\"\/><\/svg>';\n                var ICON_SUITCASE = '<svg viewBox=\"0 0 24 24\"><rect x=\"3\" y=\"7\" width=\"18\" height=\"14\" rx=\"2\"\/><path d=\"M9 7V4a2 2 0 0 1 2-2h2a2 2 0 0 1 2 2v3\"\/><line x1=\"3\" y1=\"13\" x2=\"21\" y2=\"13\"\/><\/svg>';\n                var ICON_TOOL = '<svg viewBox=\"0 0 24 24\"><path d=\"M14.7 6.3a4 4 0 1 0 5 5L21 12l-3-3 1.5-1.5L17 5l-2.3 1.3zM3 21l8-8\"\/><\/svg>';\n                var ICON_WARNING = '<svg viewBox=\"0 0 24 24\"><path d=\"m12 3 10 18H2L12 3zM12 10v5M12 18v.5\"\/><\/svg>';\n                var ICON_PROHIBIT = '<svg viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"9\"\/><line x1=\"5.5\" y1=\"5.5\" x2=\"18.5\" y2=\"18.5\"\/><\/svg>';\n                var ICON_COIN = '<svg viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"12\" r=\"9\"\/><path d=\"M9 9a3 3 0 0 1 6 0c0 1.5-1 2-2 2.5s-2 1-2 2.5\"\/><line x1=\"12\" y1=\"17\" x2=\"12\" y2=\"17\"\/><\/svg>';\n                var ICON_ANTENNA = '<svg viewBox=\"0 0 24 24\"><circle cx=\"12\" cy=\"20\" r=\"2\"\/><path d=\"M12 18V8M8 5l4-3 4 3M5 9l7-5 7 5\"\/><\/svg>';\n                var ICON_BOOT = '<svg viewBox=\"0 0 24 24\"><path d=\"M4 5h7a2 2 0 0 1 2 2v6h6a3 3 0 0 1 3 3v3H4V5z\"\/><line x1=\"13\" y1=\"11\" x2=\"19\" y2=\"11\"\/><\/svg>';\n                var ICON_POWDER = '<svg viewBox=\"0 0 24 24\"><path d=\"M6 8h12l-2 13a2 2 0 0 1-2 2H10a2 2 0 0 1-2-2L6 8zM6 8V5a2 2 0 0 1 2-2h8a2 2 0 0 1 2 2v3\"\/><\/svg>';\n                var ICON_BLANKET = '<svg viewBox=\"0 0 24 24\"><path d=\"M3 6c5-2 13-2 18 0v12c-5-2-13-2-18 0V6zM7 9v6M12 8v8M17 9v6\"\/><\/svg>';\n                var ICON_FLAME = '<svg viewBox=\"0 0 24 24\"><path d=\"M12 3c0 4-5 5-5 10a5 5 0 0 0 10 0c0-3-2-4-2-7 0 1-1 2-3 2 1-2 0-4 0-5z\"\/><\/svg>';\n                var ICON_BAG = '<svg viewBox=\"0 0 24 24\"><path d=\"M5 7h14l-1 14H6L5 7zM9 7V5a3 3 0 0 1 6 0v2\"\/><\/svg>';\n                var ICON_TAG = '<svg viewBox=\"0 0 24 24\"><path d=\"M20 12 12 4H4v8l8 8 8-8z\"\/><circle cx=\"8\" cy=\"8\" r=\"1.5\"\/><\/svg>';\n                var ICON_CAR = '<svg viewBox=\"0 0 24 24\"><path d=\"M5 17H3v-5l3-5h12l3 5v5h-2\"\/><circle cx=\"7\" cy=\"17\" r=\"2\"\/><circle cx=\"17\" cy=\"17\" r=\"2\"\/><\/svg>';\n                var ICON_FISH = '<svg viewBox=\"0 0 24 24\"><path d=\"M3 12c4-5 10-6 14-3l4-3-2 6 2 6-4-3c-4 3-10 2-14-3z\"\/><circle cx=\"9\" cy=\"11\" r=\"1\"\/><\/svg>';\n                var ICON_CAN = '<svg viewBox=\"0 0 24 24\"><ellipse cx=\"12\" cy=\"5\" rx=\"7\" ry=\"2\"\/><path d=\"M5 5v14c0 1 3 2 7 2s7-1 7-2V5\"\/><\/svg>';\n                var ICON_SOFA = '<svg viewBox=\"0 0 24 24\"><path d=\"M3 11v4a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-4M3 11V8a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v3M3 11h18M5 17v3M19 17v3\"\/><\/svg>';\n                var ICON_ROBOT = '<svg viewBox=\"0 0 24 24\"><rect x=\"4\" y=\"8\" width=\"16\" height=\"12\" rx=\"2\"\/><circle cx=\"9\" cy=\"14\" r=\"1\"\/><circle cx=\"15\" cy=\"14\" r=\"1\"\/><path d=\"M12 4v4M9 4h6\"\/><\/svg>';\n                var ICON_LUNCHBOX = '<svg viewBox=\"0 0 24 24\"><rect x=\"3\" y=\"8\" width=\"18\" height=\"13\" rx=\"2\"\/><path d=\"M8 8V5a4 4 0 0 1 8 0v3M3 14h18\"\/><\/svg>';\n\n                var ICON = {\n                    5:ICON_PILL, 71:ICON_BOTTLE, 4:ICON_FORK, 7:ICON_BOTTLE, 18:ICON_SHIRT,\n                    22:ICON_LAPTOP, 8:ICON_BATTERY, 25:ICON_WARNING, 13:ICON_BABY_BOTTLE, 259:ICON_BABY_BOTTLE,\n                    30:ICON_BOOK, 9:ICON_SPARKLE, 23:ICON_WINE, 20:ICON_PACKAGE, 21:ICON_GEM,\n                    10:ICON_FISH, 12:ICON_CAN, 28:ICON_BOTTLE, 102:ICON_TOOL, 26:ICON_CAR,\n                    14:ICON_PACKAGE, 19:ICON_POWDER, 123:ICON_PILL, 172:ICON_SUITCASE, 127:ICON_BLANKET,\n                    11:ICON_BAG, 73:ICON_WARNING, 15:ICON_PROHIBIT, 128:ICON_BATTERY, 24:ICON_TAG,\n                    65:ICON_COIN, 141:ICON_ANTENNA, 187:ICON_BOOT, 29:ICON_FLAME, 36:ICON_LUNCHBOX,\n                    76:ICON_SOFA, 96:ICON_ROBOT\n                };\n\n                var tagsRoot = $(el,'[data-role=\"tags\"]');\n                tagsRoot.innerHTML = '<div class=\"ebg-calc__tags-loading\"><svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"display:inline-block;vertical-align:-3px;margin-right:6px\"><path d=\"M6 2h12v6l-6 4 6 4v6H6v-6l6-4-6-4z\"\/><\/svg> \u52a0\u8f7d\u4e2d\u2026<\/div>';\n\n                function showTagError(msg){\n                    tagsRoot.innerHTML = '<div class=\"ebg-calc__tags-loading\" style=\"color:#ef4444;padding:14px;text-align:center\"><div style=\"margin-bottom:8px\"><svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"display:inline-block;vertical-align:-3px;margin-right:6px\"><path d=\"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\"\/><line x1=\"12\" y1=\"9\" x2=\"12\" y2=\"13\"\/><line x1=\"12\" y1=\"17\" x2=\"12.01\" y2=\"17\"\/><\/svg> ' + msg + '<\/div><button type=\"button\" data-role=\"retry-tags\" style=\"padding:8px 16px;background:#116ebf;color:#fff;border:0;border-radius:6px;cursor:pointer;font-size:13px\">\u70b9\u51fb\u91cd\u8bd5 \/ Retry<\/button><\/div>';\n                    var rt = $(el,'[data-role=\"retry-tags\"]');\n                    if (rt) rt.addEventListener('click', function(){ loadTags(); });\n                }\n                fetchJSON('\/tags?store_id=' + cfg.storeId + '&language=' + (cfg.apiLang || 'cn')).then(function(res){\n                    var tags = (res && res.data && res.data.length) ? res.data : [];\n                    if (!tags.length) {\n                        showTagError((res && res.msg) ? ('API: ' + res.msg) : '\u65e0\u6cd5\u52a0\u8f7d\u7269\u54c1\u7c7b\u578b \/ Cannot load item categories');\n                        return;\n                    }\n                    tagsRoot.innerHTML = '';\n                    state.allApiTags = tags;\n                    tags.forEach(function(t){\n                        var card = document.createElement('div');\n                        card.className = 'ebg-calc__tag';\n                        card.setAttribute('data-tagid', t.tags_id);\n                        card.setAttribute('data-tagname', t.name);\n                        card.setAttribute('role', 'button');\n                        card.setAttribute('tabindex', '0');\n                        var icon = ICON[t.tags_id] || ICON_PACKAGE;\n                        var dispName = normTagEN(t.name, cfg.apiLang === 'en');\n                        card.innerHTML = '<span class=\"ebg-calc__tag-icon\">' + icon + '<\/span>' +\n                                         '<span class=\"ebg-calc__tag-name\">' + escHtml(dispName) + '<\/span>';\n                        card.addEventListener('click', function(){ selectTag(t); });\n                        card.addEventListener('keydown', function(e){\n                            if (e.key === 'Enter' || e.key === ' ') { e.preventDefault(); selectTag(t); }\n                        });\n                        tagsRoot.appendChild(card);\n                    });\n                    renderDimPresets();\n                }).catch(function(err){\n                    showTagError('\u7f51\u7edc\u9519\u8bef Network error: ' + (err && err.message ? err.message : 'unknown'));\n                });\n            }\n\n            function renderDimPresets(){\n                var presetRoot = $(el,'[data-role=\"dim-presets\"]');\n                if (!presetRoot) return;\n                var isEn = cfg.apiLang === 'en';\n                \/\/ Box-outline SVG icons \u2014 sized to suggest the package volume visually\n                var SIZE_ICONS = {\n                    tiny:    '<svg viewBox=\"0 0 32 24\" width=\"32\" height=\"24\"><rect x=\"11\" y=\"9\" width=\"10\" height=\"9\" rx=\"1\"\/><\/svg>',\n                    small:   '<svg viewBox=\"0 0 32 24\" width=\"32\" height=\"24\"><rect x=\"9\" y=\"6\" width=\"14\" height=\"12\" rx=\"1\"\/><\/svg>',\n                    shoe:    '<svg viewBox=\"0 0 32 24\" width=\"32\" height=\"24\"><rect x=\"5\" y=\"9\" width=\"22\" height=\"9\" rx=\"1\"\/><\/svg>',\n                    medium:  '<svg viewBox=\"0 0 32 24\" width=\"32\" height=\"24\"><rect x=\"7\" y=\"4\" width=\"18\" height=\"16\" rx=\"1\"\/><\/svg>',\n                    large:   '<svg viewBox=\"0 0 32 24\" width=\"32\" height=\"24\"><rect x=\"4\" y=\"2\" width=\"24\" height=\"20\" rx=\"1\"\/><\/svg>',\n                    luggage: '<svg viewBox=\"0 0 32 24\" width=\"32\" height=\"24\"><rect x=\"6\" y=\"5\" width=\"20\" height=\"16\" rx=\"2\"\/><path d=\"M13 5V3a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2\"\/><line x1=\"6\" y1=\"12\" x2=\"26\" y2=\"12\"\/><\/svg>',\n                };\n                var SIZES = [\n                    {k:'tiny',    n: isEn?'Tiny':'\u8ff7\u4f60',     w:0.3,  l:12,  W:8,   h:6},\n                    {k:'small',   n: isEn?'Small':'\u5c0f\u76d2',    w:1.5,  l:25,  W:20,  h:15},\n                    {k:'shoe',    n: isEn?'Shoe':'\u978b\u76d2',     w:2,    l:32,  W:22,  h:12},\n                    {k:'medium',  n: isEn?'Medium':'\u4e2d\u7bb1',   w:6,    l:40,  W:30,  h:25},\n                    {k:'large',   n: isEn?'Large':'\u5927\u7bb1',    w:15,   l:60,  W:45,  h:40},\n                    {k:'luggage', n: isEn?'Luggage':'\u884c\u674e\u7bb1', w:20,   l:65,  W:45,  h:30}\n                ];\n                presetRoot.innerHTML = '';\n                SIZES.forEach(function(p){\n                    var btn = document.createElement('button');\n                    btn.type = 'button';\n                    btn.className = 'ebg-calc__dim-preset';\n                    btn.innerHTML = '<span class=\"ebg-calc__dim-preset-icon\">' + (SIZE_ICONS[p.k] || '') + '<\/span>' +\n                                    '<span class=\"ebg-calc__dim-preset-name\">' + p.n + '<\/span>' +\n                                    '<span class=\"ebg-calc__dim-preset-weight\">' + p.w + ' kg<\/span>';\n                    btn.addEventListener('click', function(){\n                        $(el,'[data-role=\"weight\"]').value = p.w;\n                        $(el,'[data-role=\"length\"]').value = p.l;\n                        $(el,'[data-role=\"width\"]').value = p.W;\n                        $(el,'[data-role=\"height\"]').value = p.h;\n                        $$(el,'.ebg-calc__dim-preset').forEach(function(b){ b.classList.remove('is-active'); });\n                        btn.classList.add('is-active');\n                    });\n                    presetRoot.appendChild(btn);\n                });\n            }\n\n            function selectTag(t){\n                state.tagId = t.tags_id;\n                state.tagName = t.name;\n                $$(el,'.ebg-calc__tag').forEach(function(n){\n                    n.classList.toggle('is-active', n.getAttribute('data-tagname') === t.name);\n                });\n            }\n\n            function loadStates(){\n                fetchJSON('\/states?country_id=' + cfg.destCid).then(function(res){\n                    var sel = $(el,'[data-role=\"state\"]');\n                    sel.innerHTML = '';\n                    if (!res || res.code !== 200 || !res.data || !res.data.length) {\n                        var o = document.createElement('option');\n                        o.value = ''; o.textContent = '\u2014';\n                        sel.appendChild(o);\n                        return;\n                    }\n                    state.states = res.data;\n                    var ph = document.createElement('option');\n                    ph.value = ''; ph.textContent = (cfg.i18n && cfg.i18n.select_state) ? cfg.i18n.select_state : '\u2014 Select \u2014';\n                    sel.appendChild(ph);\n                    res.data.forEach(function(s){\n                        var o = document.createElement('option');\n                        o.value = s.id; o.textContent = s.name;\n                        sel.appendChild(o);\n                    });\n                });\n            }\n\n            function calculate(){\n                var weight = parseFloat($(el,'[data-role=\"weight\"]').value);\n                var length = parseFloat($(el,'[data-role=\"length\"]').value);\n                var width  = parseFloat($(el,'[data-role=\"width\"]').value);\n                var height = parseFloat($(el,'[data-role=\"height\"]').value);\n                var postcode = $(el,'[data-role=\"postcode\"]').value.trim();\n                var stateId  = $(el,'[data-role=\"state\"]').value;\n                var suburb   = $(el,'[data-role=\"suburb\"]').value.trim();\n                var declare  = parseFloat($(el,'[data-role=\"declare\"]').value) || 0;\n\n                if (!state.tagId) { setStatus('Please select a package category.', 'error'); return; }\n                if (!weight || !length || !width || !height) { setStatus('Please fill in weight and dimensions.', 'error'); return; }\n                \/\/ postcode no longer blocks submit \u2014 many lanes (AusPost etc.) compute rates from state alone\n                if (!stateId) { setStatus((cfg.i18n && cfg.i18n.pc_missing_state) || 'Please select a state\/region.', 'error'); return; }\n\n                var payload = {\n                    area: '0',\n                    country_id: cfg.destCid,\n                    country_id_from: cfg.originCid,\n                    store_id: cfg.storeId,\n                    language: cfg.apiLang || 'cn',  \/\/ api expects cn\/tw\/en, NOT zh\/zh-Hant (causes 500)\n                    declare_value: declare || '',   \/\/ empty string when 0, matches cal payload\n                    currency_id: cfg.currencyId || 3,  \/\/ warehouse default currency (3=AUD, 4=MYR, 55=CNY, etc.)\n                    weight_unit: 'kg',\n                    length_unit: 'cm',\n                    postcode: postcode,\n                    state: stateId,\n                    suburb: suburb,\n                    package: [{\n                        qty: 1,\n                        weight: weight,\n                        length: length,\n                        width: width,\n                        height: height,\n                        tags_ids: state.tagId\n                    }]\n                };\n\n                var btn = $(el,'[data-role=\"submit\"]');\n                btn.disabled = true;\n                setStatus('Calculating\u2026', 'info');\n                results.innerHTML = '';\n\n                fetchJSON('\/quote', { method: 'POST', body: payload }).then(function(res){\n                    btn.disabled = false;\n                    if (!res) { setStatus('Network error. Please try again.', 'error'); ebgQuoteEvent(el, cfg, 'network', [], payload, 0); return; }\n                    if (res.code !== 200) { setStatus(res.msg || 'Calculation failed.', 'error'); ebgQuoteEvent(el, cfg, 'error', [], payload, res.code); return; }\n                    var list = res.data || [];\n                    if (!list.length) { setStatus('No shipping options available for this route.', 'info'); ebgQuoteEvent(el, cfg, 'empty', [], payload, 200); return; }\n                    setStatus('');\n                    renderResults(list);\n                    ebgQuoteEvent(el, cfg, 'success', list, payload, 200);   \/\/ Phase 1b\uff1a\u771f\u5b9e\u62a5\u4ef7 API \u6210\u529f\u56de\u8c03 \u2192 quote_success\n                }).catch(function(){\n                    btn.disabled = false;\n                    setStatus('Cannot reach calculator. Please try again later or visit cal.ebaoguo.com.', 'error');\n                    ebgQuoteEvent(el, cfg, 'network', [], payload, 0);\n                });\n            }\n\n            function renderResults(list){\n                var isEnLang = (cfg.apiLang === 'en');\n                var RL = (function(L){\n                    var d={\n                      en:{ship:'Shipping',pickup:'Pickup',handling:'Handling',warehouse:'Warehouse',fumigation:'Fumigation',extrasvc:'Extra Service',surcharge:'Surcharge',tax:'Tax Fee',commission:'Commission',billing:'Billing',total:'Total',dutytax:'Duty & Tax',estduty:'Est. Import Duty',esttax:'Est. Import Tax',taxnotes:'Tax Notes',recipient:'payable by recipient',limits:'Limits',maxwt:'Max weight',maxlen:'Max length',girth:'Length+girth \\u2264',maxdeclare:'Max declared',insurance:'Insurance',insOpt:'Optional insurance',insFree:'free basic cover',insMin:'min charge',volWarn:'Billed by volumetric weight',volWarnDesc:'This package is bulky for its weight, so the quote uses volumetric weight'},\n                      cn:{ship:'\\u8fd0\\u8d39',pickup:'\\u4e0a\\u95e8\\u53d6\\u4ef6\\u8d39',handling:'\\u5904\\u7406\\u8d39',warehouse:'\\u5165\\u4ed3\/\\u64cd\\u4f5c\\u8d39',fumigation:'\\u7194\\u84b8\\u8d39',extrasvc:'\\u9644\\u52a0\\u670d\\u52a1\\u8d39',surcharge:'\\u989d\\u5916\\u8d39\\u7528',tax:'\\u7a0e\\u8d39',commission:'\\u4f63\\u91d1',billing:'\\u8ba1\\u8d39',total:'\\u5408\\u8ba1',dutytax:'\\u5173\\u7a0e\/\\u7a0e\\u8d39',estduty:'\\u9884\\u4f30\\u8fdb\\u53e3\\u5173\\u7a0e',esttax:'\\u9884\\u4f30\\u8fdb\\u53e3\\u7a0e',taxnotes:'\\u5173\\u7a0e\\u8bf4\\u660e',recipient:'\\u6536\\u4ef6\\u4eba\\u4ed8',limits:'\\u9650\\u5236',maxwt:'\\u5355\\u4ef6\\u6700\\u91cd',maxlen:'\\u6700\\u957f\\u8fb9',girth:'\\u957f+\\u56f4 \\u2264',maxdeclare:'\\u7533\\u62a5\\u4e0a\\u9650',insurance:'\\u4fdd\\u9669',insOpt:'\\u53ef\\u9009\\u4fdd\\u9669',insFree:'\\u514d\\u8d39\\u57fa\\u7840\\u4fdd\\u969c',insMin:'\\u8d77\\u6295',volWarn:'\\u672c\\u6b21\\u6309\\u4f53\\u79ef\\u91cd\\u8ba1\\u8d39',volWarnDesc:'\\u5305\\u88f9\\u4f53\\u79ef\\u76f8\\u5bf9\\u91cd\\u91cf\\u8f83\\u5927\\uff0c\\u56e0\\u6b64\\u62a5\\u4ef7\\u6309\\u4f53\\u79ef\\u91cd\\u8ba1\\u7b97'},\n                      tw:{ship:'\\u904b\\u8cbb',pickup:'\\u4e0a\\u9580\\u53d6\\u4ef6\\u8cbb',handling:'\\u8655\\u7406\\u8cbb',warehouse:'\\u5165\\u5009\/\\u64cd\\u4f5c\\u8cbb',fumigation:'\\u71fb\\u84b8\\u8cbb',extrasvc:'\\u9644\\u52a0\\u670d\\u52d9\\u8cbb',surcharge:'\\u984d\\u5916\\u8cbb\\u7528',tax:'\\u7a05\\u8cbb',commission:'\\u4f63\\u91d1',billing:'\\u8a08\\u8cbb',total:'\\u5408\\u8a08',dutytax:'\\u95dc\\u7a05\/\\u7a05\\u8cbb',estduty:'\\u9810\\u4f30\\u9032\\u53e3\\u95dc\\u7a05',esttax:'\\u9810\\u4f30\\u9032\\u53e3\\u7a05',taxnotes:'\\u95dc\\u7a05\\u8aaa\\u660e',recipient:'\\u6536\\u4ef6\\u4eba\\u4ed8',limits:'\\u9650\\u5236',maxwt:'\\u55ae\\u4ef6\\u6700\\u91cd',maxlen:'\\u6700\\u9577\\u908a',girth:'\\u9577+\\u570d \\u2264',maxdeclare:'\\u7533\\u5831\\u4e0a\\u9650',insurance:'\\u4fdd\\u96aa',insOpt:'\\u53ef\\u9078\\u4fdd\\u96aa',insFree:'\\u514d\\u8cbb\\u57fa\\u790e\\u4fdd\\u969c',insMin:'\\u8d77\\u6295',volWarn:'\\u672c\\u6b21\\u6309\\u9ad4\\u7a4d\\u91cd\\u8a08\\u8cbb',volWarnDesc:'\\u5305\\u88f9\\u9ad4\\u7a4d\\u76f8\\u5c0d\\u91cd\\u91cf\\u8f03\\u5927\\uff0c\\u56e0\\u6b64\\u5831\\u50f9\\u6309\\u9ad4\\u7a4d\\u91cd\\u8a08\\u7b97'}\n                    };\n                    return d[L]||d.cn;\n                })(cfg.apiLang);\n                function feeName(apiName, fallback){ if(apiName){ if(isEnLang && \/[\\u4e00-\\u9fff]\/.test(apiName)) return fallback; return apiName; } return fallback; }\n                results.innerHTML = '';\n                list.forEach(function(item){\n                    var card = document.createElement('div');\n                    card.className = 'ebg-calc__card-v2' + (item.unableSelect ? ' is-disabled' : '');\n                    var logo = item.logo ? '<img decoding=\"async\" src=\"'+escAttr(item.logo)+'\" alt=\"\" style=\"max-width:60px;max-height:40px;object-fit:contain\">' : '';\n                    var meta = [];\n                    if (item.duration) meta.push('\\u{1F69A} '+escHtml(item.duration));\n                    if (item.dispatch_date) meta.push('\\u{1F4C5} '+escHtml(item.dispatch_date));\n                    if (item.transport_type) meta.push(escHtml(item.transport_type));\n                    if (item.weight_calc_type_text) meta.push(RL.billing+': '+escHtml(item.weight_calc_type_text));\n                    var warn = '';\n                    if (item.unableSelect && item.unableSelectReason) warn = '<div class=\"ebg-calc__card-warn\"><svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"display:inline-block;vertical-align:-3px;margin-right:6px\"><path d=\"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\"\/><line x1=\"12\" y1=\"9\" x2=\"12\" y2=\"13\"\/><line x1=\"12\" y1=\"17\" x2=\"12.01\" y2=\"17\"\/><\/svg> '+escHtml(item.unableSelectReason)+'<\/div>';\n\n                    \/\/ ========== TRANSPARENT FEE BREAKDOWN (all API fields, nothing hidden) ==========\n                    var currency = item.currency_name || '';\n                    var rows = [];\n\n                    \/\/ 1. Shipping subtotal\n                    var subtotal = item.estimation_sub || (item.parcel_cost && item.parcel_cost[0] ? item.parcel_cost[0].chargeable_cost : null);\n                    if (subtotal) rows.push({label:RL.ship, amount: subtotal});\n\n                    \/\/ 2. Pickup cost (\u4e0a\u95e8\u53d6\u4ef6\u8d39)\n                    if (item.pickup_cost && parseFloat(item.pickup_cost) > 0) {\n                      rows.push({label:RL.pickup, amount: item.pickup_cost});\n                    }\n\n                    \/\/ 3. Fulfillment \/ Handling fee\n                    if (item.fullfillment_fee && parseFloat(item.fullfillment_fee) > 0) {\n                      var ff = item.fullfillment_fee_detail && item.fullfillment_fee_detail[0];\n                      var ffName = feeName(ff && ff.name, RL.handling);\n                      rows.push({label: ffName, amount: item.fullfillment_fee});\n                    }\n\n                    \/\/ 4. Warehouse handling fee (\u5165\u4ed3\u8d39)\n                    if (item.warehouse_handling_fee && parseFloat(item.warehouse_handling_fee) > 0) {\n                      var wh = item.warehouse_handling_fee_detail && item.warehouse_handling_fee_detail[0];\n                      var whName = feeName(wh && wh.name, RL.warehouse);\n                      rows.push({label: whName, amount: item.warehouse_handling_fee});\n                    }\n\n                    \/\/ 5. Fumigation fee\n                    if (item.fumigation_fee && parseFloat(item.fumigation_fee) > 0) {\n                      rows.push({label:RL.fumigation, amount: item.fumigation_fee});\n                    }\n\n                    \/\/ 6. Parcel extra service fee\n                    if (item.parcelExtraServiceFee && parseFloat(item.parcelExtraServiceFee) > 0) {\n                      rows.push({label:RL.extrasvc, amount: item.parcelExtraServiceFee});\n                    }\n\n                    \/\/ 7. Extra fee (route-specific surcharges \u2014 was previously hidden!)\n                    if (item.extra_fee && parseFloat(item.extra_fee) > 0) {\n                      var ef = item.extra_fee_detail && item.extra_fee_detail[0];\n                      var efName = feeName(ef && ef.name, RL.surcharge);\n                      rows.push({label: efName, amount: item.extra_fee});\n                    }\n                    \/\/ Also handle if extra_fee_detail has multiple entries\n                    if (item.extra_fee_detail && item.extra_fee_detail.length > 1) {\n                      for (var ei = 1; ei < item.extra_fee_detail.length; ei++) {\n                        var ed = item.extra_fee_detail[ei];\n                        if (ed && ed.amount && parseFloat(ed.amount) > 0) {\n                          rows.push({label: feeName(ed.name, RL.surcharge), amount: ed.amount});\n                        }\n                      }\n                    }\n\n                    \/\/ 8. Tax fee (independent of include_tax_note \u2014 was hidden!)\n                    if (item.tax_fee && parseFloat(item.tax_fee) > 0) {\n                      var tf = item.tax_fee_detail && item.tax_fee_detail[0];\n                      var tfName = feeName(tf && tf.name, RL.tax);\n                      rows.push({label: tfName, amount: item.tax_fee});\n                    }\n\n                    \/\/ 9. Commission (was hidden!)\n                    if (item.commission && parseFloat(item.commission) > 0) {\n                      rows.push({label:RL.commission, amount: item.commission});\n                    }\n\n                    \/\/ ========== TAX\/CUSTOMS notes (informational, not summed into total) ==========\n                    var taxNote = item.include_tax_note || '';\n                    var taxRows = [];\n                    if (taxNote) {\n                      var taxColor = (taxNote.indexOf('\u5305\u542b') >= 0 || taxNote.indexOf('Inc') >= 0) ? '#16a34a' : '#dc2626';\n                      taxRows.push({label:RL.dutytax, value: taxNote, color: taxColor});\n                    }\n                    \/\/ Estimated import duty (was hidden!)\n                    if (item.estimated_import_duty && parseFloat(item.estimated_import_duty) > 0) {\n                      taxRows.push({label:RL.estduty, value: currency + ' ' + item.estimated_import_duty + ' (' + RL.recipient + ')', color: '#dc2626'});\n                    }\n                    if (item.estimated_import_tax && parseFloat(item.estimated_import_tax) > 0) {\n                      taxRows.push({label:RL.esttax, value: currency + ' ' + item.estimated_import_tax + ' (' + RL.recipient + ')', color: '#dc2626'});\n                    }\n                    if (item.estimated_import_duty_tax_description) {\n                      taxRows.push({label:RL.taxnotes, value: item.estimated_import_duty_tax_description, color: '#6b7280'});\n                    }\n\n                    \/\/ ========== COURIER LIMITS (so users know constraints upfront) ==========\n                    var limitInfo = '';\n                    if (item.courier_limit) {\n                      var cl = item.courier_limit;\n                      var limits = [];\n                      if (cl.maximum_weight && parseFloat(cl.maximum_weight) > 0) limits.push(RL.maxwt + ' ' + cl.maximum_weight + 'kg');\n                      if (cl.maximum_length && parseFloat(cl.maximum_length) > 0) limits.push(RL.maxlen + ' ' + cl.maximum_length + 'cm');\n                      if (cl.girth && parseFloat(cl.girth) > 0) limits.push(RL.girth + ' ' + cl.girth + 'cm');\n                      if (cl.max_declare_amount && parseFloat(cl.max_declare_amount) > 0) limits.push(RL.maxdeclare + ' ' + currency + ' ' + cl.max_declare_amount);\n                      if (limits.length) {\n                        limitInfo = '<div class=\"ebg-calc__bd-row\" style=\"color:#6b7280;font-size:12px;border-top:1px dashed #e5e7eb;padding-top:6px;margin-top:6px\"><span><svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"display:inline-block;vertical-align:-3px;margin-right:6px\"><path d=\"M21.3 8.7c-.4-.4-1-.4-1.4 0L13 15.5l-4.5-4.5 6.8-6.9c.4-.4.4-1 0-1.4-.4-.4-1-.4-1.4 0L8 9.6 4.4 6c-.4-.4-1-.4-1.4 0-.4.4-.4 1 0 1.4l14 14c.4.4 1 .4 1.4 0 .4-.4.4-1 0-1.4l-3.5-3.5 6.9-6.9c.4-.4.4-1 0-1.4z\"\/><\/svg> ' + RL.limits + '<\/span><span>' + escHtml(limits.join(' \u00b7 ')) + '<\/span><\/div>';\n                      }\n                    }\n\n                    \/\/ ========== INSURANCE NOTICE (so users know they CAN insure) ==========\n                    var insInfo = '';\n                    if (item.insurance_percentage && parseFloat(item.insurance_percentage) > 0) {\n                      var insText = RL.insOpt + ' ' + item.insurance_percentage + '% (max ' + currency + ' ' + (item.max_insurance || '?') + ')';\n                      if (item.free_insurance && parseFloat(item.free_insurance) > 0) {\n                        insText += ' \u00b7 ' + RL.insFree + ' ' + currency + ' ' + item.free_insurance;\n                      }\n                      if (item.min_insurance_charge && parseFloat(item.min_insurance_charge) > 0) {\n                        insText += ' \u00b7 ' + RL.insMin + ' ' + currency + ' ' + item.min_insurance_charge;\n                      }\n                      insInfo = '<div class=\"ebg-calc__bd-row\" style=\"color:#0369a1;font-size:12px\"><span><svg width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"display:inline-block;vertical-align:-3px;margin-right:6px\"><path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"\/><\/svg> ' + RL.insurance + '<\/span><span>' + escHtml(insText) + '<\/span><\/div>';\n                    }\n\n                    \/\/ ========== VOLUMETRIC WEIGHT EXPLANATION (surface this prominently \u2014 a bulky-but-\n                    \/\/ light package can jump from a few dollars to a much higher quote once volumetric\n                    \/\/ weight becomes the billing basis, and without an explanation this reads as a price\n                    \/\/ error rather than a real dimensional-weight rule; driven entirely by what the API\n                    \/\/ actually decided (v_weight > dead_weight AND weight === v_weight), not a hardcoded\n                    \/\/ per-route threshold, so it's correct for every carrier\/route this widget serves) ==\n                    var volInfo = '';\n                    if (item.v_weight && item.dead_weight) {\n                      var vW = parseFloat(item.v_weight), dW = parseFloat(item.dead_weight), chargeW = parseFloat(item.weight);\n                      if (vW > dW && chargeW === vW) {\n                        volInfo = '<div class=\"ebg-calc__card-warn\" style=\"background:#fff7ed;border:1px solid #fed7aa;border-radius:6px;padding:8px 10px;margin-top:6px;color:#9a3412\">' +\n                          '<svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" style=\"display:inline-block;vertical-align:-3px;margin-right:5px\"><path d=\"M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z\"\/><line x1=\"12\" y1=\"9\" x2=\"12\" y2=\"13\"\/><line x1=\"12\" y1=\"17\" x2=\"12.01\" y2=\"17\"\/><\/svg>' +\n                          '<strong>' + RL.volWarn + '<\/strong>' +\n                          '<div style=\"font-weight:400;margin-top:2px\">' + RL.volWarnDesc + ' (' + dW + 'kg \u2192 ' + vW + 'kg)<\/div>' +\n                          '<\/div>';\n                      }\n                    }\n\n                    \/\/ ========== Build breakdown HTML ==========\n                    var bdHtml = '';\n                    rows.forEach(function(r){\n                      bdHtml += '<div class=\"ebg-calc__bd-row\"><span>' + escHtml(r.label) + '<\/span><span>' + escHtml(currency) + ' ' + escHtml(r.amount) + '<\/span><\/div>';\n                    });\n                    taxRows.forEach(function(t){\n                      bdHtml += '<div class=\"ebg-calc__bd-row\" style=\"color:' + t.color + ';font-size:13px\"><span>' + escHtml(t.label) + '<\/span><span>' + escHtml(t.value) + '<\/span><\/div>';\n                    });\n                    if (limitInfo) bdHtml += limitInfo;\n                    if (insInfo) bdHtml += insInfo;\n\n                    card.innerHTML =\n                      '<div class=\"ebg-calc__card-head\">' +\n                        '<div class=\"ebg-calc__card-head-left\">' + logo +\n                          '<div><div class=\"ebg-calc__card-title\">'+escHtml(item.name||'')+'<\/div>' +\n                          '<div class=\"ebg-calc__card-meta\">'+meta.join(' \u00b7 ')+'<\/div>' +\n                          warn + volInfo + '<\/div>' +\n                        '<\/div>' +\n                        '<div class=\"ebg-calc__card-total\"><div class=\"ebg-calc__card-total-label\">'+RL.total+'<\/div><div class=\"ebg-calc__card-total-amount\">'+escHtml(currency)+' '+escHtml(item.estimation||'-')+'<\/div><\/div>' +\n                      '<\/div>' +\n                      (bdHtml ? '<div class=\"ebg-calc__breakdown\">'+bdHtml+'<\/div>' : '');\n                    results.appendChild(card);\n                });\n            }\n\n            function escHtml(s){ return String(s==null?'':s).replace(\/[&<>\"']\/g, function(c){return {'&':'&amp;','<':'&lt;','>':'&gt;','\"':'&quot;',\"'\":'&#39;'}[c];}); }\n            function escAttr(s){ return escHtml(s); }\n\n            $(el,'[data-role=\"submit\"]').addEventListener('click', calculate);\n            loadTags();\n            loadStates();\n\n            \/\/ Postcode \u2192 auto state + suburb suggestion (debounced)\n            var pcInput = $(el,'[data-role=\"postcode\"]');\n            var subInput = $(el,'[data-role=\"suburb\"]');\n            var stateSel = $(el,'[data-role=\"state\"]');\n            var pcTimer = null;\n            var pcHint = $(el,'[data-role=\"pc-hint\"]');\n            function lookupPostcode(){\n                var pc = (pcInput.value || '').trim();\n                if (pc.length < 3) { if (pcHint) pcHint.style.display = 'none'; return; }\n                fetchJSON('\/postcode?country_id=' + cfg.destCid + '&postcode=' + encodeURIComponent(pc)).then(function(res){\n                    if (!res || res.code !== 200 || !res.data || !res.data.length) {\n                        \/\/ Postcode not in API DB \u2014 show hint user can still pick state manually\n                        if (pcHint) {\n                            pcHint.textContent = (cfg.i18n && cfg.i18n.pc_unfound) || 'Postcode not recognised \u2014 please pick State manually';\n                            pcHint.style.display = 'block';\n                        }\n                        return;\n                    }\n                    if (pcHint) pcHint.style.display = 'none';\n                    var first = res.data[0];\n                    \/\/ Set state by state_id\n                    if (first.state_id && stateSel) {\n                        for (var i = 0; i < stateSel.options.length; i++) {\n                            if (String(stateSel.options[i].value) === String(first.state_id)) {\n                                stateSel.value = String(first.state_id);\n                                break;\n                            }\n                        }\n                    }\n                    \/\/ Auto-fill suburb if empty\n                    if (subInput && !subInput.value && first.name) {\n                        subInput.value = first.name;\n                    }\n                });\n            }\n            if (pcInput) {\n                pcInput.addEventListener('input', function(){\n                    clearTimeout(pcTimer);\n                    pcTimer = setTimeout(lookupPostcode, 400);\n                });\n                pcInput.addEventListener('blur', lookupPostcode);\n            }\n        }\n\n        \/\/ Expose init for dynamically-injected calcs (e.g. ebg_calc_universal)\n        window.__ebgCalcInitFn = function(el){ if (!el.__ebgInit) { el.__ebgInit = true; init(el); } };\n\n        function lazyInit(){\n            var nodes = document.querySelectorAll('.ebg-calc');\n            if (!('IntersectionObserver' in window)) {\n                \/\/ Fallback: init immediately on old browsers\n                nodes.forEach(function(el){ if (!el.__ebgInit) { el.__ebgInit = true; init(el); } });\n                return;\n            }\n            var io = new IntersectionObserver(function(entries){\n                entries.forEach(function(e){\n                    if (e.isIntersecting && !e.target.__ebgInit) {\n                        e.target.__ebgInit = true;\n                        init(e.target);\n                        io.unobserve(e.target);\n                    }\n                });\n            }, { rootMargin: '200px 0px' });\n            nodes.forEach(function(el){ io.observe(el); });\n        }\n        if (document.readyState === 'loading') {\n            document.addEventListener('DOMContentLoaded', lazyInit);\n        } else {\n            lazyInit();\n        }\n    })();\n    <\/script>\n    \n\n\n\n<h2 class=\"wp-block-heading\">Frequently asked questions<\/h2>\n\n\n\n<details class=\"is-layout-flow wp-block-details-is-layout-flow\"><summary>Who actually pays for return shipping \u2014 what the policy says vs. what happens in practice?<\/summary>\n<p>Under platform policy, if the return is the seller&#8217;s fault (wrong item, faulty goods, not as described), the seller should cover return shipping; if it&#8217;s the buyer&#8217;s fault (changed their mind, ordered too much), the buyer pays. In practice, sellers \u2014 especially smaller ones on 1688 and Pinduoduo \u2014 often try to push the cost back onto the buyer. When you submit the return request, state clearly in the notes that it&#8217;s the seller&#8217;s fault and attach evidence (photos, chat logs). If the seller still won&#8217;t cover it, you can escalate to platform customer service, who&#8217;ll decide based on the evidence.<\/p>\n<\/details>\n\n\n\n<details class=\"is-layout-flow wp-block-details-is-layout-flow\"><summary>Can Ebaoguo photograph and inspect my parcel before I return it, and what does that cost?<\/summary>\n<p>Yes. Ebaoguo offers an unboxing inspection service \u2014 every item in the parcel gets photographed and uploaded to your account. This is especially useful for returns, since the photos prove the condition of the item at the point of return, which protects you if the seller later claims it arrived damaged or with items missing. Pricing is shown in your Ebaoguo account at checkout and can vary by warehouse and parcel weight.<\/p>\n<\/details>\n\n\n\n<details class=\"is-layout-flow wp-block-details-is-layout-flow\"><summary>My return window is closing and the seller still hasn&#8217;t approved my request \u2014 what do I do?<\/summary>\n<p>Screenshot the time you submitted the return request \u2014 platforms generally use the submission time, not the shipping time, to decide whether you&#8217;re within the return window. If the seller hasn&#8217;t acted on your request within 48 hours, you can escalate to platform customer service, who can push the seller to respond. Don&#8217;t ship the item before the seller approves the return \u2014 if you do, the platform generally won&#8217;t have your back if something goes wrong.<\/p>\n<\/details>\n\n\n\n<details class=\"is-layout-flow wp-block-details-is-layout-flow\"><summary>The courier shows the return as delivered, but the seller says they never received it \u2014 now what?<\/summary>\n<p>A courier&#8217;s delivery confirmation is your strongest evidence. Steps to take: 1) Look up the delivery details on the courier&#8217;s website and screenshot them (delivery time, name of the person who signed) 2) Upload that screenshot in your return request and ask the platform to step in 3) If the courier shows it as delivered but the seller keeps denying it, ask the courier for a formal proof-of-delivery document. Platform customer service will typically side with the courier&#8217;s delivery record and process the refund.<\/p>\n<\/details>\n\n\n\n<details class=\"is-layout-flow wp-block-details-is-layout-flow\"><summary>A 1688 supplier wants to skip the platform return process and settle privately \u2014 is that safe?<\/summary>\n<p>We wouldn&#8217;t recommend it. A private transfer has no platform protection \u2014 if the supplier takes the money and doesn&#8217;t ship the return, or disappears, you have no recourse. Stick to 1688&#8217;s formal return process; if the supplier won&#8217;t cooperate, escalate to platform customer service. 1688 rates suppliers on a credit score, and most don&#8217;t want a return dispute dragging that score down.<\/p>\n<\/details>\n\n\n\n<details class=\"is-layout-flow wp-block-details-is-layout-flow\"><summary>Does a return parcel need to be repacked in its original box?<\/summary>\n<p>Most sellers expect the item back in its original packaging, with original tags and all accessories included. If the original box is damaged, a similarly sized replacement box works, as long as there&#8217;s enough padding to protect the item in transit. Ebaoguo can repack or reinforce the box for you \u2014 just note it in your return request. One thing to avoid: don&#8217;t include anything unrelated to the return inside the parcel, as it can give the seller grounds to refuse it or create a dispute.<\/p>\n<\/details>\n\n\n\n<details class=\"is-layout-flow wp-block-details-is-layout-flow\"><summary>How long does the refund take once the return is complete?<\/summary>\n<p>It depends on the platform and payment method: Taobao\/Tmall refunds typically land back on Alipay within 1\u20137 business days of the seller confirming receipt; JD-fulfilled orders usually take 3\u20135 business days; Pinduoduo is generally 3\u20135 business days; 1688 varies by supplier and can take up to 15 business days. If a refund is overdue against what the platform promises, you can submit a refund-chase request on the platform or contact their customer service.<\/p>\n<\/details>\n\n\n<p class=\"wp-block-paragraph\" style=\"background:#f0f9ff;padding:14px 18px;border-radius:8px;border-left:4px solid #116ebf;margin-top:24px\">\ud83d\udcb0 <strong>Check live shipping rates:<\/strong> Use our <a href=\"https:\/\/cal.ebaoguo.com\/\">shipping calculator<\/a> \u2014 pick your origin, destination, and weight to compare quotes from multiple carriers instantly.<\/p>\n\n\n\n\n<h2 class=\"wp-block-heading has-text-align-center has-text-color\" id=\"contact\" style=\"color:#116ebf;margin-top:0;margin-bottom:24px\">Contact Us<\/h2><div class=\"wp-block-columns is-not-stacked-on-mobile ebg-contact-4col ebg-contact-grid is-layout-flex wp-container-core-columns-is-layout-eee0efca wp-block-columns-is-layout-flex\"><div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><p style=\"text-align:center;margin:0 0 4px;font-weight:700;font-size:14px;color:#374151\">WeChat<\/p><p style=\"text-align:center;margin:0 0 10px;font-size:12px;color:#6b7280\">Scan to add<\/p><figure class=\"wp-block-image size-medium\" style=\"margin:0 auto;text-align:center\"><a href=\"https:\/\/work.weixin.qq.com\/kfid\/kfc53638432047336ba\" target=\"_blank\" rel=\"noopener nofollow\"><img decoding=\"async\" src=\"https:\/\/ebaoguo.com\/wp-content\/uploads\/2026\/07\/wechat-cs-support-cn-200x200.png\" alt=\"WeChat support QR code\" style=\"max-width:140px;width:100%;height:auto;margin:0 auto\" \/><\/a><\/figure><\/div><div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><p style=\"text-align:center;margin:0 0 4px;font-weight:700;font-size:14px\"><a href=\"https:\/\/line.me\/ti\/p\/@ebaoguo\" target=\"_blank\" rel=\"noopener nofollow\" style=\"color:#116ebf;text-decoration:none\">LINE<\/a><\/p><p style=\"text-align:center;margin:0 0 10px;font-size:12px;color:#6b7280\">Click to add<\/p><figure class=\"wp-block-image size-medium\" style=\"margin:0 auto;text-align:center\"><a href=\"https:\/\/line.me\/ti\/p\/@ebaoguo\" target=\"_blank\" rel=\"noopener nofollow\"><img decoding=\"async\" src=\"https:\/\/ebaoguo.com\/wp-content\/uploads\/2022\/06\/ebaoguo_line-300x300.jpg\" alt=\"LINE support QR code\" style=\"max-width:140px;width:100%;height:auto;margin:0 auto\" \/><\/a><\/figure><\/div><div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><p style=\"text-align:center;margin:0 0 4px;font-weight:700;font-size:14px\"><a href=\"https:\/\/wa.me\/message\/UIZ4LXUW4I5CB1\" target=\"_blank\" rel=\"noopener nofollow\" style=\"color:#116ebf;text-decoration:none\">WhatsApp<\/a><\/p><p style=\"text-align:center;margin:0 0 10px;font-size:12px;color:#6b7280\">Click to chat<\/p><figure class=\"wp-block-image size-medium\" style=\"margin:0 auto;text-align:center\"><a href=\"https:\/\/wa.me\/message\/UIZ4LXUW4I5CB1\" target=\"_blank\" rel=\"noopener nofollow\"><img decoding=\"async\" src=\"https:\/\/ebaoguo.com\/wp-content\/uploads\/2021\/04\/IMG_20240916_015013-300x300.png\" alt=\"WhatsApp support QR code\" style=\"max-width:140px;width:100%;height:auto;margin:0 auto\" \/><\/a><\/figure><\/div><div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><p style=\"text-align:center;margin:0 0 4px;font-weight:700;font-size:14px;color:#374151\">WeChat Mini Program<\/p><p style=\"text-align:center;margin:0 0 10px;font-size:12px;color:#6b7280\">Scan to open<\/p><figure class=\"wp-block-image size-medium\" style=\"margin:0 auto;text-align:center\"><img decoding=\"async\" src=\"https:\/\/ebaoguo.com\/wp-content\/uploads\/2022\/06\/mini.jpg\" alt=\"WeChat Mini Program QR code\" style=\"max-width:140px;width:100%;height:auto;margin:0 auto\" \/><\/figure><\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>How to return an item from Ebaoguo&#8217;s China warehouse \u2014 the request process, fees and timelines, and how to arrange a Taobao return pickup before your parcel is consolidated and shipped.<\/p>\n","protected":false},"author":11,"featured_media":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"_uag_custom_page_level_css":"","site-sidebar-layout":"no-sidebar","site-content-layout":"plain-container","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"disabled","ast-breadcrumbs-content":"","ast-featured-img":"disabled","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"default","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"set","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"doc_category":[3039,3018],"doc_tag":[],"class_list":["post-39342","docs","type-docs","status-publish","hentry","doc_category-getting-started","doc_category-shipping-from-china-mainland-en"],"acf":[],"year_month":"2026-09","word_count":3167,"total_views":0,"reactions":{"happy":0,"normal":0,"sad":0},"author_info":{"name":"admin","author_nicename":"admin-2","author_url":"https:\/\/ebaoguo.com\/en\/author\/admin-2\/"},"doc_category_info":[{"term_name":"Getting Started","term_url":"https:\/\/ebaoguo.com\/en\/kb-category\/getting-started\/"},{"term_name":"Shipping from China Mainland","term_url":"https:\/\/ebaoguo.com\/en\/kb-category\/shipping-from-china-mainland-en\/"}],"doc_tag_info":[],"spectra_custom_meta":{"_edit_lock":["1773929640:11"],"_wpb_vc_js_status":["true"],"the_grid_item_custom_link_target":["_self"],"the_grid_item_col":["1"],"the_grid_item_row":["1"],"the_grid_item_content_color":["dark"],"the_grid_item_overlay_color":["light"],"the_grid_item_video_ratio":["4:3"],"the_grid_item_youtube_ratio":["4:3"],"the_grid_item_vimeo_ratio":["4:3"],"the_grid_item_wistia_ratio":["4:3"],"_last_translation_edit_mode":["translation-editor"],"_betterdocs_est_reading_text":[""],"_betterdocs_attachments":["a:0:{}"],"_betterdocs_related_articles":["a:0:{}"],"_wpml_media_featured":["1"],"_wpml_media_duplicate":["1"],"_betterdocs_reusable_block_ids":["a:0:{}"],"rank_math_internal_links_processed":["1"],"rank_math_seo_score":["16"],"_wpb_vc_editor_type":["backend"],"_wpb_post_custom_layout":["default"],"_wpb_shortcodes_default_css":[".vc_do_custom_heading{margin-bottom:0.625rem;margin-top:0;}.vc_do_message{padding-top:1em;padding-bottom:1em;padding-right:1em;padding-left:4em;margin-bottom:22px;}.vc_do_custom_heading{margin-bottom:0.625rem;margin-top:0;}.vc_do_message{padding-top:1em;padding-bottom:1em;padding-right:1em;padding-left:4em;margin-bottom:22px;}.vc_do_custom_heading{margin-bottom:0.625rem;margin-top:0;}.vc_do_toggle{margin-bottom:22px;}.vc_do_toggle{margin-bottom:22px;}.vc_do_toggle{margin-bottom:22px;}.vc_do_toggle{margin-bottom:22px;}.vc_do_toggle{margin-bottom:22px;}.vc_do_btn{margin-bottom:22px;}"],"_wpb_shortcodes_default_css_updated":["1"],"_wpb_shortcodes_custom_css":[".vc_custom_1669352081426{background-color: #f4f4f4 !important;padding: 25px !important;}.vc_custom_1664350098657{padding: 25px !important;background-color: #ffffff !important;}.vc_custom_1591872562505{padding: 25px !important;background-color: #f4f4f4 !important;}.vc_custom_1664350098657{padding: 25px !important;background-color: #ffffff !important;}"],"_wpb_shortcodes_custom_css_updated":["1"],"site-sidebar-layout":["no-sidebar"],"ast-site-content-layout":["default"],"site-content-style":["default"],"site-sidebar-style":["default"],"theme-transparent-header-meta":["default"],"rank_math_analytic_object_id":["1046"],"_astra_content_layout_flag":["disabled"],"site-post-title":["disabled"],"ast-title-bar-display":["disabled"],"ast-featured-img":["disabled"],"site-content-layout":["plain-container"],"rank_math_og_content_image":["a:2:{s:5:\"check\";s:32:\"a6ad86175756663790d1634728f3db7a\";s:6:\"images\";a:1:{i:0;s:79:\"https:\/\/ebaoguo.com\/wp-content\/uploads\/2026\/07\/wechat-cs-support-cn-200x200.png\";}}"],"_betterdocs_meta_views":["1919"],"astra-migrate-meta-layouts":["set"],"_uag_css_file_name":["uag-css-39342.css"],"_ebg_geo_score":["55"],"_ebg_geo_details":["a:10:{s:12:\"answer_first\";b:0;s:7:\"has_faq\";b:1;s:8:\"has_list\";b:1;s:9:\"ext_links\";i:6;s:9:\"int_links\";i:0;s:10:\"word_count\";i:1435;s:6:\"has_h2\";b:1;s:7:\"has_img\";b:1;s:8:\"rm_title\";b:0;s:7:\"rm_desc\";b:0;}"],"_ebg_geo_scored_at":["1783063880"],"_ebg_lowfix_done":["1"],"rank_math_title":["China Warehouse Return Guide | Process & Fees"],"rank_math_description":["How to return an item from Ebaoguo's China warehouse: step-by-step request process, fees and timelines, Taobao return pickup, and FAQs."],"rank_math_focus_keyword":["China warehouse return, return package from China warehouse, Taobao return pickup Ebaoguo, China warehouse return process"],"_uag_page_assets":["a:9:{s:3:\"css\";s:260:\".uag-blocks-common-selector{z-index:var(--z-index-desktop) !important}@media(max-width: 976px){.uag-blocks-common-selector{z-index:var(--z-index-tablet) !important}}@media(max-width: 767px){.uag-blocks-common-selector{z-index:var(--z-index-mobile) !important}}\";s:2:\"js\";s:0:\"\";s:18:\"current_block_list\";a:8:{i:0;s:10:\"core\/image\";i:1;s:9:\"core\/html\";i:2;s:14:\"core\/paragraph\";i:3;s:12:\"core\/heading\";i:4;s:9:\"core\/list\";i:5;s:12:\"core\/details\";i:6;s:12:\"core\/columns\";i:7;s:11:\"core\/column\";}s:8:\"uag_flag\";b:0;s:11:\"uag_version\";s:10:\"1790118017\";s:6:\"gfonts\";a:0:{}s:10:\"gfonts_url\";s:0:\"\";s:12:\"gfonts_files\";a:0:{}s:14:\"uag_faq_layout\";b:0;}"]},"uagb_featured_image_src":{"full":false,"thumbnail":false,"medium":false,"medium_large":false,"large":false,"ctl_avatar":false,"1536x1536":false,"2048x2048":false,"betterdocs-category-thumb":false},"uagb_author_info":{"display_name":"admin","author_link":"https:\/\/ebaoguo.com\/en\/author\/admin-2\/"},"uagb_comment_info":0,"uagb_excerpt":"How to return an item from Ebaoguo's China warehouse \u2014 the request process, fees and timelines, and how to arrange a Taobao return pickup before your parcel is consolidated and shipped.","knowledge_base_info":[],"knowledge_base_slug":[],"_links":{"self":[{"href":"https:\/\/ebaoguo.com\/en\/wp-json\/wp\/v2\/docs\/39342","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ebaoguo.com\/en\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/ebaoguo.com\/en\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/ebaoguo.com\/en\/wp-json\/wp\/v2\/users\/11"}],"replies":[{"embeddable":true,"href":"https:\/\/ebaoguo.com\/en\/wp-json\/wp\/v2\/comments?post=39342"}],"version-history":[{"count":0,"href":"https:\/\/ebaoguo.com\/en\/wp-json\/wp\/v2\/docs\/39342\/revisions"}],"wp:attachment":[{"href":"https:\/\/ebaoguo.com\/en\/wp-json\/wp\/v2\/media?parent=39342"}],"wp:term":[{"taxonomy":"doc_category","embeddable":true,"href":"https:\/\/ebaoguo.com\/en\/wp-json\/wp\/v2\/doc_category?post=39342"},{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/ebaoguo.com\/en\/wp-json\/wp\/v2\/doc_tag?post=39342"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}