条纹API trial_end从现在开始10秒,环境独立

时间:2016-02-06 10:23:07

标签: node.js unix stripe-payments momentjs stripe.net

我正在使用Stripe Api测试失败的经常性付款。

要在创建订阅后立即使经常付款失败,订阅本身应该有试用期,并且客户创建的trial_end应该很快就会有一段时间,或者现在就是字符串。

我传递字符串'现在',卡在Stripe.customers.create()上收费,使其失败,这不是我的目标。

相反,我尝试传递当前的unix时间戳+10秒,但似乎机器时钟在条纹时钟几分钟之前设置。

结果,我得到了trial_end 1454753552和trial_start 1454753109,这不是10分443秒。

有没有其他方法可以使测试环境独立而不是改变系统时钟?

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

1 个答案:

答案 0 :(得分:2)

我不确定这里有干净的方法。我要做的就是在通话之前创建客户并查看property对象上的created Customer。这告诉您Stripe服务器正在使用的时钟。然后,您可以使用自己的时钟快速计算偏移量,并猜测放入trial_end的正确时间戳,以创建一个以10秒结束的试用期。

我还建议不要使用10秒钟部分,因为即使时钟处于完美同步状态,如果您的通话对于特定请求来说有点太慢,则试用会立即结束,并阻止您测试您的情况。 ;寻找。我个人使用60秒延迟来降低风险。