通过Stripe API创建部分退款贷项通知单时如何自动计税?
解决Stripe自动计税下部分退款贷项通知单的金额匹配问题
方案一:通过发票数据计算含税费的退款金额
先调用Stripe API获取目标发票的税前金额(subtotal)和总金额(total),算出实际税率后,手动计算包含税费的退款总金额,再传入refund_amount参数:
- 获取发票并计算税率:
$invoice = $stripe->invoices->retrieve('in_xxxxxxxxxxxxx'); // 计算税率:(总金额 - 税前金额)/税前金额 $tax_rate = ($invoice->total - $invoice->subtotal) / $invoice->subtotal; // 税前退款金额(示例为10美元,转换为分单位) $before_tax_refund = 1000; // 计算包含税费的退款总金额(四舍五入到分) $refund_amount = round($before_tax_refund * (1 + $tax_rate));
- 创建贷项通知单:
$stripe->creditNotes->create([ 'invoice' => 'in_xxxxxxxxxxxxx', 'refund_amount' => $refund_amount, ]);
方案二:使用credit_amount参数让Stripe自动处理税费
直接使用credit_amount参数指定税前退款金额,Stripe会基于自动计税规则计算对应的税费,自动生成包含税费的贷项通知单并完成退款,无需手动计算税费:
$stripe->creditNotes->create([ 'invoice' => 'in_xxxxxxxxxxxxx', 'credit_amount' => 1000, // 税前10美元,分单位 ]);
这种方式更贴合自动计税的使用逻辑,无需提前计算税费,由Stripe统一处理金额拆分和税费计算。
内容的提问来源于stack exchange,提问作者anakadote
相关产品推荐
相关产品推荐

