Интеграция со спецификацией
Если Вы не можете использовать библиотеку libwebtopay, то ниже вы найдёте подробную спецификацию отправляемых и получаемых данных.
Если это возможно (на Вашем сервере есть PHP с необходимой версией), мы настоятельно рекомендуем использовать библиотеку libwebtopay для генерации запросов и обработки обратных вызовов.
Структура запроса данных
Данные формы посылайте методом Get или POST по адресу: https://www.paysera.com/pay/
Всегда отправляются 2 поля: data и sign.
Пример URL-адреса: https://www.paysera.com/pay/?data=ваш_DATA_параметр&sign=ваш_SIGN_параметр
Создание полей из параметров
-
Все параметры объединяются в строку URL-encoded. Например:
['param1' => 'abc', 'param2' => 'Some string with symbols %=&'] 'param1=abc¶m2=Some+string+with+symbols+%25%3D%26'
На языке PHP это делается с помощью функцииhttp_build_query
-
Полученная строка кодируется кодировкой base64. Например:
'param1=abc¶m2=Some+string+with+symbols+%25%3D%26' 'cGFyYW0xPWFiYyZwYXJhbTI9U29tZStzdHJpbmcrd2l0aCtzeW1ib2xzKyUyNSUzRCUyNg=='
На языке PHP это делается с помощью функцииbase64_encode
-
В полученной закодированной строке символы «/» заменяются на «_», символы «+» на «-». Мы получаем кодировку,
похожую на base64, которую безопасно пересылать через URL без дальнейшей обработки. Например:
'MViDYlV7V0iHR2w2OkJjRFFpY11hizJDhk+EZjl/' 'MViDYlV7V0iHR2w2OkJjRFFpY11hizJDhk-EZjl_'
На языке PHP это делается с помощью функцииstr_replace
илиstrtr
. -
Строка окончательного результата подписывается – создается параметр sign. Алгоритм для создания параметра
sign:
sign = md5(data + password)
Здесь md5 криптографическая хеш-функция, data - кодированные параметры, password - ваш пароль проекта.
Дополнительные параметры для повторяющихся платежей PIS
Есть возможность создать повторяющиеся платежи, указав в запросе дополнительные данные. После этого банк будет выполнять платеж PIS автоматически по заданному периоду и периодичности. Только несколько банков предоставляют такую возможность: SEB и Swedbank
Варианты частоты платежей для всех доступных способов периодических платежей:
weekly
monthly
quarterly
semiannual
annual
Варианты частоты платежей для некоторых доступных способов периодических платежей:
daily
every_working_day
last_day_of_month
last_working_day_of_month
Формат даты должен быть yyyy-mm-dd.
Формат даты должен быть yyyy-mm-dd.
Параметры запроса
Продавец не должен полагаться на accepturl для подтверждения заказа. Подтверждение заказа со стороны продавца должно осуществляться посредством callbackurl.
Скрипт должен вернуть текст "OK". Только тогда наша система сможет зафиксировать факт успешного информирования об оплате.
Если ответа "OK" нет, то сообщение отправляется 4 раза (сразу после получения, спустя час, спустя три часа и спустя сутки).Оплата за товары и услуги (за нр. [order_nr]) ([site_name]).
Если реквизиты платежа указаны, необходимо внести следующие переменные, которые в конечном тексте назначения будут заменены соответствующими значениями:
[order_nr] - номер заказа.[site_name] или [owner_name] - адрес сайта или название предприятия.
Может иметь значение 0 или 1. Если установлено значение 1, плательщик может пропустить дополнительный шаг, на котором ему необходимо принять согласие с использованием платежа PIS.. Если используется этот параметр, на вашу страницу необходимо добавить дополнительный текст:
Текст согласия покупателя на других языках, представленный под таблицей**
* Окончательная длина может варьироваться в зависимости от спецификации типа оплаты
** Текст согласия покупателя:
Callback
Для получения дополнительной информации о 'callback' смотрите раздел - Callback .