第三方承运商实时费率在结账不返回怎么排查
现象#
自建 carrier service 用 carrierServiceCreate 建好后显示 active,回调日志能看到 Shopify 请求并返回 200,但结账只有备份的 flat rate,实时费率一条都不出现。
原因#
- 回调超过响应时限,1500 RPM 以下为 10 秒、3000 以上只有 3 秒,超时即回退备份费率且不重试
- 返回体缺少
service_name、service_code、total_price等必填字段被判无效 - 返回空数组表示该服务不接这一单,Shopify 不会再补其他服务的费率
- 店铺套餐不含第三方承运商费率,降级或改月付后 carrier service 关联会被停用
处理步骤#
- 先确认商店满足条件:Advanced 及以上,或 Shopify 年付,或单独加购该功能
- 在回调里打印
x-request-id与耗时,把 P95 压到 1 秒内,对上游承运商接口设 3 秒超时 - 校验响应 JSON,
total_price用最小货币单位的整数,service_code保持稳定 - 用
carrierService查询确认active为 true 且callbackUrl正确 - 换一个未缓存的购物车,改数量或改邮编后重试,避开 15 分钟的费率缓存
验收标准#
用新地址与新数量下单,结账出现回调返回的 service_name,金额等于日志里 total_price 除以 100。
本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。