Делаю вот так:
$lifeTime=time()+3600;
setcookie("proba2","123",$lifeTime,'/');
спустя пару секунд на том же домене вызывается другой скрипт (этот другой скрипт автоматически вызывает робокасса).
И почему то там нет этого кукиса, обращаюсь к нему вот так:
write_log($_COOKIE["proba2"]);
возвращает пусто.
Подскажите пожалуйста, как лечить?
Во-первых, домен не указан (а желательно).
Во-вторых, переход через несколько доменов может рассматриваться как кросс-доменный и ключи будут теряться.
Насколько я помню, робокасса работает так - с твоей страницы ты попадаешь на страницу робокассы, куда ты передал данные для оплаты. На странице робокассы происходит оплата, о которой сервер робокассы оповещает тебя http-запросом (но не с самой страницы, а с сервера, который про ключи вообще ничего не знает). Дальше идёт переход на страницу результата (на вашем сервере), но сервер уже должен со стороны получить результат оплаты - ключи, если были установлены на домен, то должны передаваться (причём, если время поставить 0, то будут хранится до закрытия браузера).
(1) тоесть, ты хочешь сказать, что робокасса каким то образом теряет куки при переходе на другой скрип и тут нужно немного извратиться и передать хранящуюся в кукисах инфу каким то иным способом, например, писать ее в базу данных а уже в скрипте вызываемой робокассой отткуда читать? Тоесть, тока танцы с бубнами иначе никак?
(2) Робокасса, когда вызывает ваш сервер для подтверждения оплаты, о ключах ничего не знает, так как ключи на её страницу не попадают (домен другой). Там нужно передавать параметры и номер транзакции как написано в инструкции по работе с сервисом.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший