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

wallet-one-logo

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

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

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

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

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

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

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

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

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

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

Подготовка строки для использования в качестве имени html класса

Январь 18, 2022 г.

То, что в семерке выполняется функцией drupal_html_class(), в Drupal 8 реализовано в виде статического метода\Drupal\Component\Utility\Html::getClass($str). Данная функция также востребована в шаблонах (twig). Здесь вы можете использовать фильтр ...

Читать

Как сравнить два произвольных файла не включенных в репозиторий средствами git diff

Июль 1, 2022 г.

Утилита Git diff может сравнивать не только изменения между ветками, но и вообще произвольные объекты файловой системы, которые даже не включены в репозиторий. ...

Читать

Замена поля таксономии в редакторе ноды в Drupal 6

Август 24, 2013 г.

Потому то я и не люблю таксономию в шестерке drupal, что возможностей ею управлять хуками почти что нет. В 7-ке ситуация лучше. У меня была задача выводить ...

Читать

Рендеринг нужного блока в Drupal 7

Июль 12, 2015 г.

Не всегда удобно выводить блоки в определенные шаблоном регионы. Как вывести произвольный блок в нужном месте шаблона? Для решения этой задачи пришлось не много покопаться в коде движка. Результатом копания стала вот такая функция: [crayon-6a9fde34b3200385459936/] ...

Читать
 

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

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



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