ENGINEERING NOTE 28 / 50 · CARD

如何把部分退款关联回原卡片交易

OPEN RAMBO ·

退款属于原交易,即使数日后到达或使用不同事件号。账本和用户界面都应保留关联。

本文由 OPEN RAMBO 发布。工程方案和伪代码用于说明设计,不是现有产品 API 文档;示例数字均为演示。

使用交易引用

优先使用处理系统提供的原交易引用。仅按金额和日期匹配可能关联错购买。引用缺失时进入明确核对流程,不静默猜测。

跟踪累计退款

一笔扣款可有多次部分退款。每次退款事件去重,再以同币种比较累计金额与可退清算金额。费用和汇兑调整可能需独立流水,不修改原扣款。

解释退款去向

告知退款进入哪张卡或哪个账本,以及是否完成。商户确认退款不一定证明接收账本已入账。待处理和已完成应清晰区分。

示意流程

net_purchase = settled_amount - sum(unique_completed_refunds)
# Match by original transaction reference, not amount alone.

如何验收

测试两笔同金额交易及只针对其中一笔的部分退款,必须关联正确原单。

继续阅读