kvitera

Russian banks

Transfers to bank accounts · RUB.

Supported banks

Bankbank value
Sberru.sber
T-Bankru.tbank
VTBru.vtb
Gazprombankru.gazprombank
Ozon Bankru.ozon
OTP Bankru.otp
Yandex Bankru.yandex

GET /v1/profiles returns the banks available to your API key.

Supported documents

Only transfers to bank accounts (account_transfer) are supported. Submit the bank’s original PDF. SBP transfers, transfers by card or phone number, and bank statements are outside this coverage.

Images do not receive an automatic accept. Instead of a scan or photo saved as a PDF, ask the payer for the original document. A payment order without confirmation of execution requires additional verification.

Automatic bank detection

Your customer does not need to know the sender’s bank. Omit bank: Kvitera detects it from the receipt and runs the checks for an available bank. This requires RUB and a 20-digit recipient account. You can also send "bank": "auto" explicitly.

The response’s profile contains the selected bank, such as ru.sber. If an available bank cannot be determined, profile is null and the receipt does not receive an automatic accept.

Payment parameters

Provide the amount excluding fees, RUB, the recipient’s 20-digit account number and the allowed time window. If the payment description must contain a UUID, include it as payment_reference.

{
  "amount": 1500,
  "currency": "RUB",
  "recipient": {"account": "40817810000000001234"},
  "payment_reference": "12345678-1234-4234-8234-123456789abc",
  "type": ["account_transfer"],
  "window": {
    "from": "2026-09-09T10:00:00+03:00",
    "to": "2026-09-09T11:00:00+03:00"
  }
}

The account details are fictional. This example uses automatic detection. To restrict the selection, add "bank": "ru.sber" or "bank": ["ru.sber", "ru.tbank"]. Omit payment_reference when you do not need to match a code in the payment description. A receipt time without a time zone is treated as Moscow time; API dates must include a time zone.

On this page