Skip to content

Оплата на вашем сайте

Grant Makyan edited this page Aug 4, 2024 · 9 revisions

Как встроить оплату АРами в свой сайт / приложение?

Не забывайте про аутентификацию!


Создание запроса на оплату

Внимание: максимальная итоговая сумма - 10000 АР.

Чтобы принять оплату АРами, надо сначала создать запрос на оплату. Он делается таким запросом:

POST https://spworlds.ru/api/public/payments

Тело запроса - JSON объект:

Название Тип Описание
items Массив Товары транзакции.
redirectUrl Строка URL страницы, на которую попадет пользователь после оплаты.
webhookUrl Строка URL, куда наш сервер направит запрос, чтобы оповестить ваш сервер об успешной оплате.
data Строка Cюда можно поместить любые полезные данных. Ограничение - 100 символов.

Товар (item) транзакции - JSON объект:

Название Тип Описание
name Строка Название товара. Ограничение: 3-32 символа.
count Число Кол-во данного товара. Ограничение: 1-9999.
price Число Цена за 1 ед. товара. Ограничение: 1-1728.
comment Строка Не обязательный параметр. Комментарий к товару. Ограничение: 3-64 символа.

Ответ будет в формате JSON:

  • url - Ссылка на страницу оплаты, на которую стоит перенаправить пользователя.
  • code - Код для оплаты транзакции.
  • card - Название карты получателя.

Получение данных об успешной оплате

Важно! Наш сервер не отправит запрос на ваш сервер, если он не использует протокол https или порт, отличный от 443!

После успешной оплаты наш сервер отправит POST запрос по URL, который вы указали при создании запроса на оплату (webhookUrl).

Тело запроса будет в формате JSON:

Название Тип Описание
payer Строка Ник игрока, который совершил оплату.
amount Число Стоимость покупки.
data Строка Данные, которые вы отдали при создании запроса на оплату.

Важно! При обработке этого запроса надо подтвердить, что данные пришли из нашего сервера. Для этого в хедерах запроса есть хедер X-Body-Hash который содержит закодированный в base64 SHA256 HMAC хеш тела запроса, использующий как ключ api токен вашей карты. При приеме запроса вы сначала должны сгенерировать свой хеш и убедиться что он совпадает с хедером, прежде чем обрабатывать запрос.