Introduction
KIRIMDOKU API supports three methods of transfer processing, i.e: Bank Transfer, DOKU Wallet Transfer, and Outgoing Remittance. In KIRIMDOKU, these methods are distinguished as channels. See below for features of each channel:
-
DOKU Wallet Transfer (Channel 04): Wallet transfer service where transfer destination goes to the beneficiary DOKU wallet. With this service, a partner is required to validate the DOKU wallet account through inquiry.
-
Bank Transfer (Channel 07): Bank transfer service where transfer destination goes to the beneficiary's Indonesian bank and e-wallet account. With this service, a partner is required to validate the bank or e-wallet account through inquiry.
-
Outgoing Remittance (Channel 09): Bank transfer service where transfer destination goes to the beneficiary's overseas bank account. With this service, users can make money transfers abroad.
Getting Started
To integrate, a merchant should have AGENTKEY. Please prepare a minimum of 3 email credentials to be registered on the KIRIMDOKU system. The main function of these 3 email addresses are:
- Main Agent: To supervise all transactions
- Supervisor: To supervise all transactions and operator's accounts, and perform batch upload transfer.
- Operator: To perform all transactions and see insight reports from a transaction.
Process Flow
Below is the process flow between KIRIMDOKU and partners that can be used to perform a certain action.
KIRIMDOKU URL
KIRIMDOKU has 2 separate environments for sandbox/staging and production, distinguished by using different URLs and key credentials. You can integrate and test with our staging environment before going live.
Below are the URLs of KIRIMDOKU API:
Staging/sandbox URL https://staging.doku.com/apikirimdoku
Production URL https://kirimdoku.com/v2/api
Shared Key Hash Value
Sample Encryption Method
private static final String ALGORITHM = "AES";
public static String encrypt(String valueToEnc, String encKey) throws Exception {
Key key = new SecretKeySpec(encKey.getBytes(), ALGORITHM);
Cipher c = Cipher.getInstance(ALGORITHM);
c.init(Cipher.ENCRYPT_MODE, key);
byte[] encValue = c.doFinal(valueToEnc.getBytes());
return new String(Base64.encodeBase64(encValue));
} public static void main(String[] args) throws Exception {
String concatenatedString = "A41418" + "e8a32355-e202-4bc7-8ae7-ad4e7316bbcb";
String encryptionKey = "627054fevj1sutvs";
String signature = encrypt(concatenatedString, encryptionKey);
System.out.println(signature);
}<?php $agentKey = "A41418"; $requestId = "e8a32355-e202-4bc7-8ae7-ad4e7316bbcb"; $plaintext = $agentKey . $requestId; $key ="627054fevj1sutvs"; $cipher = "aes-128-ecb"; if (in_array($cipher, openssl_get_cipher_methods())) { $ciphertext = openssl_encrypt($plaintext, $cipher, $key); echo $ciphertext; echo "<br/> "; $original_plaintext = openssl_decrypt($ciphertext, $cipher, $key); echo $original_plaintext; } ?>
package mainimport ( "bytes" "crypto/aes" "crypto/cipher" "encoding/base64" "fmt" )func main() { src := "A41418e8a32355-e202-4bc7-8ae7-ad4e7316bbcb" key := "627054fevj1sutvs" crypted := AesEncrypt(src, key) AesDecrypt(crypted, []byte(key))}func AesDecrypt(crypted, key []byte) []byte { block, err := aes.NewCipher(key) if err != nil { fmt.Println("err is:", err) } blockMode := NewECBDecrypter(block) origData := make([]byte, len(crypted)) blockMode.CryptBlocks(origData, crypted) origData = PKCS5UnPadding(origData) plain := string(origData) fmt.Println("plain:", plain) return origData}func AesEncrypt(src, key string) []byte { block, err := aes.NewCipher([]byte(key)) if err != nil { fmt.Println("key error1", err) } if src == "" { fmt.Println("plain content empty") } ecb := NewECBEncrypter(block) content := []byte(src) content = PKCS5Padding(content, block.BlockSize()) crypted := make([]byte, len(content)) ecb.CryptBlocks(crypted, content) fmt.Println("encrypted:", base64.StdEncoding.EncodeToString(crypted)) return crypted}func PKCS5Padding(ciphertext []byte, blockSize int) []byte { padding := blockSize - len(ciphertext)%blockSize padtext := bytes.Repeat([]byte{byte(padding)}, padding) return append(ciphertext, padtext...)}func PKCS5UnPadding(origData []byte) []byte { length := len(origData) unpadding := int(origData[length-1]) return origData[:(length - unpadding)]}type ecb struct { b cipher.Block blockSize int}func newECB(b cipher.Block) *ecb { return &ecb{ b: b, blockSize: b.BlockSize(), }}type ecbEncrypter ecbfunc NewECBEncrypter(b cipher.Block) cipher.BlockMode { return (*ecbEncrypter)(newECB(b))}func (x *ecbEncrypter) BlockSize() int { return x.blockSize }func (x *ecbEncrypter) CryptBlocks(dst, src []byte) { if len(src)%x.blockSize != 0 { panic("crypto/cipher: input not full blocks") } if len(dst) < len(src) { panic("crypto/cipher: output smaller than input") } for len(src) > 0 { x.b.Encrypt(dst, src[:x.blockSize]) src = src[x.blockSize:] dst = dst[x.blockSize:] }}type ecbDecrypter ecbfunc NewECBDecrypter(b cipher.Block) cipher.BlockMode { return (*ecbDecrypter)(newECB(b))}func (x *ecbDecrypter) BlockSize() int { return x.blockSize }func (x *ecbDecrypter) CryptBlocks(dst, src []byte) { if len(src)%x.blockSize != 0 { panic("crypto/cipher: input not full blocks") } if len(dst) < len(src) { panic("crypto/cipher: output smaller than input") } for len(src) > 0 { x.b.Decrypt(dst, src[:x.blockSize]) src = src[x.blockSize:] dst = dst[x.blockSize:] }}
To secure the communication, DOKU implements Shared Key Hash Value - an additional parameter from Merchant or DOKU, called SIGNATURE. This parameter value is hashed using AES hash method with combination of ENCRYPTIONKEY. The hashed SIGNATURE generated by partner will be validated with hashed SIGNATURE generated by DOKU System and vice versa. If match, then it will be considered genuine request or response.
You can access KIRIMDOKU API staging by using these keys:
AGENTKEY: A41418
ENCRYPTIONKEY: 627054fevj1sutvs
Below is the sample code to generate signature:
Step - 1
Combine your agentKey and requestId to generate a raw string. Example:
String concatenatedString = "A41418" + "e8a32355-e202-4bc7-8ae7-ad4e7316bbcb"
concatednatedString will result in "A41418e8a32355-e202-4bc7-8ae7-ad4e7316bbcb"
Step - 2
An example of JAVA implementation to generate SIGNATURE is shown as below:
private static final String ALGORITHM = "AES";
public static String encrypt(String valueToEnc, String encKey) throws Exception {
Key key = new SecretKeySpec(encKey.getBytes(), ALGORITHM);
Cipher c = Cipher.getInstance(ALGORITHM);
c.init(Cipher.ENCRYPT_MODE, key);
byte[] encValue = c.doFinal(valueToEnc.getBytes());
return new String(Base64.encodeBase64(encValue));
}
Step - 3
Use concatenatedString with the 16 char ENCRYPTIONKEY given by KIRIMDOKU system to generate SIGNATURE content. An example of JAVA implementation is shown as below:
String concatenatedString = "A41418" + "e8a32355-e202-4bc7-8ae7-ad4e7316bbcb";
String encryptionKey = "627054fevj1sutvs";
String signature = encrypt(concatenatedString, encryptionKey);
// signature value shoud be:
// HL8PGPqGBaTOgdbZio9r1oJqT7GgNpwPU6vKZxHAmQBSEiCYuClafD2AzsNtvPP0
KIRIMDOKU API
This API reference is organized by KIRIMDOKU team. Any changes or updates will be notified by authorized personnel from DOKU to partners.
PING
Endpoint | Method | Definition |
---|---|---|
/ping | HTTP POST | Check connection availibility to API KIRIMDOKU |
REQUEST HEADER
Name | Mandatory | Value |
---|---|---|
Content-Type | Mandatory | application/json |
REQUEST BODY
Name | Type | Mandatory | Description |
---|---|---|---|
agentKey | String | Mandatory | Given AGENTKEY |
requestId | String | Mandatory | A unique request identifier. It is advisable to use UUID format. |
signature | String | Mandatory | Refer to Shared Key Hash Value section. |
RESPONSE BODY
Name | Type | Description |
---|---|---|
status | Integer | Response status (Success: 0 ) |
message | String | Response message (Success: Ok ) |
Check Balance
Check Balance Request Example
curl -X POST \
https://staging.doku.com/apikirimdoku/checkbalance \
-H 'Content-Type: application/json' \
-d '{
"agentKey": "A41418",
"requestId": "e8a32355-e202-4bc7-8ae7-ad4e7316bbcb",
"signature": "HL8PGPqGBaTOgdbZio9r1oJqT7GgNpwPU6vKZxHAmQBSEiCYuClafD2AzsNtvPP0"
}'
Endpoint | Method | Definition |
---|---|---|
/checkbalance | HTTP POST | To check partner last deposit balance |
REQUEST HEADER
Name | Mandatory | Value |
---|---|---|
Content-Type | Mandatory | application/json |
Check Balance - Success Response Example
{
"status": 0,
"message": "Check balance success",
"balance": {
"corporateName": "ABC Corp (TEST)",
"creditLimit": 0.000000,
"creditAlertLimit": 0.000000,
"creditLastBalance": 9999696393837.600000
}
}
Check Balance - Failed Response Example
{
"status" : 91,
"message" : "The Corporate is not active"
}
REQUEST BODY
Name | Type | Mandatory | Description |
---|---|---|---|
agentKey | String | Mandatory | Given AGENTKEY |
requestId | String | Mandatory | A unique request identifier. It is advisable to use UUID format. |
signature | String | Mandatory | Refer to Shared Key Hash Value section. |
RESPONSE BODY
Name | Type | Description | Example |
---|---|---|---|
status | Integer | Response status | 0 |
message | String | Response message | Check balance success |
balance | Object | Refer to Balance Object section. |
Check Rates
Check Rates Request Example
curl --location --request GET 'https://staging.doku.com/apikirimdoku/corporate/rate' \--header 'requestId: e8a32355-e202-4bc7-8ae7-ad4e7316bbcb' \--header 'agentKey: A41418' \--header 'signature: HL8PGPqGBaTOgdbZio9r1oJqT7GgNpwPU6vKZxHAmQBSEiCYuClafD2AzsNtvPP0' \--data-raw ''
Endpoint | Method | Definition |
---|---|---|
/corporate/rate | HTTP GET | To fetch partner's exchange rates of all currencies |
REQUEST HEADER
Name | Mandatory | Value |
---|---|---|
Content-Type | Mandatory | application/json |
Check Rates - Success Response Example
{
"status": 0,
"message": "Success",
"corporate": "ABC Corp (TEST)",
"timestamp": "2021-12-15T15:22:29.+0700",
"data": [
{
"senderCurrency": "IDR",
"receivingCurrency": "IDR",
"rate": 1.0
},
{
"senderCurrency": "SGD",
"receivingCurrency": "IDR",
"rate": 10783.05
}]
}
Check Rates - Failed Response Example
{
"status": 21,
"message": "Rate is not found",
"corporate": "ABC Corp (TEST)",
"timestamp": "2021-12-01T18:22:03.+0700"
}
{
"status" : 9,
"message" : "Unathorized access"
}
RESPONSE BODY
Name | Type | Description | Example |
---|---|---|---|
status | Integer | Response status | 0 |
message | String | Response message | Success |
corporate | String | Partner's corporate name | ABC Corp |
timestamp | Timestamp | YYYY-mm-DDTHH:MM:SS | 2021-12-15T15:22:29.+0700 |
data | Object | List of exchange rates. Refer to Exchange Rates Object section. |
Inquiry
Inquiry Request Example
curl -X POST \
https://staging.doku.com/apikirimdoku/cashin/inquiry \
-H 'Content-Type: application/json' \
-H 'agentKey: A41418' \
-H 'requestId: e8a32355-e202-4bc7-8ae7-ad4e7316bbcb' \
-H 'signature: HL8PGPqGBaTOgdbZio9r1oJqT7GgNpwPU6vKZxHAmQBSEiCYuClafD2AzsNtvPP0' \
-d '{
"channel": {
"code": "07"
},
"beneficiaryAccount": {
"bank": {
"code": "CENAIDJA",
"countryCode": "ID",
"id": "014",
"name": "BANK BCA"
},
"city": "Jakarta",
"name": "FHILEA HERMANUS",
"number": "0803944123"
},
"beneficiaryCountry": {
"code": "ID"
},
"beneficiaryCurrency": {
"code": "IDR"
},
"senderCountry": {
"code": "ID"
},
"senderCurrency": {
"code": "IDR"
},
"senderAmount": 10000
}'curl -X POST \
https://staging.doku.com/apikirimdoku/cashin/inquiry \
-H 'Content-Type: application/json' \
-H 'agentKey: A41418' \
-H 'requestId: e8a32355-e202-4bc7-8ae7-ad4e7316bbcb' \
-H 'signature: HL8PGPqGBaTOgdbZio9r1oJqT7GgNpwPU6vKZxHAmQBSEiCYuClafD2AzsNtvPP0' \
-d '{
"channel": {
"code": "04"
},
"beneficiaryAccount": {
"city": "Jakarta",
"name": "FHILEA HERMANUS"
},
"beneficiaryWalletId": "lea@doku.com",
"beneficiaryCountry": {
"code": "ID"
},
"beneficiaryCurrency": {
"code": "IDR"
},
"senderCountry": {
"code": "ID"
},
"senderCurrency": {
"code": "IDR"
},
"senderAmount": 10000
}'curl -X POST \
https://staging.doku.com/apikirimdoku/cashin/inquiry \
-H 'Content-Type: application/json' \
-H 'agentKey: A41418' \
-H 'requestId: e8a32355-e202-4bc7-8ae7-ad4e7316bbcb' \
-H 'signature: HL8PGPqGBaTOgdbZio9r1oJqT7GgNpwPU6vKZxHAmQBSEiCYuClafD2AzsNtvPP0' \
-d '{
"channel": {
"code": "09"
},
"beneficiaryAccount": {
"bank": {
"code": "CIBBSGSG",
"countryCode": "SG",
"id": "65232",
"name": "CIMB BANK BERHAD"
},
"city": "Singapore",
"name": "FHILEA HERMANUS",
"number": "1001400100"
},
"beneficiaryCountry": {
"code": "SG"
},
"beneficiaryCurrency": {
"code": "SGD"
},
"senderCountry": {
"code": "ID"
},
"senderCurrency": {
"code": "IDR"
},
"senderAmount": 1000000
}'curl -X POST \
https://staging.doku.com/apikirimdoku/cashin/inquiry \
-H 'Content-Type: application/json' \
-H 'agentKey: A41418' \
-H 'requestId: e8a32355-e202-4bc7-8ae7-ad4e7316bbcb' \
-H 'signature: HL8PGPqGBaTOgdbZio9r1oJqT7GgNpwPU6vKZxHAmQBSEiCYuClafD2AzsNtvPP0' \
-d '{
"channel": {
"code": "11"
},
"beneficiaryAccount": {
"bank": {
"code": "CENAIDJA",
"countryCode": "ID",
"id": "014",
"name": "BANK BCA"
},
"city": "Jakarta",
"name": "FHILEA HERMANUS",
"number": "0803944123"
},
"beneficiaryCountry": {
"code": "ID"
},
"beneficiaryCurrency": {
"code": "IDR"
},
"senderCountry": {
"code": "ID"
},
"senderCurrency": {
"code": "IDR"
},
"senderAmount": 100000
}'
Inquiry - Success Response Example
{
"status": 0,
"message": "Transfer Inquiry Approve",
"inquiry": {
"idToken": "I040781880663070",
"senderCountry": {
"code": "ID",
"name": "Indonesia",
"currency": {
"code": "IDR"
}
},
"senderCurrency": {
"code": "IDR"
},
"beneficiaryCountry": {
"code": "ID",
"name": "Indonesia",
"currency": {
"code": "IDR"
}
},
"beneficiaryCurrency": {
"code": "IDR"
},
"channel": {
"code": "07",
"name": "Bank Deposit"
},
"forexReference": {
"id": 2402, "forex": { "origin": { "code": "IDR" }, "destination": { "code": "IDR" } }, "rate" : 1.0, "createdTime" : 1614219703986 }, "fund" : { "origin" : { "amount" : 10000.000000, "currency" : "IDR" }, "fees": { "total": 3000.000000, "currency": "IDR", "components": [ { "description": "Default Fee", "amount": 3000.000000 } ], "additionalFee": 0.000000, "fixedFee": 0.000000 }, "destination": { "amount": 10000.00, "currency": "IDR" } }, "beneficiaryAccount": {
"id": null
"bank": {
"id": "014",
"code": "CENAIDJA",
"name": "Bank Central Asia BCA",
"city": "Jakarta",
"countryCode": "ID",
"groupBank": "Bank Central Asia BCA",
"province": "Jakarta"
},
"number": "0803944123",
"name": "FHILEA HERMANUS",
"city": "Jakarta,"
"address": "null"
}
}
}{
"status": 0,
"message": "Inquiry succeed",
"inquiry": {
"idToken": "I01613251428268",
"senderCountry": {
"code": "ID",
"name": "Indonesia",
"currency": {
"code": "IDR"
}
},
"senderCurrency": {
"code": "IDR"
},
"beneficiaryCountry": {
"code": "ID",
"name": "Indonesia",
"currency": {
"code": "IDR"
}
},
"beneficiaryCurrency": {
"code": "IDR"
},
"channel": {
"code": "04",
"name": "Cash To Wallet"
}, "forexReference": {
"id": 2402, "forex": { "origin": { "code": "IDR" }, "destination": { "code": "IDR" } }, "rate" : 1.0, "createdTime" : 1614219703986 }, "fund" : { "origin" : { "amount" : 10000.000000, "currency" : "IDR" }, "fees": { "total": 1000.000000, "currency": "IDR", "components": [ { "description": "Default Fee", "amount": 1000.000000 } ], "additionalFee": 0.000000, "fixedFee": 0.000000 }, "destination": { "amount": 10000.000000, "currency": "IDR"
} }, "beneficiaryWalletId": "lea@doku.com",
"beneficiaryWalletName": "FHILEA HERMANUS"
}
}{
"status": 0,
"message": "Transfer Inquiry Approve",
"inquiry": {
"idToken": "I0953314363184",
"senderCountry": {
"code": "ID",
"name": "Indonesia",
"currency": {
"code": "IDR"
}
"countryIsoCode": "IDN"
},
"senderCurrency": {
"code": "IDR"
},
"beneficiaryCountry": {
"code": "SG",
"name": "Singapore",
"currency": {
"code": "SGD"
}
"countryIsoCode": "SGP"
},
"beneficiaryCurrency": {
"code": "IDR"
},
"channel": {
"code": "09",
"name": "Outgoing Remittance"
},
"forexReference": {
"id": 491, "forex": { "origin": { "code": "IDR" }, "destination": { "code": "SGD" } }, "rate" : 9.36724265436231E-5, "createdTime" : 1644678804833 }, "fund" : { "origin" : { "amount" : 1000000.000000, "currency" : "IDR" }, "fees": { "total": 15000.000000, "currency": "IDR", "components": [ { "description": "Default Fee", "amount": 15000.000000 } ], "additionalFee": 0.000000, "fixedFee": 0.000000 }, "destination": { "amount": 93.672426, "currency": "SGD" } }, "transactionType": "B2C", "expirationDate": "Mon Jun 13 18:39:09 WIB 2022", "beneficiaryAccount": {
"id": null
"bank": {
"id": "65232",
"code": "CIBBSGSG",
"name": "CIMB BANK BERHAD",
"city": "Singapore",
"countryCode": "SG",
"groupBank": "null",
"province": "Jakarta"
},
"number": "1001400100",
"name": "FHILEA HERMANUS",
"city": "Singapore,"
"address": "null"
}
}
}{
"status": 0,
"message": "Transfer Inquiry Approve",
"inquiry": {
"idToken": "I0747731438866690",
"senderCountry": {
"code": "ID",
"name": "Indonesia",
"currency": {
"code": "IDR"
}
"countryIsoCode": "IDN"
},
"senderCurrency": {
"code": "IDR"
},
"beneficiaryCountry": {
"code": "ID",
"name": "Indonesia",
"currency": {
"code": "IDR"
}
"countryIsoCode": "IDN"
},
"beneficiaryCurrency": {
"code": "IDR"
},
"channel": {
"code": "11",
"name": "BI Fast",
"additionalParam": null,
},
"forexReference": {
"id": 2041, "forex": { "origin": { "code": "IDR" }, "destination": { "code": "IDR" } }, "rate" : 1.0, "createdTime" : 1551110545837 }, "fund" : { "origin" : { "amount" : 10000.000000, "currency" : "IDR" }, "fees": { "total": 2500.000000, "currency": "IDR", "components": [ { "description": "Default Fee", "amount": 2500.000000 } ], "additionalFee": 0.000000, "fixedFee": 0.000000 }, "destination": { "amount": 10000.00, "currency": "IDR" } }, "beneficiaryAccount": {
"id": null
"bank": {
"id": "014",
"code": "CENAIDJA",
"name": "Bank Central Asia BCA",
"city": "Jakarta",
"countryCode": "ID",
"groupBank": "Bank Central Asia BCA",
"province": "Jakarta",
"dcBankId": 11
},
"number": "0803944123",
"name": "FHILEA HERMANUS",
"city": "Jakarta",
"address": "null",
"inputMode": "null,"
"proxy": "null,"
"email": "null,"
"phoneNumber": "null"
}
}
}
Inquiry - Failed Response Example
(caused by invalid beneficiary currency)
{
"status": 11,
"message": "Invalid parameters",
"errors": {
"": [
"Beneficiary currency not valid"
]
}
}
Endpoint | Method | Definition |
---|---|---|
/cashin/inquiry | HTTP POST | Get beneficiary account information details |
REQUEST HEADER
Name | Mandatory | Value |
---|---|---|
Content-Type | Mandatory | application/json |
agentKey | Mandatory | Given AGENTKEY |
requestId | Mandatory | A unique request identifier. It is advisable to use UUID format. |
signature | Mandatory | Refer to Shared Key Hash Value section. |
REQUEST BODY
Name | Type | Mandatory | Description |
---|---|---|---|
channel | Object | Mandatory | Refer to Channel Object section. |
beneficiaryAccount | Object | Optional | Mandatory for channel 07 and 09 Beneficiary bank account information Refer to Beneficiary Account Object section. |
beneficiaryWalletId | String | Optional | Mandatory for channel 04 Beneficiary Email or Beneficiary Doku Wallet ID. E.g: lea@doku.com (beneficiary email), 1289006000 (beneficiary Doku wallet ID) |
transactionType | String | Optional | Mandatory for channel 09 B2B : Transaction is from a business to a business B2C : Transaction is from a business to an individual end user C2C : Transaction is from an individual end user to an individual end user C2B : Transaction is from an individual end user to a business |
beneficiaryCountry | Object | Mandatory | The country where the beneficiary resides. Refer to Country Object section. |
beneficiaryCurrency | Object | Mandatory | Beneficiary currency. Refer to Currency Object section. |
senderCountry | Object | Mandatory | Sender country. Refer to Country Object section. |
senderCurrency | Object | Mandatory | Sender currency. Refer to Currency Object section. |
senderAmount | Numeric | Mandatory | Channel 04: Min IDR 10.000, Max IDR 10.000.000 Channel 07: Min IDR 10.000, Max IDR 25.000.000 Channel 09: See below |
Country | Currency | Min Amount | Max Amount |
---|---|---|---|
Singapore | SGD | 0 | 200.000 |
Philippines | PHP | 0 | 25.000.000 |
RESPONSE BODY
Name | Type | Description | Example |
---|---|---|---|
status | Integer | Response status | 0 |
message | String | Response message | Transfer Inquiry Approve |
inquiry | Object | Refer to Inquiry Object section. |
Remit
Remit Request Example
curl -X POST \
https://staging.doku.com/apikirimdoku/cashin/remit \
-H 'Content-Type: application/json' \
-H 'agentKey: A41418' \
-H 'requestId: e8a32355-e202-4bc7-8ae7-ad4e7316bbcb' \
-H 'signature: HL8PGPqGBaTOgdbZio9r1oJqT7GgNpwPU6vKZxHAmQBSEiCYuClafD2AzsNtvPP0' \
-d '{
"channel": {
"code": "07"
},
"inquiry": {
"idToken": "I01429544261270"
},
"beneficiary": {
"country": {
"code": "ID"
},
"firstName": "FHILEA",
"lastName": "HERMANUS",
"phoneNumber": "628156056051"
},
"beneficiaryCity": "Jakarta",
"beneficiaryCountry": {
"code": "ID"
},
"beneficiaryAccount": {
"bank": {
"id": "014",
"code": "CENAIDJA",
"name": "BANK BCA",
"countryCode": "ID"
},
"city": "Jakarta",
"name": "FHILEA HERMANUS",
"number": "0803944123"
},
"beneficiaryCurrency": {
"code": "IDR"
},
"sender": {
"country": {
"code": "ID"
},
"firstName": "FHILEA",
"lastName": "HERMANUS",
"phoneNumber": "628156056051",
"birthDate": "1900-01-01",
"personalId": "01234567890",
"personalIdType": "KTP",
"personalIdCountry": {
"code": "ID"
}
},
"senderCountry": {
"code": "ID"
},
"senderCurrency": {
"code": "IDR"
},
"senderAmount": 10000,
"sendTrxId": "remit-20191007-001"
}'curl -X POST \
https://staging.doku.com/apikirimdoku/cashin/remit \
-H 'Content-Type: application/json' \
-H 'agentKey: A41418' \
-H 'requestId: e8a32355-e202-4bc7-8ae7-ad4e7316bbcb' \
-H 'signature: HL8PGPqGBaTOgdbZio9r1oJqT7GgNpwPU6vKZxHAmQBSEiCYuClafD2AzsNtvPP0' \
-d '{
"channel": {
"code": "04"
},
"inquiry": {
"idToken": "I01613251428268"
},
"beneficiary": {
"country": {
"code": "ID"
},
"firstName": "FHILEA",
"lastName": "HERMANUS",
"phoneNumber": "628156056051"
},
"beneficiaryCity": "Jakarta",
"beneficiaryCountry": {
"code": "ID"
},
"beneficiaryAccount": {
"city": "Jakarta",
"name": "FHILEA HERMANUS"
},
"beneficiaryWalletId": "lea@doku.com",
"beneficiaryCurrency": {
"code": "IDR"
},
"sender": {
"country": {
"code": "ID"
},
"firstName": "FHILEA",
"lastName": "HERMANUS",
"phoneNumber": "628156056051",
"birthDate": "1900-01-01",
"personalId": "01234567890",
"personalIdType": "KTP",
"personalIdCountry": {
"code": "ID"
}
},
"senderCountry": {
"code": "ID"
},
"senderCurrency": {
"code": "IDR"
},
"senderAmount": 10000,
"sendTrxId": "remit-20191007-002"
}'curl -X POST \
https://staging.doku.com/apikirimdoku/cashin/remit \
-H 'Content-Type: application/json' \
-H 'agentKey: A41418' \
-H 'requestId: e8a32355-e202-4bc7-8ae7-ad4e7316bbcb' \
-H 'signature: HL8PGPqGBaTOgdbZio9r1oJqT7GgNpwPU6vKZxHAmQBSEiCYuClafD2AzsNtvPP0' \
-d '{
"channel": {
"code": "09"
},
"inquiry": {
"idToken": "I0953916988400"
},
"transactionType":"B2C",
"beneficiary": {
"country": {
"code": "SG"
},
"firstName": "FHILEA",
"lastName": "HERMANUS",
"phoneNumber": "65200300"
},
"beneficiaryCity": "Singapore",
"beneficiaryCountry": {
"code": "SG"
},
"beneficiaryAccount": {
"bank": {
"id": "65232",
"code": "CIBBSGSG",
"name": "CIMB BANK BERHAD",
"countryCode": "SG"
},
"city": "Singapore",
"name": "FHILEA HERMANUS",
"number": "1001400100"
},
"beneficiaryCurrency": {
"code": "SGD"
},
"sender": {
"country": {
"code": "ID"
},
"firstName": "One Tech",
"lastName": "PTE LTD",
"phoneNumber": "628156056051",
"birthDate": "1900-01-01",
"personalId": "01234567890",
"personalIdType": "Other ID",
"personalIdCountry": {
"code": "ID"
}
},
"senderCountry": {
"code": "ID"
},
"senderCurrency": {
"code": "IDR"
},
"senderAmount": 1000000,
"sendTrxId": "remit-20191007-001"
}'curl -X POST \
https://staging.doku.com/apikirimdoku/cashin/remit \
-H 'Content-Type: application/json' \
-H 'agentKey: A41418' \
-H 'requestId: e8a32355-e202-4bc7-8ae7-ad4e7316bbcb' \
-H 'signature: HL8PGPqGBaTOgdbZio9r1oJqT7GgNpwPU6vKZxHAmQBSEiCYuClafD2AzsNtvPP0' \
-d '{
"channel": {
"code": "11"
},
"inquiry": {
"idToken": "I0747731438866690"
},
"beneficiary": {
"country": {
"code": "ID"
},
"firstName": "FHILEA",
"lastName": "HERMANUS",
"phoneNumber": "628156056051"
},
"beneficiaryCity": "Jakarta",
"beneficiaryCountry": {
"code": "ID"
},
"beneficiaryAccount": {
"bank": {
"id": "014",
"code": "CENAIDJA",
"name": "BANK BCA",
"countryCode": "ID"
},
"city": "Jakarta",
"name": "FHILEA HERMANUS",
"number": "0803944123"
},
"beneficiaryCurrency": {
"code": "IDR"
},
"sender": {
"country": {
"code": "ID"
},
"firstName": "FHILEA",
"lastName": "HERMANUS",
"phoneNumber": "628156056051",
"birthDate": "1900-01-01",
"personalId": "01234567890",
"personalIdType": "KTP",
"personalIdCountry": {
"code": "ID"
}
},
"senderCountry": {
"code": "ID"
},
"senderCurrency": {
"code": "IDR"
},
"senderAmount": 100000,
"sendTrxId": "remit-20231007-001"
}'
Remit - Success Response Example
{
"status": 0,
"message": "Remit accepted",
"remit": {
"paymentData": {
"mallId": "2",
"chainMallId": null,
"accountNumber": "00",
"accountName": "ABC Corp (TEST)",
"channelCode": "07",
"inquiryId": "I01429544261270",
"currency": "IDR",
"amount": "10000.00",
"trxCode": "bc629bff-0cc9-45d3-8fa8-f27341ca8228",
"hostRefNumber": null,
"issuerName": null,
"responseCode": "00",
"responseMsg": "Transfer Approve",
"paymentSystrace": null
},
"transactionId": "DK0856068",
"transactionStatus": 50
}
}{
"status": 0,
"message": "Remit accepted",
"remit": {
"transactionId": "DK0857458",
"transactionStatus": 50
}
}{
"status": 0,
"message": "Remit accepted",
"remit": {
"paymentData": {
"mallId": "90",
"chainMallId": null,
"accountNumber": "0097854602",
"accountName": "ABC Corp (TEST)",
"channelCode": "09",
"inquiryId": "I0953916988400",
"currency": "SGD",
"amount": "93.672426",
"trxCode": "80dc160c-1403-401e-ba60-f1da85767df2",
"hostRefNumber": null,
"issuerName": CIMB BANK BERHAD,
"responseCode": "20000",
"responseMsg": "CONFIRMED",
"paymentSystrace": null,
"transactionType": "B2C",
"purposeOfRemittance": null,
"documentReferenceNumber": null
},
"transactionId": "DK0001212",
"transactionStatus": 20
}
}{
"status": 0,
"message": "Remit accepted",
"remit": {
"paymentData": {
"mallId": "19s",
"chainMallId": null,
"accountNumber": "0062849056",
"accountName": "ABC Corp (TEST)",
"channelCode": "11",
"inquiryId": "I0747731438866690",
"currency": "IDR",
"amount": "10000.00",
"trxCode": "471edb0c-c485-484a-bdad-7b50a3e5a23e",
"hostRefNumber": null,
"issuerName": null,
"responseCode": "2001800",
"responseMsg": "Transfer Approve",
"paymentSystrace": null,
},
"transactionId": "DK01068095",
"transactionStatus": 50
}
}
Remit - Failed Response Example
(caused by empty sender first name)
{
"status": 11,
"message": "Invalid parameters",
"errors": {
"": [
"Sender firstName is required"
]
}
}
Endpoint | Method | Definition |
---|---|---|
/cashin/remit | HTTP POST | Execute transfer to the beneficiary |
REQUEST HEADER
Name | Mandatory | Value |
---|---|---|
Content-Type | Mandatory | application/json |
agentKey | Mandatory | Given AGENTKEY |
requestId | Mandatory | A unique request identifier. It is advisable to use UUID format. |
signature | Mandatory | Refer to Shared Key Hash Value section. |
REQUEST BODY
Name | Type | Mandatory | Description | ||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
channel | Object | Mandatory | Refer to Channel Object section. | ||||||||||||||||||||||||||||||||||||||||||
inquiry | Object | Mandatory | Refer to Inquiry Object section. | ||||||||||||||||||||||||||||||||||||||||||
transactionType | String | Optional | Mandatory for channel 09 B2B : Transaction is from a business to a business B2C : Transaction is from a business to an individual end user C2C : Transaction is from an individual end user to an individual end user C2B : Transaction is from an individual end user to a business |
||||||||||||||||||||||||||||||||||||||||||
purposeOfRemittance | String | Optional | Mandatory for channel = 09 and transactionType = B2B
|
||||||||||||||||||||||||||||||||||||||||||
documentReferenceNumber | String | Optional | Mandatory for channel 09 and transactionType = B2B. Reference number of document related to the transaction that can be used as underlying. E.g: invoice number, agreement number, purchase order number. |
||||||||||||||||||||||||||||||||||||||||||
beneficiary | Object | Mandatory | Refer to Beneficiary Object section. | ||||||||||||||||||||||||||||||||||||||||||
beneficiaryCity | String | Mandatory | The city where the beneficiary resides.e.g: Jakarta |
||||||||||||||||||||||||||||||||||||||||||
beneficiaryCountry | Object | Mandatory | The country where the beneficiary resides. Refer to Country Object section. | ||||||||||||||||||||||||||||||||||||||||||
beneficiaryAccount | Object | Optional | Mandatory for channel 07 and 09. Beneficiary bank account information. Refer to Beneficiary Account Object section. |
||||||||||||||||||||||||||||||||||||||||||
beneficiaryWalletId | String | Optional | Mandatory for channel 04. Beneficiary Email or Beneficiary Doku Wallet ID. E.g: lea@doku.com , 1289006000 |
||||||||||||||||||||||||||||||||||||||||||
beneficiaryCurrency | Object | Mandatory | Beneficiary currency. Refer to Currency Object section. |
||||||||||||||||||||||||||||||||||||||||||
sender | Object | Mandatory | Sender personal information. Refer to Sender Object section. |
||||||||||||||||||||||||||||||||||||||||||
senderCountry | Object | Mandatory | Sender Country. Refer to Country Object section. |
||||||||||||||||||||||||||||||||||||||||||
senderCurrency | Object | Mandatory | Sender Currency. Refer to Currency Object section. |
||||||||||||||||||||||||||||||||||||||||||
senderAmount | Numeric | Mandatory | Channel 04: Min IDR 10.000, Max IDR 10.000.000 Channel 07: Min IDR 10.000, Max IDR 25.000.000 Channel 09: See below |
||||||||||||||||||||||||||||||||||||||||||
sendTrxId | String | Optional | Transaction ID from merchant side. Must be unique per request. E.g: REF-001-001 |
||||||||||||||||||||||||||||||||||||||||||
senderNote | String | Optional | Note or information from sender. E.g: Insurance fee |
Country | Currency | Min Amount | Max Amount |
---|---|---|---|
Singapore | SGD | 0 | 200.000 |
Philippines | PHP | 0 | 25.000.000 |
RESPONSE BODY
Name | Type | Description | Example |
---|---|---|---|
status | Integer | Response status | 0 |
message | String | Response message | Remit accepted |
remit | Object | Refer to Remit Object section. |
Transaction Info
Transaction Info Request Example
curl -X POST \
https://staging.doku.com/apikirimdoku/transaction/info \
-H 'Content-Type: application/json' \
-H 'agentKey: A41418' \
-H 'requestId: e8a32355-e202-4bc7-8ae7-ad4e7316bbcb' \
-H 'signature: HL8PGPqGBaTOgdbZio9r1oJqT7GgNpwPU6vKZxHAmQBSEiCYuClafD2AzsNtvPP0' \
-d '{
"transactionId": "DK0856068"
}'
Transaction Info - Success Response Example
{
"transaction": {
"id": "DK0856068",
"inquiryId": "I01429544261270",
"sendTrxId": "b062e358-8a8d-498d-90c2-1bed87c8dea3",
"status": 50,
"createdTime": 1569234448061,
"cashInTime": "2019-09-23 17:27:28",
"agent": {
"code": "A41418",
"country": {
"code": "ID",
"name": "Indonesia",
"currency": {
"code": "IDR"
}
},
"user": {
"username": "oabc",
"name": "o abc"
}
},
"channel": {
"code": "07",
"name": "Bank Deposit"
},
"sender": {
"id": "CID0154734",
"firstName": "FHILEA",
"lastName": "HERMANUS",
"personalIdType": "KTP",
"personalId": "01234567890",
"birthDate": "1900-01-01",
"phoneNumber": "628156056051",
"gender": "NULL",
"country": {
"code": "ID",
"name": "Indonesia",
"currency": {
"code": "IDR"
}
},
"cityName": null,
"address": null,
"postalCode": null,
"email": null
},
"beneficiary": {
"id": "CID0154735",
"firstName": "FHILEA",
"lastName": "HERMANUS",
"personalIdType": null,
"personalId": null,
"phoneNumber": "628156056051",
"gender": "NULL",
"country": {
"code": "ID",
"name": "Indonesia",
"currency": {
"code": "IDR"
}
},
"cityName": null,
"address": null,
"postalCode": null,
"email": null
},
"fund": {
"origin": {
"country": {
"code": "ID",
"name": "Indonesia",
"currency": {
"code": "IDR"
}
},
"currency": "IDR",
"amount": 10000.000000
},
"destination": {
"country": {
"code": "ID",
"name": "Indonesia",
"currency": {
"code": "IDR"
}
},
"currency": "IDR",
"amount": 10000.000000
},
"fees": {
"total": 6500.000000,
"fixedFee": 0.000000,
"additionalFee": 0.000000,
"currency": "IDR",
"components": [
{
"description": "Default Fee",
"amount": 6500.000000
}
]
}
},
"transactionlog": {
"status": 0,
"statusMessage": "Processed",
"referenceStatus": "00",
"referenceMessage": "Transfer Approve",
"channelCode": "07"
}
},
"status": 0,
"message": "Transaction info success"
}
Transaction Info - Failed Response Example
(caused by invalid transactionId)
{
"status": 11,
"message": "Invalid parameters",
"errors": {
"": [
"Transaction could not be found"
]
}
}
Endpoint | Method | Definition |
---|---|---|
/transaction/info | HTTP POST | Get transaction status or information |
REQUEST HEADER
Name | Mandatory | Value |
---|---|---|
Content-Type | Mandatory | application/json |
agentKey | Mandatory | Given AGENTKEY |
requestId | Mandatory | A unique request identifier. It is advisable to use UUID format. |
signature | Mandatory | Refer to Shared Key Hash Value section. |
REQUEST BODY
Name | Type | Mandatory | Description |
---|---|---|---|
transactionId | String | Mandatory | Transaction Id can be filled with Inquiry idToken, Remit transactionId or
Remit sendTrxId value. E.g: DK0856068 (Remit transactionId). |
RESPONSE BODY
Name | Type | Description |
---|---|---|
transaction | Object | Refer to Transaction Object section. Use transaction.status value to determine whether beneficiary receiving the funds or not. E.g: Success: 50 (see possible
Transaction Status) |
status | Integer | Response status (E.g: Success: 0 ) |
message | String | Response message (E.g: Success: Transaction info success ) |
Refund Notification
Refund Request Example performed by KIRIMDOKU to Partners
{
"activityCode"": "200",
"transactionId": "DK0802623",
"processDate":1548322727830
"message":"Transaction is refunded"
}
The purpose of refund notification is to notify partners when refund occured in KIRIMDOKU system. Refund notification is optional. If not implemented, partners may opted to call API transaction info to fetch the status of a transaction.
To receive refund notifications, prepare Callback URLs for sandbox and production environment.
Refund Response Example performed by Partners to KIRIMDOKU
{
"status"": "true",
"transactionId": "DK0802623",
"responseCode":"00"
"responseMessage":"Successfully processed"
}
Endpoint | Method | Definition |
---|---|---|
Provided by partner | HTTP POST | Refund notify is sent if refund occured in KIRIMDOKU System. We will send it to the partner with the url that has been registered, and the notification will be done maximum 3 times or until the notification callback response is correct. |
REQUEST HEADER
Name | Type | Mandatory | Description | Example |
---|---|---|---|---|
Content-Type | String | Mandatory | The Content-Type field indicates that JSON type is acceptable to send to the recipient | application/json |
requestId | String | Mandatory | Unique reference identification send by the API partner | "fd53b1e3-9c35-4dfa-a95ca8dbc5695485" |
agentKey | String | Mandatory | Hash key of authorization agent | "A41418" |
signature | ENC | Mandatory | Unique authorization code generated by partner validated by KIRIMDOKU |
REQUEST BODY
Name | Type | Mandatory | Description | Example |
---|---|---|---|---|
transactionId | String | Mandatory | Transaction ID that have been refunded by KIRIMDOKU | "DK0802623" |
activityCode | String | Mandatory | Specific notification code for refund activity | "200" |
message | String | Mandatory | Refund activity message | "Transaction is refunded" |
processDate | Numeric | Mandatory | Time and date of notification in epoch format | 1548322727830 |
REFUND RESPONSE
After partners received refund notification from KIRIMDOKU system, partners must response with the following specification.
Name | Type | Mandatory | Description | Example |
---|---|---|---|---|
status | Boolean | Mandatory | Refund notification status | "true" when the notification is processed succesfully, "false" otherwise |
transactionId | String | Mandatory | Transaction ID that is sent from KIRIMDOKU to request notify | "DK0802623" |
responseCode | Numeric | Mandatory | Flagging code for respond notification of refund activity | "00" when the callback is processed succesfully, "01" when the callback has been processed before, other code when failed occured |
responseMessage | String | Mandatory | A message describing the respond notification | "Successfully processed" |
Request Objects
CHANNEL OBJECT
Name | Type | Mandatory | Description |
---|---|---|---|
code | String | Mandatory | 04 : DOKU Wallet Transfer 07 : Bank Transfer 09 : Outgoing Remittance 11 : BI Fast |
BENEFICIARY ACCOUNT OBJECT
Name | Type | Mandatory | Description | Example |
---|---|---|---|---|
bank | Object | Mandatory | Refer to Bank Object section. | |
address | String | Optional | Beneficiary account address | Jl. Merdeka 45 |
city | String | Mandatory | Beneficiary account city | Jakarta |
name | String | Mandatory | Beneficiary account name | John Doe |
number | String | Mandatory | Beneficiary bank account number | 6790153860 |
BANK OBJECT
Name | Type | Mandatory | Description | Example |
---|---|---|---|---|
code | String | Mandatory | Bank Swift code. See Indonesian Banks for channel 07. See Overseas Banks for channel 09. |
CENAIDJA |
countryCode | String | Mandatory | Bank country code (two-letter ISO 3166-2 country code) | ID |
id | String | Mandatory | The id of the beneficiary bank. See Indonesian Banks for channel 07. See Overseas Banks for channel 09. |
014 |
name | String | Mandatory | Beneficiary bank name. See Indonesian Banks for channel 07. See Overseas Banks for channel 09. |
Bank BCA |
COUNTRY OBJECT
Name | Type | Mandatory | Description | Example |
---|---|---|---|---|
code | String | Mandatory | Two-letter ISO 3166-2 country code | ID |
CURRENCY OBJECT
Name | Type | Mandatory | Description | Example |
---|---|---|---|---|
code | String | Mandatory | Three-letter ISO 4217 currency code | IDR |
INQUIRY OBJECT
Name | Type | Mandatory | Description | Example |
---|---|---|---|---|
idToken | String | Mandatory | Inquiry idToken from the last Inquiry API. | I058372738354349 |
BENEFICIARY OBJECT
Name | Type | Mandatory | Description | Example |
---|---|---|---|---|
country | Object | Mandatory | Native country of the beneficiary. Refer to Country Object section. |
|
firstName | String | Mandatory | Beneficiary first name. | John |
lastName | String | Mandatory | Beneficiary last name. | Doe |
phoneNumber | String | Mandatory | Beneficiary phone number. | 628561223123 |
SENDER OBJECT
Name | Type | Mandatory | Description | Example |
---|---|---|---|---|
address | String | Optional | Mandatory for channel 09. Sender address. |
Jl. Paus |
country | Object | Mandatory | Refer to Country Object section. | |
firstName | String | Mandatory | Sender first name. | Mia |
lastName | String | Mandatory | Sender last name. | Smith |
phoneNumber | String | Mandatory | Sender phone number. | 62856123456 |
birthDate | String | Mandatory | Sender birth date. In YYYY-MM-DD format. |
2002-12-01 |
personalId | String | Mandatory | Sender personal (national) id number. | 167101110100001 |
personalIdType | String | Mandatory | Sender personal (national) id type | KTP, PASSPORT |
personalIdCountry | Object | Mandatory | Country code of publisher of sender's personal ID. Refer to Country Object section. |
Response Objects
BALANCE OBJECT
Name | Type | Description |
---|---|---|
corporateName | String | Partner's corporate name |
creditLimit | Decimal | The remaining balance a partner can hold. If partner's last deposit balance is below this amount, then the remaining last deposit balance cannot be used for transactions. |
creditAlertLimit | Decimal | To give email alert to partners when the amount of money in partner's last deposit balance reaching or below this amount. |
creditLastBalance | Decimal | Partner's last deposit balance |
EXCHANGE RATES OBJECT
Name | Type | Description | Example |
---|---|---|---|
senderCurrency | String | Source currency code. Three-letter ISO 4217 currency code |
SGD |
receivingCurrency | String | Target (receiving) currency code. Three-letter ISO 4217 currency code |
IDR |
rate | Decimal | Exchange rate value | 10783.05 |
INQUIRY OBJECT
Name | Type | Description | Example |
---|---|---|---|
idToken | String | Id from the last inquiry. Save this id to be used in Remit API. |
I058372738354349 |
senderCountry | Object | Refer to Country Object section. | |
senderCurrency | Object | Refer to Currency Object section. | |
beneficiaryCountry | Object | Refer to Country Object section. | |
beneficiaryCurrency | Object | Refer to Currency Object section. | |
channel | Object | Refer to Channel Object section. | |
forexReference | Object | Refer to Forex Reference Object section. | |
fund | Object | Refer to Fund Object section. | |
transactionType | String | Only for channel 09 response B2B , B2C , C2C , C2B |
B2B |
expirationDate | String | Only for channel 09 response Inquiry expiration date time. |
Sat Feb 19 23:23:16 WIB 2022 |
beneficiaryAccount | Object | Only for channel 07 and 09 response Refer to Beneficiary Account Object section. |
|
beneficiaryWalletId | String | Only for channel 04 response Beneficiary wallet ID information. |
john@doku.com |
beneficiaryWalletName | String | Only for channel 04 response Beneficiary wallet name information. |
John Doe |
COUNTRY OBJECT
Name | Type | Description | Example |
---|---|---|---|
code | String | Two-letter ISO 3166-2 country code | ID |
name | String | Country name | Indonesia |
currency | Object | Refer to Currency Object section. | |
countryIsoCode | String | Only for channel 09 response Three-letter ISO 3166-1 alpha-3 country code |
IDN |
CURRENCY OBJECT
Name | Type | Description | Example |
---|---|---|---|
code | String | Three-letter ISO 4217 currency code | IDR |
CHANNEL OBJECT
Name | Type | Description | Example |
---|---|---|---|
code | String | Channel code | 04 , 07 , 09 , 11 |
name | String | Channel name | Cash To Wallet , Bank Deposit , Outgoing Remittance , BI Fast |
BENEFICIARY ACCOUNT OBJECT
Name | Type | Description | Example |
---|---|---|---|
id | Integer | Beneficiary bank account id. Filled after remit is success. | null |
bank | Object | Beneficiary bank information. Refer to Bank Object section. | |
number | String | Beneficiary account number information. | 6790153860 |
name | String | Beneficiary account name information. | John Doe |
city | String | Beneficiary account city information. | Jakarta |
address | String | Beneficiary account address information. | Jl. Merdeka 45 |
BANK OBJECT
Name | Type | Description | Example |
---|---|---|---|
id | String | Bank id information. | 014 |
code | String | Bank code information. | CENAIDJA |
name | String | Bank name information. | Bank BCA |
city | String | City of the bank. | Jakarta |
countryCode | String | Bank country code information. | ID |
groupBank | String | Group bank information | Bank BCA |
province | String | Province of the bank | Jakarta |
REMIT OBJECT
Name | Type | Description |
---|---|---|
paymentData | Object | Refer to Payment Data Object section. (Only for channel 07 and 09 response) |
transactionId | String | Remit transaction ID. E.g: DK0856068 Please save this id as the transaction reference. |
transactionStatus | String | Remit transaction status. Use this status to determine whether beneficiary receiving the funds or not. (E.g: Success: 50 , refer to Possible transaction status) |
PAYMENT DATA OBJECT
Name | Type | Description | Example |
---|---|---|---|
mallId | String | Id of the acquirer in Doku MTPG | |
chainMallId | String | - | |
accountNumber | String | Partner's VA number | 0045579809 |
accountName | String | Corporate name information. | PT ABC |
channelCode | String | Channel code. Example: | 04 or 07 or 09 |
inquiryId | String | Inquiry idToken used in Remit API. | I026241355942520 |
currency | String | Currency information | IDR |
amount | String | Amount sent to the beneficiary. | 10000.00 |
trxCode | String | - | 3aa39914-aed3-48e8-a930-e08cb4139620 |
hostRefNumber | String | Reference number to transfer partner | |
issuerName | String | Issuer name | Bank Central Asia |
responseCode | String | Response code from transfer partner | 00 |
responseMsg | String | Response message from transfer partner | Transfer Approve |
paymentSystrace | String | - | |
transactionType | String | Only for channel 09 response. Transaction type. | |
purposeOfRemittance | String | Only for channel 09 response. Purpose of the remittance. | |
documentReferenceNumber | String | Only for channel 09 response. Document reference number. |
FOREX REFERENCE OBJECT
Name | Type | Description |
---|---|---|
id | Integer | Forex reference ID |
forex | Object | Refer to Forex Object section. |
rate | Decimal | Exchange rate from origin currency to destination currency |
createdTime | Timestamp | Forex creation time |
FOREX OBJECT
Name | Type | Description |
---|---|---|
origin | Object | Origin currency code. Refer to Currency Object section. |
destination | Object | Destination currency code. Refer to Currency Object section. |
FUND OBJECT
Name | Type | Description |
---|---|---|
origin | Object | Source amount. Refer to Amount Object section. |
fees | Object | Refer to Fees Object section. |
destination | Object | Destination amount. Refer to Amount Object section. |
AMOUNT OBJECT
Name | Type | Description |
---|---|---|
amount | Decimal | Amount of money |
currency | String | Currency code |
FEES OBJECT
Name | Type | Description |
---|---|---|
total | Decimal | Amount of fee charged to partner's deposit (default fee). |
currency | String | Default fee's currency (follows the origin currency). |
components | Object | Components of default fee. Refer to Fees Component Object section. |
additionalFee | Decimal | Fee charged to the beneficiary, deducted from the amount received (currency follows the destination currency) |
fixedFee | Decimal | Fee for account validation (currency follows the destination currency) |
FEES COMPONENT OBJECT
Name | Type | Description |
---|---|---|
description | String | Default fee |
amount | Decimal | Amount of default fee |
TRANSACTION OBJECT
Name | Type | Description | Example |
---|---|---|---|
id | String | Remit transaction ID. | DK0856068 |
inquiryId | String | Inquiry idToken from the last Inquiry API. | I01429544261270 |
sendTrxId | String | Transaction ID from merchant's side. | REF-001-001 |
status | String | Remit transaction status.
Use this status to determine whether beneficiary receiving the funds or not.
(Success: 50 , Possible transaction status) |
50 |
createdTime | Timestamp | Payment creation time (in epoch time format) | 1569234448061 |
cashInTime | Timestamp | Payment time YYYY-mm-DD HH:MM:SS | 2019-09-23 17:27:28 |
senderNote | String | Note or information from sender. | Insurance fee |
agent | Object | Refer to Agent Object section | |
channel | Object | Refer to Channel Object section | |
sender | Object | Refer to Sender Object (Transaction Info) section | |
beneficiary | Object | Refer to Beneficiary Object (Transaction Info) section | |
fund | Object | Refer to Fund Object (Transaction Info) section | |
transactionLog | Object | Refer to Transaction Log Object section |
AGENT OBJECT
Name | Type | Description | Example |
---|---|---|---|
code | String | Agent's code | A41418 |
country | Object | Agent's country Refer to Country Object section | |
user | Object | Agent's name and user name Refer to User Object section |
USER OBJECT
Name | Type | Description | Example |
---|---|---|---|
username | String | Agent's username | john@example.com |
name | String | Agent's name | John Operator |
SENDER OBJECT (TRANSACTION INFO)
Name | Type | Description | Example |
---|---|---|---|
id | String | Sender id | CID0154734 |
firstName | String | Sender first name. | John |
lastName | String | Sender last name. | Doe |
personalIdType | String | Sender personal (national) id type. Example: KTP, PASSPORT | KTP |
personalId | String | Sender personal (national) id number | 01234567890 |
birthDate | String | Sender birth date. In YYYY-MM-DD format | 1900-01-01 |
phoneNumber | String | Sender phone number | 628156056051 |
gender | String | Gender of the sender | |
country | Object | Sender country. Refer to Country Object section | |
cityName | String | Sender city name | Jakarta |
address | String | Sender address | Jl Merdeka 45 |
postalCode | String | Sender postal code | null |
String | Sender email | john@doku.com |
BENEFICIARY OBJECT (TRANSACTION INFO)
Name | Type | Description | Example |
---|---|---|---|
id | String | Beneficiary id | CID0154735 |
firstName | String | Beneficiary first name | John |
lastName | String | Beneficiary last name | Doe |
personalIdType | String | Beneficiary personal (national) id type. Example: KTP, PASSPORT | KTP |
personalId | String | Beneficiary personal (national) id number | 0123456789 |
phoneNumber | String | Beneficiary phone number | 628156056051 |
gender | String | Gender of the beneficiary | |
country | Object | Beneficiary country. Refer to Country Object section | |
cityName | String | Beneficiary city name | Jakarta |
address | String | Beneficiary address | Jl Merdeka 45 |
postalCode | String | Beneficiary postal code | 12910 |
String | Beneficiary email | john@doku.com |
FUND OBJECT (TRANSACTION INFO)
Name | Type | Description |
---|---|---|
origin | Object | Source amount. Refer to Amount Object (Transaction Info) section |
destination | Object | Destination amount. Refer to Amount Object (Transaction Info) section |
fees | Object | Refer to Fees Object section |
AMOUNT OBJECT (TRANSACTION INFO)
Name | Type | Description | Example |
---|---|---|---|
country | Object | Refer to Country Object section | |
currency | String | Currency code | IDR |
amount | Decimal | Amount of money | 10000.000000 |
TRANSACTION LOG OBJECT
Name | Type | Description | Example |
---|---|---|---|
status | String | Remit status code | 0 |
statusMessage | String | Remit status message | Processed |
referenceStatus | String | Response code from the bank/issuer | 0000 |
referenceMessage | String | Response message from the bank/issuer | SUCCESS |
channelCode | String | Channel code | 04, 07, or 09 |
API Response
Response Status
Status | Description | Possible Reason | ||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
-1 | Internal Error | Internal engine error/Temporary unavailable/Unreachable access gateway. | ||||||||||||||||||||||||||||||||||||||||||||||||
0 | Success | Indicate API Call is performed successfully. | ||||||||||||||||||||||||||||||||||||||||||||||||
1 | Failed | Indicate API Call is performed unsuccessfully. (Example: Inquiry is failed due to account not found or other reason.) | ||||||||||||||||||||||||||||||||||||||||||||||||
7 | IP address is not listed | The IP address is not allowed to do the operation | ||||||||||||||||||||||||||||||||||||||||||||||||
9 | Unathorized access | Request header parameters is incorrect/missing. | ||||||||||||||||||||||||||||||||||||||||||||||||
11 | Invalid parameters | Request body parameters is incorrect/missing. Caused by several reasons:
|
||||||||||||||||||||||||||||||||||||||||||||||||
13 | Duplicate sendTrxId Reference | The value of sendTrxId must be unique | ||||||||||||||||||||||||||||||||||||||||||||||||
16 | Missing configuration | Merchant is not properly configured. E.g: Fee for channel bank deposit has not been set. | ||||||||||||||||||||||||||||||||||||||||||||||||
21 | Rate is not found | Forex rate has not been set for the merchant. | ||||||||||||||||||||||||||||||||||||||||||||||||
29 | Rejected | Transaction with high risk. Caused by several reasons:
|
||||||||||||||||||||||||||||||||||||||||||||||||
55 | Timeout | Internal connection timeout. | ||||||||||||||||||||||||||||||||||||||||||||||||
91 | Inactive | Merchant is inactive. | ||||||||||||||||||||||||||||||||||||||||||||||||
95 | Insufficient Balance | Partner last balance in DOKU is not sufficient to make a transfer. | ||||||||||||||||||||||||||||||||||||||||||||||||
97 | Account is Invalid | Caused by beneficiary account number has failed inquiry 4 times in the past 2 hours. | ||||||||||||||||||||||||||||||||||||||||||||||||
98 | Rejected | Caused by beneficiary account number has been rejected in the last 2 hours. | ||||||||||||||||||||||||||||||||||||||||||||||||
99 | Invalid Json | Invalid Json format. | ||||||||||||||||||||||||||||||||||||||||||||||||
99 | Expired Inquiry Token | Inquiry token is expired after 30 days. |
Transaction Status
Status | Description |
---|---|
0 | Transaction status is unknown. |
20 |
Timeout (pending) transaction. Status will be changed after reconciliation (T+1 working
days). Labeled with UNPAID in the dashboard.Do not treat transaction with this status as success or failed. |
35 |
Transfer failed to be processed. Labeled with FAILED in the dashboard.Treat transaction with this status as failed. |
40 | Transaction has been refunded. Labeled with REFUNDED in the dashboard. |
50 |
Transaction is sucessfully processed. Labeled with PAID in the dashboard.Treat transaction with this status as success. |
65 |
Transaction is on process to change from pending to either success or failed. Labeled with
PENDING PROCESS in the dashboard.Do not treat transaction with this status as success or failed. |
70 |
Transactions with this status are on hold and will be processed on the next working day. Only applied to high value transactions (SKNBI/RTGS) during non working hours if requested by merchants. Labeled with ONHOLD in the dashboard.Do not treat transaction with this status as success or failed. |
List of Supported Banks
KIRIMDOKU API supports transfer to various Banks in Indonesia. Please refer to below information regarding Bank details:
No | Bank Name | Id | SWIFT Code | Online | BI Fast | SKN/RTGS |
---|---|---|---|---|---|---|
1 | BANK BRI | 002 | BRINIDJA | ✓ |
✓ |
✓ |
2 | BANK MANDIRI | 008 | BMRIIDJA | ✓ |
✓ |
✓ |
3 | BANK BNI 46 | 009 | BNINIDJA | ✓ |
✓ |
✓ |
4 | BANK DANAMON | 011 | BDINIDJA | ✓ |
✓ |
✓ |
5 | BANK DANAMON UUS (SYARIAH) | 011SY | SYBDIDJ1 | - |
✓ |
✓ |
6 | BANK PERMATA | 013 | BBBAIDJA | ✓ |
✓ |
✓ |
7 | BANK PERMATA UUS (SYARIAH) | 013SY | SYBBIDJ1 | - |
✓ |
✓ |
8 | BANK BCA | 014 | CENAIDJA | ✓ |
✓ |
✓ |
9 | BANK MAYBANK | 016 | IBBKIDJA | ✓ |
✓ |
✓ |
10 | BANK MAYBANK UUS (SYARIAH) | 016SY | SYBKIDJ1 | - |
✓ |
✓ |
11 | BANK PANIN | 019 | PINBIDJA | ✓ |
✓ |
✓ |
12 | BANK CIMB NIAGA | 022 | BNIAIDJA | ✓ |
✓ |
✓ |
13 | BANK CIMB NIAGA UUS (SYARIAH) | 022SY | SYNAIDJ1 | - |
✓ |
✓ |
14 | BANK UOB INDONESIA | 023 | BBIJIDJA | ✓ |
✓ |
✓ |
15 | BANK OCBC NISP | 028 | NISPIDJA | ✓ |
✓ |
✓ |
16 | BANK OCBC NISP UUS (SYARIAH) | 028SY | SYONIDJ1 | - |
✓ |
✓ |
17 | CITIBANK | 031 | CITIIDJX | ✓ |
✓ |
✓ |
18 | JPMORGAN BANK | 032 | CHASIDJX | - |
✓ |
✓ |
19 | BANK OF AMERICA NA | 033 | BOFAID2X | - |
✓ |
✓ |
20 | BANK CCB INDONESIA | 036 | BWKIIDJA | ✓ |
✓ |
✓ |
21 | BANK ARTHA GRAHA | 037 | ARTGIDJA | ✓ |
✓ |
✓ |
22 | MUFG BANK | 042 | BOTKIDJX | ✓ |
✓ |
✓ |
23 | BANK DBS INDONESIA | 046 | DBSBIDJA | ✓ |
✓ |
✓ |
24 | BANK RESONA PERDANIA | 047 | BPIAIDJA | - |
✓ |
✓ |
25 | BANK MIZUHO INDONESIA | 048 | MHCCIDJA | - |
✓ |
✓ |
26 | BANK STANDARD CHARTERED | 050 | SCBLIDJX | ✓ |
✓ |
✓ |
27 | BANK CAPITAL | 054 | BCIAIDJA | ✓ |
✓ |
✓ |
28 | BANK BNP PARIBAS | 057 | BNPAIDJA | - |
✓ |
✓ |
29 | BANK ANZ INDONESIA | 061 | ANZBIDJX | ✓ |
✓ |
✓ |
30 | DEUTSCHE BANK | 067 | DEUTIDJA | - |
- |
✓ |
31 | BANK OF CHINA HK. LTD. | 069 | BKCHIDJA | ✓ |
✓ |
✓ |
32 | BANK BUMI ARTA | 076 | BBAIIDJA | ✓ |
✓ |
✓ |
33 | BANK HSBC INDONESIA | 087 | HSBCIDJA | ✓ |
✓ |
✓ |
34 | BANK JTRUST INDONESIA | 095 | CICTIDJA | ✓ |
✓ |
✓ |
35 | BANK MAYAPADA INTERNATIONAL | 097 | MAYAIDJA | ✓ |
✓ |
✓ |
36 | BANK JABAR | 110 | PDJBIDJA | ✓ |
✓ |
✓ |
37 | BANK DKI | 111 | BDKIIDJA | ✓ |
✓ |
✓ |
38 | BANK DKI UUS (SYARIAH) | 111SY | SYDKIDJ1 | - |
✓ |
✓ |
39 | BANK BPD DIY | 112 | PDYKIDJ1 | ✓ |
✓ |
✓ |
40 | BANK BPD DIY UUS (SYARIAH) | 112SY | SYYKIDJ1 | - |
✓ |
✓ |
41 | BANK JATENG | 113 | PDJGIDJ1 | ✓ |
✓ |
✓ |
42 | BANK JATENG UUS (SYARIAH) | 113SY | SYJGIDJ1 | - |
✓ |
✓ |
43 | BANK JATIM | 114 | PDJTIDJ1 | ✓ |
✓ |
✓ |
44 | BANK JATIM UUS (SYARIAH) | 114SY | SYJTIDJ1 | - |
✓ |
✓ |
45 | BPD JAMBI | 115 | PDJMIDJ1 | ✓ |
✓ |
✓ |
46 | BPD JAMBI UUS (SYARIAH) | 115SY | SYJMIDJ1 | - |
✓ |
✓ |
47 | BANK ACEH | 116 | SYACIDJ1 | ✓ |
✓ |
✓ |
48 | BANK SUMUT | 117 | PDSUIDJ1 | ✓ |
✓ |
✓ |
49 | BANK SUMUT UUS (SYARIAH) | 117SY | SYSUIDJ1 | - |
✓ |
✓ |
50 | BPD SUMATERA BARAT/BANK NAGARI | 118 | PDSBIDJ1 | ✓ |
✓ |
✓ |
51 | BANK NAGARI UUS (SYARIAH) | 118SY | SYSBIDSP | - |
✓ |
✓ |
52 | BANK RIAU | 119 | PDRIIDJA | ✓ |
✓ |
✓ |
53 | BPD SUMSEL BABEL | 120 | BSSPIDSP | ✓ |
✓ |
✓ |
54 | BPD SUMSEL BABEL UUS (SYARIAH) | 120SY | SYSSIDJ1 | - |
✓ |
✓ |
55 | BANK LAMPUNG | 121 | PDLPIDJ1 | ✓ |
✓ |
✓ |
56 | BPD KALSEL | 122 | PDKSIDJ1 | ✓ |
✓ |
✓ |
57 | BPD KALSEL UUS (SYARIAH) | 122SY | SYKSIDJ1 | - |
✓ |
✓ |
58 | BPD KALBAR | 123 | PDKBIDJ1 | ✓ |
✓ |
✓ |
59 | BPD KALBAR UUS (SYARIAH) | 123SY | SYKBIDJ1 | - |
✓ |
✓ |
60 | BPD KALTIMTARA | 124 | PDKTIDJ1 | ✓ |
✓ |
✓ |
61 | BPD KALTIMTARA UUS (SYARIAH) | 124SY | SYKTIDJ1 | - |
✓ |
✓ |
62 | BPD KALTENG | 125 | PDKGIDJ1 | ✓ |
✓ |
✓ |
63 | BANK SULSELBAR | 126 | PDWSIDJA | ✓ |
✓ |
✓ |
64 | BANK SULSELBAR UUS (SYARIAH) | 126SY | SYWSIDJ1 | - |
✓ |
✓ |
65 | BANK SULUTGO | 127 | PDWUIDJ1 | ✓ |
✓ |
✓ |
66 | BANK NTB | 128 | PDNBIDJ1 | ✓ |
✓ |
✓ |
67 | BPD BALI | 129 | ABALIDBS | ✓ |
✓ |
✓ |
68 | Bank NTT | 130 | PDNTIDJ1 | ✓ |
✓ |
✓ |
69 | BPD MALUKU | 131 | PDMLIDJ1 | ✓ |
✓ |
✓ |
70 | BPD PAPUA | 132 | PDIJIDJ1 | ✓ |
✓ |
✓ |
71 | BPD BENGKULU | 133 | PDBKIDJ1 | ✓ |
✓ |
✓ |
72 | BPD SULTENG | 134 | PDWGIDJ1 | ✓ |
✓ |
✓ |
73 | BPD SULTRA | 135 | PDWRIDJ1 | ✓ |
✓ |
✓ |
74 | BPD BANTEN | 137 | PDBBIDJ1 | ✓ |
✓ |
✓ |
75 | BANK OF INDIA INDONESIA | 146 | BKIDIDJA | ✓ |
- |
✓ |
76 | BANK MUAMALAT INDONESIA | 147 | MUABIDJA | ✓ |
✓ |
✓ |
77 | BANK MESTIKA DHARMA | 151 | MEDHIDS1 | ✓ |
✓ |
✓ |
78 | BANK SHINHAN INDONESIA | 152 | MEEKIDJ1 | ✓ |
✓ |
✓ |
79 | BANK SINARMAS | 153 | SBJKIDJA | ✓ |
✓ |
✓ |
80 | BANK SINARMAS UUS (SYARIAH) | 153SY | SYTBIDJ1 | - |
✓ |
✓ |
81 | BANK MASPION INDONESIA | 157 | MASDIDJ1 | ✓ |
✓ |
✓ |
82 | BANK GANESHA | 161 | GNESIDJA | ✓ |
✓ |
✓ |
83 | BANK ICBC | 164 | ICBKIDJA | ✓ |
✓ |
✓ |
84 | BANK QNB INDONESIA | 167 | AWANIDJA | ✓ |
✓ |
✓ |
85 | BANK BTN | 200 | BTANIDJA | ✓ |
✓ |
✓ |
86 | BANK BTN UUS (SYARIAH) | 200SY | SYBTIDJ1 | - |
✓ |
✓ |
87 | BANK WOORI SAUDARA | 212 | BSDRIDJA | ✓ |
✓ |
✓ |
88 | Bank BTPN | 213 | SUNIIDJA | ✓ |
✓ |
✓ |
89 | BANK VICTORIA SYARIAH | 405 | SWAGIDJ1 | ✓ |
- |
✓ |
90 | BANK JABAR BANTEN SYARIAH | 425 | SYJBIDJ1 | ✓ |
✓ |
✓ |
91 | BANK MEGA | 426 | MEGAIDJA | ✓ |
✓ |
✓ |
92 | BANK KB BUKOPIN | 441 | BBUKIDJA | ✓ |
✓ |
✓ |
93 | BANK BSI (BANK SYARIAH INDONESIA) | 451 | BSMDIDJA | ✓ |
✓ |
✓ |
94 | KROM BANK | 459 | BUSTIDJ1 | - |
- |
✓ |
95 | BANK JASA JAKARTA | 472 | JSABIDJ1 | ✓ |
✓ |
✓ |
96 | BANK KEB HANA | 484 | HNBNIDJA | ✓ |
✓ |
✓ |
97 | BANK MNC INTERNASIONAL | 485 | BUMIIDJA | ✓ |
✓ |
✓ |
98 | BANK NEO COMMERCE | 490 | YUDBIDJ1 | ✓ |
✓ |
✓ |
99 | BANK RAYA INDONESIA | 494 | AGTBIDJA | ✓ |
✓ |
✓ |
100 | BANK SBI INDONESIA | 498 | SBIDIDJA | ✓ |
- |
✓ |
101 | BANK DIGITAL BCA | 501 | BBLUIDJA | ✓ |
✓ |
✓ |
102 | BANK NATIONAL NOBU | 503 | LFIBIDJ1 | ✓ |
✓ |
✓ |
103 | BANK MEGA SYARIAH | 506 | BUTGIDJ1 | ✓ |
✓ |
✓ |
104 | BANK INA PERDANA | 513 | IAPTIDJA | - |
✓ |
✓ |
105 | BANK PANIN DUBAI SYARIAH | 517 | PNBSIDJA | ✓ |
✓ |
✓ |
106 | BANK PRIMA MASTER | 520 | PMASIDJ1 | ✓ |
- |
✓ |
107 | BANK BUKOPIN SYARIAH | 521 | SDOBIDJ1 | ✓ |
✓ |
✓ |
108 | BANK SAHABAT SAMPOERNA | 523 | SAHMIDJA | ✓ |
✓ |
✓ |
109 | BANK OKE INDONESIA | 526 | LMANIDJ1 | ✓ |
✓ |
✓ |
110 | BANK AMAR | 531 | LOMAIDJ1 | - |
✓ |
✓ |
111 | BANK SEABANK INDONESIA | 535 | SSPIIDJA | ✓ |
✓ |
✓ |
112 | BANK BCA SYARIAH | 536 | SYCAIDJ1 | ✓ |
✓ |
✓ |
113 | BANK JAGO | 542 | JAGBIDJA | ✓ |
✓ |
✓ |
114 | BANK BTPN SYARIAH | 547 | PUBAIDJ1 | ✓ |
✓ |
✓ |
115 | BANK MULTI ARTA SENTOSA | 548 | BMSEIDJA | ✓ |
✓ |
✓ |
116 | BANK MAYORA | 553 | MAYOIDJA | ✓ |
✓ |
✓ |
117 | BANK INDEX | 555 | BIDXIDJA | ✓ |
✓ |
✓ |
118 | BANK MANDIRI TASPEN | 564 | SIHBIDJ1 | ✓ |
✓ |
✓ |
119 | BANK VICTORIA INTERNASIONAL | 566 | VICTIDJ1 | ✓ |
✓ |
✓ |
120 | BANK ALLO | 567 | HRDAIDJ1 | ✓ |
✓ |
✓ |
121 | LINKAJA | 911 | - | ✓ |
- |
- |
122 | BANK IBK INDONESIA | 945 | IBKOIDJA | ✓ |
✓ |
✓ |
123 | BANK ALADIN SYARIAH | 947 | NETBIDJA | ✓ |
✓ |
✓ |
124 | BANK CTBC INDONESIA | 949 | CTCBIDJA | ✓ |
✓ |
✓ |
125 | BANK COMMONWEALTH | 950 | BICNIDJA | ✓ |
✓ |
✓ |
126 | OVO | OVO | OVO | ✓ |
- |
- |
List of Supported Overseas Banks
Singapore
Please refer to below information regarding Singaporean Bank details supported by KIRIMDOKU API:
No | Bank Name | Id | SWIFT Code |
---|---|---|---|
1 | Australia and New Zealand Banking Group Limited | 65228 | ANZBSGSX |
2 | BANK OF CHINA LIMITED | 65229 | BKCHSGSG |
3 | BANK OF TOKYO-MITSUBISHI UFJ, LTD., THE | 65230 | BOTKSGSX |
4 | BNP PARIBAS - SINGAPORE BRANCH | 65231 | BNPASGSG |
5 | CIMB BANK BERHAD | 65232 | CIBBSGSG |
6 | CITIBANK SINGAPORE LTD | 65233 | CITISGSL |
7 | CITIBANK,N.A. | 65234 | CITISGSG |
8 | DBS BANK LTD. | 65235 | DBSSSGSG |
9 | DEUTSCHE BANK AG | 65236 | DEUTSGSG |
10 | HL BANK, SINGAPORE | 65237 | HLBBSGSG |
11 | ICICI BANK LIMITED | 65238 | ICICSGSG |
12 | INDUSTRIAL AND COMMERCIAL BANK OF CHINA | 65239 | ICBKSGSG |
13 | OVERSEA-CHINESE BANKING CORPORATION LIMITED | 65240 | OCBCSGSG |
14 | RHB BANK BERHAD | 65241 | RHBBSGSG |
15 | STANDARD CHARTERED BANK LIMITED | 65242 | SCBLSGSG |
16 | SUMITOMO MITSUI BANKING CORPORATION | 65243 | SMBCSGSG |
17 | UNITED OVERSEAS BANK LIMITED | 65244 | UOVBSGSG |
18 | MALAYAN BANKING BERHAD | 65245 | MBBESGSG |
19 | Malayan Singapore Limited | 65247 | MBBESGS2 |
20 | Mizuho Bank Limited | 65248 | MHCBSGSG |
21 | Sing Investments & Finance Limited | 65249 | SIVFSGSG |
22 | HSBC (Personal) | 65250 | HSBCSGS2 |
23 | HSBC (Corporate) | 65251 | HSBCSGSG |
Philippines
Please refer to below information regarding Phiplippines Bank details supported by KIRIMDOKU API:
No | Bank Name | Id | SWIFT Code |
---|---|---|---|
1 | Bank Of Commerce | 65252 | PABIPHMM |
2 | RURAL BANK OF GUINOBATAN INC (RBGI) | 65253 | RUGUPHM1 |
3 | RANG-AY BANK, INC. (A Rural Bank) | 65254 | RARLPHM1 |
4 | PRODUCERS SAVINGS BANK CORP | 65255 | PSCOPHM1 |
5 | KEB HANA | 65256 | KOEXPHMM |
6 | INNOVATIVE BANK INC | 65257 | IORUPHM1 |
7 | INDUSTRIAL BANK OF KOREA | 65258 | IBKOPHMM |
8 | FIRST CONSOLIDATED BANK | 65259 | FIOOPHM1 |
9 | COUNTRY BUILDERS BANK INC (A Rural Bank) | 65260 | COUKPHM1 |
10 | CIMB BANK PHILIPPINES INC | 65261 | CIPHPHMM |
11 | CEBUANA LHUILLIER RURAL BANK INC | 65262 | CELRPHM1 |
12 | CAMALIG BANK, INC (A Rural Bank) | 65263 | RUCAPHM1 |
13 | BDO PRIVATE BANK | 65264 | BOPBPHMM |
14 | BDO NETWORK BANK | 65265 | BNORPHMM |
15 | BOF, INC (A Rural Bank) - Bank of Florida | 65266 | BORRPHM1 |
16 | SHINHAN BANK | 65267 | SHBKPHMM |
17 | SUMITOMO MITSUI BANKING CORP | 65268 | SMBCPHMM |
18 | Philippines Business Bank | 65269 | PPBUPHMM |
19 | Sterling Bank of Asia | 65270 | STLAPH22 |
20 | Development Bank Of Philippines | 65271 | DBPHPHMM |
21 | China Bank Saving | 65272 | CHSVPHM1 |
22 | United Coconut Planters Bank | 65273 | UCPBPHMM |
23 | Robinson Bank | 65274 | ROBPPHMQ |
24 | WealthBank | 65275 | WEDVPHM1 |
25 | Philippines Saving Bank | 65276 | PHSBPHMM |
26 | BPI Family Savings Bank | 65277 | BPFSPHM1 |
27 | Bank Of China | 65278 | BKCHPHMM |
28 | Asia united Bank | 65279 | AUBKPHMM |
29 | JP Morgan Chase | 65280 | CHASPHMM |
30 | Anz Bank | 65281 | ANZBPHMX |
31 | Bangkok Bank | 65282 | BKKBPHMM |
32 | Deutsche Bank | 65283 | DEUTPHMM |
33 | MIZUHO BANK LTD (Fuji Bank) | 65284 | MHCBPHMM |
34 | East-West Bank | 65285 | EWBCPHMM |
35 | MEGA INTL COMML BANK CO LTD (ICBC) | 65286 | ICBCPHMM |
36 | Banco De Oro | 65287 | BNORPHMM |
37 | MUFG BANK LTD (Bank Of Tokyo) | 65288 | BOTKPHMM |
38 | Union Bank | 65289 | UBPHPHMM |
39 | Land Bank | 65290 | TLBPPHMM |
40 | Philippine Veterans Bank | 65291 | PHVBPHMM |
41 | RCBC | 65292 | RCBCPHMM |
42 | United Overseas Bank | 65293 | UOVBPHMM |
43 | CTBC Bank (Philippines) Corporation | 65294 | CTCBPHMM |
44 | Dungganon Bank, Inc. | 65295 | DUMTPHM1 |
45 | Equicom Saving Bank, Inc. | 65296 | EQSNPHM1 |
46 | Isla Bank, Inc. | 65297 | ISTHPHM1 |
47 | Malayan Bank Saving and Mortgage Bank, Inc. | 65298 | MAARPHM1 |
48 | AL AMANAH ISLAMIC INVESTMENT BANK | 65299 | AIIPPHMM |
49 | Partner Rural Bank, Inc. | 65300 | PRTOPHM1 |
50 | Sun Savings Bank, Inc. | 65301 | SUSVPHM1 |
51 | UCPB Savings Bank | 65302 | UCSVPHM1 |
52 | Yuanta Savings Bank Philippines, Inc. | 65303 | TYBKPHMM |
53 | BPI Direct Banko, Inc. | 65304 | BPDIPHM1 |
54 | Bangko Mabuhay, Inc. | 65305 | MRTCPHM1 |
55 | ING Bank N. V. | 65306 | INGBPHMM |
56 | QCRB | 65307 | QCRIPHM1 |
57 | HSBC Savings Bank | 65309 | HBPHPHMM |
58 | HSBC | 65310 | HSBCPHMM |
59 | EastWest Rural Bank | 65311 | EAWRPHM2 |
60 | Maybank | 65312 | MBBEPHMM |
61 | Security Bank | 65313 | SETCPHMM |
62 | Bank Of America | 65314 | BOFAPH2X |
63 | Philippine Bank of Communications | 65316 | CPHIPHMM |
64 | China Bank | 65317 | CHBKPHMM |
65 | Philippine Trust Company | 65318 | PHTBPHMM |
66 | Philippine National Bank | 65319 | PNBMPHMM |
67 | Citibank N.a. | 65320 | CITIPHMXV |
68 | Standard Chartered | 65321 | SCBLPHMM |
69 | Bank Of Philippines Islands | 65322 | BOPIPHMM |
70 | OmniPay, Inc. | 65323 | OMNPPHM2 |
71 | ALLBANK | 65324 | ALKBPHM2 |
Version
Document version 3.4
Nov 16, 2023
Bank Name Changed:
- BII MAYBANK changed to BANK MAYBANK
- BANK UOB BUANA INDONESIA changed to BANK UOB INDONESIA
- THE BANK OF CHINA changed to BANK OF CHINA HK. LTD.
- BPD DKI JAKARTA changed to BANK JAKARTA
- BPD RIAU changed to BANK RIAU KEPRI
- BANK NUSA TENGGARA BARAT changed to BANK NTB
- BANK QNB KESAWAN changed to BANK QNB INDONESIA
- BANK BISNIS INTERNASIONAL changed to KROM BANK
- BANK SYARIAH MEGA changed to BANK MEGA SYARIAH
- BPD SULAWESI TENGGARA changed to BPD SULTRA
- BPD SULAWESI TENGAH changed to BPD SULTENG
- BANK INDEX SELINDO changed to BANK INDEX
New Bank Added:
- BANK DANAMON UUS (SYARIAH)
- BANK PERMATA UUS (SYARIAH)
- BANK MAYBANK UUS (SYARIAH)
- BANK CIMB NIAGA UUS (SYARIAH)
- BANK OCBC NISP UUS (SYARIAH)
- JPMORGAN BANK
- BANK OF AMERICA NA
- BANK RESONA PERDANIA
- BANK MIZUHO INDONESIA
- BANK BNP PARIBAS
- DEUTSCHE BANK
- BANK DKI UUS (SYARIAH)
- BANK BPD DIY UUS (SYARIAH)
- BANK JATENG UUS (SYARIAH)
- BANK JATIM - UUS (SYARIAH)
- BPD JAMBI UUS (SYARIAH)
- BPD SUMUT UUS (SYARIAH)
- BANK NAGARI - UUS (SYARIAH)
- BPD SUMSEL BABEL UUS (SYARIAH)
- BPD KALSEL UUS (SYARIAH)
- BPD KALBAR UUS (SYARIAH)
- BPD KALTIMTARA UUS (SYARIAH)
- BANK SULSELBAR UUS (SYARIAH)
- BANK SINARMAS UUS (SYARIAH)
- BANK BTN UUS (SYARIAH)
- KROM BANK
- BANK AMAR
Swift code updated:
- Bank Digital BCA from ROYBIDJ1 to BBLUIDJA
- Bank SBI Indonesia from IDMOIDJ1 to SBIDIDJA
- Bank Sahabat Sampoerna from BDIPIDJ1 to SAHMIDJA