NAV Navbar
cURL

Introduction

Welcome to Dhasatra API!

Dhasatra API is a RESTful Web Service that uses:

API Base URL

Development Environment : https://api.sandbox-dhasatra.com
Production Environment : https://api.live-dhasatra.com

Successful HTTP Status

2XX Success

Indicates that your request was successful. It means the action was successfully received, understood, accepted and processed.

200 OK

Indicates that your request has succeeded and the requested resource sent in the response.

This response is only for API Endpoints:

Example response are explained in detail at each API Endpoint.

201 Created

Indicates that your request has been fulfilled and has resulted in one or more new resources being created.

This response is only for API Endpoint: Virtual Account - Generate.

202 Accepted

Indicates that your request has been received and accepted, but it has not yet been processed or the processing has not been done fully yet.

This response is only for API Endpoint: Fund Transfer - Create Transaction.

204 No Content

Indicates that our services has successfully fulfilled your request and that there is no additional content to send in the response payload body.

This response is only for API Endpoints:

 

Example response are explained in detail at each API Endpoints.

Failed HTTP Status

4XX Client Error

Indicates that the request for the resource contains bad syntax or cannot be filled for some other reason, presumably by fault of the client sending the request.

The client SHOULD NOT repeat the request without modifications.

Status 400 - Response

				
HTTP Status : 400 Bad Request
Content-Type : application/json;charset=UTF-8

Response Body : 
{
	"invalid_params" :
	[
		{
			"name" : "product"
			"reason" : "Cannot be null or empty string('')",
		},
		{
			"name" : "type"
			"reason" : "Cannot be null or empty string('')",
		},
		{
			"name" : "amount"
			"reason" : "Cannot be null or empty string('')",
		}
	]
}
				
			

400 Bad Request

Indicates our services cannot or will not process the request due to something that is perceived to be a client error (e.g., does not send mandatory parameters).


HTTP Status 400 Bad Request

Header Content-Type : application/json;charset=UTF-8


Body Parameter

Parameter Sub Parameter Type Length Description
invalid_params
[array of objects]
name text unlimited Name of invalid parameter
reason text unlimited Description of the cause of the error

Status 401 - Response

				
HTTP Status : 401 Unauthorized
Content-Type : application/json;charset=UTF-8

Response Body : 
{
	"error" : "invalid_token", 
	"error_description" : "Cannot convert access token to JSON"
}
				
			

401 Unauthorized

Indicates that your request has not been applied because it lacks valid authentication credentials for the target resource. This happens if you sends invalid credentials or access tokens.

This response is possibly occur for all API Endpoints.


HTTP Status 401 Unauthorized

Header Content-Type : application/json;charset=UTF-8


Body Parameter

Parameter Type Length Description
error text unlimited Error from our services
error_description text unlimited Description of the error

Status 403 - Response

				
HTTP Status : 403 Forbidden
Content-Type : text/plain;charset=UTF-8

Response Body : Access is denied
				
			

403 Forbidden

Indicates that our services understood the request but refuses to process it. This happens if your public IP address is not in our whitelisted IP.

This error is possibly occur for all API Endpoints.


HTTP Status 403 Forbidden

Header Content-Type : text/plain;charset=UTF-8

Body Parameter: Access is denied

Status 422 - Response ( Example 1 )

				
HTTP Status : 422 Unprocessable Entity
Content-Type : application/json;charset=UTF-8

Response Body : 
{
	"error_code" : "CTRAE", 
	"error_message" : "Client trans reference already exist"
}
				
			

Status 422 - Response ( Example 2 )

				
HTTP Status : 422 Unprocessable Entity
Content-Type : application/json;charset=UTF-8

Response Body : 
{
	"error_code" : "IFCA", 
	"error_message" : "Insufficient fund on client account"
}
				
			

Status 422 - Response ( Example 3 )

				
HTTP Status : 422 Unprocessable Entity
Content-Type : application/json;charset=UTF-8

Response Body : 
{
	"error_code" : "URA", 
	"error_message" : "Unregistered recipient account"
}
				
			

422 Unprocessable Entity

Indicates that our services understands the content type of the request entity, and the syntax of the request entity is correct, but it was unable to process the contained instructions caused by incorrect parameter value.

This response is possibly occur for all API Endpoints when parameter value is invalid.


HTTP Status 422 Unprocessable Entity

Header Content-Type : application/json;charset=UTF-8


Body Parameter

Parameter Type Length Description
error_code string max (6) Error code from our services
possibility values
error_message text unlimited Message of the error

5XX Server Error

It means our services failed to fulfill an apparently valid request. We are aware that it is on error or is incapable of processing the request. This might happen on the Dhasatra system side or it could be on our bank partners.

Status 500 - Response

				
HTTP Status : 500 Internal Server Error
Content-Type : application/json;charset=UTF-8

Response Body : 
{
	"error_code" : "CCNF", 
	"error_message" : "Client configuration not found"
}
				
			

500 Internal Server Error

Indicates that our services encountered an unexpected condition that prevented it from processing the request (e.g., incorrect client settings on the system or there is a problem with our bank partners).


HTTP Status 500 Internal Server Error

Header Content-Type : application/json;charset=UTF-8


Body Parameter

Parameter Type Length Description
error_code string max (6) Error code from our services
possibility values
error_message text unlimited Message of the error

Status 503 - Response

				
HTTP Status : 503 Service Unavailable
Content-Type : application/json;charset=UTF-8

Response Body : 
{
	"error_code" : "PSD", 
	"error_message" : "Partner service is down"
}
				
			

503 Service Unavailable

Indicates that our services is currently unable to handle the request due to internal error or our bank partners in EOD period (End of Day).


HTTP Status 503 Service Unavailable

Header Content-Type : application/json;charset=UTF-8


Body Parameter

Parameter Type Length Description
error_code string max (6) Error code from our services
possibility values
error_message text unlimited Message of the error

Status 504 - Response

				
HTTP Status : 504 Gateway Timeout
Content-Type : application/json;charset=UTF-8

Response Body : 
{
	"error_code" : "TO", 
	"error_message" : "Timeout"
}
				
			

504 Gateway Timeout

Indicates that our services, did not receive a timely response from our bank partners.


HTTP Status 504 Gateway Timeout

Header Content-Type : application/json;charset=UTF-8


Body Parameter

Parameter Type Length Description
error_code string fixed (2) Fixed value TO
error_message string fixed (7) Fixed value Timeout

Get Token

Dhasatra API uses OAuth 2.0 as authentication and authorization protocol with Client Credentials grant type.

Dhasatra API provided a client id & client secret that is used to get access token. The client secret can be change at any time through Dhasatra dashboard.

Access tokens are needed to make requests to all API endpoints. This token has active period (default 5 minutes) but can be adjusted via Dhasatra dashboard.

Get Token - Request

				
curl 'https://api.sandbox-dhasatra.com/authorization/v1/token' \
-X POST \
-H 'Authorization: Basic Y2xpZW50XzAwMTpzZWNyZXRfMDAx' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'grant_type=client_credentials' \
-v
				
			

Request

HTTP 1.1POST{BASE_URL}/authorization/v1/token

Header Content-Type : application/x-www-form-urlencoded

Header Authorization : Basic <Base64_encoded({client_id}:{client_secret})>


Body Parameter

Parameter Description
grant_type fixed value: 'client_credentials'

Get Token - Response

				
HTTP Status : 200 OK
Content-Type : application/json;charset=UTF-8

Response Body : 
{
	"access_token" : "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsicmVzdGFwaS1jbGllbnRhY2NvdW50IiwicmVzdGFwaS12aXJ0dWFsYWNjb3VudCIsInJlc3RhcGktZnVuZHRyYW5zZmVyIiwiZ2F0ZXdheSJdLCJzY29wZSI6WyJjbGllbnRzIl0sImV4cCI6MTU3OTYyMjA5MCwiY2xpZW50X2lkIjoiY2xpZW50XzAwMSJ9.Liwk7rNslYMJGTRDmlTcYBgn-QWYa6kED3fvEz2-b-e1YMwh9FkuIpMoFUG_7GSCa2j-9egOTrTmaADiUJ4KwQLlhGFs6PiAn4GxXYnDHWLcxEtsfnIfbg3oFX4aYnoyyeWbG6en4onnNLN6D1c2C-MRYXAFcuKMYqb3qBtSkzEwOnKeNRPL6uXJGg6zYe-5FKF1UkLl3Oew0lELzSWd3mj7TnasDqCeeq-GzCVkaUHJwX92AyPaQOTDuCyyLqcNnb1U5uUnOzFXBowONJwacwabRa4ARinyVwpz1hfel5vh2SN5elwA5lyJYfnm_nofjFGoBRnR1ARWI_uwSf5mbA", 
	"token_type" : "bearer", 
	"expires_in" : "299", 
	"scope" : "clients"
}
				
			

Successful Response

HTTP Status 200 OK

Header Content-Type : application/json;charset=UTF-8


Body Parameter

Parameter Type Length Description
access_token string fixed (582) Access token in JWT format for use to access our api resources
token_type string fixed (6) The type of token, typically just the string bearer
expires_in string - The number of seconds that the access token will be valid
default value is 5 minutes (300 seconds)
scope string fixed (7) Fixed value clients
permission type to access a resource

Failed Response

See Failed HTTP Status

Client Account Balance

Client Account Balance - Request

				
curl 'https://api.sandbox-dhasatra.com/client-account/v1/9990005678/balance' \
-X GET \
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsicmVzdGFwaS1jbGllbnRhY2NvdW50IiwicmVzdGFwaS12aXJ0dWFsYWNjb3VudCIsInJlc3RhcGktZnVuZHRyYW5zZmVyIiwiZ2F0ZXdheSJdLCJzY29wZSI6WyJjbGllbnRzIl0sImV4cCI6MTU3OTYyMjA5MCwiY2xpZW50X2lkIjoiY2xpZW50XzAwMSJ9.Liwk7rNslYMJGTRDmlTcYBgn-QWYa6kED3fvEz2-b-e1YMwh9FkuIpMoFUG_7GSCa2j-9egOTrTmaADiUJ4KwQLlhGFs6PiAn4GxXYnDHWLcxEtsfnIfbg3oFX4aYnoyyeWbG6en4onnNLN6D1c2C-MRYXAFcuKMYqb3qBtSkzEwOnKeNRPL6uXJGg6zYe-5FKF1UkLl3Oew0lELzSWd3mj7TnasDqCeeq-GzCVkaUHJwX92AyPaQOTDuCyyLqcNnb1U5uUnOzFXBowONJwacwabRa4ARinyVwpz1hfel5vh2SN5elwA5lyJYfnm_nofjFGoBRnR1ARWI_uwSf5mbA' \
-v
				
			

Request

HTTP 1.1GET{BASE_URL}/client-account/v1/{client_account_number}/balance

Header Authorization : Bearer <access_token>

