Introduction
Welcome! Here at Toratori, our mission is to provide eKYC infrastructure that helps you succeed. We help with data verification varies from non-performing loan (NPL), tax validation, residence validation, phone number check, account bank validation, and such. Use cases range from platform from fintech lending, payment gateway and everything else in between.
The Toratori API is organized around REST. Our API has predictable, resource-oriented URLs, and uses HTTP response codes to indicate API errors. We use built-in HTTP features and HTTP verbs, which are understood by off-the-shelf HTTP clients. JSON is returned by all API responses, including errors.
Authentication
To successfully authenticate with Toratori's API, you must append a API Key in header and Shared Key in form field. The API key you find in the dashboard. For example if your API key is
d2d10f76e4516e361bc4caceec62832a
And your Shared Key is
d3ac420123c87636d4339aef5933bb6ebac477d0
Toratori API is organized around REST to make it cleaner and easier to understand. All our API responses return JSON. To let you explore our APIs, we provide you API keys for both the development and production environments. All requests made in the development environment will never hit the partner networks and will not cost you anything.
Before using the API, make sure that you have 6153308246 and get your account authenticated as API requests without authentication will fail. To authenticate your account, you have to include your secret API key in the request which can be accessed in Toratori Dashboard. You can manage your API keys in the Dashboard > API's. Your development and production status key type determine your environment. Your API keys should be kept private so do not share your secret API keys.
Identity
Validation KTP (Manual)
Endpoint: Validation KTP (Manual)
POST /api.toratori.com/idval
The KTP verification endpoint exists to help you check whether a given KTP or NIK number exists in official Indonesian Government records. In addition, if you pass in secondary details from the card we can verify whether these match with the official records.
Remarks:
- You should only use a live Production key. Staging keys will return a fake response.
- Fill in the Address field in complete in row 1 on the KTP exclude RT/RW, Kecamatan, and etc
Example Validation KTP (Manual)
curl -X POST \
/api.toratori.com/idval \
-H 'x-api-key: d2d10f76e4516e361bc4caceec62832a' \
-F shared_key=d3ac420123c87636d4339aef5933bb6ebac477d0 \
-F nik=3184041303680053 \
-F 'name=John Doe' \
-F 'address=Fake Address Street'
<?php
$client = new http\Client;
$request = new http\Client\Request;
$body = new http\Message\Body;
$body->addForm(array(
'shared_key' => 'd3ac420123c87636d4339aef5933bb6ebac477d0',
'nik' => '3174041303670002',
'name' => 'John Doe',
'address' => 'Fake Address Street'
), NULL);
$request->setRequestUrl('/api.toratori.com/idval');
$request->setRequestMethod('POST');
$request->setBody($body);
$request->setHeaders(array(
'x-api-key' => 'd2d10f76e4516e361bc4caceec62832a'
));
$client->enqueue($request)->send();
$response = $client->getResponse();
echo $response->getBody();
| Parameter | Description |
|---|---|
| nik | string (required) The id number. NIKs must be 16 numeric characters |
| name | string (required for NIK) The individual's name to check against the id |
| address | string (required for NIK) The address to check against the id |
Validation KTP Response
Example Validation KTP (Manual)
{
"nik": "1234567890123456",
"name_matches": "true",
"address_matches": "false"
}
| Parameter | Description |
|---|---|
| nik | string (required) The ID card identification number. |
| name_matches | boolean (required) A true/false indicating whether the name was a match or not |
| address_matches | boolean (required) A true/false indicating whether the address was a match or not |
NPWP Validator
Endpoint: Validate NPWP
/api.toratori.com/npwp
Example NPWP Validator Request
curl -X POST \
/api.toratori.com/npwp \
-H 'x-api-key: d2d10f76e4516e361bc4caceec62832a' \
-F shared_key=d3ac420123c87636d4339aef5933bb6ebac477d0 \
-F account_number="123456789012345"
<?php
$client = new http\Client;
$request = new http\Client\Request;
$body = new http\Message\Body;
$body->addForm(array(
'shared_key' => 'd3ac420123c87636d4339aef5933bb6ebac477d0',
'account_number' => '123456789012345'));
$request->setRequestUrl('/api.toratori.com/npwp');
$request->setRequestMethod('POST');
$request->setBody($body);
$request->setHeaders(array(
'x-api-key' => 'd2d10f76e4516e361bc4caceec62832a'
));
$client->enqueue($request)->send();
$response = $client->getResponse();
echo $response->getBody();
NPWP Validator can be used to look up the account holder name of an NPWP in Indonesia. Because it can take a few seconds to look up the account, the result is returned in a callback if it is not already cached.
NPWP Validator Request
| Parameter | Description |
|---|---|
| account_number | string (required) 15 digits NPWP number |
NPWP Validator Response
Example NPWP Validator Response (Uncached)
{
"created": "2017-07-03T10:51:44.484Z",
"updated": "2017-07-03T10:51:44.484Z",
"account_number": "123456789012345",
"status": "PENDING"
}
Example NPWP Validator Response (Cached - SUCCESS)
{
"created": "2017-07-03T10:51:44.484Z",
"updated": "2017-07-03T10:51:44.484Z",
"account_number": "123456789012345",
"account_name": "JOE CONTINI",
"status": "SUCCESS"
}
Example NPWP Validator Callback (SUCCESS)
{
"created": "2017-07-03T10:51:44.484Z",
"updated": "2017-07-03T10:51:44.484Z",
"account_number": "123456789012345",
"account_name": "JOE CONTINI",
"status": "SUCCESS"
}
Example NPWP Validator Callback (FAILED)
{
"id": "59e608887eb26d005d44aeb8",
"created": "2017-07-03T10:51:44.484Z",
"updated": "2017-07-03T10:51:44.484Z",
"account_number": "123456789012346",
"status": "FAILED",
"failure_reason": "NPWP_NOT_FOUND_ERROR"
}
If the account number has not been cached, the response will have "status": "PENDING", and you will be a sent a callback when the request completes.
Once cached, the result will be returned immediately in the response.
NPWP Validator Schema
| Parameter | Description |
|---|---|
| id | string (required) Unique NPWP request ID |
| created | string (required) The created date of the NPWP request |
| updated | string (required) The last updated date of the NPWP request |
| account_number | string (required) NPWP number |
| account_name | string (optional) NPWP account holder Name |
| status | string (required)PENDING The NPWP request is still being processedSUCCESS The NPWP request has been completed with the result being the NPWP is valid FAILED The NPWP request has been completed with the result being the NPWP is invalid |
| failure_reason | string (optional) See NPWP Validator Failure Reasons |
NPWP Validator Failure Reasons
| Failure Reason | Description |
|---|---|
| NPWP_NOT_FOUND |
NPWP is not found |
NPWP Validator Error Codes
| Error Code | Description |
|---|---|
API_VALIDATION400 |
Inputs format are failing validation. The errors field contains details about which fields are violating validation. One of the most common reason is the account number does not have right length. |
Bank Account Check
Endpoint: Bank Account Check
POST /api.toratori.com/bank_account
Example Bank Account Check Request
curl -X POST \
/api.toratori.com/bank_account \
-H 'x-api-key: d2d10f76e4516e361bc4caceec62832a' \
-F shared_key=d3ac420123c87636d4339aef5933bb6ebac477d0 \
-F bank_account_number="123456789012345" \
-F bank_code="MANDIRI"
<?php
$client = new http\Client;
$request = new http\Client\Request;
$body = new http\Message\Body;
$body->addForm(array(
'shared_key' => 'd3ac420123c87636d4339aef5933bb6ebac477d0',
'bank_account_number' => '123456789012345',
'bank_code' => 'MANDIRI'));
$request->setRequestUrl('/api.toratori.com/bank_account');
$request->setRequestMethod('POST');
$request->setBody($body);
$request->setHeaders(array(
'x-api-key' => 'd2d10f76e4516e361bc4caceec62832a'
));
$client->enqueue($request)->send();
$response = $client->getResponse();
echo $response->getBody();
The Bank Account Check can be used to look up the name of an account holder for any bank account in Indonesia, except virtual account. Because it can take a few seconds to look up the name with the banks, the result is returned in a callback if it is not already cached.
Bank Account Check Request
| Parameter | Description |
|---|---|
| bank_account_number | string (required) The bank account number |
| bank_code | string (required). See Bank Codes |
Bank Account Check Response
Example Bank Account Check Response (Uncached)
{
"bank_account_number": "5015378625",
"bank_code": "BCA",
"reference": "58cd618ba0464eb64acdb246",
"status": "PENDING",
"updated": "2017-07-03T10:51:44.484Z"
}
Example Bank Account Check Response (Cached - SUCCESS)
{
"bank_account_number": "1234567899",
"bank_account_holder_name": "JOE CONTINI",
"bank_code": "MANDIRI",
"reference": "58cd618ba0464eb64acdb246",
"status": "SUCCESS",
"updated": "2017-03-24T08:11:07.624Z"
}
Example Bank Account Check Response (Cached - FAILURE)
{
"bank_account_number": "1234567899",
"failure_reason": "RECIPIENT_NOT_FOUND_ERROR",
"bank_code": "MANDIRI",
"reference": "58cd618ba0464eb64acdb246",
"status": "FAILURE",
"updated": "2017-03-24T08:11:07.624Z"
}
If the account number has not been cached, the response will have "status": "PENDING", and you will be a sent a callback when the request completes.
Once cached, the name will be returned immediately in the response.
Bank Account Check Schema
| Parameter | Description |
|---|---|
| bank_code | string (required) The bank code. |
| bank_account_number | string (required) The bank account number |
| bank_account |
string (required) Account Holder Name |
| status | string (required)PENDING The name validation request is still being processedWAITING_ON_BANK Your request is a duplicate and a previous request for this account is still PENDINGSUCCESS The name validation request has been completedFAILURE The name validation request has failed |
| failure_reason | string (optional) See Bank Account Check Errors |
| reference | string (required) The ID of the business that made the request |
| updated | string (required) The last updated date of the name validation request |
| id | string (required) Unique name validator request ID |
Bank Account Check Errors
| Error Code | Description |
|---|---|
MAX_RETRY_TIMES400 |
Our system has retried the request several times but still failed because of an unknown error response from the bank. |
RECIPIENT_NOT_FOUND404 |
Thereâs no bank recipient with this account number. |
UNSUPPORTED_BANK404 |
Destination bank is not supported, request is using the wrong bank code. |
Phone Number Validator
Endpoint: Validate phone number
POST /api.toratori.com/phone
Example Phone Number Validator Request
curl -X POST \
/api.toratori.com/phone \
-H 'x-api-key: d2d10f76e4516e361bc4caceec62832a' \
-F shared_key=d3ac420123c87636d4339aef5933bb6ebac477d0 \
-F phone_number="08123456789"
<?php
$client = new http\Client;
$request = new http\Client\Request;
$body = new http\Message\Body;
$body->addForm(array(
'shared_key' => 'd3ac420123c87636d4339aef5933bb6ebac477d0',
'phone_number' => '08123456789'));
$request->setRequestUrl('/api.toratori.com/phone');
$request->setRequestMethod('POST');
$request->setBody($body);
$request->setHeaders(array(
'x-api-key' => 'd2d10f76e4516e361bc4caceec62832a'
));
$client->enqueue($request)->send();
$response = $client->getResponse();
echo $response->getBody();
The Phone Number Validator can be used to check which names have been associated with a phone number in our records. We draw on a range of sources to return names associated with a phone number. If there are multiple names associated with a number across different sources, these will be returned as an array.
Phone Number Validator Request
| Parameter | Description |
|---|---|
| phone_number | string (required) The phone number must equal or greater than 10 digits of numeric |
Phone Number Validator Response
Example Phone Number Validator Response (PENDING)
{
"updated": "2017-07-03T10:51:44.484Z",
"created": "2017-07-03T10:51:44.484Z",
"phone_number": "085300000000",
"status": "PENDING",
"phone_number_holder_names": []
}
Example Phone Number Validator Response (SUCCESS)
{
"updated": "2017-07-03T10:51:44.484Z",
"created": "2017-07-03T10:51:44.484Z",
"phone_number": "085300000000",
"status": "SUCCESS",
"phone_number_holder_names": ["JOHN DOE"],
"id": "5ba359137f94918d2b0cb8bb"
}
Example Phone Number Validator Response (FAILURE)
{
"updated": "2017-07-03T10:51:44.484Z",
"created": "2017-07-03T10:51:44.484Z",
"phone_number": "085300000000",
"failure_reason": "PHONE_NUMBER_NOT_FOUND_ERROR",
"status": "FAILED",
"phone_number_holder_names": []
}
If the phone number has not been cached, the response will have "status": "PENDING", and you will be a sent a callback when the request completes.
Once cached, the result will be returned immediately in the response.
Phone Number Validator Schema
| Parameter | Description |
|---|---|
| phone_number | string (required) The phone number |
| status | string (required)PENDING The validation request is still being processedSUCCESS The validation request has been completedFAILED The validation request has failed |
| failure_reason | string (optional) See Phone Number Validator Errors |
| created | string (required) The created date of the validation request |
| updated | string (required) The last updated date of the validation request |
| id | string (required) Unique phone number validator request ID |
Phone Number Validator Errors
| Error Code | Description |
|---|---|
MAX_RETRY_TIMES400 |
Our system has retried the request several times but still failed because of an unknown error response from our third party sources. |
ID card image processing
Endpoint: Extract ID card details using OCR
POST /api.toratori.com/idimage
Example ID Card OCR Request
curl -X POST \
/api.toratori.com/idimage \
-H 'x-api-key: d2d10f76e4516e361bc4caceec62832a' \
-F 'shared_key=d3ac420123c87636d4339aef5933bb6ebac477d0' \
-F 'ktp_img=@\Sites\img\IMG_20190102_050104_HHT.jpg'
<?php
$client = new http\Client;
$request = new http\Client\Request;
$body = new http\Message\Body;
$body->addForm(array(
'shared_key' => 'd3ac420123c87636d4339aef5933bb6ebac477d0'),
array(
array(
'name' => 'ktp_img',
'type' => null,
'file' => '/Sites/img/IMG_20181227_220154_HHT.jpg',
'data' => null
)
));
$request->setRequestUrl('/api.toratori.com/idimage');
$request->setRequestMethod('POST');
$request->setBody($body);
$request->setHeaders(array(
'x-api-key' => 'd2d10f76e4516e361bc4caceec62832a'
));
$client->enqueue($request)->send();
$response = $client->getResponse();
echo $response->getBody();
The ID card OCR endpoint exists to help you extract text and images from a photograph of an official Indonesian Government ID card,
We charge from ID Card OCR Request step (Even it's failed the ID Card OCR Response) although you are not continue the process to ID Card Image Validation Request so make sure everything are correctly before request to us.
ID Card OCR Request
| Parameter | Description |
|---|---|
| ktp_img | Image File (required) The image file extension that allowed are jpeg,bmp,png,jpg, minimum resolution 600x600 pixels. Maximum file size 4 MB and Potrait Mode |
ID Card OCR Response
Example ID Card OCR Response
{
"nik": "1234567891234567",
"name": "JOHN DOE",
"address": "JL DENANYAR 29",
"id": "1i30xqOgaOguN9avHkc6dxrjqa3TTWDkQHc1LIxb"
}
After image file verification success, you will get data response to make next request.
Note: You can edit NIK, name, and address.
| Parameter | Description |
|---|---|
| nik | String Extracted NIK from ID Card image |
| name | String Extracted Name from ID Card image |
| address | String Extracted Address from ID Card image |
| id | String (Unique) You will need this for URL parameter to make next request |
ID Card Image Validation Request
Endpoint: ID Card Image Validation Request
POST /api.toratori.com/idimage/{id}
If needed, edit NIK, name, address. Make a sure your inputted data
Example ID Card Image Validation Request
curl -X POST \
/api.toratori.com/idimage/1i30xqOgaOguN9avHkc6dxrjqa3TTWDkQHc1LIxb \
-H 'x-api-key: d2d10f76e4516e361bc4caceec62832a' \
-F shared_key=d3ac420123c87636d4339aef5933bb6ebac477d0 \
-F nik=3184041303680053 \
-F 'name=John Doe' \
-F 'address=Fake Address Street'
<?php
$client = new http\Client;
$request = new http\Client\Request;
$body = new http\Message\Body;
$body->addForm(array(
'shared_key' => 'd3ac420123c87636d4339aef5933bb6ebac477d0',
'nik' => '3174041303670002',
'name' => 'John Doe',
'address' => 'Fake Address Street'
), NULL);
$request->setRequestUrl('/api.toratori.com/idimage/1i30xqOgaOguN9avHkc6dxrjqa3TTWDkQHc1LIxb');
$request->setRequestMethod('POST');
$request->setBody($body);
$request->setHeaders(array(
'x-api-key' => 'd2d10f76e4516e361bc4caceec62832a'
));
$client->enqueue($request)->send();
$response = $client->getResponse();
echo $response->getBody();
| Parameter | Description |
|---|---|
| nik | String (required) |
| name | String (required) |
| address | String (required) |
| id | String (Unique) Placed on URL Request |
ID Card Image Validation Response
Example ID Card Image Validation
{
"nik": "1234567890123456",
"name_matches": "true",
"address_matches": "true"
}
| Parameter | Description |
|---|---|
| nik | string (required) The ID card identification number. |
| name_matches | boolean (required) A true/false indicating whether the name was a match or not |
| address_matches | boolean (required) A true/false indicating whether the address was a match or not |
Credit
Blacklist
Endpoint: Blacklist Check
POST /api.toratori.com/blacklist
Toratori maintains a quality blacklist specifically tailored towards consumer credit. We leverage strong relationships with payment gateways to validate submissions from the community onto a blacklist. We check against known loan payments and other financial flows to verify that submissions are not 'whitelist' individuals a lender wants to protect from competitors. The matching accuracy of your queries against this blacklist is improved when you supply all parameters.
Note that you should only use a live Production key. Staging keys will return a fake response.
Example Blacklist Request
curl -X POST \
/api.toratori.com/idval \
-H 'x-api-key: d2d10f76e4516e361bc4caceec62832a' \
-F shared_key=d3ac420123c87636d4339aef5933bb6ebac477d0 \
-F nik=1234567890123456 \
-F 'bank_code=MANDIRI' \
-F 'bank_account_number=123456789012' \
-F 'phone_number=085300000000' \
-F 'name=John Doe' \
-F 'npl_days=30'
<?php
$client = new http\Client;
$request = new http\Client\Request;
$body = new http\Message\Body;
$body->addForm(array(
'shared_key' => 'd3ac420123c87636d4339aef5933bb6ebac477d0',
'nik' => '1234567890123456',
'bank_code' => 'MANDIRI'
'bank_account_number' => '123456789012'
'phone_number' => '085300000000'
'name' => 'John Doe'
), NULL);
$request->setRequestUrl('/api.toratori.com/blacklist');
$request->setRequestMethod('POST');
$request->setBody($body);
$request->setHeaders(array(
'Postman-Token' => '1bc50010-48d0-4fbb-be34-24fc3cdb8984',
'cache-control' => 'no-cache',
'x-api-key' => 'd2d10f76e4516e361bc4caceec62832a'
));
$client->enqueue($request)->send();
$response = $client->getResponse();
echo $response->getBody();
Example Blacklist Response
{
"status": "FOUND",
"verified": "TRUE",
"inclusion_reason": ["NPL_UNSECURED"]
}
Blacklist Request
| Parameter | Description |
|---|---|
| nik | string (required) The NIK of the individual. Must be 16 numeric characters. Note: Required only if bank_code and bank_account_number are not provided |
| bank_code | string (optional) The bank code of the individual. Note: Required only if nik is not provided |
| bank_account_number | string (optional) The bank account number of the individual Note: Required only if nik is not provided |
| phone_number | string (optional) The phone number of the individual |
| name | string (optional) The name of the individual |
| npl_days | number (optional) A threshold minimum number of days overdue a loan must be to be included in the blacklist |
Blacklist Response
| Parameter | Description |
|---|---|
| status | string (required) A status showing whether the individual was found on the blacklist FOUND - The individual was found using the details entered NOT_FOUND |
| verified | boolean (optional) The individual is on our verified blacklist (only for FOUND users) |
| inclusion_reason | array (optional) An array of strings showing the unique reasons this individual has been included in the list (only for FOUND users) NPL_SECURED - Secured non-performing loan (collateral required e.g. car or house) NPL_UNSECURED - Unsecured non-performing loan (no collateral) FRAUD OTHER |
Monitoring
Endpoint: Monitoring Request
POST /api.toratori.com/monitoring
Example of Monitoring Request
curl -X POST \
/api.toratori.com/monitoring \
-H 'x-api-key: d2d10f76e4516e361bc4caceec62832a' \
-F 'shared_key' = 'd3ac420123c87636d4339aef5933bb6ebac477d0'
<?php
$client = new http\Client;
$request = new http\Client\Request;
$body = new http\Message\Body;
$body->addForm(array(
'shared_key' => 'd3ac420123c87636d4339aef5933bb6ebac477d0'
), NULL);
$request->setRequestUrl('/api.toratori.com/monitoring');
$request->setRequestMethod('POST');
$request->setBody($body);
$request->setHeaders(array(
'x-api-key' => 'd2d10f76e4516e361bc4caceec62832a'
));
$client->enqueue($request)->send();
$response = $client->getResponse();
echo $response->getBody();
Monitoring Response
Default, you wil get json data response.
Registration API
Endpoint: Registration API
POST /api.toratori.com/register
The registration API allows you to registering an user without accessing our register page. This regitration API are for our Reseller
Example Registration API
curl -X POST \
/api.toratori.com/register \
-H 'x-api-key: d2d10f76e4516e361bc4caceec62832a' \
-F shared_key=d3ac420123c87636d4339aef5933bb6ebac477d0 \
-F 'name=John Tora' \
-F 'email=test@example.com' \
-F 'company=Tora, LLC' \
-F 'npwp=1234567890' \
-F 'phone=08123456789' \
-F 'password=******'
<?php
$client = new http\Client;
$request = new http\Client\Request;
$body = new http\Message\Body;
$body->addForm(array(
'shared_key' => 'd3ac420123c87636d4339aef5933bb6ebac477d0',
'name' => 'John Tora',
'email' => 'email=test@example.com',
'company' => 'Tora, LLC',
'phone' => '08123456789',
'password' => '******'
), NULL);
$request->setRequestUrl('/api.toratori.com/register');
$request->setRequestMethod('POST');
$request->setBody($body);
$request->setHeaders(array(
'x-api-key' => 'd2d10f76e4516e361bc4caceec62832a'
));
$client->enqueue($request)->send();
$response = $client->getResponse();
echo $response->getBody();
| Parameter | Description |
|---|---|
| name | string (required) Full name of user |
| string (required for activation) Email address of user. |
|
| company | string User's company name |
| phone | string (required) User's mobile phone number. |
| password | string (required) Minimum required six characters. |
Errors
Below are some of most common errors across all our endpoints. Specific errors are located under each endpoint. If you have any questions please contact us.
| Error code | Meaning |
|---|---|
| 400 | Bad request, e.g. validation error |
| 401 | Unauthorised access, e.g. the wrong API key |
| 403 | Forbidden access, e.g. API key does not have permission for this endpoint |
| 404 | Page or data not found |
| 500 | Unhandled error - contact us when this happens. If this was a response to a request parameters, please check the status of the response which can be accessed in Toratori Dashboard. (eg. ID card Validation, NPWP card and etc) before retrying to ensure that the request will not be processed twice. |
Bank Code List
| Bank | Bank Code | Swift Code |
|---|---|---|
| Anglomas International Bank |
ANGLOMAS |
LOMAIDJ1 |
| Bangkok Bank |
BANGKOK |
BKKBIDJA |
| Bank Agris |
AGRIS |
AGSSIDJA |
| Bank BRI Agroniaga |
AGRONIAGA |
AGTBIDJA |
| Bank Amar Indonesia (formerly Anglomas International Bank) |
AMAR |
LOMAIDJ1 |
| Bank Andara |
ANDARA |
RIPAIDJ1 |
| Bank ANZ Indonesia |
ANZ |
ANZBIDJX |
| Bank Arta Niaga Kencana |
ARTA_NIAGA_KENCANA |
ARNKIDJ1 |
| Bank Artha Graha International |
ARTHA |
ARTGIDJA |
| Bank Artos Indonesia |
ARTOS |
ATOSIDJ1 |
| Bank Bisnis Internasional |
BISNIS_INTERNASIONAL |
BUSTIDJ1 |
| Bank BJB |
BJB |
PDJBIDJA |
| Bank BJB Syariah |
BJB_SYR |
SYJBIDJ1 |
| Bank BNI Syariah |
BNI_SYR |
SYNIIDJ1 |
| Bank BNP Paribas |
BNP_PARIBAS |
BNPAIDJA |
| Bank Bukopin |
BUKOPIN |
BBUKIDJA |
| Bank Bumi Arta |
BUMI_ARTA |
BBAIIDJA |
| Bank Capital Indonesia |
CAPITAL |
BCIAIDJA |
| Bank Central Asia (BCA) |
BCA |
CENAIDJA |
| Bank Central Asia (BCA) Syariah |
BCA_SYR |
SYCAIDJ1 |
| Bank Chinatrust Indonesia |
CHINATRUST |
CTCBIDJA |
| Bank CIMB Niaga |
CIMB |
BNIAIDJA |
| Bank CIMB Niaga UUS |
CIMB_UUS |
SYNAIDJ1 |
| Bank Commonwealth |
COMMONWEALTH |
BICNIDJA |
| Bank Danamon |
DANAMON |
BDINIDJA |
| Bank Danamon UUS |
DANAMON_UUS |
SYBDIDJ1 |
| Bank DBS Indonesia |
DBS |
DBSBIDJA |
| Bank Dinar Indonesia |
DINAR_INDONESIA |
LMANIDJ1 |
| Bank DKI |
DKI |
BDKIIDJA |
| Bank DKI UUS |
DKI_UUS |
SYDKIDJ1 |
| Bank Fama International |
FAMA |
FAMAIDJ1 |
| Bank Ganesha |
GANESHA |
GNESIDJA |
| Bank Hana |
HANA |
HNBNIDJA |
| Bank Harda Internasional |
HARDA_INTERNASIONAL |
HRDAIDJ1 |
| Bank Himpunan Saudara 1906 |
HIMPUNAN_SAUDARA |
HVBKIDJA |
| Bank ICBC Indonesia |
ICBC |
ICBKIDJA |
| Bank Ina Perdania |
INA_PERDANA |
INPBIDJ1 |
| Bank Index Selindo |
INDEX_SELINDO |
BIDXIDJA |
| Bank Jasa Jakarta |
JASA_JAKARTA |
JAJSIDJ1 |
| Bank JTrust Indonesia (formerly Bank Mutiara) |
JTRUST |
CICTIDJA |
| Bank Kesejahteraan Ekonomi |
KESEJAHTERAAN_EKONOMI |
KSEBIDJ1 |
| Bank Mandiri |
MANDIRI |
BMRIIDJA |
| Bank Maspion Indonesia |
MASPION |
MASDIDJS |
| Bank Mayapada International |
MAYAPADA |
MAYAIDJA |
| Bank Maybank |
MAYBANK |
IBBKIDJA |
| Bank Maybank Syariah Indonesia |
MAYBANK_SYR |
MBBEIDJA |
| Bank Mayora |
MAYORA |
MAYOIDJA |
| Bank Mega |
MEGA |
MEGAIDJA |
| Bank Mestika Dharma |
MESTIKA_DHARMA |
MEDHIDS1 |
| Bank Mitra Niaga |
MITRA_NIAGA |
MGABIDJ1 |
| Bank Mizuho Indonesia |
MIZUHO |
MHCCIDJA |
| Bank MNC Internasional |
MNC_INTERNASIONAL |
BUMIIDJA |
| Bank Muamalat Indonesia |
MUAMALAT |
MUABIDJA |
| Bank Multi Arta Sentosa |
MULTI_ARTA_SENTOSA |
BMSEIDJA |
| Bank Nationalnobu |
NATIONALNOBU |
LFIBIDJ1 |
| Bank Negara Indonesia (BNI) |
BNI |
BNINIDJA |
| Bank Nusantara Parahyangan |
NUSANTARA_PARAHYANGAN |
NUPAIDJ6 |
| Bank OCBC NISP |
OCBC |
NISPIDJA |
| Bank OCBC NISP UUS |
OCBC_UUS |
SYONIDJ1 |
| Bank of America Merill-Lynch |
BAML |
BOFAID2X |
| Bank of China (BOC) |
BOC |
BKCHIDJA |
| Bank of India Indonesia |
INDIA |
BKIDIDJA |
| Bank of Tokyo Mitsubishi UFJ |
TOKYO |
BOTKIDJX |
| Bank Oke Indonesia (formerly Bank Andara) |
OKE |
RIPAIDJ1 |
| Bank Panin |
PANIN |
PINBIDJA |
| Bank Panin Syariah |
PANIN_SYR |
ARFAIDJ1 |
| Bank Permata |
PERMATA |
BBBAIDJA |
| Bank Permata UUS |
PERMATA_UUS |
SYBBIDJ1 |
| Bank QNB Indonesia (formerly Bank QNB Kesawan) |
QNB_INDONESIA |
AWANIDJA |
| Bank Rabobank International Indonesia |
RABOBANK |
RABOIDJA |
| Bank Rakyat Indonesia (BRI) |
BRI |
BRINIDJA |
| Bank Resona Perdania |
RESONA |
BPIAIDJA |
| Bank Royal Indonesia |
ROYAL |
ROYBIDJ1 |
| Bank Sahabat Sampoerna |
SAHABAT_SAMPOERNA |
BDIPIDJ1 |
| Bank SBI Indonesia |
SBI_INDONESIA |
IDMOIDJ1 |
| Bank Shinhan Indonesia (formerly Bank Metro Express) |
SHINHAN |
MEEKIDJ1 |
| Bank Sinarmas |
SINARMAS |
SBJKIDJA |
| Bank Sinarmas UUS |
SINARMAS_UUS |
SYTBIDJ1 |
| Bank Sumitomo Mitsui Indonesia |
MITSUI |
SUNIIDJA |
| Bank Syariah BRI |
BRI_SYR |
DJARIDJ1 |
| Bank Syariah Bukopin |
BUKOPIN_SYR |
SDOBIDJ1 |
| Bank Syariah Mandiri |
MANDIRI_SYR |
BSMDIDJA |
| Bank Syariah Mega |
MEGA_SYR |
BUTGIDJ1 |
| Bank Tabungan Negara (BTN) |
BTN |
BTANIDJA |
| Bank Tabungan Negara (BTN) UUS |
BTN_UUS |
SYBTIDJ1 |
| Bank Tabungan Pensiunan Nasional |
TABUNGAN_PENSIUNAN_NASIONAL |
BTPNIDJA |
| Bank UOB Indonesia |
UOB |
BBIJIDJA |
| Bank Victoria Internasional |
VICTORIA_INTERNASIONAL |
BVICIDJA |
| Bank Victoria Syariah |
VICTORIA_SYR |
SWAGIDJ1 |
| Bank Woori Indonesia |
WOORI |
HVBKIDJA |
| Bank Woori Saudara Indonesia 1906 (formerly Bank Himpunan Saudara and Bank Woori Indonesia) |
WOORI_SAUDARA |
HVBKIDJA |
| Bank Yudha Bhakti |
YUDHA_BHAKTI |
YUDBIDJ1 |
| BPD Aceh |
ACEH |
PDACIDJ1 |
| BPD Aceh UUS |
ACEH_UUS |
SYACIDJ1 |
| BPD Bali |
BALI |
ABALIDBS |
| BPD Banten (formerly Bank Pundi Indonesia) |
BANTEN |
PDBBIDJ1 |
| BPD Bengkulu |
BENGKULU |
PDBKIDJ1 |
| BPD Daerah Istimewa Yogyakarta (DIY) |
DAERAH_ISTIMEWA |
PDYKIDJ1 |
| BPD Daerah Istimewa Yogyakarta (DIY) UUS |
DAERAH_ISTIMEWA_UUS |
SYYKIDJ1 |
| BPD Jambi |
JAMBI |
PDJMIDJ1 |
| BPD Jambi UUS |
JAMBI_UUS |
SYJMIDJ1 |
| BPD Jawa Tengah |
JAWA_TENGAH |
PDJGIDJ1 |
| BPD Jawa Tengah UUS |
JAWA_TENGAH_UUS |
SYJGIDJ1 |
| BPD Jawa Timur |
JAWA_TIMUR |
PDJTIDJ1 |
| BPD Jawa Timur UUS |
JAWA_TIMUR_UUS |
SYJTIDJ1 |
| BPD Kalimantan Barat |
KALIMANTAN_BARAT |
PDKBIDJ1 |
| BPD Kalimantan Barat UUS |
KALIMANTAN_BARAT_UUS |
SYKBIDJ1 |
| BPD Kalimantan Selatan |
KALIMANTAN_SELATAN |
PDKSIDJ1 |
| BPD Kalimantan Selatan UUS |
KALIMANTAN_SELATAN_UUS |
SYKSIDJ1 |
| BPD Kalimantan Tengah |
KALIMANTAN_TENGAH |
PDKGIDJ1 |
| BPD Kalimantan Timur |
KALIMANTAN_TIMUR |
PDKTIDJ1 |
| BPD Kalimantan Timur UUS |
KALIMANTAN_TIMUR_UUS |
SYKTIDJ1 |
| BPD Lampung |
LAMPUNG |
PDLPIDJ1 |
| BPD Maluku |
MALUKU |
PDMLIDJ1 |
| BPD Nusa Tenggara Barat |
NUSA_TENGGARA_BARAT |
PDNBIDJ1 |
| BPD Nusa Tenggara Barat UUS |
NUSA_TENGGARA_BARAT_UUS |
SYNBIDJ1 |
| BPD Nusa Tenggara Timur |
NUSA_TENGGARA_TIMUR |
PDNTIDJ1 |
| BPD Papua |
PAPUA |
PDIJIDJ1 |
| BPD Riau Dan Kepri |
RIAU_DAN_KEPRI |
PDRIIDJA |
| BPD Riau Dan Kepri UUS |
RIAU_DAN_KEPRI_UUS |
SYRIIDJ1 |
| BPD Sulawesi Tengah |
SULAWESI |
PDWGIDJ1 |
| BPD Sulawesi Tenggara |
SULAWESI_TENGGARA |
PDWRIDJ1 |
| BPD Sulselbar |
SULSELBAR |
PDWSIDJ1 |
| BPD Sulselbar UUS |
SULSELBAR_UUS |
SYWSIDJ1 |
| BPD Sulut |
SULUT |
PDWUIDJ1 |
| BPD Sumatera Barat |
SUMATERA_BARAT |
PDSBIDSP |
| BPD Sumatera Barat UUS |
SUMATERA_BARAT_UUS |
SYSBIDJ1 |
| BPD Sumsel Dan Babel |
SUMSEL_DAN_BABEL |
BSSPIDSP |
| BPD Sumsel Dan Babel UUS |
SUMSEL_DAN_BABEL_UUS |
SYSSIDJ1 |
| BPD Sumut |
SUMUT |
PDSUIDJ1 |
| BPD Sumut UUS |
SUMUT_UUS |
SYSUIDJ1 |
| BTPN Syariah (formerly BTPN UUS and Bank Sahabat Purba Danarta) |
BTPN_SYARIAH |
PUBAIDJ1 |
| Centratama Nasional Bank |
CENTRATAMA |
CNBAIDJ1 |
| China Construction Bank Indonesia (formerly Bank Antar Daerah and Bank Windu Kentjana International) |
CCB |
BWKIIDJA |
| Citibank |
CITIBANK |
CITIIDJX |
| Deutsche Bank |
DEUTSCHE |
DEUTIDJA |
| Hongkong and Shanghai Bank Corporation (HSBC) UUS |
HSBC_UUS |
HSBCIDJA |
| HSBC Indonesia (formerly Bank Ekonomi Raharja) |
HSBC |
HSBCIDJA |
| Indonesia Eximbank (formerly Bank Ekspor Indonesia) |
EXIMBANK |
LPEIIDJ1 |
| JP Morgan Chase Bank |
JPMORGAN |
CHASIDJX |
| Mandiri Taspen Pos (formerly Bank Sinar Harapan Bali) |
MANDIRI_TASPEN |
SIHBIDJ1 |
| Prima Master Bank |
PRIMA_MASTER |
PMASIDJ1 |
| Royal Bank of Scotland (RBS) |
RBS |
ABNAIDJA |
| Standard Chartered Bank |
STANDARD_CHARTERED |
SCBLIDJX |
| GoPay |
GOPAY |
- |
| OVO |
OVO |
- |
| Mandiri E-Cash |
MANDIRI_ECASH |
- |