Skip to main content

User Info

NEW API

This API is being introduced to enable Payment Institution (Platni Promet) deposit support, planned for rollout on 01.01.2026.

TCash retrieves user information by calling into the vendor's system to obtain personal details required for payment processing.

Vendor's systems need to provide:

  1. API endpoint for retrieving user information based on the user identifier

Overview

When processing PI payments, TCash requires additional user information that is stored in the vendor's system. This API allows TCash to request the user's personal details using their account identifier.

Request

When requesting user information, TCash sends these parameters:

  • account_id, string - User's account identifier in vendor's system.

The call is authorized by sending the header secret: <your-api-key>.

danger

Unless you request us to change the defaults, we do not use the "Bearer" prefix, we do not use the Authorization header. The header format is: secret: <your-api-key>

Example of the API call to retrieve user information:

POST {{vendor-api-url}}/user-info
Headers: {
"secret": "S6WvLB298m1#"
}
Body: {
"account_id": "123"
}

Response

The vendor's system needs to return a response with status 2xx containing the user's information. Even if user is not valid or cannot receive a deposit, a 2xx response with deposit_enabled = false is preferred. We can alternatively accept 4xx if the user is not found or cannot be retrieved.

Required fields in the response:

  • full_name, string - The user's full legal name (first name and last name)
  • address, string - The user's residential address
  • city, string - The user's city of residence
  • postal_code, string - The user's postal code of residence
  • jmbg, string - The user's unique personal identification number (JMBG - Jedinstveni Matični Broj Građana), 13 digits
  • deposit_enabled, boolean - Whether the user is allowed to deposit funds to their account (examples for false would be user not kyc verified, self excluded, blocked, over limit...)

Optional fields in the response:

  • deposit_status, string - If deposit_enabled is false, this field should contain the reason why the user is not allowed to deposit funds. This is optional, but it helps inform the user and cut down on support requests.
  • payment_reference_id, string - A payment reference id (poziv na broj) that can be used to link the payment to the specific user. If not specified, the account_id is used with no prefix or suffix

Example of a successful response:

{
"full_name": "Marko Marković",
"address": "Topolska 18",
"city": "Beograd",
"postal_code": "11000",
"jmbg": "0101990123456",
"deposit_enabled": true,
"deposit_status": ""
}

Example of a negative response:

{
"full_name": "Marko Marković",
"address": "Topolska 18",
"city": "Beograd",
"postal_code": "11000",
"jmbg": "0101990123456",
"deposit_enabled": false,
"deposit_status": "Korisnik nije verifikovan" // user friendly text displayed to client as is
}

Example of an invalid account_id response:

{
"full_name": "",
"address": "",
"city": "",
"postal_code": "",
"jmbg": "",
"deposit_enabled": false,
"deposit_status": "Korisnik nije pronađen" // user friendly text displayed to client as is
}