跳到正文
← 使用教程

Hinkal Private Send 显示scheduled却未收到:查逐收款人状态和费用

链小知 · 进阶 · 核验 · 依官方文档整理

将API orderId或SDK scheduleId与存款和逐收款人withdrawal配对,分清排队、提交与确认,核对原amountIn/amountOut和费用而非只看订单顶层状态。

开始前准备

  • 本人已有脱敏private-send请求/准备响应、deposit交易与订单/排程状态记录,包含链、token、收款人、数量和采集时间。
  • API orderId与SDK scheduleId单独保留;没有原收款人映射时不得猜数组顺序对应谁,不分享完整私人历史或会话凭据。
  • 本页只检查原记录,不运行demo、创建session、签名请求、广播存款、发送资金或执行恢复。

1. 区分准备对象与已广播存款

API POST /private-send准备响应列orderId、serializedTx、approvalAddress、amountIn/amountOut/fee/nonce;交易字节存在不代表已经签名或发送。文档前文signed格式与响应表unsigned措辞不同,按原回执判实际阶段。

Solana approvalAddress明确总null,不能按ERC20批准缺失判断失败。SDK depositAndWithdraw返回depositTxHash和scheduleId;APIorderId、SDKscheduleId、deposit hash各有角色,不能互相当状态接口参数。

检查结果:原操作有准备/提交阶段、产品和三个ID角色,缺广播回执没有被补成成功。

2. 核对已有状态查询的鉴权和身份

API GET /private-send/{orderId}要active session,sessionId/nonce在query且有请求签名。这里URL替换具体orderId,但签名绑定用literal GET /private-send/:orderId;仅检查既有记录的方法摘要,不能复用其他endpoint签名或创建新签名。

SDK checkSendTransactionStatus以scheduleId读取transactions并给执行chainId;REST返回scheduledTransactions。401权限/nonce问题、404 Order not found、400/500分别保留,不用错误响应证明资产消失,也不把SDK对象按REST外壳解析。

检查结果:状态记录属于同一order/schedule且方法/权限可解释,私密认证值不进入核对表。

3. 把顶层scheduled与每个付款状态分开

API顶层processing表示等待存款或安排withdrawal,scheduled表示已排入队列,文档称终态的是安排过程,不是所有收款人都完成。scheduledTransactions可null,缺列表时不能生成成功条目。

逐recipient状态为pending/processing/waiting_for_relayer/sent_on_chain/completed/failed,方法schema和SDK还列deposit_failed。sent_on_chain是已提交,completed按文档为链上确认;失败或尚未提交的收款人不能被顶层scheduled掩盖。

检查结果:逐付款状态与顶层状态并列,所有成功结论都绑定具体付款记录而非仅订单标签。

4. 核对时间、hash与原收款人

SDK状态说明scheduledTime为ISO8601,APIschema只标string;按实际版本保留原时间和时区,缺格式不按秒/毫秒猜。txCompletionTime是Unixseconds截止,不是“等待多少秒”或可保证到账时刻。

逐项txHash可null,提交前不填deposit hash替代withdrawal hash。只有原收款人映射和既有交易记录能把状态绑定到公共recipient/token;多收款人不能仅按列表第一项断言全额到账,completed平台标记与独立最终性/到账记录分开。

检查结果:每个付款有时间与自身hash/链/收款证据或明确缺口,截止时刻没有写成SLA。

5. 用当次资产和费用记录核数量

PrivateSend正文以单token收款最小单位金额说明amountOut为recipient总额、amountIn为总额加fee。只有确认这些值属于同币同单位时才以精确整数字符串相减;feeToken或费用结构另有币种时,不跨币直接算差额。

GET /get-fee预查可选,因为相关操作会自动计算;其feeAmount schema为string却未明统一单位,不能套wei或把预查值当实际消费。链gas、协议fee、token/amount、Solana ATA/nullifier相关输入影响成本,当前响应和实际收款分列,不宣称固定总费或永久免费。

检查结果:金额与费用属于同一操作范围,原值、币种、精度与实际支出证据可复核,缺单位停止运算。

6. 按未完成付款保留排错结果

对每个recipient写排队/已提交待确认/平台已确认且有收款证据/失败或未取得记录。只有deposit_failed时不能假装已发目标付款;等待超时、平台处理结束或有一个completed都不授权重发给全部收款人。

提供产品版本、订单/排程ID摘要、链/币、原hash、时间与非敏感错误给原应用支持;涉及blocked或筛查保留原限制,不转换成绕过步骤。没有资金/账户/API验收的部分写明,文档流程完成不等真实支付完成。

检查结果:结论逐付款可追溯、失败/未知不计已付,没有新请求、签名、广播或恢复行为。

怎样确认完成

  • 按产品ID/链币和每个付款列出状态、时间、原hash、收款/费用证据与未知项。
  • 教程核验为documentation;未申请或签名会话、执行private-send/quote/资金恢复,也未承诺匿名、可用或实际到账。

常见错误与边界

  • scheduled顶层终态只代表已安排,不能忽略逐recipient pending/failed/null。
  • orderId、scheduleId、depositTxHash和withdrawal txHash互换会导致错误查询或假到账。
  • txCompletionTime是Unixsecondsdeadline,scheduledTime按自身文档格式,缺值不能猜时间单位。
  • 预查feeAmount不等实际费用,不能跨feeToken直接相减;401/404与缺hash不是资产丢失证明。

本教程根据官方资料整理,尚未完成逐步操作验收。界面、支持范围及费用变化时,先核对官方说明。 纯文本版 · 提交纠错依据