6. 订单与运费

最重要的一条

GetDropFlow 从不替你付款。每个速卖通订单都由你自己在速卖通上付款。插件不保存任何付款链接。

订单页

打开 GetDropFlow → 订单。这里列出和你店铺订单关联的供应商订单,可以按状态筛选,还有一个勾选框 只看需要处理的订单(等你去速卖通付款、已失败、或带有需要你关注的提示)。买家的姓名和地址留在 Magento 订单里。

订单页(新店铺是空的)

"去速卖通付款"只会在新窗口打开你的速卖通订单列表。

状态是什么意思

本次走查没有验证(未验证):订单同步默认是关闭的(设置 dropshipkit_orders/general/enabled = 0),所以我们没有在这个页面上看到真实订单。读取速卖通订单和跟踪号已用真实订单单独测过(见技术记录),但订单页的完整界面流程要等订单同步正式开放后再检查一次。

每个订单买了什么、去哪里下单付款

订单页的 订购的商品 一栏,每件商品一行:顾客选的颜色(有颜色图的会显示小图)、尺寸、数量,以及 在速卖通打开 链接(新窗口打开该商品的速卖通页面,方便你去速卖通下单付款)。小图用的是那个颜色自己的图;没有就不显示图,不会拿别的颜色的图顶替。这一栏只读,不会向速卖通发任何请求。

失败的订单:重新提交

订单状态为 失败、而且还没有速卖通订单号时,订单旁边会出现 重新提交 按钮。先看“备注”里的失败原因并排除(比如收货地址被速卖通拒绝时,会有一句白话说明:检查电话和地址)。然后点一次按钮:订单会回到待提交队列,在下一轮同步(几分钟内)只发送一次;如果速卖通再次拒绝,订单会重新显示为失败,不会每隔几分钟自动重试。已经有速卖通订单号的订单不会显示这个按钮,也不会被再次发送;订单号还会作为外部单号发给速卖通,24 小时内速卖通自己也会拒绝重复下单。GetDropFlow 永远不会替你付款。

无法发出的订单:需要买家税号或证件号

有些国家(目前是巴西、墨西哥、南非、以色列、阿根廷、沙特阿拉伯和韩国)要求提供买家税号或证件号,而 GetDropFlow 目前还不会把它发给速卖通。寄往这些国家的订单不会发给速卖通。原因是一句英文:A buyer tax/ID number is required for this country (BR) and is not supported in v1; the order was not sent to AliExpress.(代码 TAX_ID_COUNTRY_UNSUPPORTED)。你可以在 GetDropFlow → 订单 页面那个订单的那一行看到它,也可以在日志 var/log/dropshipkit_orders.log 里看到。它不会写成 Magento 订单上的备注:Magento 订单的备注是空的。

演示工具和订单命令

安装包里带有用来在没有速卖通的情况下做测试的演示工具:命令 dropshipkit:catalog:demo-supplier、dropshipkit:orders:demo-supplier,以及一个带示例商品的演示供应商。只有设置 dropshipkit_core/general/use_demo 为 1 时它们才会起作用(安装后是 0)。正式商城绝对不要设为 1:设为 1 之后,插件会用虚构的商品、假装提交订单,而不是去连速卖通。命令 dropshipkit:catalog:import 是正常命令,从速卖通导入商品。

怎样查看当前值。打开 GetDropFlow → 设置:“授权”卡片的第一行“运行模式”会显示“真实(速卖通)”或“演示(仅限测试店)”。演示模式开启时,GetDropFlow 的每个页面顶部还会显示黄色警告:“演示模式已开启。正在使用演示替身,买家的订单不会被提交到速卖通。仅限测试店,正式商城必须关闭。”这个设置故意没有后台输入框,bin/magento config:show 和 config:set 也不认识它(会回答路径不存在)。在数据库里查:SELECT value FROM core_config_data WHERE path = 'dropshipkit_core/general/use_demo'; 没有记录,或者值是 0,就是关闭。

什么情况会产生假订单。只有两个设置同时存在时,买家的订单才会得到虚构的供应商订单号、并且不会发给速卖通:dropshipkit_core/general/use_demo = 1 并且 dropshipkit_catalog/demo/license_valid = 1。两个都没有后台输入框。正式商城里两个都必须是 0,或者根本没有记录。检查第二个:SELECT value FROM core_config_data WHERE path = 'dropshipkit_catalog/demo/license_valid';

