NSPK QR¶
The payer pays by an NSPK (SBP) QR code from their bank app: scans the code or opens the
payment link. The payment works like an SBP payment: the same API method, statuses,
callbacks and retry rules. What differs is payment_method and what is issued instead of a
phone number.
| SBP | NSPK QR | |
|---|---|---|
payment_method |
sbp |
nspk |
| What the payer gets | a phone number in requisite |
a qrcode_link and/or a qrcode_image |
| How the payer pays | "SBP transfer" by phone number | scans the QR code or opens the link in the bank app |
Create a payment¶
POST /api/v1/payments with payment_method: "nspk". The request is signed the
same way as for SBP; the other fields are the same as for SBP.
All fields and rules are in SBP payments → Request fields; allowed methods and amounts are in Contract limits. The method must be in your project's contract.
Response¶
Instead of a phone number the response carries a QR code:
qrcode_link— the payment linkhttps://qr.nspk.ru/…;qrcode_image— the QR picture:data:image/png;base64,…or anhttpslink to the image.
One of them or both are present. requisite holds the same link, or the string qr_image
when only the picture was issued. qrcode_image is in the create response and in
GET /api/v1/payments/{id}, not in the payment list.
{
"id": "5b8e1d2a-3c4f-4a6b-9d7e-1f2a3b4c5d6e",
"merchant_payment_id": "order-1003",
"status": "processing",
"amount": 4800,
"initial_amount": 4800,
"currency": "RUB",
"geo_code": "RU",
"payment_method": "nspk",
"requisite": "https://qr.nspk.ru/AD10006M8KH9GJ81FR8Q1RMB1KAT3RDB",
"qrcode_link": "https://qr.nspk.ru/AD10006M8KH9GJ81FR8Q1RMB1KAT3RDB",
"requisite_bank": null,
"holder_name": null,
"created_at": "2026-10-13T09:30:00Z",
"updated_at": "2026-10-13T09:30:01Z"
}
The other response fields and merchant_information are the same as for SBP:
Response and merchant_information.
What to show the payer¶
- On a phone — a "Pay" button with the
qrcode_link: it opens the bank app with the payment already filled in. - On a computer — the QR code: the
qrcode_imagepicture or a code drawn fromqrcode_link. The payer scans it with the phone camera. - Amount — exactly
amount; it is already in the QR code. - Time limit — a countdown from
created_atfor your project's payment lifetime (15 minutes by default).
The QR code is for this payment only
Do not store or show the link or the picture again. Create a new payment for a new transfer.
Statuses and result¶
Statuses, callbacks and polling are the same as for SBP: Statuses and Getting the result.
Edge cases¶
Everything in SBP payments → Edge cases applies to NSPK QR as well.
In addition: if the response has neither qrcode_link nor qrcode_image, no requisites were
issued — the payment closes with an error, like SBP without a phone number.