🛡️Capitec Fraud Object with QR Checks

Use this endpoint to get the full fraud object for Capitec which includes the normal "fraud_checks" plus "qrcode_checks".

Please note, the "qrcode_checks" only apply to Capitec statements.

For statements from any other bank, you will only get the normal "fraud_checks".

What do you get from the "qrcode_checks"?

The "qrcode_checks" validate that certain key data points which have been read from the statement match what is stored in the QR code for that particular statement. The information within the QR code is immutable and is therefore used as a source of truth to compare whether any changes have been made to the information on the statement (i.e. in cases of tampering) or if the information in the statement is complete (i.e. whether all of the pages of the statement are present or whether all of the expected transactions are there).

Get Fraud Array (Request)

GET {{environmentUrl}}/{{tenantId}}/api/v1.1/bank-accounts/:bank_account_id/statements/:statement_id/fraud

Get the full fraud array (including the "qrcode_checks" for Capitec Statements) for a given StatementId.

Path Variables

Fields marked * are required

Key
Type
Description

bank_account_id*

String

The UUID for a Bank Account that gets generated and returned in the POST Create new Bank Account response.

statement_id*

String

The UUID for a Statement that gets generated for each statement and returned in the POST Upload Bankstatement v1.1 response. You can also get this UUID from the GET Get All Account Statements or GET Return All Statements of a BankAccount endpoint.

Get Fraud Array (Response)

Example of a successful response for a Capitec Example

```postman_json
{
    "data": {
        "id": "{{statementId}}",
        "bank_account_id": "{{bankAccountId}}",
        "fraud": {
            "fraud_checks": {
                "create_date": false,
                "meta_mod_date": "not applicable",
                "meta_producer": "not applicable",
                "meta_creator": false,
                "meta_author": false
            },
            "qrcode_checks": {
                "statement_dates": false,
                "account_holder": false,
                "account_number": false,
                "opening_balance": false,
                "largest_credit": false,
                "largest_debit": false,
                "closing_balance": false,
                "transaction_count": false
            }
        }
    }
}
```

Breakdown of "qrcode_checks"

For all of the below checks, a "false" is a good outcome as it indicates there is no discrepancy between what Gathr has read from the statement versus what is stored in the QR code (i.e. a good match). If you get a "true" for any of the checks, it indicates that what has been read from the statement does not match the information in the QR code. This could mean that some information has been changed on the statement or perhaps is missing from the statement (due to a page being left out or cut off, line items that have been deleted, etc.)

statement_dates

Checks whether the statement dates that Gathr has read from the statement

  • statement_date,

  • start_date,

  • end_date

matches to the dates stored within the QR code:

  • printDate,

  • fromDate,

  • toDate

account_holder

Checks whether the account_holder that Gathr has read from the statement matches the accountHolder from the QR code.

account_number

Checks whether the account_number that Gathr has read from the statement matches the accountNumber from the QR code.

opening_balance

Checks whether the opening_balance that Gathr has read from the statement matches the openingBalance from the QR code.

largest_credit

Checks whether Gathr can find the transaction matching the amount and date of the largestCredit (i.e. largest credit transaction/ highest income) transaction according to the QR code within the Transactions that have been read from the statement.

largest_debit

Checks whether Gathr can find the transaction matching the amount and date of the largestDebit (i.e. largest debit transaction/ highest expense) transaction according to the QR code within the Transactions that have been read from the statement.

closing_balance

Checks whether the closing_balance that Gathr has read from the statement matches the closingBalance from the QR code.

transaction_count

Checks whether the total number of transactions Gathr has read from the statement (i.e. transaction_count) matches the number of transactions the QR code says the statement should have (i.e. transactionCount from the QR code).

Last updated