订单同步默认是关闭的(设置 dropshipkit_orders/general/enabled = 0)。这个开关只管自动任务。这个设置故意没有后台输入框,bin/magento config:set 也不认识它(会回答路径不存在)。负责维护服务器的人在数据库里用 INSERT INTO core_config_data (scope, scope_id, path, value) VALUES ('default', 0, 'dropshipkit_orders/general/enabled', '1') ON DUPLICATE KEY UPDATE value = '1'; 把它打开,然后运行 bin/magento cache:flush。关闭期间,订单页会提示。命令 bin/magento dropshipkit:orders:run 不看这个开关:只有运维人员手动运行它时才会跑一轮。它只会在速卖通上创建未付款的订单;每个订单仍然由你自己在速卖通上付款。

打开订单同步之前,请先在测试商店里试一试。

给顾客的运费报价

顾客查看购物车时,GetDropFlow 会向速卖通询问真实运费。所有套餐都有这个功能,免费版也有。规则很简单:来自速卖通的商品,速卖通收多少运费就收多少,再加上你设定的百分比加价(这样速卖通调价时你不会亏本)。你自己上架的商品,使用你自己的 Magento 运费方式。

购物车的运费是怎么算的 购物车按商品分组。同一个商品的所有规格(尺码、颜色)合起来只问速卖通一次,数量用总件数:同一件开衫买 3 件,或者 M 码 1 件加 XL 码 1 件,都是问一次(分别按 3 件、2 件)。 不同的商品分别询问,价格相加;显示的送达天数取其中最长的。 你的加价加在这个合计上:先加百分比,再加固定费(每个订单一次)。没有运费上限:顾客付的是速卖通的运费加上你的加价。 购物车里同时有速卖通商品和你自己上架的商品时,无法一起计算运费。顾客会看到:购物车里有些商品需要分开发货,请分成两个订单下单。 * (同一个卖家的不同商品,速卖通是不是也这样合并计算,我们还在用真实订单核对。在此之前它们按相加计算。)

  1. 在 Magento 里打开 商店 → 配置 → 销售 → 配送方式,打开 GetDropFlow live shipping (AliExpress)。(不打开它就一直是关的。)
  2. 需要的话可设置加价或免运费门槛。
  3. 把一件商品放进购物车:运费这一行会显示速卖通的价格和送达时间。

购物车里显示速卖通的实时运费(前台为英文)

我们的测试里,购物车显示 CAINIAO_FULFILLMENT_STD (8-12 days),1.99 美元。从 0.2.0 版开始,同一行显示为 Standard shipping (8-12 days)(中文商店显示 标准配送 (8-12 天)):插件把速卖通的内部代码换成了普通的名字(图是更早版本拍的)。

如果速卖通没有回答(例如它在限制请求,或者网络很慢),顾客不会被一直等着:对这个商品,插件改用你的按国家设置的固定运费表(表 Fixed charge per product by country (fallback):每个国家一行,写一个价格,例如美国 5.99)。表里的价格对购物车里的每个商品收一次,不按件数。如果你没填这张表,那一刻就不提供任何运费方式。所以你发货的每个国家都要填。为什么用了运费表,会写进 插件自己的日志(var/log/dropshipkit_shipping.log),那一行以 GetDropFlow shipping: FALLBACK_TABLE_USED 开头:商品、原因(例如 TIMEOUT、LIMIT:ApiCallLimit、SUPPLIER_ERROR:...)和这次尝试花了多少毫秒。如果根本没有尝试实时运费(授权无效,或读不出来),会有一行 GetDropFlow shipping: LIVE_SHIPPING_OFF 说明原因。

用加价防止运费亏本

速卖通的运费每天都在变,所以顾客结账时付的价格,可能比你下单时速卖通要的更低。为了防止这种情况,请设置(在 商店 → 配置 → 销售 → 配送方式 → GetDropFlow live shipping):

Markup (%) on the AliExpress shipping —— 加在速卖通价格上的百分比; Fixed handling fee per order —— 每个订单加一次的固定金额,在百分比之后加。

例子:速卖通要 5.00。加价 10% 后价格是 5.50;再加 1.50 的固定费,就是 7.00。

加价和固定费只作用于速卖通的实时价格,不会加到你固定运费表里的价格上(那是你自己写的数字)。旧版本有一个设置 Highest shipping charge per order,现在已经取消;旧版本存下来的值会被忽略。

速卖通自己包邮的时候

速卖通上有些商品标着包邮。这样的商品,买家在结账时付 0,运费由你承担(你下单时速卖通向你收取)。速卖通自己包邮的运费,不会再加价,也不加固定手续费。购物车里既有包邮商品又有收运费的商品时,价格照常相加(包邮的那件加 0);如果购物车里的商品全部包邮,买家只会看到一个运费方式 Standard shipping(标准配送),价格 0。只有速卖通明确答复“包邮”才算:只是读出来像 0 的运费会被忽略;如果速卖通给了若干选项、却没有一个有可用的价格,插件会改用你的固定运费表。(旧版本有一项设置“把速卖通的运费 0 当作无法报价”;它已经不存在,数据库里的旧值会被直接忽略。)

关于运费表的黄色提示

因为所有套餐都有实时运费,固定运费表现在只是备用。只有当你的店铺此刻用不了实时运费(例如授权没有生效,或者读不出授权状态)并且运费表是空的,或者表里缺你要销售的某个国家时,才会出现黄色提示。它显示在 GetDropFlow → 设置 顶部、仪表盘顶部,以及运费配置里 Enabled 的下面。例如:目前这家店无法使用速卖通实时运费,所以改用你的固定运费表,而表里还没有运费。买家结账时会看不到运费方式。请先在运费设置里填写运费表。

怎么处理:点 打开运费表,在 Fixed charge per product by country (fallback) 里填写:点 添加国家,在下拉列表里选国家,填一个商品的价格(大于 0,最多两位小数,例如 5.99),你发货的每个国家都这样加一行。点 删除这一行 可删掉一行。然后点 Save Config。同一个国家只能出现一次;如果有填错的地方,页面会告诉你怎么改,并且什么都不会保存。旧版本里手写的表(例如 {"US":"5.99"})会显示成一行一行,照样有效。

其他所有国家(可选)。 填了这个价格,所有没有单独一行的国家就用它。填不填由你决定,系统不会替你填。留空的话,不在列表里的国家没有运费方式。这里填了价格,黄色提示就会消失,因为所有国家都被覆盖了。

帮我估一张运费表。 表格上方有一个同名按钮。它会取你已导入的一件商品,向速卖通询问寄到 US、CA、GB、DE、AU 五个国家的运费(共五次询问),并把结果填进各行。不会自动保存任何东西:先看价格、按需修改,满意后再点 Save Config。如果某个国家速卖通没给出可用的价格(返回 0、没有及时回答、寄不到那里,或当天的查询次数已达上限),那一行会留空并写明原因;你之前已经为这个国家填好的价格会保留。整个店铺每个 UTC 日最多点 3 次;用完后页面会显示*今天的估算次数已用完,请明天再试,或直接自己填写价格*。如果五个国家一个都没能联系上速卖通(例如网络断了),页面会说估算没能做成,这一次不计入次数。如果你还没导入任何商品,按钮是灰的,并提示*请先导入一件商品*。仅供参考:这是现在这一刻、这一件商品的价格,速卖通以后会变,不同商品的运费不同,请按你的成本调整。

币种或汇率不对。 如果 速卖通报价使用的货币(Currency AliExpress quotes in) 或 兑换基础货币的汇率(Rate to the base currency) 读不出来(例如被人直接写进了数据库),就无法使用实时运费,改由固定运费表回答。这时 Enabled 下面的说明会写:实时运费暂时用不了。原因:下面运费设置里的币种或汇率不正确,现在使用运费表。请改正。 如果把 速卖通报价使用的货币 改成 USD 以外的值,保存会被拒绝,并用一句话说明必须是 USD 以及原因:GetDropFlow 向速卖通询问运费时用的币种就是 USD,别的币种的价格无法换算。请保持为 USD(或留空)。旧版本以前存下的别的值不会妨碍你保存其他设置;把它改回 USD,上面的说明就会消失。

这个提示只是告诉你,它不会改任何价格,不会替你填表,也不会改变其它运费方式的隐藏情况。(本文没有为这个提示截图。)

常见问题:“Place Order”按钮显示成一句报错

个别 Magento 中文语言包把 Place Order 按钮翻成了一句像报错的话(“对不起,暂无报价可供此订单现在。”)。这来自语言包,不是 GetDropFlow 的问题。如果你用中文销售,请检查自己的语言包并改正这条翻译。