Shopify 订单与物流

第三方承运商实时费率在结账不返回怎么排查

现象#

自建 carrier service 用 carrierServiceCreate 建好后显示 active,回调日志能看到 Shopify 请求并返回 200,但结账只有备份的 flat rate,实时费率一条都不出现。

原因#

  • 回调超过响应时限,1500 RPM 以下为 10 秒、3000 以上只有 3 秒,超时即回退备份费率且不重试
  • 返回体缺少 service_name、service_code、total_price 等必填字段被判无效
  • 返回空数组表示该服务不接这一单,Shopify 不会再补其他服务的费率
  • 店铺套餐不含第三方承运商费率,降级或改月付后 carrier service 关联会被停用

处理步骤#

  1. 先确认商店满足条件:Advanced 及以上,或 Shopify 年付,或单独加购该功能
  2. 在回调里打印 x-request-id 与耗时,把 P95 压到 1 秒内,对上游承运商接口设 3 秒超时
  3. 校验响应 JSON,total_price 用最小货币单位的整数,service_code 保持稳定
  4. 用 carrierService 查询确认 active 为 true 且 callbackUrl 正确
  5. 换一个未缓存的购物车,改数量或改邮编后重试,避开 15 分钟的费率缓存

验收标准#

用新地址与新数量下单,结账出现回调返回的 service_name,金额等于日志里 total_price 除以 100。

本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。