Skip to main content
本页面向这样的情形:您试图自己复现某个结算数字, 而您的算术与我们的不一致。它自下而上展开:一笔 交易、四个步骤,然后是适用于您特定币种组合的取整和货币对。 报表层面的视图——哪一列来自哪里、如何导出、 为什么文件可能缺失——见 结算报表与导出。资金流动的日期, 见结算周期与日历。 资金落入的余额,见 余额与账户历史。

Waffo 是怎么从我的订单金额算到结算金额的?

每笔交易都经过相同的四个步骤,顺序如下:
对账时这一顺序的两个性质很重要:
  • 税费和手续费是内扣的(从订单金额中扣除),不是外加的。 税和手续费计算的基数都是交易时的订单金额, 而不是扣除另一项之后的净额。它们不复合计算。
  • **先产生清算金额,然后税和手续费各自通过 自己的货币对计算。**所以以第三种币种计费的手续费不是 从已换算的结算数字推导的——见下方 各情形表。

我的结算用几位小数精度?能改吗?

Settlement Decimal Place 在您签约时设置在商户档案上。 它有两个可能的值——2 位小数或 6 位小数—— 且之后不能更改。 无论哪种设置:
  • 汇率始终为 8 位小数,汇率位数不足时补零。
  • **结算汇总数字始终为 2 位小数。**资金以 2 位小数流动。
如果您是 6 位小数,明细行之和与批次金额精确到分一致, 因为 6 位小数之和与 2 位小数批次数字之间的 尾差被明确记录,而不是被静默丢弃:
如果您是 2 位小数,每行在求和前已取整到 2 位小数, 所以小额交易是您与 6 位小数计算相对差异 最大的地方——这正是 6 位小数选项 存在的原因。

我的交易适用哪个货币对和哪条取整规则?

涉及三种币种:您的订单币种、您合同计费的手续费币种, 以及您的结算币种。用哪个货币对、 发生几次换算,仅取决于三者中哪些相等。 面向客户的取整规则,在 2 位小数账户上适用如下: 在 6 位小数账户上,手续费(以及固定的拒付和失败手续费) 在 6 位小数四舍五入而不是向上取整——向上取整规则的存在是为了 保护 2 位小数的数字不被少收,而在 6 位小数下尾差 会被记录。下面情形表中凡写 ROUNDUP2 之处,如果您是 6 位小数账户, 请读作”6 位小数四舍五入”。

情形 A——订单 = 手续费 = 结算币种

无换算。Forex Currency Pair 和 Forex Rate 为空。 示例,使用示意性的 2% 费率(非报价费率),所有币种均为 USD:

情形 B——订单 = 手续费币种,结算币种不同

Forex Currency Pair = SettlementCurrency/OrderCurrency 示例,使用示意性的 2% 费率,订单和手续费为 USD,结算为 HKD,货币对 HKD/USD 汇率 0.12770000:

情形 C——手续费币种不同,订单 = 结算币种

Forex Currency Pair = SettlementCurrency/FeeCurrency 这是让人意外的情形:您的订单币种等于 结算币种,但 Forex Currency Pair 和 Forex Rate 却有值, 因为手续费需要换算。这里的 feeRate 也可能带有最小值 或固定部分。 示例,使用示意性的 2% 费率,订单和结算为 HKD,手续费为 USD,货币对 HKD/USD 汇率 0.12770000:

情形 D——订单币种不同,手续费 = 结算币种

Forex Currency Pair = SettlementCurrency/OrderCurrency 示例,使用示意性的 2% 费率,订单为 HKD,手续费和结算为 USD,货币对 USD/HKD 汇率 7.83010000:

情形 E——订单、手续费和结算币种全部不同

需要两个货币对:SettlementCurrency/OrderCurrency 用于产生清算 金额,SettlementCurrency/FeeCurrency 用于产生手续费。两者互不 推导:
因为手续费币种汇率同时出现在结算币种数字的分子和分母中, 相对于您清算金额的有效手续费百分比 始终等于您的合同费率——不会被双重换算侵蚀。 对账三币种账户时值得核对这一点:把 Fee Amount (Settlement Currency) 除以 Order Amount (Settlement Currency),您应该得到合同费率, 仅受取整影响。

为什么我的手续费不等于费率 × 金额?(最小和最大手续费)

