Comments 11
Система QIWI не имеет тестового режима или тестовой площадки
Это не так. Свяжитесь с саппортом.
Когда я их прикручивал, надо было специально просить, что бы включили в боевом режиме.
Хотя, возможно, что-то и поменялось.
+1
Не понял насчёт п2. Смысл проверять статус по крону если уведомление о смене статуса счёта всё равное прийдёт? Насчёт адресов для сообщений от сервиса — почему их два? Я использовал один, на него приходят все уведомления? И ещё одно уточнение — в настройках нигде нет пункта для указания адреса для уведомлений для REST протокола. В данный момент указание адреса для уведомлений задаётся написанием соответствующего письма менеджеру, о чём и гласит надпись на странице ishop.qiwi.ru/protocolRest.action
0
Не понял насчёт п2. Смысл проверять статус по крону если уведомление о смене статуса счёта всё равное прийдёт?Уведомление приходит через определённый интервал. Об этом написано в руководстве. Использование крона добровольная операция. Допустим если вам нужно завершить операцию быстрее, чем система пришлёт вам уведомление.
Насчёт адресов для сообщений от сервиса — почему их два? Я использовал один, на него приходят все уведомления?Вы можете использовать и один адрес. Два для простоты. Один для успешного уведомления, другой для не успешного.
И ещё одно уточнениеДа, в данный момент указание адреса для уведомлений нужно задавать через менеджера.
0
А пункт «4.2. Авторизация при уведомлениях на сервер провайдера» не реализовывали?
Интересует алгоритм проверки X-Api-Signature
Интересует алгоритм проверки X-Api-Signature
0
Нет, данный способ не реализовывался.
0
Пробовал, умаялся с проверкой зашифрованой подписи. Так не смог :(
начал с такого :)
и перепробовал разные комбинации подставлял shop_id, api_id, password для api, password для магазина, к сожалению ничего не вышло.
начал с такого :)
$Sig = base64_encode(hash_hmac('sha1', $keys, $password));
и перепробовал разные комбинации подставлял shop_id, api_id, password для api, password для магазина, к сожалению ничего не вышло.
0
Буквально недавно озадачился этим же, ну и решение ниже
public function notify() {
if (!empty($_SERVER['HTTP_X_API_SIGNATURE'])) {
ksort($_POST);
$Invoice_parameters_byte = implode('|', $_POST);
$Notification_password_byte = $this->getNotifyKey(); // секретная подпись получения от киви
$sign = hash_hmac('sha1', $Invoice_parameters_byte, $Notification_password_byte, true);
if (strcmp($_SERVER['HTTP_X_API_SIGNATURE'], base64_encode($sign))===0) {
return true;
}
}
return false;
}
0
Это всё ещё работает?
0
Sign up to leave a comment.
QIWI и новый протокол REST в примерах