Fill access_token with value obtained from Get Token API Endpoint.


Path Parameter

Parameter Type Length Description
client_account_number string max (20) Client account number

Client Account Balance - Response

				
HTTP Status : 200 OK
Content-Type : application/json;charset=UTF-8

Response Body : 
{
	"client_account_balance" : "3567000"
}
				
			

Successful Response

HTTP Status 200 OK

Header Content-Type : application/json;charset=UTF-8


Body Parameter

Parameter Type Length Description
client_account_balance string max (15) Latest client account balance

Failed Response

See Failed HTTP Status

Virtual Account

This API enables you to use our virtual account service

Generate VA

This endpoint is used to create new virtual account.

Generate VA - Request

				
curl 'https://api.sandbox-dhasatra.com/virtual-account/v1' \
-X POST \
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsicmVzdGFwaS1jbGllbnRhY2NvdW50IiwicmVzdGFwaS12aXJ0dWFsYWNjb3VudCIsInJlc3RhcGktZnVuZHRyYW5zZmVyIiwiZ2F0ZXdheSJdLCJzY29wZSI6WyJjbGllbnRzIl0sImV4cCI6MTU3OTYyMjA5MCwiY2xpZW50X2lkIjoiY2xpZW50XzAwMSJ9.Liwk7rNslYMJGTRDmlTcYBgn-QWYa6kED3fvEz2-b-e1YMwh9FkuIpMoFUG_7GSCa2j-9egOTrTmaADiUJ4KwQLlhGFs6PiAn4GxXYnDHWLcxEtsfnIfbg3oFX4aYnoyyeWbG6en4onnNLN6D1c2C-MRYXAFcuKMYqb3qBtSkzEwOnKeNRPL6uXJGg6zYe-5FKF1UkLl3Oew0lELzSWd3mj7TnasDqCeeq-GzCVkaUHJwX92AyPaQOTDuCyyLqcNnb1U5uUnOzFXBowONJwacwabRa4ARinyVwpz1hfel5vh2SN5elwA5lyJYfnm_nofjFGoBRnR1ARWI_uwSf5mbA' \
-H 'Content-Type: application/json' \
-v \
-d \
'{
  "client_reference" : "trx001",
  "type" : "va_closed",
  "bank" : "bni",
  "total_amount" : "100000",
  "expired_in" : "3600",
  "client_account_number" : "9990005678",
  "merchant" : {
    "id" : "001",
    "name" : "merchant satu"
  },
  "customer" : {
    "name" : "John Doe",
    "email" : "johndue@gmail.com",
    "phone" : "081294567787",
    "address" : "Jakarta"
  }
}'
				
			

Request

HTTP 1.1POST{BASE_URL}/virtual-account/v1

Header Content-Type : application/json

Header Authorization : Bearer <access_token>

Fill access_token with value obtained from Get Token API Endpoint.


Body Parameter

Param Sub Param 1 Type Length Required Description
client_reference string max (30) yes Unique transaction reference from client, this value must be unique forever
type string   yes VA type to be generated. Accepted values:
- va_closed
VA should be paid only one time with exactly same requested amount before it expires.
- va_open_min
VA can be paid multiple time with greater than or equal requested amount and still active.
- va_open_max
VA can be paid multiple time with less than or equal requested amount and still active.
note : not support bank sinarmas
bank string   yes Bank to be used. Accepted values:
- bni
- bss
- mandiri
- maybank
- permata
- sinarmas
total_amount string max (10) yes VA total amount includes service fee. Minimum total amount IDR 10.000. If requested total_amount below IDR 10.000, error code BMA will be thrown.
expired_in string max (7) conditional VA lifetime in seconds. Mandatory if type is va_closed
note : max value is 15 days "1296000"
client_account_number string max (20) yes The client account number that will be used for settlement
merchant id string max (10) conditional Client's merchant id. Mandatory if client have merchant
name string max (35) conditional Client's merchant name. Required if client have merchant
customer name string max (35) yes Customer name. This parameter will be displayed as va name
email string max (35) no Customer email
phone string max (14) no Customer phone number
address string max (100) no Customer address

Generate VA - Response

				
HTTP Status : 201 Created
Content-Type : application/json;charset=UTF-8

Response Body : 
{
	"virtual_account_number" : "8432101234567890",
	"product" : "BNI VA Closed",
	"expired_date_time" : "2019-12-18 18:50:20"
}
				
			

Successful Response

HTTP Status 201 Created

Header Content-Type : application/json;charset=UTF-8


Body Parameter

Parameter Type Length Description
virtual_account_number string max (16) VA number that can be used for payment.
product string max (30) VA Product Type
expired_date_time string max (19) VA expired date time.
Format : yyyy-MM-dd HH:mm:ss

Failed Response

See Failed HTTP Status

Update VA

This endpoint is used to update the amount of existing virtual account.

Update VA - Request

				
curl 'https://api.sandbox-dhasatra.com/virtual-account/v1/8432101234567890' \
-X PATCH \
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsicmVzdGFwaS1jbGllbnRhY2NvdW50IiwicmVzdGFwaS12aXJ0dWFsYWNjb3VudCIsInJlc3RhcGktZnVuZHRyYW5zZmVyIiwiZ2F0ZXdheSJdLCJzY29wZSI6WyJjbGllbnRzIl0sImV4cCI6MTU3OTYyMjA5MCwiY2xpZW50X2lkIjoiY2xpZW50XzAwMSJ9.Liwk7rNslYMJGTRDmlTcYBgn-QWYa6kED3fvEz2-b-e1YMwh9FkuIpMoFUG_7GSCa2j-9egOTrTmaADiUJ4KwQLlhGFs6PiAn4GxXYnDHWLcxEtsfnIfbg3oFX4aYnoyyeWbG6en4onnNLN6D1c2C-MRYXAFcuKMYqb3qBtSkzEwOnKeNRPL6uXJGg6zYe-5FKF1UkLl3Oew0lELzSWd3mj7TnasDqCeeq-GzCVkaUHJwX92AyPaQOTDuCyyLqcNnb1U5uUnOzFXBowONJwacwabRa4ARinyVwpz1hfel5vh2SN5elwA5lyJYfnm_nofjFGoBRnR1ARWI_uwSf5mbA' \
-H 'Content-Type: application/json' \
-v \
-d \
'{
  "total_amount" : "20000",
  "customer_name" : "John Doe",
  "customer_email" : "johndoe@gmail.com",
  "customer_phone" : "081295554648",
  "expired_in" : "3600",
  "client_account_number" : "9990005678",
  "active" : true
}'
				
			

Request

HTTP 1.1PATCH{BASE_URL}/virtual-account/v1/{virtual_account_number}

Header Content-Type : application/json

Header Authorization : Bearer <access_token>

Fill access_token with value obtained from Get Token API Endpoint.


Query Parameter

Parameter Type Length Required Description
virtual_account_number string max (16) yes VA number you want to update

Body Parameter must be contains at least one parameter

Param Type Length Mandatory Description
total_amount string max (10) no VA total amount includes service fee. Minimum total amount IDR 10.000. If requested total_amount below IDR 10.000, error code BMA will be thrown.
customer_name string max (35) no Customer name. This parameter will be displayed as va name
customer_email string max (35) no Customer email
customer_phone string max (14) no Customer phone number
expired_in string max (13) no VA lifetime in seconds. Only applies to type va_closed
client_account_number string max (20) no The client account number that will be used for settlement
active boolean   conditional This parameter is not mandatory. Only can be applies for va type :
-va_open_min
-va_open_max.
Accepted values:
-true : to enable va
-false : to temporary disable va

Update VA - Response

				
HTTP Status : 204 No Content
Content-Type : application/json;charset=UTF-8
				
			

Successful Response

HTTP Status 204 No Content

Failed Response

See Failed HTTP Status

Delete VA

This endpoint is used to delete existing virtual account.

Delete VA - Request

				
curl 'https://api.sandbox-dhasatra.com/virtual-account/v1/8432101234567890' \
-X DELETE \
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsicmVzdGFwaS1jbGllbnRhY2NvdW50IiwicmVzdGFwaS12aXJ0dWFsYWNjb3VudCIsInJlc3RhcGktZnVuZHRyYW5zZmVyIiwiZ2F0ZXdheSJdLCJzY29wZSI6WyJjbGllbnRzIl0sImV4cCI6MTU3OTYyMjA5MCwiY2xpZW50X2lkIjoiY2xpZW50XzAwMSJ9.Liwk7rNslYMJGTRDmlTcYBgn-QWYa6kED3fvEz2-b-e1YMwh9FkuIpMoFUG_7GSCa2j-9egOTrTmaADiUJ4KwQLlhGFs6PiAn4GxXYnDHWLcxEtsfnIfbg3oFX4aYnoyyeWbG6en4onnNLN6D1c2C-MRYXAFcuKMYqb3qBtSkzEwOnKeNRPL6uXJGg6zYe-5FKF1UkLl3Oew0lELzSWd3mj7TnasDqCeeq-GzCVkaUHJwX92AyPaQOTDuCyyLqcNnb1U5uUnOzFXBowONJwacwabRa4ARinyVwpz1hfel5vh2SN5elwA5lyJYfnm_nofjFGoBRnR1ARWI_uwSf5mbA' \
-v
				
			

Request

HTTP 1.1DELETE{BASE_URL}/virtual-account/v1/{virtual_account_number}

Header Authorization : Bearer <access_token>

Fill access_token with value obtained from Get Token API Endpoint.


Path Parameter

Field Type Length Required Description
virtual_account_number string max (16) yes VA number you want to delete

Delete VA - Response

				
HTTP Status : 204 No Content
Content-Type : application/json;charset=UTF-8
				
			

Successful Response

HTTP Status 204 No Content

Failed Response

See Failed HTTP Status

Payment History

This endpoint is used to get payment history of va

Payment History - Request

				
curl 'https://api.sandbox-dhasatra.com/virtual-account/v1/8432101234567890/payment-history' \
-X GET \
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsicmVzdGFwaS1jbGllbnRhY2NvdW50IiwicmVzdGFwaS12aXJ0dWFsYWNjb3VudCIsInJlc3RhcGktZnVuZHRyYW5zZmVyIiwiZ2F0ZXdheSJdLCJzY29wZSI6WyJjbGllbnRzIl0sImV4cCI6MTU3OTYyMjA5MCwiY2xpZW50X2lkIjoiY2xpZW50XzAwMSJ9.Liwk7rNslYMJGTRDmlTcYBgn-QWYa6kED3fvEz2-b-e1YMwh9FkuIpMoFUG_7GSCa2j-9egOTrTmaADiUJ4KwQLlhGFs6PiAn4GxXYnDHWLcxEtsfnIfbg3oFX4aYnoyyeWbG6en4onnNLN6D1c2C-MRYXAFcuKMYqb3qBtSkzEwOnKeNRPL6uXJGg6zYe-5FKF1UkLl3Oew0lELzSWd3mj7TnasDqCeeq-GzCVkaUHJwX92AyPaQOTDuCyyLqcNnb1U5uUnOzFXBowONJwacwabRa4ARinyVwpz1hfel5vh2SN5elwA5lyJYfnm_nofjFGoBRnR1ARWI_uwSf5mbA' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-v
				
			

