kvitera

Payment parameters

Provide the expected details to compare a receipt with your request.

Send expectation as a JSON string containing the expected payment details. Use the details from your own request.

Required fields

FieldWhat to send
amountPayment amount excluding fees: a positive number with up to two decimal places
currencyA three-letter currency code: KZT or RUB
recipientRecipient details for the bank and transfer type
window.from, window.toAllowed payment time window in ISO 8601, including time zones
{
  "bank": "kz.kaspi",
  "amount": 2000,
  "currency": "KZT",
  "recipient": {"name": "Алексей Петров"},
  "window": {
    "from": "2026-09-09T10:00:00+03:00",
    "to": "2026-09-09T11:00:00+03:00"
  }
}

Choosing a bank

For RUB transfers to a recipient bank account, omit bank or send "bank": "auto". Kvitera detects the sender’s bank from the receipt and selects it from the banks available to your API key.

If the bank is known, provide a code such as ru.sber, or a list of allowed codes to restrict the selection. For Kaspi, set bank: "kz.kaspi"; automatic detection currently supports Russian account transfers only.

Recipient

TransferField in recipientExample
To a Kaspi customername{"name":"Алексей Петров"}; the shortened form Алексей П. is also supported
International Kaspi transfercard_last4{"card_last4":"1234"}
To a Russian bank accountaccount{"account":"40817810000000001234"}

For an international Kaspi transfer, also send type: ["international"]. For Russian banks, use the recipient’s 20-digit account number, not a card number or bank code. All names and account details in these examples are fictional.

Optional conditions

FieldWhen to use it
typeRestrict the allowed transfer types. Omit it to use the bank’s defaults
payment_referenceCheck a UUID in the payment description for Russian banks
uploaded_atProvide the time the receipt was uploaded to your system; otherwise the request arrival time is used
sender_hintProvide a hint about the sender, up to 200 characters

payment_reference is a code in the bank payment’s description. For a request ID from your own system, use the separate external_id request field, not a field inside expectation.

GET /v1/profiles returns available banks, transfer types and recipient requirements.

On this page