您的合同可能带有 minFee,以及 maxFee(绝对上限)或 maxFeeRatio(百分比上限)之一。**maxFee 和 maxFeeRatio 永远不会同时应用 于同一手续费项。**检查按固定顺序运行,触发的检查 会替换计算出的手续费,而不是调整它:
  1. **先检查 minFee。**如果以手续费币种计算的手续费 低于 minFee,则手续费币种和结算币种两个数字都 从 minFee 重新计算,向上取整。重新计算以原始 minFee 值为输入,而不是已取整的计算手续费。
  2. 然后检查最大值——您合同中带有的那一个。
    • maxFee:如果以手续费币种计算的手续费超过 maxFee,两个 数字都从 maxFee 重新计算,向下取整。
    • maxFeeRatio:如果 扣除的手续费(结算币种)/ 清算金额 (结算币种) 超过 maxFeeRatio,两个数字都重新计算为 订单金额乘以 maxFeeRatio,向下取整。
所以触及下限的手续费向上取整,触及上限的手续费 向下取整。minFee 在合同中始终为 2 位或更少小数,所以 应用时不需要自己再取整。 对小额交易的实际影响:低于某个订单 金额后,您的手续费不再成比例,而是固定为 minFee, 有效百分比随票面金额下降而上升。这是”这笔交易的手续费看起来不对” 最常见的单一原因。

什么是 Return Fee?怎么计算?

Return Fee 在您退款时把原支付手续费的一部分退还给您。 它只在您的合同包含时才存在——默认是不退手续费的退款, 见 退款 FAQ。 在适用的情况下,退款行的结算金额会加上它作为正向 组成部分:
两个数字都按比例计算,并使用不同的取整规则:
请仔细读第二个公式:结算币种的退还是按已向下取整的手续费币种退还 按比例计算的,而不是从退款比例重新计算。这就是 手续费以第三种币种计费时让两个数字保持一致的原因。 示例,使用示意性费率——所有币种 USD,支付手续费 2%,退款手续费 0%, Return Fee 按比例: 两点注意:
  • 退款行的 Fee Amount 为负数。那是 Return Fee,不是 收费——退款行上的负手续费是预期的,不是数据错误。
  • 退款自身的手续费(refund fee rate)和 Return Fee 是不同的 合同项。一笔退款可以既带退款手续费又退还部分 支付手续费。
向下取整意味着退还金额可能比直接按比例计算 低一分钱。全额退款时比例为 1,整个原手续费 全部退回。

退款时 VAT 会退给我吗?

**不会。**退款不退还 VAT。在上述清算步骤中,退款交易 直接跳过税费步骤——反向环节没有 VAT 计算, 所以没有什么可退。 这与支付手续费问题是分开的:如果您的合同带有 Return Fee,支付手续费可能 退回,但税费在任何合同配置下 都不退。

手续费币种能变吗?可以是什么?

手续费币种必须是您的结算币种或订单 币种之一,且不能在同一天内更改——该请求会被 校验拒绝。这就是为什么上述五种情形对单笔交易 在实践中是穷尽的。

我的结算周期净额为负,会怎样?

那天没有资金流动,也没有任何东西被核销。
  • 只有净结算金额大于零时才会发起结算。 退款和拒付超过支付的周期不会产生 付款,也没有资金转账。
  • 负金额向后结转并累积。它被加到 下一个周期,再下一个,直到累计总额转正——此时 整个累计金额作为一笔转账结算。
  • 当把周期推为负数的是拒付时,同样的规则适用: 拒付不会向任何其他账户收取,只是等待之后的 交易。
一个示例形态:连续四个负数结算日后跟一个正数 结算日,不会产生四笔转账和一次更正。它们产生一笔 转账,金额为五个周期的净额,在总额转正的那天。全部五条 结算记录都指向那一笔转账,所以您可以把转账 对回它覆盖的每个周期。 因此,结算日没有到账不一定是 错误。结算日过了却没有资金到达的其他原因,见 结算周期与日历。

为什么批次总额不等于我明细行之和?

应该相等——但只有在正确的层级做了正确的取整之后。汇总 是明细行求和后在最后取整一次:
如果您先把每个明细行取整到 2 位小数再相加, 每行会与我们的数字偏差最多半分。请全精度求和,最后 取整。