Request

HTTP 1.1GET{BASE_URL}/virtual-account/v1/{virtual_account_number}/payment-history

Header Authorization : Bearer <access_token>

Fill access_token with value obtained from Get Token API Endpoint.


Path Parameter

Parameter Type Length Required Description
virtual_account_number string max (16) yes VA number you want to update

Payment History - Response

				
HTTP Status : 200 OK
Content-Type : application/json;charset=UTF-8

Response Body : 
{
  "payment_history" : [
    {
      "payment_id" : "1026",
      "client_account_number" : "9990005678",
      "client_reference" : "trx001",
      "total_amount" : "180000",
      "charge_amount" : "4000",
      "settlement_amount" : "176000",
      "trans_date_time" : "2019-12-09 15:28:57"
    },
    {
      "payment_id" : "1027",
      "client_account_number" : "9990005678",
      "client_reference" : "trx001",
      "total_amount" : "290000",
      "charge_amount" : "4000",
      "settlement_amount" : "286000",
      "trans_date_time" : "2019-12-09 20:39:48"
    }
  ]
}
				
			

Successful Response

HTTP Status 200 OK

Header Content-Type : application/json;charset=UTF-8


Body Parameter

Param Sub Param 1 Type Length Description
payment_history
[object array]
payment_id string max (10) Transaction id
client_account_number string max (20) The client account number that will be used for settlement
client_reference string max (20) Unique transaction reference from client, this value must be unique forever
total_amount string max (10) VA paid amount
charge_amount string max (10) VA service fee
settlement_amount string max (10) Amount we will settle to the client
trans_date_time string max (19) VA transaction datetime
Format : yyyy-MM-dd HH:mm:ss

Failed Response

See Failed HTTP Status

Payment Notification

This is to notify client when va payment already success (DHASATRA System to Client)

Payment Notification - Request

				
curl 'https://api.client-001.com/callback/virtual-account' \
-X POST \
-H 'Content-Type: application/json' \
-v \
-d \
'{
  "virtual_account_number" : "8432101234567890",
  "payment_id" : "129832",
  "client_account_number" : "9990005678",
  "client_reference" : "trx001",
  "total_amount" : "180000",
  "charge_amount" : "4000",
  "settlement_amount" : "176000",
  "trans_date_time" : "2019-12-09 15:28:57",
  "secure_code" : "f43f3135c0e6525a523974b30e77f8031323c7a19f4366e093ddc80c66a645ed"
}'
				
			

Request

HTTP 1.1POST{CLIENT_CALLBACK_URL}

Header Content-Type : application/json


Body Parameter

Parameter Type Length Required Description
virtual_account_number string max (16) yes VA number that has been paid
payment_id string max (10) yes Transaction id
client_account_number string max (20) yes The client account number that will be used for settlement
client_reference string max (20) Unique transaction reference from client, this value must be unique forever
total_amount string max (10) yes VA paid amount
charge_amount string max (10) yes VA service fee
settlement_amount string max (10) yes Amount we will settle to the client
trans_date_time string max (19) yes VA transaction datetime
Format : yyyy-MM-dd HH:mm:ss
secure_code string max (255) yes Secure code comes from a combination of several data. See secure code generation detail.
Do not accept payment if the secure code is incorrect!

Secure Code Generation for Payment Notification

secure_code : SHA3-256 (payment_id + trans_date_time + shared_key)

Example :

payment_id : 129832
trans_date_time : 2019-12-09 15:28:57
shared_key : dPnDhAdiwdSentOt9927c1bRng53kd1a
Plain Text : 1298322019-12-09 15:28:57dPnDhAdiwdSentOt9927c1bRng53kd1a
secure_code : f43f3135c0e6525a523974b30e77f8031323c7a19f4366e093ddc80c66a645ed

Payment Notification - Response

				
HTTP Status : 204 No Content
				
			

Successful Response

HTTP Status 204 No Content

Qris

This API enables you to use our qris service

Generate Qris

This endpoint is used to create new qris.

Generate Qr - Request

				
curl 'https://api.sandbox-dhasatra.com/qris/v1' \
-X POST \
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsicmVzdGFwaS1jbGllbnRhY2NvdW50IiwicmVzdGFwaS12aXJ0dWFsYWNjb3VudCIsInJlc3RhcGktZnVuZHRyYW5zZmVyIiwiZ2F0ZXdheSJdLCJzY29wZSI6WyJjbGllbnRzIl0sImV4cCI6MTU3OTYyMjA5MCwiY2xpZW50X2lkIjoiY2xpZW50XzAwMSJ9.Liwk7rNslYMJGTRDmlTcYBgn-QWYa6kED3fvEz2-b-e1YMwh9FkuIpMoFUG_7GSCa2j-9egOTrTmaADiUJ4KwQLlhGFs6PiAn4GxXYnDHWLcxEtsfnIfbg3oFX4aYnoyyeWbG6en4onnNLN6D1c2C-MRYXAFcuKMYqb3qBtSkzEwOnKeNRPL6uXJGg6zYe-5FKF1UkLl3Oew0lELzSWd3mj7TnasDqCeeq-GzCVkaUHJwX92AyPaQOTDuCyyLqcNnb1U5uUnOzFXBowONJwacwabRa4ARinyVwpz1hfel5vh2SN5elwA5lyJYfnm_nofjFGoBRnR1ARWI_uwSf5mbA' \
-H 'Content-Type: application/json' \
-v \
-d \
'{
  "client_account_number" : "9990005678",
  "client_reference" : "trx001",
  "type" : "qris_closed",
  "item" : [],
  "total_amount" : "100000",
  "expired_in" : "3600",
  "merchant" : {
    "id" : "001",
    "name" : "merchant satu"
  },
  "customer" : {
    "name" : "John Doe",
    "email" : "johndoe@gmail.com",
    "phone" : "08124657887",
    "address" : "Jakarta"
  }
}'
				
			

Request

HTTP 1.1POST{BASE_URL}/qris/v1

Header Content-Type : application/json

Header Authorization : Bearer <access_token>

Fill access_token with value obtained from Get Token API Endpoint.


Body Parameter

Param Sub Param 1 Type Length Required Description
client_account_number string max (20) yes The client account number that will be used for settlement
client_reference string max (30) yes Unique transaction reference from client, this value must be unique forever
type string   yes Qr type to be generated. Accepted values:
- qris_closed
Qr should be paid only one time with exactly same requested amount before it expires.
- qris_open
Qr can be paid multiple time with greater than or equal requested amount and still active.
item
[object array]
name string max (35) conditional Item name
qty string max (5) conditional qty item
unit_price string max (10) conditional unit price item
remark string max (100) conditional remark
total_amount string max (10) yes Qr total amount includes service fee. Minimum total amount IDR 10.000. If requested total_amount below IDR 10.000, error code BMA will be thrown.
expired_in string max (7) conditional Qr lifetime in seconds. Mandatory if type is qris_closed
note : max value is 1 days "86400"
merchant id string max (10) conditional Client's merchant id. Mandatory if client have merchant
name string max (35) conditional Client's merchant name. Required if client have merchant
customer name string max (35) yes Customer name
email string max (35) no Customer email
phone string max (14) no Customer phone number
address string max (100) no Customer address

Generate Qr - Response

				
HTTP Status : 201 Created
Content-Type : application/json;charset=UTF-8

Response Body : 
{
	"client_reference" : "trx001",
	"qris_reff_code" : "trx001",
	"product" : "Qris Closed",
	"expired_date_time" : "2019-12-18 18:50:20",
	"data_qr" : "00020101021226730021COM.GUDANGVOUCHER.WWW011893600916300252210202151061211011000010303UME51450015ID.OR.GPNQR.WWW02151061211011000010303UME5204481653033605405200005802ID5907StarPay6015JAKARTA SELATAN610512940624101091037559130517211222104138Gv98e0703A016304A6DF"
}
				
			

Successful Response

HTTP Status 201 Created

Header Content-Type : application/json;charset=UTF-8


Body Parameter

Parameter Type Length Description
client_reference string max (30) Unique transaction reference from client, this value must be unique forever.
product string max (30) Qr Product Type
expired_date_time string max (19) Qr expired date time.
Format : yyyy-MM-dd HH:mm:ss
data_qr string text data qr

Failed Response

See Failed HTTP Status

Payment History

This endpoint is used to get payment history of qris

Payment History - Request

				
curl 'https://api.sandbox-dhasatra.com/qris/v1/trx001/payment-history' \
-X GET \
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsicmVzdGFwaS1jbGllbnRhY2NvdW50IiwicmVzdGFwaS12aXJ0dWFsYWNjb3VudCIsInJlc3RhcGktZnVuZHRyYW5zZmVyIiwiZ2F0ZXdheSJdLCJzY29wZSI6WyJjbGllbnRzIl0sImV4cCI6MTU3OTYyMjA5MCwiY2xpZW50X2lkIjoiY2xpZW50XzAwMSJ9.Liwk7rNslYMJGTRDmlTcYBgn-QWYa6kED3fvEz2-b-e1YMwh9FkuIpMoFUG_7GSCa2j-9egOTrTmaADiUJ4KwQLlhGFs6PiAn4GxXYnDHWLcxEtsfnIfbg3oFX4aYnoyyeWbG6en4onnNLN6D1c2C-MRYXAFcuKMYqb3qBtSkzEwOnKeNRPL6uXJGg6zYe-5FKF1UkLl3Oew0lELzSWd3mj7TnasDqCeeq-GzCVkaUHJwX92AyPaQOTDuCyyLqcNnb1U5uUnOzFXBowONJwacwabRa4ARinyVwpz1hfel5vh2SN5elwA5lyJYfnm_nofjFGoBRnR1ARWI_uwSf5mbA' \
-H 'Content-Type: application/x-www-form-urlencoded' \
-v
				
			

Request

HTTP 1.1GET{BASE_URL}/qris/v1/{client_reference}/payment-history

Header Authorization : Bearer <access_token>

Fill access_token with value obtained from Get Token API Endpoint.


Path Parameter

Parameter Type Length Required Description
client_reference string max (16) yes Client reference Qr you want to update

Payment History - Response

				
HTTP Status : 200 OK
Content-Type : application/json;charset=UTF-8

Response Body : 
{
  "payment_history" : [
    {
      "payment_id" : "1026",
      "client_account_number" : "9990005678",
      "client_reference" : "trx001",
      "total_amount" : "180000",
      "charge_amount" : "4000",
      "settlement_amount" : "176000",
      "trans_date_time" : "2019-12-09 15:28:57"
    },
    {
      "payment_id" : "1027",
      "client_account_number" : "9990005678",
      "client_reference" : "trx001",
      "total_amount" : "290000",
      "charge_amount" : "4000",
      "settlement_amount" : "286000",
      "trans_date_time" : "2019-12-09 20:39:48"
    }
  ]
}
				
			

Successful Response

HTTP Status 200 OK

Header Content-Type : application/json;charset=UTF-8


Body Parameter

Param Sub Param 1 Type Length Description
payment_history
[object array]
payment_id string max (10) Transaction id
client_account_number string max (20) The client account number that will be used for settlement
client_reference string max (20) Unique transaction reference from client, this value must be unique forever
total_amount string max (10) Qr paid amount
charge_amount string max (10) Qr service fee
settlement_amount string max (10) Amount we will settle to the client
trans_date_time string max (19) Qr transaction datetime
Format : yyyy-MM-dd HH:mm:ss

Failed Response

See Failed HTTP Status

Payment Notification

This is to notify client when qris payment already success (DHASATRA System to Client)

Payment Notification - Request

				
curl 'https://api.client-001.com/callback/qris' \
-X POST \
-H 'Content-Type: application/json' \
-v \
-d \
'{
  "payment_id" : "129832",
  "client_account_number" : "9990005678",
  "client_reference" : "trx001",
  "total_amount" : "100000",
  "charge_amount" : "4000",
  "settlement_amount" : "96000",
  "trans_date_time" : "2019-12-09 15:28:57",
  "secure_code" : "f43f3135c0e6525a523974b30e77f8031323c7a19f4366e093ddc80c66a645ed"
}'
				
			

Request

HTTP 1.1POST{CLIENT_CALLBACK_URL}

Header Content-Type : application/json


Body Parameter

Parameter Type Length Required Description
payment_id string max (10) yes Transaction id
client_account_number string max (20) yes The client account number that will be used for settlement
client_reference string max (20) Unique transaction reference from client, this value must be unique forever
total_amount string max (10) yes Qr paid amount
charge_amount string max (10) yes Qr service fee
settlement_amount string max (10) yes Amount we will settle to the client
trans_date_time string max (19) yes Qr transaction datetime
Format : yyyy-MM-dd HH:mm:ss
secure_code string max (255) yes Secure code comes from a combination of several data. See secure code generation detail.
Do not accept payment if the secure code is incorrect!

Secure Code Generation for Payment Notification

secure_code : SHA3-256 (payment_id + trans_date_time + shared_key)

Example :

payment_id : 129832
trans_date_time : 2019-12-09 15:28:57
shared_key : dPnDhAdiwdSentOt9927c1bRng53kd1a
Plain Text : 1298322019-12-09 15:28:57dPnDhAdiwdSentOt9927c1bRng53kd1a
secure_code : f43f3135c0e6525a523974b30e77f8031323c7a19f4366e093ddc80c66a645ed

Payment Notification - Response

				
HTTP Status : 204 No Content
				
			

Successful Response

HTTP Status 204 No Content

Fund Transfer

Inquiry

This API endpoint purpose is to checking and validating the destination account owner

Inquiry - Request

				
curl 'https://api.sandbox-dhasatra.com/fund-transfer/v1/inquiry' \
-X POST \
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsicmVzdGFwaS1jbGllbnRhY2NvdW50IiwicmVzdGFwaS12aXJ0dWFsYWNjb3VudCIsInJlc3RhcGktZnVuZHRyYW5zZmVyIiwiZ2F0ZXdheSJdLCJzY29wZSI6WyJjbGllbnRzIl0sImV4cCI6MTU3OTYyMjA5MCwiY2xpZW50X2lkIjoiY2xpZW50XzAwMSJ9.Liwk7rNslYMJGTRDmlTcYBgn-QWYa6kED3fvEz2-b-e1YMwh9FkuIpMoFUG_7GSCa2j-9egOTrTmaADiUJ4KwQLlhGFs6PiAn4GxXYnDHWLcxEtsfnIfbg3oFX4aYnoyyeWbG6en4onnNLN6D1c2C-MRYXAFcuKMYqb3qBtSkzEwOnKeNRPL6uXJGg6zYe-5FKF1UkLl3Oew0lELzSWd3mj7TnasDqCeeq-GzCVkaUHJwX92AyPaQOTDuCyyLqcNnb1U5uUnOzFXBowONJwacwabRa4ARinyVwpz1hfel5vh2SN5elwA5lyJYfnm_nofjFGoBRnR1ARWI_uwSf5mbA' \
-H 'Content-Type: application/json' \
-v \
-d \
'{
  "client_account_number" : "9990005678",
  "product" : "disb",
  "type" : "online",
  "recipient_bank_code" : "014",
  "recipient_account_number" : "12345678",
  "amount" : "15000"
}'
				
			

Request

HTTP 1.1POST{BASE_URL}/fund-transfer/v1/inquiry

Header Content-Type : application/json

Header Authorization : Bearer <access_token>

Fill access_token with value obtained from Get Token API Endpoint.


Body Parameter

Parameter Type Length Description
client_account_number string max (20) Client account number provided by Dhasatra
product string max (5) Possibility values:
disb for disbursement
remit for remittance
type string max (6) Possibility values:
online for range amount between 10,000 - 100,000,000

skn for range amount between 100,000,001 - 1,000,000,000

rtgs for range amount between 100,000,001 - 9,999,999,999
recipient_bank_code string max (4) Destination bank code to retrieve account name information
possibility values
recipient_account_number string max (20) Destination account number. Only valid for numeric (0 - 9).
amount string max (15) The fund transfer amount that will be validate with the current client account balance

Inquiry - Response

				
HTTP Status : 200 OK
Content-Type : application/json;charset=UTF-8

Response Body : 
{
	"recipient_account_name" : "John Doe" 
}
				
			

Successful Response

HTTP Status 200 OK

Header Content-Type : application/json;charset=UTF-8


Body Parameter

Parameter Type Length Description
recipient_account_name string max (100) Name of destination account owner

Failed Response

See Failed HTTP Status

Create Transaction

Create Transaction - Request

				
curl 'https://api.sandbox-dhasatra.com/fund-transfer/v1' \
-X POST \
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsicmVzdGFwaS1jbGllbnRhY2NvdW50IiwicmVzdGFwaS12aXJ0dWFsYWNjb3VudCIsInJlc3RhcGktZnVuZHRyYW5zZmVyIiwiZ2F0ZXdheSJdLCJzY29wZSI6WyJjbGllbnRzIl0sImV4cCI6MTU3OTYyMjA5MCwiY2xpZW50X2lkIjoiY2xpZW50XzAwMSJ9.Liwk7rNslYMJGTRDmlTcYBgn-QWYa6kED3fvEz2-b-e1YMwh9FkuIpMoFUG_7GSCa2j-9egOTrTmaADiUJ4KwQLlhGFs6PiAn4GxXYnDHWLcxEtsfnIfbg3oFX4aYnoyyeWbG6en4onnNLN6D1c2C-MRYXAFcuKMYqb3qBtSkzEwOnKeNRPL6uXJGg6zYe-5FKF1UkLl3Oew0lELzSWd3mj7TnasDqCeeq-GzCVkaUHJwX92AyPaQOTDuCyyLqcNnb1U5uUnOzFXBowONJwacwabRa4ARinyVwpz1hfel5vh2SN5elwA5lyJYfnm_nofjFGoBRnR1ARWI_uwSf5mbA' \
-H 'Content-Type: application/json' \
-v \
-d \
'{
  "client_account_number" : "9990005678",
  "client_trans_reference" : "123424",
  "product" : "disb",
  "type" : "online",
  "amount" : "100000",
  "remark" : "tes disbursement online",
  "nm_threshold" : 30,
  "sender" : {
    "name" : "John Doe",
    "country_code" : "IDN",
    "identity" : {
      "type" : "ID Card Number",
      "number" : "70113335678"
    },
    "birth" : {
      "place" : "Purworejo",
      "date" : "2000-04-21"
    },
    "address" : "Jln Puuurwoorejooo",
    "cityregency_code" : "3173",
    "phone_number" : "081273658217"
  },
  "recipient" : {
    "bank_code" : "014",
    "account_number" : "4663918475",
    "account_name" : "Septian",
    "identity" : {
      "type" : "ID Card Number",
      "number" : "502288827465"
    },
    "birth" : {
      "place" : "Jakarta",
      "date" : "2004-12-08"      
    },
    "address" : "Jln Mawar No 77",
    "cityregency_code" : "5022",
    "phone_number" : "0811999385726"
  }
}'
				
			

Request

HTTP 1.1POST{BASE_URL}/fund-transfer/v1

Header Content-Type : application/json

Header Authorization : Bearer <access_token>

Fill access_token with value obtained from Get Token API Endpoint.


Body Parameter

Param Sub Param 1 Sub Param 2 Type Length Required Description
client_account_number string max (20) yes Client account number
client_trans_reference string max (20) yes Unique transaction reference from client, this value must be unique forever
product string max (5) yes Possibility values:
disb for disbursement
remit for remittance
type string max (6) yes Possibility values:

online for range amount between 10,000 - 100,000,000

skn for range amount between 100,000,001 - 1,000,000,000

Service Hours: Working Days (Monday-Friday) 08:00-15:00 WIB (GMT+7)

rtgs for range amount between 100,000,001 - 9,999,999,999

Service Hours: Working Days (Monday-Friday) 08:00-15:00 WIB (GMT+7)

allow_next_workingday boolean true or false no Default true

Additional parameter if type are skn or rtgs, true mean if the request is received out of service hours, the transaction will be transacted on the next working day, otherwise if false then the transaction will be rejected
amount string max (12) yes Fund transfer amount
remark string max (30) yes Transaction description for recipient
nm_threshold integer max value (100) no Recipient name matching threshold. Value in percentage(%) between 0 - 100. Submit zero value will ignore name matching filter. If this param is null / not filled / not submitted, then threshold value follow the setting in the client configuration (default setting is 30%, adjustable in our web dashboard)
sender object - conditional Mandatory if product value are remit
name string 35 conditional Mandatory if product value are remit
country_code string 3 conditional Mandatory if product value are remit
possibility values
identity object - no Fill if available
type string max (30) no Fill if available
Possibility values:
ID Card Number
Passport Number
Driving License
Tax Number
Others
number string max (30) no Fill if available
birth object - no Fill if available
place string max (50) no Fill if available
date string max (10) no Fill if available
address string max (100) no Fill if available
cityregency_code string 35 no Fill if available
possibility values
phone_number string max (20) no Sender phone number. Fill if available
recipient object - yes Key parameters for the transaction
bank_code string max (4) yes Recipient bank code
possibility values
account_number string max (20) yes Recipient account number. Only valid for numeric (0 - 9).
account_name string max (100) yes Recipient account name
identity object - no Fill if available
type string max (30) no Fill if available
possibility values:
ID Card Number
Passport Number
Driving License
Tax Number
Others
number string max (30) no Fill if available
birth object - no Fill if available
place string max (50) no Fill if available
date string max (10) no Fill if available
address string max (100) no Fill if available
cityregency_code string max (4) conditional Mandatory if product value are remit
possibility values
phone_number string max (20) no Recipient phone number. Fill if available

Create Transaction - Response

				
HTTP Status : 202 Accepted
Content-Type : application/json;charset=UTF-8

Response Body : 
{
  "transaction_id" : 1257,
  "client_account_number" : "9990005678",
  "client_trans_reference" : "123424",
  "date_time" : "2020-01-20 01:32:25",
  "product" : "Disbursement Online",
  "recipient_bank_code" : "014",
  "recipient_bank_name" : "Bank Central Asia (BCA)",
  "recipient_account_number" : "4663918475",
  "recipient_account_name" : "Septian",
  "amount" : "100000",
  "charge_amount" : "10000",
  "status" : "pending"
}
				
			

Successful Response

HTTP Status 202 Accepted

Header Content-Type : application/json;charset=UTF-8


Body Parameter

Parameter Type Length Description
transaction_id integer max (18 digit) Unique transaction id
client_account_number string max (20) Client account number
client_trans_reference string max (20) Unique transaction reference from client
date_time string fixed (19) The time the transaction was made
product string max (20) Product type of fund transfer
recipient_bank_code string max (4) Recipient bank code
recipient_bank_name string max (100) Recipient bank name
recipient_account_number string max (20) Recipient account number
recipient_account_name string max (100) Recipient account name
amount string max (12) Fund transfer amount
charge_amount string max (12) Transaction charge amount
status string max (9) fixed value: pending

Failed Response

See Failed HTTP Status

Get Transaction

Get Transaction - Request

				
curl 'https://api.sandbox-dhasatra.com/fund-transfer/v1/client-trans-reference/123424' \
-X GET \
-H 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdWQiOlsicmVzdGFwaS1jbGllbnRhY2NvdW50IiwicmVzdGFwaS12aXJ0dWFsYWNjb3VudCIsInJlc3RhcGktZnVuZHRyYW5zZmVyIiwiZ2F0ZXdheSJdLCJzY29wZSI6WyJjbGllbnRzIl0sImV4cCI6MTU3OTYyMjA5MCwiY2xpZW50X2lkIjoiY2xpZW50XzAwMSJ9.Liwk7rNslYMJGTRDmlTcYBgn-QWYa6kED3fvEz2-b-e1YMwh9FkuIpMoFUG_7GSCa2j-9egOTrTmaADiUJ4KwQLlhGFs6PiAn4GxXYnDHWLcxEtsfnIfbg3oFX4aYnoyyeWbG6en4onnNLN6D1c2C-MRYXAFcuKMYqb3qBtSkzEwOnKeNRPL6uXJGg6zYe-5FKF1UkLl3Oew0lELzSWd3mj7TnasDqCeeq-GzCVkaUHJwX92AyPaQOTDuCyyLqcNnb1U5uUnOzFXBowONJwacwabRa4ARinyVwpz1hfel5vh2SN5elwA5lyJYfnm_nofjFGoBRnR1ARWI_uwSf5mbA' \
-v
				
			

Request

HTTP 1.1GET{BASE_URL}/fund-transfer/v1/client-trans-reference/{client_trans_reference}

Header Authorization : Bearer <access_token>

Fill access_token with value obtained from Get Token API Endpoint.


Path Parameter

Parameter Type Length Description
client_trans_reference string max (20) unique transaction reference from client when create transaction

Get Transaction - Response [success]

				
HTTP Status : 200 OK
Content-Type : application/json;charset=UTF-8

Response Body : 
{
  "transaction_id" : 1257,
  "client_account_number" : "9990005678",
  "client_trans_reference" : "123424",
  "date_time" : "2020-01-20 01:32:25",
  "product" : "Disbursement Online",
  "recipient_bank_code" : "014",
  "recipient_bank_name" : "Bank Central Asia (BCA)",
  "recipient_account_number" : "4663918475",
  "recipient_account_name" : "Septian",
  "amount" : "100000",
  "charge_amount" : "9000",
  "status" : "success"
}
				
			

Get Transaction - Response [failed]

				
HTTP Status : 200 OK
Content-Type : application/json;charset=UTF-8

Response Body : 
{
  "transaction_id" : 1257,
  "client_account_number" : "9990005678",
  "client_trans_reference" : "123424",
  "date_time" : "2020-01-20 01:32:25",
  "product" : "Disbursement Online",
  "recipient_bank_code" : "014",
  "recipient_bank_name" : "Bank Central Asia (BCA)",
  "recipient_account_number" : "4663918475",
  "recipient_account_name" : "Septian",
  "amount" : "100000",
  "charge_amount" : "9000",
  "status" : "failed"
  "failed_code" : "IRA"
  "failed_message" : "Inactive Recipient Account"
}
				
			

Successful Response

HTTP Status 200 OK

Header Content-Type : application/json;charset=UTF-8


Body Parameter

Parameter Type Length Description
transaction_id integer max (18 digit) Unique transaction id
client_account_number string max (20) Client account number
client_trans_reference string max (20) Unique transaction reference from client
date_time string fixed (19) The time the transaction was made
product string max (20) Product type of fund transfer
recipient_bank_code string max (4) Recipient bank code
recipient_bank_name string max (100) Recipient bank name
recipient_account_number string max (20) Recipient account number
recipient_account_name string max (100) Recipient account name
amount string max (12) Fund transfer amount
charge_amount string max (12) Transaction charge amount
status string max (9) Current status of transaction
Possibility values are:
pending
onprocess
success
force_credit(Timeout transaction between our bank partner and recipient bank. Transaction is considered successful with force credit to the recipient bank in the next working day)
failed
suspect
failed_code string max (6) Transaction status failed code
Only appear if status value are failed
failed_message text unlimited Transaction status failed message
Only appear if status value are failed

Failed Response

See Failed HTTP Status

Transaction Callback

Transaction Callback - Request [success]

				
curl 'https://api.client-001.com/callback/fund-transfer' \
-X POST \
-H 'Content-Type: application/json' \
-v \
-d \ 
'{
  "transaction_id" : 1257,
  "date_time" : "2020-01-20 01:32:25",
  "product" : "Disbursement Online",
  "client_account_number" : "9990005678",
  "client_trans_reference" : "123424",
  "recipient_bank_code" : "014",
  "recipient_bank_name" : "Bank Central Asia (BCA)",
  "recipient_account_number" : "4663918475",
  "recipient_account_name" : "Septian",
  "amount" : "100000",
  "charge_amount" : "9000",
  "status" : "success",  
  "security_code" : "b0ef662e2130560f2d02768a78c0df10c821a8ecc3da1cf1078050beb3b9d87a"
}'
				
			

Transaction Callback - Request [failed]

				
curl 'https://api.client-001.com/callback/fund-transfer' \
-X POST \
-H 'Content-Type: application/json' \
-v \
-d \ 
'{
  "transaction_id" : 1257,
  "date_time" : "2020-01-20 01:32:25",
  "product" : "Disbursement Online",
  "client_account_number" : "9990005678",
  "client_trans_reference" : "123424",
  "recipient_bank_code" : "014",
  "recipient_bank_name" : "Bank Central Asia (BCA)",
  "recipient_account_number" : "4663918475",
  "recipient_account_name" : "Septian",
  "amount" : "100000",
  "charge_amount" : "9000",
  "status" : "failed",
  "failed_code" : "BRA"
  "failed_message" : "Blocked Recipient Account"  
  "security_code" : "b0ef662e2130560f2d02768a78c0df10c821a8ecc3da1cf1078050beb3b9d87a"
}'
				
			

Request

HTTP 1.1POST{CLIENT_CALLBACK_URL}

Header Content-Type : application/json


Body Parameter

Parameter Type : Request Body Parameters

Header : Content-Type : application/json

Path Parameter Type Length Description
transaction_id integer max (18 digit) Unique transaction id
date_time string fixed (19) The time the transaction was made
product string max (20) Product type of fund transfer
client_account_number string max (20) Client account number
client_trans_reference string max (20) Unique transaction reference from client
recipient_bank_code string max (4) Recipient bank code
recipient_bank_name string max (100) Recipient bank name
recipient_account_number string max (20) Recipient account number
recipient_account_name string max (100) Recipient account name
amount string max (12) Fund transfer amount
charge_amount string max (12) Transaction charge amount
status string max (9) Current status of transaction
Possibility values are:
success
force_credit(Timeout transaction between our bank partner and recipient bank. Transaction is considered successful with force credit to the recipient bank in the next working day)
failed
suspect
failed_code string max (6) Transaction status failed code
Only appear if status value are failed
failed_message text unlimited Transaction status failed message
Only appear if status value are failed
security_code string 255 Secure code comes from a combination of several data. See secure code generation detail.
Do not accept transaction callback if the secure code is incorrect!

Secure Code Generation for Transaction Callback

security_code : SHA3-256 (client_trans_reference + shared_key + transaction_id)

Example :

client_trans_reference : 123424
shared_key : dPnDhAdiwdSentOt9927c1bRng53kd1a
transaction_id : 1257
Plain Text : 123424dPnDhAdiwdSentOt9927c1bRng53kd1a1257
security_code : b0ef662e2130560f2d02768a78c0df10c821a8ecc3da1cf1078050beb3b9d87a

Transaction Callback - Response

				
HTTP Status : 204 No Content
				
			

Successful Response

HTTP Status 204 No Content

List of Banks

  Bank Name Bank Code
