Подключение сайта к walletone

wallet-one-logo

Подключал сайт к Wallet One. Механизм работы агрегатора стандартный, но есть определенные нюансы.

Самым сложным оказалось угадать, как формируется цифровая подпись при обращении к сайту из платежной системы.

Цифровая подпись для отправки данных «собралась» нормально, точно как и описывалось в примере из руководства по подключению. Поэтому проблема с подписью во время приема запроса была неприятной неожиданностью.

Теоретически, в этом случае можно обойтись без проверки подписи, так как адрес страницы, которая принимает данные, неизвестна внешнему пользователю. Я подозреваю, что многие так и делают. Но лично мне всегда хочется сделать «по уму».

Было ясно, что я как то не верно собираю подпись, не так как она собиралась у провайдера. Но все было сделано в точности как в примере, данном в руководстве.

Тогда я решил пойти другим путем — я взял нужный код из предлагаемого модуля для Drupal. Он пестрел кучей всяких преобразований вроде urldecode и htmlentities, которых не было в тексте примера в руководстве. И опять — мимо!

В конце концов я решил взять набор $_POST данных и попробовать на нем разные способы вычисления цифровой подписи. Оказалось, что к присланным $_POST данным не следует вообще применять каких либо операций (менять кодировку, исправлять спец. символы и т.п.). Так какого же, господа, рожна вы их насовали в ваши примеры?

Вот мой рабочий пример, переделанный в заготовку для интеграции :

Надеюсь, кому то сэкономит время и нервы.

Мало букафф? Читайте есчо !

Задача - число островов

Март 25, 2023 г.

Разбираю задачу #200 с литкода, число островов (number of islands). Задан двумерный массив, в котором участки суши помечены как "1", а участки воды - как "0". Требуется подсчитать число получившихся островов. При этом считается, что участки суши образуют ...

Читать

Когда jQuery.find может не работать

Декабрь 8, 2012 г.

Обычно, "проблема" возникает с данными, получаемыми через асинхронные запросы (ajax-запрос). Вы пытаетесь выполнить jQuery.find() для полученных данных, а функция возвращает пустой объект. В примере ниже, мы пытаемся извлечь содержимое HTML контейнера ...

Читать

Разбить строку на буквы в PHP

Январь 13, 2017 г.

Это задача - классика алгоритмов. В каждом языке программирования есть свои особенности. Для паскаля, к примеру, строка - это массив символов, потому ...

Читать

Что использовать вместо mysql_escape_string() в Drupal 7?

Сентябрь 6, 2016 г.

Начиная с версии PHP 4.3.0, функция mysql_escape_string() считается устаревшей. PHP будет выдавать соответствующее предупреждение. Deprecated function: mysql_escape_string(): This function is deprecated; use mysql_real_escape_string() instead. Т.е. ...

Читать
 

Комментарии к «Подключение сайта к walletone»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: