Stripe 跨币种退款流程
本文说明 Pipipen 当前使用 Stripe Connect Destination Charge 时,客户、平台与画师采用不同结算币种的支付和退款资金流。
页面中的数值来自 WorkTask 3660 的真实流水,用于解释 Stripe 的记账方式和人工退款后的对账方法。它不是固定汇率或通用退款报价。
流程图
点击下方图表可进入全屏查看(支持鼠标滚轮缩放与拖拽平移)。
本次交易的币种关系
| 角色或账本 | 币种 | 说明 |
|---|
| 客户 Charge | IDR | 客户支付和接收退款的币种 |
| 平台 Stripe 余额 | USD | Charge 换汇后的平台结算币种 |
| Transfer / Transfer Reversal | USD | 平台与 Connected Account 之间的转账币种 |
| 画师 Connected Account | IDR | 画师最终余额和冲正扣款币种 |
| Application Fee | IDR | 平台收到的平台侧手续费流水 |
跨币种 Destination Charge 不是一笔钱原路返回,而是多本账之间相互关联的多笔 Balance Transaction。
支付阶段
客户支付:
200,000.00 IDR
→ 支付时换汇
→ 平台 Charge 毛额 10.99 USD
Stripe 在平台 USD 账本扣除真实处理费:
原始 Transfer 为 10.99 USD。画师侧经过 Stripe 换汇并扣除 Application Fee 后:
画师侧 Destination Payment 毛额 195,960.39 IDR
画师侧 Application Fee 扣款 −20,789.28 IDR
画师原始净入账 175,171.11 IDR
平台收到的 Application Fee 为 21,211.40 IDR。画师扣款与平台入账数值不同,是因为资金在平台 USD 与画师 IDR 之间经历了两次换汇;它们不是两次独立收费。
业务上,Application Fee 合计用于承载:
Stripe 只记录 Application Fee 合计,不识别内部的 E 与 P。
平台如何计算客户退款
本次规则是客户承担支付处理成本,平台先以自身结算币种 USD 计算可承受的退款预算:
平台 Charge 毛额 10.99 USD
Stripe 实际处理费 −0.78 USD
平台退款预算 10.21 USD
操作前使用外部行情 1 IDR = 0.00005632 USD 估算客户退款:
10.21 ÷ 0.00005632 = 181,285.51 IDR
平台在 Stripe 后台填写的是 181,285.51 IDR,客户实际收到的也是该 IDR 金额。Stripe 再使用自身执行汇率把退款折算到平台 USD 账本,最终实际扣除 10.24 USD。
因此本次出现:
目标退款预算 10.21 USD
Stripe 实际扣款 10.24 USD
超出预算 0.03 USD
客户原付款与退款的差额为 18,714.49 IDR。该差额用于覆盖支付处理费及跨币种汇率风险,不能直接等同于 Stripe USD 账本中的 0.78 USD。
Reverse associated transfer 如何计算
Reverse associated transfer 不会直接把客户退款的 IDR 金额从画师 IDR 余额扣除。
Stripe 先根据 Charge 退款比例,按比例冲正原始 USD Transfer:
退款比例
= 181,285.51 ÷ 200,000.00
= 90.642755%
Transfer Reversal
= 10.99 USD × 90.642755%
= 9.961638… USD
→ 按 USD 最小单位记账为 9.96 USD
平台收到 +9.96 USD Transfer Reversal。随后 Stripe 在画师 Connected Account 生成关联的 destination_payment_refund,将这笔 USD 冲正按执行时汇率换成 IDR:
9.96 USD
→ Stripe 冲正换汇
→ 画师 −176,409.64 IDR
所以以下三笔金额相关,但不相等:
| 资金流 | 金额 |
|---|
| 客户退款 | 181,285.51 IDR |
| 平台 Transfer Reversal 入账 | 9.96 USD |
| 画师 destination_payment_refund 扣款 | 176,409.64 IDR |
三方最终结果
客户
收到退款 +181,285.51 IDR
原付款未退差额 18,714.49 IDR
平台
USD:10.99 − 0.78 − 10.99 − 10.24 + 9.96 = −1.06 USD
IDR:Application Fee +21,211.40 IDR
按照本次外部行情估算,平台合计约为 +0.13 USD。这是跨币种估值,不代表两个币种已经实际合并结算。
画师
原始净入账 +175,171.11 IDR
destination_payment_refund −176,409.64 IDR
Application Fee Refund 0.00 IDR
最终余额变化 −1,238.53 IDR
画师没有自动归零,需要在退款完成后按照 Connected Account 的实际 Balance Transaction 二次对账。本次需要补偿 1,238.53 IDR 才能归零。
两个退款选项
Reverse the associated transfer
勾选后,Stripe 按 Charge 退款比例冲正原始 Transfer:
- 平台收到 Transfer Reversal;
- 画师 Connected Account 收到关联的 destination payment refund 扣款;
- 跨币种时,平台入账币种和画师扣款币种可能不同。
Refund the application fee
本次没有勾选。
如果勾选,Stripe 会按退款比例把 Application Fee 从平台退回画师,而不是退给客户:
21,211.40 × 90.642755% ≈ 19,226.60 IDR
结果是平台约减少 19,226.60 IDR,画师约增加相同金额,客户退款仍为 181,285.51 IDR。由于当前 Application Fee 同时包含预估成本 E 和平台利润 P,不能通过该勾选项只退其中一部分。
退款操作与对账清单
- 查询原 Charge、Charge Balance Transaction、Transfer、Destination Payment 和 Application Fee。
- 从平台真实结算币种计算退款预算,不对同一金额反复换汇。
- 跨币种退款必须预留汇率与最小单位取整缓冲,不能把外部实时行情当成 Stripe 锁定报价。
- 确认客户退款币种和后台填写金额。
- 根据业务责任决定是否勾选
Reverse associated transfer。
- 默认不要勾选
Refund application fee,除非业务明确要求平台把 Application Fee 退给画师。
- 退款完成后查询实际 Refund Balance Transaction、Transfer Reversal 和画师侧 destination payment refund。
- 分币种核对平台余额,不要在没有明确估值汇率时直接合并 USD 与 IDR。
- 以画师侧实际 Balance Transaction 计算补款或扣款,使目标余额归零。
本次关联的 Stripe 对象
| 对象 | ID |
|---|
| Charge | ch_3U007rGEGKeIJac11YETZbUm |
| Refund | re_3U007rGEGKeIJac114dsMmGI |
| Transfer | tr_3U007rGEGKeIJac11dNXKsMK |
| Transfer Reversal | trr_1U9entGEGKeIJac1MGUQgLgV |
| Destination Payment | py_1U007s7Zzlk4RqGla8KP91Bt |
| Application Fee | fee_1U007t7Zzlk4RqGlkxHt5VDJ |
| Connected Account | acct_1TUpvk7Zzlk4RqGl |