Bank Aceh Syariah 116
Bank Artha Graha 037
Bank Banten 137
Bank BCA 014
Bank BCA Syariah 536
Bank BJB 110
Bank BJB Syariah 425
Bank BNI 009
Bank BNP 145
Bank BPD Bali 129
Bank BPD DIY 112
Bank BRI 002
Bank BRI Syariah 422
Bank BTN 200
Bank BTPN 213
Bank BTPN Syariah 547
Bank Bukopin 441
Bank Bumi Arta 076
Bank Capital Indonesia 054
Bank CCB Indonesia 036
Bank CIMB Niaga 022
Bank Commonwealth 950
Bank CTBC Indonesia 949
Bank Danamon 011
Bank DBS Indonesia 046
Bank DKI 111
Bank Harda Internasional 567
Bank HSBC Indonesia 087
Bank Ina Perdana 513
Bank Index Selindo 555
Bank Jasa Jakarta 472
Bank Jateng 113
Bank Jatim 114
Bank Jtrust Indonesia 095
Bank Kalbar 123
Bank Kalteng 125
Bank Kaltimtara 124
Bank KEB Hana Indonesia 484
Bank Maluku Malut 131
Bank Mandiri 008
Bank Maspion 157
Bank Mayapada 097
Bank Maybank Indonesia 016
Bank Mega 426
Bank Mega Syariah 506
Bank Mestika 151
Bank MNC 485
Bank Muamalat 147
Bank Multiarta Sentosa 548
Bank Nagari 118
Bank National Nobu 503
Bank OCBC NISP 028
Bank of China Jakarta Branch 069
Bank Panin 019
Bank Papua 132
Bank Permata 013
Bank QNB Indonesia 167
Bank Rabobank 089
Bank Riau Kepri 119
Bank Royal 501
Bank Sahabat Sampoerna 523
Bank SBI Indonesia 498
Bank Shinhan 152
Bank Sinarmas 153
Bank Sulselbar 126
Bank Sumselbabel 120
Bank Sumut 117
Bank Syariah Bukopin 521
Bank Syariah Mandiri 451
Bank UOB Indonesia 023
Bank Victoria 566
Bank Victoria Syariah 405
Bank Woori Saudara 212
Citibank Indonesia 031
IBK Bank Indonesia 945
MUFG Bank 042
Panin Dubai Syariah Bank 517
Prima Master Bank 520
Standard Chartered Bank 050

List of Countries

Code Name
IDN Indonesia
COL Colombia
COM Comoros
COG Congo
COK Cook Islands
CRI Costa Rica
CIV Cote d'Ivoire
HRV Croatia
CUB Cuba
CYP Cyprus
CZE Czech Republic
DNK Denmark
DJI Djibouti
DMA Dominica
DOM Dominican Republic
ECU Ecuador
EGY Egypt
SLV El Salvador
GNQ Equatorial Guinea
ERI Eritrea
EST Estonia
ETH Ethiopia
FLK Falkland Islands (Malvinas)
FRO Faroe Islands
FJI Fiji
FIN Finland
FRA France
GUF French Guiana
PYF French Polynesia
GAB Gabon
GMB Gambia
GEO Georgia
DEU Germany
GHA Ghana
GIB Gibraltar
GRC Greece
GRL Greenland
GRD Grenada
GLP Guadeloupe
GUM Guam
GTM Guatemala
GIN Guinea
GNB Guinea-Bissau
GUY Guyana
HTI Haiti
VAT Holy See (Vatican City State)
HND Honduras
HKG Hong Kong
HUN Hungary
ISL Iceland
IND India
IRN Iran, Islamic Republic of
IRQ Iraq
IRL Ireland
ISR Israel
ITA Italy
JAM Jamaica
JPN Japan
JOR Jordan
KAZ Kazakhstan
CXR Christmas Island
ATA Antarctica
HMD Heard Island and McDonald Islands
CCK Cocos (Keeling) Islands
BVT Bouvet Island
KEN Kenya
KIR Kiribati
KWT Kuwait
KGZ Kyrgyzstan
LVA Latvia
LBN Lebanon
LSO Lesotho
LBR Liberia
LBY Libya
LIE Liechtenstein
LTU Lithuania
LUX Luxembourg
MAC Macao
MKD Macedonia, the former Yugoslav Republic of
MDG Madagascar
MWI Malawi
MYS Malaysia
MDV Maldives
MLI Mali
MLT Malta
MHL Marshall Islands
MTQ Martinique
MRT Mauritania
MUS Mauritius
MEX Mexico
MDA Moldova, Republic of
MCO Monaco
MNG Mongolia
MSR Montserrat
MAR Morocco
MOZ Mozambique
MMR Myanmar
NAM Namibia
NRU Nauru
NPL Nepal
NLD Netherlands
NCL New Caledonia
NZL New Zealand
NIC Nicaragua
NER Niger
NGA Nigeria
NIU Niue
NFK Norfolk Island
MNP Northern Mariana Islands
NOR Norway
OMN Oman
PAK Pakistan
PLW Palau
PAN Panama
PNG Papua New Guinea
PRY Paraguay
PER Peru
PHL Philippines
PCN Pitcairn
POL Poland
PRT Portugal
PRI Puerto Rico
QAT Qatar
REU Reunion
RUS Russian Federation
RWA Rwanda
SHN Saint Helena, Ascension and Tristan da Cunha
KNA Saint Kitts and Nevis
LCA Saint Lucia
SPM Saint Pierre and Miquelon
VCT Saint Vincent and the Grenadines
WSM Samoa
SMR San Marino
KOR South Korea
PRK North Korea
COD Democratic Republic of the Congo
FSM Micronesia
AFG Afghanistan
ALB Albania
DZA Algeria
ASM American Samoa
AND Andorra
AGO Angola
AIA Anguilla
ATG Antigua and Barbuda
ARG Argentina
ARM Armenia
ABW Aruba
AUS Australia
AUT Austria
AZE Azerbaijan
BHS Bahamas
BHR Bahrain
BGD Bangladesh
BRB Barbados
BLR Belarus
BEL Belgium
BLZ Belize
BEN Benin
BMU Bermuda
BTN Bhutan
BOL Bolivia, Plurinational State of
BIH Bosnia and Herzegovina
BWA Botswana
BRA Brazil
BRN Brunei Darussalam
BGR Bulgaria
BFA Burkina Faso
BDI Burundi
KHM Cambodia
CMR Cameroon
CAN Canada
CYM Cayman Islands
CAF Central African Republic
TCD Chad
CHL Chile
CHN China
UMI United States Minor Outlying Islands
LAO Laos
CPV Cape Verde
VNM Vietnam
STP Sao Tome and Principe
SAU Saudi Arabia
SEN Senegal
SYC Seychelles
SLE Sierra Leone
SGP Singapore
SVK Slovakia
SVN Slovenia
SLB Solomon Islands
SOM Somalia
ESP Spain
LKA Sri Lanka
SDN Sudan
SUR Suriname
SJM Svalbard and Jan Mayen
SWZ Swaziland
SWE Sweden
CHE Switzerland
SYR Syrian Arab Republic
TWN Taiwan, Province of China
TJK Tajikistan
TZA Tanzania, United Republic of
THA Thailand
TGO Togo
MYT Mayotte
SGS South Georgia and the South Sandwich Islands
TKL Tokelau
TON Tonga
TTO Trinidad and Tobago
TUN Tunisia
TUR Turkey
TKM Turkmenistan
TCA Turks and Caicos Islands
TUV Tuvalu
UGA Uganda
UKR Ukraine
ARE United Arab Emirates
GBR United Kingdom
URY Uruguay
UZB Uzbekistan
VUT Vanuatu
VEN Venezuela, Bolivarian Republic of
VGB Virgin Islands, British
VIR Virgin Islands, U.S.
WLF Wallis and Futuna
ESH Western Sahara
SRB Serbia
MNE Montenegro
ALA Aland Islands
BES Bonaire, Sint Eustatius and Saba
CUW Curacao
GGY Guernsey
IMN Isle of Man
JEY Jersey
BLM Saint Barthelemy
MAF Saint Martin (French part)
SXM Sint Maarten (Dutch part)
SSD South Sudan
ATF French Southern Territories
IOT British Indian Ocean Territory
ROU Romania
PSE Palestine, State of
TLS East Timor
USA United States of America

List of Cities/Regencies

