Документация

ВЗАИМОДЕЙСТВИЕ С API

Генерация нового платежа

Для взаимодействия с формой, необходимо создать GET запрос с параметрами `params?`
1. Параметры должны присутствовать базовые, или же дополнительные, см. ниже
2. В параметре должна быть генерация данных для сверения их с серверным обработчиком
3. Платеж должен осуществляется по актуальной сессии, в течении двух часов, иначе генерация новых сессионных данных и анулирование сгенерированного перед этим платежа

Параметры и ограничения

Параметр Ограничения
account string(64)
sum decimal(10,2)
currency int(4)
signature string(256)
[other_arguments] string(256)

Формирование подписи

Подпись формируется с помощью алгоритма sha256, приведен ряд примеров для генерации подписи, клиент и сервер часть проверка в примерах генерации формы

Алгоритм генерации подписи
> обычный вариант, с участием основных параметров: (string)account+(decimal)sum+(int)currency+(string+sha256)secret_key
> дополнительный вариант, с участием основных и дополнительных параметров: (string)account+(decimal)sum+(int)currency+(string+sha256)secret_key+(int)server+(int)shop_item+(bool)bonus (server, shop_item, bonus, являются примерами)

* порядок формирование подписи, не имеет значения, должен быть точный результат при генерации клиента и обработке, после оплаты (сверение данных для корректной работы системы на вашей стороне)
Здесь два пути по решению
1. Вы можете хранить секретный ключ на клиент-сайде, но при этом шифровать (после передачи, вам необходимо составить алгоритм подписи, аналогичный генерируемому на сервер-сайде)
2. Вы можете реализовать генерацию секретной подписи на сервере (для безопасности рекомендован, данный вариант)

* ответ на вопрос, а зачем нужно шифровать и генерировать подпись с данными? Ответ прост, наш сервис отличается безопаностью перед нашими клиентами, как и на вашей стороне, так и на нашей, если злоумышленник додумается совершить подмену данных, то у него ничего не получиться

Примеры формы

Скачать примеры генерации формы
[HTML+JS] - [HTML+PHP]

Обработчик платежа

После того, как клиент совершает оплату - его перекидывает на сервер вашего обработчика, где уже идет формирование подписи по GET параметрам и проверки на валидность, в случае неудачи сервер возвращает на вашей стороне кодовые ошибки с номерным и пояснительным содержанием

Пример обработчика

Скачать пример обработчика
- [PHP]