kvitera

Read the result

Decide what to do next and explain a mismatch to your customer.

Read the status, then the recommendation

When status is done, handle recommendation:

ValueMeaningNext action
acceptThe receipt passed verification and matches the requestContinue your payment workflow according to your own rules
reviewThere is not enough information for a clear decisionReview manually or request more information
rejectThe receipt does not meet the conditions or shows signs of forgeryShow the reason and request another receipt

When status is failed, use error rather than the recommendation. This is a processing error, not a verdict on the document. See Errors and retries.

Explain a mismatch

fields contains the extracted values. Fields in match indicate whether they match your request: true for a match, false for a mismatch, and null if undetermined.

For example, you expected 15,000 RUB. A response fragment:

{
  "status": "done",
  "recommendation": "reject",
  "fields": {"amount": 1500, "currency": "RUB"},
  "match": {"amount": false, "currency": true}
}

Your interface can show: “Expected 15,000 RUB; the receipt shows 1,500 RUB.” Use your request as the source of expected values. Display null as “Could not read”.

reasons contains explanations. Base automated handling on status, recommendation and match, not on matching the text of these explanations.

Document authenticity

document.verdict evaluates the receipt itself:

ValueMeaning
genuineAuthenticity checks passed
suspiciousSome signs require review
forgedSigns of forgery were found
unknownAuthenticity could not be determined

A genuine receipt may still not match your request. Use the final recommendation to choose an action. Receipt verification does not confirm that funds have arrived.

Repeated receipts

replay.seen_before: true means a previous submission of the document was found. If the related check is available, replay.duplicate_of contains its ID; otherwise it is null. Do not count such a document as a new payment without additional review.

See the method reference for the complete response schema.

On this page