Code Name
1101 KAB. ACEH SELATAN
1102 KAB. ACEH TENGGARA
1103 KAB. ACEH TIMUR
1104 KAB. ACEH TENGAH
1105 KAB. ACEH BARAT
1106 KAB. ACEH BESAR
1107 KAB. PIDIE
1108 KAB. ACEH UTARA
1109 KAB. SIMEULUE
1110 KAB. ACEH SINGKIL
1111 KAB. BIREUEN
1112 KAB. ACEH BARAT DAYA
1113 KAB. GAYO LUES
1114 KAB. ACEH JAYA
1115 KAB. NAGAN RAYA
1116 KAB. ACEH TAMIANG
1117 KAB. BENER MERIAH
1118 KAB. PIDIE JAYA
1171 KOTA BANDA ACEH
1172 KOTA SABANG
1173 KOTA LHOKSEUMAWE
1174 KOTA LANGSA
1175 KOTA SUBULUSSALAM
1201 KAB. TAPANULI TENGAH
1202 KAB. TAPANULI UTARA
1203 KAB. TAPANULI SELATAN
1204 KAB. NIAS
1205 KAB. LANGKAT
1206 KAB. KARO
1207 KAB. DELI SERDANG
1208 KAB. SIMALUNGUN
1209 KAB. ASAHAN
1210 KAB. LABUHANBATU
1211 KAB. DAIRI
1212 KAB. TOBA SAMOSIR
1213 KAB. MANDAILING NATAL
1214 KAB. NIAS SELATAN
1215 KAB. PAKPAK BHARAT
1216 KAB. HUMBANG HASUNDUTAN
1217 KAB. SAMOSIR
1218 KAB. SERDANG BEDAGAI
1219 KAB. BATU BARA
1220 KAB. PADANG LAWAS UTARA
1221 KAB. PADANG LAWAS
1222 KAB. LABUHANBATU SELATAN
1223 KAB. LABUHANBATU UTARA
1224 KAB. NIAS UTARA
1225 KAB. NIAS BARAT
1271 KOTA MEDAN
1272 KOTA PEMATANG SIANTAR
1273 KOTA SIBOLGA
1274 KOTA TANJUNG BALAI
1275 KOTA BINJAI
1276 KOTA TEBING TINGGI
1277 KOTA PADANGSIDIMPUAN
1278 KOTA GUNUNGSITOLI
1301 KAB. PESISIR SELATAN
1302 KAB. SOLOK
1303 KAB. SIJUNJUNG
1304 KAB. TANAH DATAR
1305 KAB. PADANG PARIAMAN
1306 KAB. AGAM
1307 KAB. LIMA PULUH KOTA
1308 KAB. PASAMAN
1309 KAB. KEPULAUAN MENTAWAI
1310 KAB. DHARMASRAYA
1311 KAB. SOLOK SELATAN
1312 KAB. PASAMAN BARAT
1371 KOTA PADANG
1372 KOTA SOLOK
1373 KOTA SAWAHLUNTO
1374 KOTA PADANG PANJANG
1375 KOTA BUKITTINGGI
1376 KOTA PAYAKUMBUH
1377 KOTA PARIAMAN
1401 KAB. KAMPAR
1402 KAB. INDRAGIRI HULU
1403 KAB. BENGKALIS
1404 KAB. INDRAGIRI HILIR
1405 KAB. PELALAWAN
1406 KAB. ROKAN HULU
1407 KAB. ROKAN HILIR
1408 KAB. SIAK
1409 KAB. KUANTAN SINGINGI
1410 KAB. KEPULAUAN MERANTI
1471 KOTA PEKANBARU
1472 KOTA DUMAI
1501 KAB. KERINCI
1502 KAB. MERANGIN
1503 KAB. SAROLANGUN
1504 KAB. BATANGHARI
1505 KAB. MUARO JAMBI
1506 KAB. TANJUNG JABUNG BARAT
1507 KAB. TANJUNG JABUNG TIMUR
1508 KAB. BUNGO
1509 KAB. TEBO
1571 KOTA JAMBI
1572 KOTA SUNGAI PENUH
1601 KAB. OGAN KOMERING ULU
1602 KAB. OGAN KOMERING ILIR
1603 KAB. MUARA ENIM
1604 KAB. LAHAT
1605 KAB. MUSI RAWAS
1606 KAB. MUSI BANYUASIN
1607 KAB. BANYUASIN
1608 KAB. OGAN KOMERING ULU TIMUR
1609 KAB. OGAN KOMERING ULU SELATAN
1610 KAB. OGAN ILIR
1611 KAB. EMPAT LAWANG
1612 KAB. PENUKAL ABAB
1613 KAB. MUSI RAWAS UTARA
1671 KOTA PALEMBANG
1672 KOTA PAGAR ALAM
1673 KOTA LUBUK LINGGAU
1674 KOTA PRABUMULIH
1701 KAB. BENGKULU SELATAN
1702 KAB. REJANG LEBONG
1703 KAB. BENGKULU UTARA
1704 KAB. KAUR
1705 KAB. SELUMA
1706 KAB. MUKO MUKO
1707 KAB. LEBONG
1708 KAB. KEPAHIANG
1709 KAB. BENGKULU TENGAH
1771 KOTA BENGKULU
1801 KAB. LAMPUNG SELATAN
1802 KAB. LAMPUNG TENGAH
1803 KAB. LAMPUNG UTARA
1804 KAB. LAMPUNG BARAT
1805 KAB. TULANG BAWANG
1806 KAB. TANGGAMUS
1807 KAB. LAMPUNG TIMUR
1808 KAB. WAY KANAN
1809 KAB. PESAWARAN
1810 KAB. PRINGSEWU
1811 KAB. MESUJI
1812 KAB. TULANG BAWANG BARAT
1813 KAB. PESISIR BARAT
1871 KOTA BANDAR LAMPUNG
1872 KOTA METRO
1901 KAB. BANGKA
1902 KAB. BELITUNG
1903 KAB. BANGKA SELATAN
1904 KAB. BANGKA TENGAH
1905 KAB. BANGKA BARAT
1906 KAB. BELITUNG TIMUR
1971 KOTA PANGKAL PINANG
2101 KAB. BINTAN
2102 KAB. KARIMUN
2103 KAB. NATUNA
2104 KAB. LINGGA
2105 KAB. KEPULAUAN ANAMBAS
2171 KOTA BATAM
2172 KOTA TANJUNG PINANG
3101 KAB. ADM. KEP. SERIBU
3171 KOTA ADM. JAKARTA PUSAT
3172 KOTA ADM. JAKARTA UTARA
3173 KOTA ADM. JAKARTA BARAT
3174 KOTA ADM. JAKARTA SELATAN
3175 KOTA ADM. JAKARTA TIMUR
3201 KAB. BOGOR
3202 KAB. SUKABUMI
3203 KAB. CIANJUR
3204 KAB. BANDUNG
3205 KAB. GARUT
3206 KAB. TASIKMALAYA
3207 KAB. CIAMIS
3208 KAB. KUNINGAN
3209 KAB. CIREBON
3210 KAB. MAJALENGKA
3211 KAB. SUMEDANG
3212 KAB. INDRAMAYU
3213 KAB. SUBANG
3214 KAB. PURWAKARTA
3215 KAB. KARAWANG
3216 KAB. BEKASI
3217 KAB. BANDUNG BARAT
3218 KAB. PANGANDARAN
3271 KOTA BOGOR
3272 KOTA SUKABUMI
3273 KOTA BANDUNG
3274 KOTA CIREBON
3275 KOTA BEKASI
3276 KOTA DEPOK
3277 KOTA CIMAHI
3278 KOTA TASIKMALAYA
3279 KOTA BANJAR
3301 KAB. CILACAP
3302 KAB. BANYUMAS
3303 KAB. PURBALINGGA
3304 KAB. BANJARNEGARA
3305 KAB. KEBUMEN
3306 KAB. PURWOREJO
3307 KAB. WONOSOBO
3308 KAB. MAGELANG
3309 KAB. BOYOLALI
3310 KAB. KLATEN
3311 KAB. SUKOHARJO
3312 KAB. WONOGIRI
3313 KAB. KARANGANYAR
3314 KAB. SRAGEN
3315 KAB. GROBOGAN
3316 KAB. BLORA
3317 KAB. REMBANG
3318 KAB. PATI
3319 KAB. KUDUS
3320 KAB. JEPARA
3321 KAB. DEMAK
3322 KAB. SEMARANG
3323 KAB. TEMANGGUNG
3324 KAB. KENDAL
3325 KAB. BATANG
3326 KAB. PEKALONGAN
3327 KAB. PEMALANG
3328 KAB. TEGAL
3329 KAB. BREBES
3371 KOTA MAGELANG
3372 KOTA SURAKARTA
3373 KOTA SALATIGA
3374 KOTA SEMARANG
3375 KOTA PEKALONGAN
3376 KOTA TEGAL
3401 KAB. KULON PROGO
3402 KAB. BANTUL
3403 KAB. GUNUNGKIDUL
3404 KAB. SLEMAN
3471 KOTA YOGYAKARTA
3501 KAB. PACITAN
3502 KAB. PONOROGO
3503 KAB. TRENGGALEK
3504 KAB. TULUNGAGUNG
3505 KAB. BLITAR
3506 KAB. KEDIRI
3507 KAB. MALANG
3508 KAB. LUMAJANG
3509 KAB. JEMBER
3510 KAB. BANYUWANGI
3511 KAB. BONDOWOSO
3512 KAB. SITUBONDO
3513 KAB. PROBOLINGGO
3514 KAB. PASURUAN
3515 KAB. SIDOARJO
3516 KAB. MOJOKERTO
3517 KAB. JOMBANG
3518 KAB. NGANJUK
3519 KAB. MADIUN
3520 KAB. MAGETAN
3521 KAB. NGAWI
3522 KAB. BOJONEGORO
3523 KAB. TUBAN
3524 KAB. LAMONGAN
3525 KAB. GRESIK
3526 KAB. BANGKALAN
3527 KAB. SAMPANG
3528 KAB. PAMEKASAN
3529 KAB. SUMENEP
3571 KOTA KEDIRI
3572 KOTA BLITAR
3573 KOTA MALANG
3574 KOTA PROBOLINGGO
3575 KOTA PASURUAN
3576 KOTA MOJOKERTO
3577 KOTA MADIUN
3578 KOTA SURABAYA
3579 KOTA BATU
3601 KAB. PANDEGLANG
3602 KAB. LEBAK
3603 KAB. TANGERANG
3604 KAB. SERANG
3671 KOTA TANGERANG
3672 KOTA CILEGON
3673 KOTA SERANG
3674 KOTA TANGERANG SELATAN
5101 KAB. JEMBRANA
5102 KAB. TABANAN
5103 KAB. BADUNG
5104 KAB. GIANYAR
5105 KAB. KLUNGKUNG
5106 KAB. BANGLI
5107 KAB. KARANGASEM
5108 KAB. BULELENG
5171 KOTA DENPASAR
5201 KAB. LOMBOK BARAT
5202 KAB. LOMBOK TENGAH
5203 KAB. LOMBOK TIMUR
5204 KAB. SUMBAWA
5205 KAB. DOMPU
5206 KAB. BIMA
5207 KAB. SUMBAWA BARAT
5208 KAB. LOMBOK UTARA
5271 KOTA MATARAM
5272 KOTA BIMA
5301 KAB. KUPANG
5302 KAB TIMOR TENGAH SELATAN
5303 KAB. TIMOR TENGAH UTARA
5304 KAB. BELU
5305 KAB. ALOR
5306 KAB. FLORES TIMUR
5307 KAB. SIKKA
5308 KAB. ENDE
5309 KAB. NGADA
5310 KAB. MANGGARAI
5311 KAB. SUMBA TIMUR
5312 KAB. SUMBA BARAT
5313 KAB. LEMBATA
5314 KAB. ROTE NDAO
5315 KAB. MANGGARAI BARAT
5316 KAB. NAGEKEO
5317 KAB. SUMBA TENGAH
5318 KAB. SUMBA BARAT DAYA
5319 KAB. MANGGARAI TIMUR
5320 KAB. SABU RAIJUA
5321 KAB. MALAKA
5371 KOTA KUPANG
6101 KAB. SAMBAS
6102 KAB. MEMPAWAH
6103 KAB. SANGGAU
6104 KAB. KETAPANG
6105 KAB. SINTANG
6106 KAB. KAPUAS HULU
6107 KAB. BENGKAYANG
6108 KAB. LANDAK
6109 KAB. SEKADAU
6110 KAB. MELAWI
6111 KAB. KAYONG UTARA
6112 KAB. KUBU RAYA
6171 KOTA PONTIANAK
6172 KOTA SINGKAWANG
6201 KAB. KOTAWARINGIN BARAT
6202 KAB. KOTAWARINGIN TIMUR
6203 KAB. KAPUAS
6204 KAB. BARITO SELATAN
6205 KAB. BARITO UTARA
6206 KAB. KATINGAN
6207 KAB. SERUYAN
6208 KAB. SUKAMARA
6209 KAB. LAMANDAU
6210 KAB. GUNUNG MAS
6211 KAB. PULANG PISAU
6212 KAB. MURUNG RAYA
6213 KAB. BARITO TIMUR
6271 KOTA PALANGKARAYA
6301 KAB. TANAH LAUT
6302 KAB. KOTABARU
6303 KAB. BANJAR
6304 KAB. BARITO KUALA
6305 KAB. TAPIN
6306 KAB. HULU SUNGAI SELATAN
6307 KAB. HULU SUNGAI TENGAH
6308 KAB. HULU SUNGAI UTARA
6309 KAB. TABALONG
6310 KAB. TANAH BUMBU
6311 KAB. BALANGAN
6371 KOTA BANJARMASIN
6372 KOTA BANJARBARU
6401 KAB. PASER
6402 KAB. KUTAI KARTANEGARA
6403 KAB. BERAU
6407 KAB. KUTAI BARAT
6408 KAB. KUTAI TIMUR
6409 KAB. PENAJAM PASER UTARA
6411 KAB. MAHAKAM ULU
6471 KOTA BALIKPAPAN
6472 KOTA SAMARINDA
6474 KOTA BONTANG
6501 KAB. BULUNGAN
6502 KAB. MALINAU
6503 KAB. NUNUKAN
6504 KAB. TANA TIDUNG
6571 KOTA TARAKAN
7101 KAB. BOLAANG MONGONDOW
7102 KAB. MINAHASA
7103 KAB. KEPULAUAN SANGIHE
7104 KAB. KEPULAUAN TALAUD
7105 KAB. MINAHASA SELATAN
7106 KAB. MINAHASA UTARA
7107 KAB. MINAHASA TENGGARA
7108 KAB. BOLAANG MONGONDOW UTARA
7109 KAB. KEP. SIAU
7110 KAB. BOLAANG MONGONDOW TIMUR
7111 KAB. BOLAANG MONGONDOW SELATAN
7171 KOTA MANADO
7172 KOTA BITUNG
7173 KOTA TOMOHON
7174 KOTA KOTAMOBAGU
7201 KAB. BANGGAI
7202 KAB. POSO
7203 KAB. DONGGALA
7204 KAB. TOLI TOLI
7205 KAB. BUOL
7206 KAB. MOROWALI
7207 KAB. BANGGAI KEPULAUAN
7208 KAB. PARIGI MOUTONG
7209 KAB. TOJO UNA UNA
7210 KAB. SIGI
7211 KAB. BANGGAI LAUT
7212 KAB. MOROWALI UTARA
7271 KOTA PALU
7301 KAB. KEPULAUAN SELAYAR
7302 KAB. BULUKUMBA
7303 KAB. BANTAENG
7304 KAB. JENEPONTO
7305 KAB. TAKALAR
7306 KAB. GOWA
7307 KAB. SINJAI
7308 KAB. BONE
7309 KAB. MAROS
7310 KAB. PANGKAJENE
7311 KAB. BARRU
7312 KAB. SOPPENG
7313 KAB. WAJO
7314 KAB. SIDENRENG RAPPANG
7315 KAB. PINRANG
7316 KAB. ENREKANG
7317 KAB. LUWU
7318 KAB. TANA TORAJA
7322 KAB. LUWU UTARA
7324 KAB. LUWU TIMUR
7326 KAB. TORAJA UTARA
7371 KOTA MAKASSAR
7372 KOTA PARE PARE
7373 KOTA PALOPO
7401 KAB. KOLAKA
7402 KAB. KONAWE
7403 KAB. MUNA
7404 KAB. BUTON
7405 KAB. KONAWE SELATAN
7406 KAB. BOMBANA
7407 KAB. WAKATOBI
7408 KAB. KOLAKA UTARA
7409 KAB. KONAWE UTARA
7410 KAB. BUTON UTARA
7411 KAB. KOLAKA TIMUR
7412 KAB. KONAWE KEPULAUAN
7413 KAB. MUNA BARAT
7414 KAB. BUTON TENGAH
7415 KAB. BUTON SELATAN
7471 KOTA KENDARI
7472 KOTA BAU BAU
7501 KAB. GORONTALO
7502 KAB. BOALEMO
7503 KAB. BONE BOLANGO
7504 KAB. PAHUWATO
7505 KAB. GORONTALO UTARA
7571 KOTA GORONTALO
7601 KAB. MAMUJU UTARA
7602 KAB. MAMUJU
7603 KAB. MAMASA
7604 KAB. POLEWALI MANDAR
7605 KAB. MAJENE
7606 KAB. MAMUJU TENGAH
8101 KAB. MALUKU TENGAH
8102 KAB. MALUKU TENGGARA
8103 KAB MALUKU TENGGARA
8104 KAB. BURU
8105 KAB. SERAM BAGIAN TIMUR
8106 KAB. SERAM BAGIAN BARAT
8107 KAB. KEPULAUAN ARU
8108 KAB. MALUKU BARAT DAYA
8109 KAB. BURU SELATAN
8171 KOTA AMBON
8172 KOTA TUAL
8201 KAB. HALMAHERA BARAT
8202 KAB. HALMAHERA TENGAH
8203 KAB. HALMAHERA UTARA
8204 KAB. HALMAHERA SELATAN
8205 KAB. KEPULAUAN SULA
8206 KAB. HALMAHERA TIMUR
8207 KAB. PULAU MOROTAI
8208 KAB. PULAU TALIABU
8271 KOTA TERNATE
8272 KOTA TIDORE KEPULAUAN
9101 KAB. MERAUKE
9102 KAB. JAYAWIJAYA
9103 KAB. JAYAPURA
9104 KAB. NABIRE
9105 KAB. KEPULAUAN YAPEN
9106 KAB. BIAK NUMFOR
9107 KAB. PUNCAK JAYA
9108 KAB. PANIAI
9109 KAB. MIMIKA
9110 KAB. SARMI
9111 KAB. KEEROM
9112 KAB PEGUNUNGAN BINTANG
9113 KAB. YAHUKIMO
9114 KAB. TOLIKARA
9115 KAB. WAROPEN
9116 KAB. BOVEN DIGOEL
9117 KAB. MAPPI
9118 KAB. ASMAT
9119 KAB. SUPIORI
9120 KAB. MAMBERAMO RAYA
9121 KAB. MAMBERAMO TENGAH
9122 KAB. YALIMO
9123 KAB. LANNY JAYA
9124 KAB. NDUGA
9125 KAB. PUNCAK
9126 KAB. DOGIYAI
9127 KAB. INTAN JAYA
9128 KAB. DEIYAI
9171 KOTA JAYAPURA
9201 KAB. SORONG
9202 KAB. MANOKWARI
9203 KAB. FAK FAK
9204 KAB. SORONG SELATAN
9205 KAB. RAJA AMPAT
9206 KAB. TELUK BINTUNI
9207 KAB. TELUK WONDAMA
9208 KAB. KAIMANA
9209 KAB. TAMBRAUW
9210 KAB. MAYBRAT
9211 KAB. MANOKWARI SELATAN
9212 KAB. PEGUNUNGAN ARFAK
9271 KOTA SORONG

