Я смотрю на PayPal IPN docs, и он говорит, что datetime штампы их строк имеют формат:
IPN docs
datetime
HH:MM:SS DD Mmm YY, YYYY PST
То есть год указан дважды?
Однажды двузначная цифра, а другая четырехзначная?
Это выглядит странно.
Это похоже на ошибку в документации. Фактический формат должен быть «ЧЧ: ММ: СС Ммм ДД, ГГГГ PST» (например, «08:30:06 19 апреля 2017 года PDT»)
Для php синтаксис: date("G:i:s M m, Y T");
date("G:i:s M m, Y T");
На самом деле в PHP вам нужно использовать дату ("Y-m-d \ TH: i: s \ Z"). Это приведет к чему-то похожему на 2012-04-30T00: 05: 47Z - я не заметил разницы между urlencoded и non.
Где вы, ребята, нашли эту информацию? Эта информация неуловима в их документации и стоила мне часа или двух охоты и попыток. Единственное место, где я вижу этот формат, находится в поле TIMESTAMP. Трудные времена с PROFILESTARTDATE API PayPal NVP для CreateRecurringPaymentsProfile и ошибкой «Дата начала подписки должна быть действительной».
это правильный формат согласно их документации - 2010-03-27T12: 34: 49Z так и есть - ГГГГ-ММ-ДДЧЧ: ММ: ССЗ (я не знаю, что такое Т в середине и Z, но оно постоянно для всех дат) Я создал библиотеку PayPal NVP на Java, поэтому, если вы хотите проверить, как она работает, или использовать ее, пожалуйста, добро пожаловать это на sourceforge - payapal-nvp.sourceforge.net
Полная дата плюс часы, минуты, секунды и десятичная дробь второй ГГГГ-ММ-ДДЧч: мм: сс.тТЗД (например, 1997-07-16Т19: 20: 30.45 + 01: 00) Где TZD = обозначение часового пояса (Z или + чч: мм или -чч: мм)
Пример 1994-11-05T08: 15: 30-05: 00 соответствует 5 ноября 1994 года, 8:15:30 по восточному поясному времени США.
1994-11-05T13: 15: 30Z соответствует одному и тому же моменту.
https://www.w3.org/TR/NOTE-datetime
На самом деле, я думаю, правильный формат: гггг-мм-ддтчч: мм: ссз
Дело важно.