Нужна помощь. Формат передачи даты

illmano

Старатель
Регистрация
20 Июн 2012
Сообщения
172
Реакции
14
Начну по порядку.
В один прекрасный день у меня перестала работать оплата на сайте через Qiwi. Я написал в саппорт и они сказали следующее:
Добрый день! По нашим данны, вы передаете дату в неверном формате: lifetime=2013.10.02 00:10:04. По документации дата должна быть в формате dd.mm.yyyy HH:MM:SS.
Я нашел файлы, которые отвечают за функционал оплаты на сайте, но что там поменять, что бы формат даты был правильный я не знаю. Прошу у вас помощи.

ADD. Я так понял дату функция получает от сервера или БД, возможно нужно менять формат даты перед передачей ее в lifetime= . Подскажите как и где это делать!
 

Вложения

  • qiwi_func.txt
    1,7 KB · Просмотры: 7
  • IShopServerWSService.txt
    3,5 KB · Просмотры: 3
Последнее редактирование:
в качестве костыля на скорую руку можно предложить:
$params->lifetime = date( 'd.m.Y H:i:s', strtotime( str_replace( '.', '-', $data['lifetime'] ) ) );

однако лучше это решить до вызова createBill.. возможно в sql запросе (см. Для просмотра ссылки Войди или Зарегистрируйся)..
 
в качестве костыля на скорую руку можно предложить:
$params->lifetime = date( 'd.m.Y H:i:s', strtotime( str_replace( '.', '-', $data['lifetime'] ) ) );

однако лучше это решить до вызова createBill.. возможно в sql запросе (см. Для просмотра ссылки Войди или Зарегистрируйся)..
Спасибо. Помогло!
А что значит костыль? в любой момент может сломаться или что? Чем чревато, если оставить так?
 
костыль, это бороться со следствием, а не причиной.. в вашем случае где то ранее дата приводится к не корректному виду (причем явное приведение, по скольку формат даты не стандартный), сейчас опять переформатирована.. в идеале исправить источник, а костыль убрать..
 
так что может случиться?
Если всё будет работать как сейчас, то ничего не случится.
Смысл сообщения BDSG в том, что логичнее сразу получать дату в нужном формате, нежели сначала получать в одном формате, а затем переводить в другой. Можно поискать, где lifetime задаётся (в прикреплённых файлах ничего такого нет)
 
Если всё будет работать как сейчас, то ничего не случится.
Смысл сообщения BDSG в том, что логичнее сразу получать дату в нужном формате, нежели сначала получать в одном формате, а затем переводить в другой. Можно поискать, где lifetime задаётся (в прикреплённых файлах ничего такого нет)
Есть еще два таких файла, но не думаю что задается там.
 

Вложения

  • IShopClientWS.txt
    2,6 KB · Просмотры: 3
  • IShopServerWS.txt
    7,8 KB · Просмотры: 2
это всё не то.. найдите где ф-я createBill вызывается.. не класс createBill, не метод createBill сервиса, а именно самостоятельная ф-я (трэш, конечно)..
 
поищите по всем файлам Вашего проекта подстроку
Код:
class createBill
и скиньте нужный файл сюда, тогда можно будет о чем-то говорить
 
Назад
Сверху