gpt4 book ai didi

node.js - Stripe API Trial_end 从现在起 10 秒后,与环境无关

转载 作者:太空宇宙 更新时间:2023-11-03 21:57:59 25 4
gpt4 key购买 nike

我正在使用 Stripe Api 测试失败的定期付款。

要使定期付款在创建订阅后很快失败,订阅本身应该有试用期,并且客户创建时的 Trial_end 应该是很快的某个时间或字符串“now”。

如果我传递字符串“now”,卡将在 Stripe.customers.create() 上直接收费,使其失败,这不是我的目标。

相反,我尝试传递当前的 unix 时间戳 +10 秒,但似乎机器时钟设置得比 Stripe 时钟早几分钟。

结果,我得到审判结束 1454753552 和审判开始 1454753109,这不是 10 秒,而是 443 秒。

除了改变系统时钟之外,还有其他方法可以使测试环境独立吗?

我正在使用 moment().unix() + 10 来获取当前的unix时间+ 10秒和nodejs。

最佳答案

我不确定这里是否有一种干净的方法可以做到这一点。我要做的就是在调用之前创建客户并查看创建的 property关于 Customer目的。这会告诉您 Stripe 服务器正在使用的时钟。然后,您可以使用自己的时钟快速计算偏移量,并猜测正确的时间戳以放入 Trial_end 中,以创建以 10 秒结束的试用期。

我还建议不要使用 10 秒部分,因为即使时钟完美同步,如果您的调用对于该特定请求来说有点太慢,试用将立即结束并阻止您测试您正在寻找的内容。我个人使用 60 秒的延迟来降低风险。

关于node.js - Stripe API Trial_end 从现在起 10 秒后,与环境无关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35239889/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com