
自动发货商品的到账时间怎么确认是否已完成
到账延迟不能只归因于平台,先核对货源、回调与订单凭证三个环节的状态,才能判断是正常时效还是链路断点,拿到明确的下一步处理动作。
自动发货商品显示已发货后,买家仍反馈未收到卡密,多数情况不是平台延迟,而是凭证生成、回传或读取的某一环节没有闭合。要准确判断到账,不能依赖单一提示,需要按货源、回调、订单三层逐项核对,每一项都有可观察的状态。
第一步:从货源状态确认凭证是否就绪
凭证是到账的基础,若上游货源没有真正生成可用卡密,后续回传和展示都不会有内容。接入货源时,可通过GET /goods/catalog查询可采购商品,列表会直接返回当前订阅状态与到期时间。对需要销售的规格,进一步调用GET /goods/{productRef}获取详情和规格,确认库存、可售状态以及规格映射是否配置完整。
如果货源标记为不可售,或规格没有与发货方式关联,即使买家付款,上游也无法生成凭证。这类情况下订单可能停留在已发货但无卡密的状态。例如,店铺接入了需要单独映射规格的权益商品,但后台只绑定了默认规格,付款后订单回传就会缺少真实卡密,到账时间自然无法保证。此时应先核对货源映射,而不是等待平台刷新。
第二步:从回传链路确认凭证是否准确送达
凭证生成后,需要通过同步链路送达店铺系统。Webhook是平台主动向第三方回调地址发送的HTTP请求,默认启用,不设置事件开关。订单可填写orderCallbackUrl,填写后订单、卡密、退款、商品变化及售后消息优先发送到该地址;未填写时,每条消息生成时读取当时的默认回调地址,且同一条消息只选择一个地址并固定下来。
要判断回传是否完成,先确认回调地址是否有效,再核对是否收到卡密类消息。收到消息后,需检查JSON格式和必填字段,并保存eventId,同一eventId再次收到时不能重复发卡或追加售后消息。若消息生成时两个地址都没有,则不会发送Webhook,但订单仍正常创建,需要通过查询接口获取结果。仅看页面的发货标记,无法区分凭证是否真的回传。
第三步:从订单明细确认凭证是否可供读取
货源就绪、回传完成,还要确认凭证已经写入订单且能被买家读取。可用GET /orders查询订单列表,再通过GET /orders/{clientOrderRef}查询订单详情,这是基础兜底手段。订单列表显示已完成,但详情里没有卡密字段,说明发货环节没有把凭证挂到订单上,属于凭证未回执。
核对时,重点看订单详情中是否包含可用的卡密或权益字段,字段值是否为空、是否被标记为已使用、是否在有效期内。即使凭证已回传,若店铺前端只读取部分字段,或买家端展示逻辑过滤了该字段,也会表现为到账延迟。这类问题不属于上游延迟,需要调整前端读取与展示配置。
到账异常时的分层排查动作
当买家反馈未到账,先不要直接判定为系统延迟,按上述三层逐层排除。货源层检查可售状态、规格映射与库存;回调层检查地址配置、消息接收与eventId去重;订单层检查卡密字段是否存在且可读取。三层都核对后仍无凭证,再按订单原号查询,核对订单状态与创建时间,确认是否存在订单未真正完成或被拦截的情况。
如果货源订阅到期,商品会立即表现为unsubscribed,停止生成新的product.changed,此时即使订单已创建,也可能缺少后续凭证同步,应在到期前根据subscriptionExpiresAt再次执行POST /goods/subscriptions续期。若怀疑是回调地址失效,可先核对默认回调地址是否已保存,再确认订单是否填写了单独的orderCallbackUrl,避免把未回传误判为到账慢。
该判断方法适用于凭证类自动发货商品,对无需卡密的直充权益,应改为核对充值结果回传状态。若上游为人工补发或线下核销,则不能用同一标准判断,需要依据实际发货方式调整核对节点。