After the user has returned to you via your merchant_return_url, you retrieve the transaction_id from the trxid query parameter and the entrance_code from the ec query parameter appended to your merchant_return_url.

Use the entrance_code to rejoin your consumer to the state you have kept. Now retrieve the merchant_reference which you received in the transaction call and send these three elements to make a status request.

The status must be requested within 30 seconds after the user is redirected from the bank to the merchant's return URL, otherwise the response will contain no user data for successful transactions. In this case, the response will include a notice and notice_code field to indicate this.

📘

Personal information will only be returned once by this call. If you need the information a second time, you will have to make a new iDIN request for the consumer.

Request

POST https://api.cm.com/idin/v1.0/status
{
  "merchant_token": "3c01abeb-b031-4fea-9f2d-c55c283cd78e",
  "transaction_id": "string",
  "merchant_reference": "string"
}

Parameters

ParameterDescription
merchant_tokena guid string that is unique and private to you as a merchant. Do not share this key, keep it safe. Example 3c01abeb-b031-4fea-9f2d-c55c283cd78e
transaction_idThe public identifier of the transaction.
merchant_referenceThe private reference of the transaction as provided by the Status response.

Response

{
  "status": "success",
  "transaction_id": "3645651845961623",
  "transaction_reference": "7defa5c6-7651-45cd-9016-f9027dc4dda9",
  "issuer_id": "INGBNL2A",
  "bin": "NLINGB3x4u89498qe4tqjvdaj0",
  "name": {
    "gender": "male",
    "initials": "A",
    "last_name": "Dijk",
    "last_name_prefix": "van"
  },
  "address": {
    "street": "Dijklaan",
    "house_number": 1,
    "house_number_suffix": "b",
    "postal_code": "0000AA",
    "city": "Amsterdam",
    "country": "NL"
  },
  "age": {
    "date_of_birth": "1970-01-01",
    "18y_or_older": true
  },
  "telephone_number": "+31612345678",
  "email_address": "[email protected]"
}

Parameters

📘

Only those values that are available will be represented in the response.

ParameterDescription
transaction_referenceThe optional custom reference you provided when creating the transaction. If not provided, will return null.
statusEither open, success, cancelled, failure, expired. If the status is open, then the information was not yet available. Please try again after a few more seconds. If the status is success then you can expect the requested information to be present. A status of cancelled means that the user has cancelled the flow.
binWhen identity was requested, this will be a consistent identifier for this user. If identity was not requested, then this will differ every single time. /[a-zA-Z]{6,6}.*/ Up to 256 characters. You should store this identifier, as, in the case of a dispute, it will be needed.
gendermale, female or unspecified
initialsInitials of the user. Up to 20 characters.
last_nameLast name of the user. Up to 200 characters
last_name_prefixName prefix of the user. Up to 10 characters.
streetUp to 43 characters.
house_number/[0-9]{1,5}/
house_number_suffixUp to 6 characters.
postal_code/[0-9]{4}[a-zA-Z]{2}/
cityUp to 24 characters.
country2 letter identifier of the country.
date_of_birth1970-01-01
18y_or_olderIs the current user 18 years or older at this moment. Boolean
telephone_numberThe phone number is unverified. /[0-9 ()+-]{1,20}/
email_addressThe email address is unverified. Up to 256 characters.

The following parameters are returned for an expired successful transaction.

ParameterDescription
noticeThe transaction was successful, but the data was not retrieved within 30 seconds.
notice_code2000

Response codes

HTTP StatusDescription
200Successful request.
400Invalid request. See message for details.
403Authorization required.
404The transaction could not be found.
500Server error. See message for details.
503Service unavailable. See message for details.