Skip to content

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.

{
  "merchant_payment_id": "order-1003",
  "amount": "4800.00",
  "payment_method": "nspk"
}

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 link https://qr.nspk.ru/…;
  • qrcode_image — the QR picture: data:image/png;base64,… or an https link 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_image picture or a code drawn from qrcode_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_at for 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.