Я использую пакет Node.js Stripe и хочу добавить новую подписку для клиента, срок действия которой истекает через 30 секунд.Вот мой код:
var toCreate = {
customer: 'customer_id',
items: [{
plan: 'plan_id'
}],
coupon: 'coupon_code',
}
stripe.customers.create({xyz: 'This will give an error with the server time in the header'}).then(success => {},
error => {
var seconds = 30;
toCreate.trial_end = new Date(error.raw.headers.date).getTime() + (seconds * 1000);
console.log('End time', toCreate.trial_end);
return stripe.subscriptions.create(toCreate).then(successful => {
console.log(successful)
}, error => {
console.log(error)
})
})
Код намеренно создает ошибку, чтобы получить точное время сервера, а затем делает фактический stripe.subscriptions.create
звонок.
Когда я звоню stripe.subscriptions.create
,Stripe выдаёт мне эту ошибку:
Недопустимая метка времени: в будущем может быть не более пяти лет
Метка времени, которую мой код дал в этой ситуации, была 1535104976000
.Это было включено в заголовки сообщений об ошибках:
date: 'Fri, 24 Aug 2018 10:02:27 GMT'
Конвертировано в эпоху, то есть 1535104947000
.
Итак, мое время определенно не на 5 лет впереди их!Что на Земле происходит?