Russia
SBP payments by QR code in RUB
Before you start
Authorization
How to sign your requests with the API token.
Create payment
The base order request that this page extends.
This payment method is not enabled for all merchants. Check availability with your manager.
Overview
| Currency | Payment method | Flow |
|---|---|---|
RUB | SBP (QR code) | You request a QR link and show it to the payer yourself |
If SBP is enabled on your terminal, the hosted payment page offers it without extra parameters. This page describes the host-to-host flow: you get the SBP QR link directly from the API and render it in your own interface.
Flow
Request the QR link
POST /v1/orders/{orderId}/h2h/sbpcurl -X POST "https://api.riopay.online/v1/orders/{orderId}/h2h/sbp" \
-H "Content-Type: application/json" \
-H "X-Api-Token: YOUR_API_TOKEN"The QR link is generated on the bank side. Set the request timeout to 30 seconds or more.
Response:
{
"qrLink": "https://qr.nspk.ru/..."
}Show the QR code
Render qrLink as a QR code, or open it as a link on mobile devices. The payer confirms the transfer in their banking app.
Wait for the result
The order status changes to COMPLETED when the transfer is confirmed. You receive a webhook or can poll the order by ID.
Order status and webhooks
Order statuses
| Status | Final | Description |
|---|---|---|
CREATED | No | Order created, payment link not yet opened |
PENDING | No | Awaiting payment |
COMPLETED | Yes | Payment successful, funds received |
FAILED | Conditionally | Payment error |
CANCELED | Conditionally | Order canceled by the system |
EXPIRED | Conditionally | Order expired before it was paid |
BLOCKED | Conditionally | Transaction blocked by the bank |
REFUND | Yes | Payment refunded to the payer. Set after COMPLETED |
CHARGEBACK | Yes | Payment disputed by the payer and reversed by the bank. Set after COMPLETED |
FAILED, CANCELED, EXPIRED and BLOCKED are not strictly final. If the bank confirms the payment later because of an error on its side, the order moves to COMPLETED and the webhook for this change is sent automatically. Be ready to receive COMPLETED for an order you have already marked as unsuccessful.