Приём платежей на вашем сайте
с использованием банковских карт
и QR кодов Системы Быстрых Платежей
HTML-форма
Вставка формы на сайт
Один из основных методов интеграции платежной платформы с сайтом — это вставка обычной HTML формы. При этом можно использовать собственную верстку, CSS стили и элементы оформления, что позволяет достичь значительной гибкости создаваемой формы при сохранении простоты интеграции.
Данный метод будет в первую очередь полезен, если нужно:
- сделать собственный дизайн формы оплаты;
- передавать в платежную платформу дополнительную информацию о платеже;
- собственная сложная логика инициализации оплаты;
- провести интеграцию с сайтом, который не использует стандартную CMS систему;
Ваша форма оплаты на сайте должна иметь метод POST и action, указывающий на URL /create/ вашего сервера (пример: https://demo.open-processing.ru/create/). Форма может передавать следующие поля:
Параметр | Назначение | Обязательный | |
1 | sum | Сумма к оплате. | Да |
2 | clientid | Идентификатор клиента. | Нет |
3 | orderid | Номер заказа. | Нет |
4 | service_name | Название услуги. | Нет |
5 | client_email | Адрес электронной почты | Нет |
6 | client_phone | Телефон плательщика. | Нет |
7 | pstype | Тип платёжной системы. | Нет |
8 | sign | Цифровая подпись запроса. | Нет |
Ниже приведён пример HTML-кода простой формы оплаты:
1 2 3 4 5 6 7 8 9 |
<form method='POST' action='https://demo.open-processing.ru/create/' > Введите сумму оплаты: <input type='text' name='sum' value='100'/> <br /> Введите номер заказа: <input type='text' name='orderid' value='123456'/> <br /> Введите название услуги: <input type='text' name='service_name' value='Тестовая оплата'/> <br /> <input type='submit' value='Перейти к оплате' /> </form> |
Вы можете вставить данный HTML-код на любую страницу вашего сайта. Отображаться он будет следующим образом:
Приведенный пример формы функционален. Форма настроена для работы с нашим демо шлюзом. Чтобы переключить форму на ваш сервер нужно указать вместо
https://demo.open-processing.ru адрес вашего сервера.
С помощью CSS стилей форме можно придать любое необходимое оформление. К форме, отображенной выше, применены следующие стили:
1 2 |
input[type="text"] { width: 98%; margin-bottom: 10px; height: 25px;} input[type="submit"] { margin-left: 480px; height: 45px; width: 213px; background: #c71e1c; } |
Проверка цифровой подписи запроса
По умолчанию, платежная платформа не проверяет цифровую подпись запроса. Если данная проверка необходима, её включение происходит отдельно.
Цифровая подпись представляет собой SHA-256 хэш от конкатенации параметров запроса 1-7 (если параметра нет, то он подставляется как пустая строка) и секретного слова. Результат хэширования записывается в виде строки из шестнадцатеричных цифр. Секретное слово задаётся в настройках в личном кабинете, в разделе «Получение информации о платежах», при выборе способа получения уведомлений «POST-оповещения».
Пример кода на PHP для составления цифровой подписи запроса:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<?php # Возьмём следующие параметры заказа для примера: $sum=100; $clientid="186"; $orderid="12331169"; # Те, что неизвестны, берутся пустыми строками $service_name=""; $client_phone=""; $client_email="ivanov.sergey@yandex.ru"; $to_hash = number_format($sum , 2 , '.' , '') . $clientid . $orderid . $service_name . $client_email . $client_phone . $secret_seed; $sign = hash('sha256' , $to_hash); # Цифровая подпись ?> |
и сразу получите доступ в личный кабинет