Перейти к основному содержимому

Быстрый старт

Пошаговая инструкция, чтобы принять первый платёж по API без входа в личный кабинет.

1. Получите API-ключ и секрет

При создании кассы вам выдают:

  • api_key — передаётся в заголовке X-API-Key при каждом запросе к API.
  • signing_secret — используется для проверки подписи вебхуков (заголовок X-Signature). Храните секрет в безопасности и не передавайте в запросах к API.

Если кассы ещё нет — оставьте заявку на подключение; после создания кассы ключи будут переданы вам напрямую.

2. Настройте callback_url

URL для приёма вебхуков задаётся при создании/настройке кассы. Убедитесь, что ваш сервер принимает POST-запросы по этому адресу и возвращает 2xx в течение 10 секунд. Подробнее в разделе Колбэки (вебхуки).

3. Создайте платёж

Пример запроса (подставьте свой api_key и уникальный X-Nonce):

curl -X POST https://rollypay.io/api/v1/payments \
-H "Content-Type: application/json" \
-H "X-API-Key: rpk_live_ВАШ_КЛЮЧ" \
-H "X-Nonce: $(uuidgen)" \
-d '{
"amount": "1500.00",
"payment_currency": "RUB",
"order_id": "order_12345",
"description": "Оплата заказа #12345"
}'

В ответе будет pay_url — ссылка на страницу оплаты для клиента.

4. Перенаправьте клиента на оплату

Отдайте клиенту ссылку pay_url из ответа (например, редирект или кнопка). Клиент откроет страницу RollyPay, увидит сумму и реквизиты, отсканирует QR СБП (или выберет другой способ, если включена общая пейформа) и оплатит.

5. Обработайте вебхук

После успешной оплаты RollyPay отправит на ваш callback_url POST с телом вида:

{
"event_type": "payment.paid",
"payment_id": "pay_...",
"order_id": "order_12345",
"status": "paid",
"amount": "1500.00",
"currency": "RUB"
}

Обязательно проверяйте заголовок X-Signature с помощью signing_secret (см. Колбэки), затем обновите статус заказа и выдайте товар/услугу.

6. (Опционально) Проверьте статус по API

При необходимости можно отдельно запросить платёж:

curl https://rollypay.io/api/v1/payments/PAYMENT_ID \
-H "X-API-Key: rpk_live_ВАШ_КЛЮЧ" \
-H "X-Nonce: $(uuidgen)"

Убедитесь, что status равен "paid", прежде чем выполнять выдачу.


Дальше: полное описание API — авторизация, все эндпоинты, коды ошибок и лимиты.