Полоса - «Неверная временная метка: может быть не более пяти лет в будущем» - PullRequest
0 голосов
/ 24 августа 2018

Я использую пакет 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 лет впереди их!Что на Земле происходит?

1 Ответ

0 голосов
/ 24 августа 2018

Кажется, это связано с меткой времени. Отметка времени PHP указывается в секундах, а отметка времени JavaScript - в миллисекундах. Вы пытались разделить на 1000?

...