Shopify 支付与收款

Shopify paymentTerms 字段返回 null 怎么查

现象#

用 Admin GraphQL 查 order 的 paymentTerms,dueInDays 和 paymentTermsType 都是 null,但后台订单页明明显示 Net 30 与具体到期日。

原因#

  • 应用没有申请 read_payment_terms 权限,字段存在但按权限规则返回 null
  • 模板是固定日期类型,dueInDays 本就不带值,只有 NET 类型才有这个天数
  • 订单由草稿订单转换而来,付款条件挂在 draftOrder 上,order 侧可能为空
  • 付款条件模板被删除后 order.paymentTerms 为空,但 netPaymentSet 仍保留未付金额

处理步骤#

  1. 在应用配置里加 read_payment_terms 权限后重新授权
  2. 先看 paymentTermsType,FIXED 类型不要读 dueInDays
  3. 改读 paymentSchedules.dueAt,固定日期类型只有这个字段
  4. 同时查 draftOrder.paymentTerms,确认条件挂在哪一侧
  5. 字段仍为空时用 netPaymentSet 兜底取未付金额

验收标准#

查询返回 paymentTermsType 为 NET、dueInDays 为 30,与后台 Payment terms 区显示完全一致。

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