Skip to main content
Skip table of contents

GiroIdent GwG Flow

Introduction

GiroIdent Gwg checks the user’s identity by comparing the user’s first and last name with the account holder name of the account the user will log on to. Additionally. the user’s data is validated using the SCHUFA Account Check plus IBAN and Identity Check web services.

GiroIdent Basis Flow

Prerequisites

TL:TR

Used Endpoints

In short, you need to call those 2 endpoints to obtain the identity check result.

Description

HTTP Method

Process Controller Endpoint

Link to API Doc

Create Gwg check.

POST

/api/v2/checks-gwg

https://docs.finapi.io/?product=giroident#post-/checks-gwg

Get Gwg check status and verdict.

GET

/api/v2/checks/{checkId}

https://docs.finapi.io/?product=giroident#get-/checks-gwg/-checkId-

Process Overview

The result of the identity check either can be obtained by registering a callback, or by polling the GET endpoint.

finAPI recommends to use a callback to receive the result.

Process With Callback

 

Process with Result Polling

cURL Example for Result Polling

Translated into cURL it looks like the following:

Step 1 - Create a Gwg Identity Check

Create an identity check.

CODE
curl --location 'https://giroident2-sandbox.finapi.io/api/v2/checks-gwg' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <your OAUTH bearer token>' \
--data '{
    "first-name": "Finapi",
    "last-name": "Demobank",
    "iban": "DE77533700080111111100",
    "blz": "DEMO0001",
    "strict-check": false,
    "gender": "M",
    "date-of-birth": "1980-01-01",
    "current-address": {
        "street": "Adams-Lehmann-Str. 44",
        "zip": "80797",
        "city": "München",
        "country": "DEU"
    },
    "schufa-user-id": "<your SCHUFA ID for Account- and Identity Check>",
    "schufa-password": "<your SCHUFA password>",
    "external-id": "12345"
}'

The result looks like this:

CODE
{
    "check-id": "3a824de8-1049-475c-89c4-71ad9716d379",
    "redirect-url": "https://webform-sandbox.finapi.io/wf/0cfb4a75-1b23-4e0e-9dee-12cf0739a55f"
}
GiroIdent Basis Flow
Step 2 - Web Form

Open the redirect-url in a web browser.

Follow the instructions on the website. The test credentials to enter are user = Data Intelligence, password = Analysis.

Step 3 - Get the Result of the Gwg Identity Check

Repeat the call to the “Query the GiroIdent Basis check result” endpoint with the check ID from Step 1, until the status is not “IN_PROGRESS" anymore.

CODE
curl --location 'https://giroident2-sandbox.finapi.io/api/v2/checks/3a824de8-1049-475c-89c4-71ad9716d379' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer <your OAUTH bearer token>' \
--data ''

The in-progress result looks like this:

CODE
{
    "status": "IN_PROGRESS"
}

The final result looks like this:

CODE
{
    "status": "COMPLETED",
    "name-equality": true,
    "name-equality-score": 1.0000,
    "gi-iban-verification-score": true,
    "schufa-bank-account-check-plus-iban-p": "p01",
    "schufa-bank-account-check-plus-iban-s": "s01"
}

Identity Check Results

The recommendation for a check to be considered successful is to consider the result parameters and values

Parameter In Check Result

Value

status

COMPLETED

name-equality

true

schufa-identity-check

not, respectively greater than0.0000

or:

Parameter In Check Result

Value

status

COMPLETED

name-equality

true

schufa-bank-account-check-plus-iban-p

p01

schufa-bank-account-check-plus-iban-s

s01

Optionally with additional verified IBAN:

Parameter In Check Result

Value

gi-iban-verification-score

true

Example Result: Successful Check with Positive Account Check

Parameter In Check Result

Value

status

COMPLETED

name-equality

true

name-equality-score

0.98

schufa-bank-account-check-plus-iban-p

p01

schufa-bank-account-check-plus-iban-s

s01

gi-iban-verification-score

true

Example Result: Successful Check with Negative Account Check but Positive Identity Check

Parameter In Check Result

Value

status

COMPLETED

name-equality

true

name-equality-score

0.98

schufa-bank-account-check-plus-iban-p

p01

schufa-bank-account-check-plus-iban-s

s01

schufa-identity-check

99.0000

schufa-proven-identity

true

Example Result: Inconclusive Check - In Progress

Parameter In Check Result

Value

status

IN_PROGRESS

Example Result: Failed Check - Bank Login

Parameter In Check Result

Value

status

COMPLETED_WITH_ERROR

error-message

... BANK_REJECTION ... "

Example Result: Failed Check - Account Holder Name Validation

Parameter In Check Result

Value

status

COMPLETED

name-equality

false

name-equality-score

0.65

schufa-bank-account-check-plus-iban-p

p01

schufa-bank-account-check-plus-iban-s

s01

Example Result: Failed Check - Account Check and Identity Check

Parameter In Check Result

Value

status

COMPLETED

name-equality

true

name-equality-score

0.99

schufa-bank-account-check-plus-iban-p

p016

schufa-bank-account-check-plus-iban-s

s05

schufa-identity-check

0.0000

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.