法典 · III

状态与退款

交易状态

后台里的每一交易行都处于这些状态之一。状态反映该交易最近的一个事件;退款和争议会更新已有的那一行,而不是插入一个同级行。

状态含义
succeeded付款已完成。钱已在你的账户里(已扣除渠道费用)。
pending付款在途中。常见于异步付款方式(ACH、某些加密货币渠道),其确认需要数分钟到数小时。
failed付款未完成:银行卡被拒、授权过期、硬性拒绝。没有钱发生流动。
partial买家付的比开票的少(加密货币买家发了一个被网络手续费扣减后的金额时常见)。该行的 amount 反映实际收到的;查 metadata.invoicedAmount 看请求的是多少。
refunded钱已退还给买家,全额或部分。该行的 amount 是退款金额;退款可能在原付款之后数天或数周发生。
disputed买家(或其银行)发起了争议或拒付。查渠道的界面了解回应窗口。该行的 metadata.reason 原样携带渠道的分类。
pending_manual一笔邮寄付款交易正在等待你的实体确认。见下一节。
manual_canceled在买家的付款到达之前,你在一行待处理的邮寄付款上点击了“取消”。
manual_expired一行待处理的邮寄付款放了 30 天未确认,自动过期了。
manual_revoked你确认收到了一笔邮寄付款,但之后撤销了确认(例如这笔付款后来被证实无效)。该行从 succeeded 退回到这个终态。

退款、争议、部分付款

Coin Moebius 监听这些渠道事件,并更新后台里的原始交易行。具体而言:

  • 退款:Stripe 的 charge.refunded 事件(全额或部分退款,包含 amount_refunded,以便部分退款显示退回的那一部分)。NOWPayments 的 refunded IPN。该行的状态翻转为 refundedamount 反映退款金额,而 metadata.originalChargeId / metadata.originalAmount 携带原付款的上下文。
  • 争议(拒付):Stripe 的 charge.dispute.created 事件。该行的状态翻转为 disputed。渠道所述的原因会原样透传到 metadata.reason,你可以随你的意愿在自己的界面里渲染它。
  • 部分付款:NOWPayments 的 partially_paid IPN。该行的状态翻转为 partialamount 反映实际收到的(actually_paid);metadata.invoicedAmount 是请求的金额。

在 v1 里,这些事件会在后台以及通过 /status 端点呈现。未来的一个版本会加上邮件通知和一个出站 webhook 转发器,让你自己的后端能自动响应。眼下,设置一个小型轮询任务(见下一节)或查看后台。

准备好接起来了吗?

免费档覆盖绝大多数站点,且从不向你要银行卡。