Error Codes

Http Code Code Description Type
422 AMAL Above Maximum Amount Limit is an error caused by your submitted transaction amount is above maximum limit FT
422 BMA Below Minimum Amount is an error caused by your submitted transaction amount below IDR 10,000 All
422 BNF Bank Not Found is an error caused by your submitted bank parameter not yet supported All
422 BPNF Bank Product Not Found is an error caused by bank not supported for specific VA type VA
422 BRA Blocked Recipient Account is an error caused by recipient account is blocked by bank FT
422 CANF Client Account Not Found is an error caused by your submitted invalid "client_account_number" All
422 CTRAE Client Trans Reference Already Exist is an error caused by your submitted same client reference with previous transaction All
422 IFCA Insufficient Fund on Client Account is an error caused by your balance is not sufficient for the transaction FT
422 IRA Inactive Recipient Account is an error caused by transaction rejected by DMT Bank Partner due recipient account inactive FT
422 IRAN Invalid Recipient Account or Name is an error caused by transaction rejected by DMT Bank Partner due invalid recipient name FT
422 IRBD Invalid Recipient Birth Date is an error caused by your submitted invalid "recipient.birth.date" FT
422 IRIT Invalid Recipient Identity Type is an error caused by your submitted invalid "sender.identity.type" FT
422 IRN Invalid Recipient Name is an error caused by your submitted recipient name is not matched with recipient name result from bank. Current threshold is 30%, mean that if the name is similar to the equal or above 30%, we will consider the name is matched. FT
422 ISBD Invalid Sender Birth Date is an error caused by your submitted invalid "sender.birth.date" FT
422 ISIT Invalid Sender Identity Type is an error caused by your submitted invalid "sender.identity.type" FT
422 ITA Invalid Transaction Amount is an error caused by your submitted invalid "amount" format FT
422 PNF Product Not Found is an error caused by your submitted invalid "type" All
422 RCRNF Recipient City/Regency Not Found is an error caused by your submitted invalid "recipient.cityregency_code" FT
422 SCNF Sender Country Not Found is an error caused by your submitted invalid "sender.country_code" FT
422 SCRNF Sender City/Regency Not Found is an error caused by your submitted invalid "sender.cityregency_code" FT
422 TNF Transaction Not Found is an error caused by transaction that you search is not found FT
422 URA Unregistered Recipient Account is an error caused by the recipient account is not found at the beneficiary bank. Possibility caused by typos in recipient account number or wrong bank code FT
422 VAD VA Number Already Deleted VA
422 VAE VA Number Already Expired VA
422 VAP VA Number Already Paid VA
422 VNF VA Number Not Found VA
500 CCNF Client Configuration Not Found is an error caused by specific configuration not active All
500 CGV Cannot Generate VA is an error caused by our service get disruption when get VA Number VA
500 CUNF Customer Not Found is an error caused by cannot find VA Customer data VA
500 DM Duplicate Transmission is an error caused by transaction rejected by DMT Bank Partners due duplicate unique ID FT
500 IANA IP Address Not Allowed is an error caused by transaction rejected by DMT Bank Partner due invalid IP Address VA
500 ICAS Invalid Charge Amount Settings is an error caused by invalid charge amount settings FT
500 IPN Invalid Phone Number is an error caused by transaction rejected by DMT Bank Partner due invalid phone number FT
500 IPR Invalid Parameter Request is an error caused by transaction rejected by DMT Bank Partner due invalid parameter VA
500 ISE Internal System Error is an error caused by our service get unhandled exception All
500 NRBP No Route to Bank Partner is an error caused by DMT partners route not set FT
500 SM System Malfunction is an error caused by get unhandled response from DMT bank partners All
500 ST Suspect Transaction is an error caused by transaction is mark as suspect by DMT bank partners. Consider to wait recociliation by next working days FT
500 TFC Transaction Force Credit is an error caused by transaction is mark as force credit by DMT bank partners. Transaction will be consider as success by next working days as long as recipient account is active FT
500 TOSH Transaction is Out of Service Hour is an error caused by transaction rejected by DMT bank partner due out of service hour FT
500 TRS Transaction Rejected by Switching is a general error response from our bank partners, possibility caused by End of Day or there is an error on sender bank, interbank switcher or recipient bank. You should retry the transaction if this error occurred in a few minutes or a few hours later FT
500 TTP Transaction Timeout on Partner is an error caused by DMT bank partners get timeout when sent transaction to swiching FT
500 UPE Undefined Partner Error is an error caused by unmapped response code from DMT partners All
500 UPR Unable to Process Request is an error caused by DMT bank partner cannot process transaction FT
503 ISD Internal Service Down is an error caused by one of our service is down All
503 PSD Partner Service is Down is an error caused by our bank partner didn’t response our request All
504 TO Timeout is an error caused by DMT bank partners service communitation getting timeout VA

Notes :

Changelog

Aug 24, 2021

Jul 06, 2021

May 07, 2021

Apr 07, 2021

Mar 18, 2021

Mar 12, 2021

Feb 24, 2021

Feb 15, 2021

Jan 13, 2021

Nov 30, 2020

Nov 13, 2020

Sep 04, 2020

Jun 11, 2020

May 27, 2020

May 08, 2020

Apr 14, 2020

Apr 23, 2020

Feb 23, 2020


March 11, 2022