You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Stripe生产环境加拿大ACSS DEBIT微存款验证金额传递方法咨询

Stripe ACSS Debit微存款验证金额传递问题(加拿大地区)

问题描述

使用ACSS Debit(加拿大)完成付款后,无法通过微存款验证:

  • 按文档要求传入两笔微存款金额时,触发「传入的微存款金额不匹配」错误
  • 尝试拆分总金额并传入小数部分后,出现其他错误

核心疑问:生产环境调用verifyMicrodepositsForPayment接口时,如何正确传递微存款金额?

错误代码示例

let money = grandTotal/2;
money = Number(money.toString().split('.')[1]);
const money1 = money - 1
money = money + 1
await stripe.verifyMicrodepositsForPayment(clientSecret{
   amounts: [money1, money]});

问题分析与解决方案

核心错误点

  1. 金额逻辑完全错误:代码中自行计算金额(拆分总金额小数部分后加减1),但Stripe的微存款是随机打入用户银行账户的小额资金,必须使用实际到账的两笔金额,而非自定义计算值。
  2. 语法错误:调用接口时clientSecret后缺少逗号,导致参数传递格式错误。

正确实现方式

Stripe要求amounts数组传入的是实际存入用户账户的两笔微存款的「分」单位整数(比如银行到账$0.05,对应数值5;到账$0.03,对应数值3),步骤如下:

  1. 让用户查看自己的银行账户,找到Stripe打入的两笔小额存款记录
  2. 将这两个金额转换为分的整数(去掉小数点,取纯数字)
  3. 正确调用接口传递数值

修正后的代码示例

// 示例:用户实际收到的微存款为$0.05和$0.03,对应分的数值是5和3
await stripe.verifyMicrodepositsForPayment(clientSecret, {
  amounts: [5, 3]
});

额外注意事项

  • 生产环境中绝对不能自行计算微存款金额,必须依赖用户提供的实际到账数据
  • 确保接口调用的参数格式正确,避免语法错误导致的额外异常

内容的提问来源于stack exchange,提问作者Gabriel Temitope

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 05:55:23