Виджет и API

Два способа подключения: готовый виджет оплаты в две строки кода или REST API для полного контроля над сценарием оплаты.

Получить ключи

1. Виджет для сайта

Вставьте код на страницу оплаты. Внешний вид формы берётся из настроек личного кабинета.

HTML
<div id="rupayflow-widget"></div>
<script src="https://cdn.rupayflow.ru/widget.js"></script>
<script>
RuPayFlow.mount('#rupayflow-widget', {
publicKey: 'pk_ваш_ключ',
amount: 4990,
orderId: 'ORDER-1024',
methods: ['card', 'sbp'],
onSuccess: function (payment) {
window.location.href = '/thanks?id=' + payment.id;
}
});
</script>

2. Создание платежа по API

Секретный ключ передаётся в заголовке Authorization. Метод: card или sbp.

cURL
curl -X POST https://api.rupayflow.ru/v1/payments \
-H "Authorization: Bearer sk_ваш_ключ" \
-H "Content-Type: application/json" \
-d '{
"amount": 4990.00,
"currency": "RUB",
"method": "sbp",
"order_id": "ORDER-1024",
"customer_email": "client@example.com",
"return_url": "https://shop.ru/success"
}'

Ответ

JSON
{
"id": "pay_8f2b41c9",
"status": "pending",
"amount": 4990.00,
"method": "sbp",
"qr_code_url": "https://api.rupayflow.ru/qr/pay_8f2b41c9.png",
"payment_url": "https://pay.rupayflow.ru/pay_8f2b41c9",
"usdt_amount": 52.4211,
"usdt_rate": 92.15
}

3. Вебхук о статусе

Мы отправляем POST-запрос на ваш URL при каждом изменении статуса. Проверяйте подпись HMAC SHA-256 вашим секретным ключом.

JSON
{
"event": "payment.succeeded",
"payment": {
"id": "pay_8f2b41c9",
"order_id": "ORDER-1024",
"amount": 4990.00,
"fee": 159.68,
"usdt_amount": 52.4211,
"status": "succeeded"
},
"signature": "hmac_sha256(body, secret)"
}

Статусы платежа

pendingПлатёж создан, ожидается оплата покупателем
succeededДеньги получены, баланс USDT пополнен
failedОплата не прошла
refundedВыполнен возврат покупателю