Introduction

Introduction
API Updated: March 2021
  • New API: Top Up Flazz Co Partner

Overview of BCA Sandbox APIs:

Request
Method Endpoint Usage
POST /api/oauth/token Get Access Token for Oauth2.0
GET /banking/v3/corporates/{CorporateID} /accounts/{AccountNumber1},{AccountNumber2},…,{AccountNumber20} Get your account(s) balance
GET /banking/v3/corporates/{CorporateID} /accounts/{AccountNumber}/statements Get your account statement
 POST /banking/corporates/transfers  Fund Transfer to another BCA account
 POST /banking/corporates/transfers/v2/domestic  Fund Transfer to domestic Bank account
 GET  /banking/offline/corporates/accounts/{AccountNumber}/filestatements  Account Statement Offline
 GET  /banking/corporates/transfers/status/{TransactionNumber}  Inquiry Transfer Status
 GET  /banking/corporates/transfers/v2/domestic/beneficiaries/banks/ (beneficiary_bank_code)/accounts/(beneficiary_account_number) Inquiry Domestic Account 
 POST  /sakuku-commerce/payments  Create payment for Sakuku
 GET  /sakuku-commerce/payments /{MerchantID}/{PaymentID}  Get Status of Sakuku Transaction
 GET  /general/rate/forex  Foreign Exchange Rate Information
 GET  /general/info-bca/branch  BCA Branch Location
 POST  /fire/accounts/balance  Get balance information
 POST  /fire/accounts  Get beneficiary account’s information
 POST  /fire/transactions  Get status of a transaction
 POST  /fire/transactions/to-account  Transfer funds directly to beneficiary account
 POST  /fire/transactions/cash-transfer  Transfer funds to beneficiary to be taken personally
 PUT  /fire/transactions/cash-transfer/amend  Amend cash transfer transaction’s detail
 POST  /fire/transactions/cash-transfer/cancel  Cancel cash transfer transaction
 POST  /va/payments?CompanyCode=&RequestID= OR
/va/payments?CompanyCode=&CustomerNumber=
 Get status of payment by CompanyCode and CustomerNumber or RequestID
 POST  https://www.somesecurities.com/bca/investor-account/statement  Retrieve information of Account Statement of Investor Account for being debited or credited.
 POST  https://www.copartners.com/bca-ku/notif-tolakan  Service for BCA to send notification for rejection of domestic bank transfer.
 POST  https://www.copartners.com/bca-df/disbursement/notification  Service for BCA to send notification of disbursement.
 POST  https://www.copartners.com/bca-df/txn-limit/notification  Service for BCA to send notification of transaction limit update.
 POST  https://www.copartners.com/bca-df/stop-supply/notification  Service for BCA to send notification of transaction limit update.
 POST  /df/invoice  Send your invoice data to BCA
 PUT  /df/invoice  Cancel your invoice data which had been sent to BCA
 POST  /fund-collection  Add Fund collection
 POST  /fund-blockingAdd data fund blocking  Add data fund blocking
 PUT  /fund-blocking  Update data fund blocking
 PUT  /fund-blocking/release  Release/cancel data fund blocking
 GET  /fund-blocking  Inquiry data fund blocking
 POST  /account-authorization/registration  Registration Request
 POST  https://copartners.com/account-authorization/notification  Send Notification of Account Authorization Registration status
 GET  /accountauthorization/inquiry/{customer_id_merchant}  Inquiry account authorization status
 POST  /flazz/getKey  Get Session Key
(Part of Topup Flazz Co-Partner API)
 POST  /flazz/topup  Send topup request from copartner
(Part of Topup Flazz Co-Partner API)
 POST  /flazz/reversal  Send reversal request from copartner
(Part of Topup Flazz Co-Partner API)
 POST  /flazz/ack  Send ack
(Part of Topup Flazz Co-Partner API)

Try our APIs using Sandbox. We provide sandbox with dummy and static datas. All the parameter value that can be used to try our sandbox are written on the blue box in this Documentation.


AUTHENTICATION

OAuth2.0

BCA APIs is using OAuth 2.0 as the authorization framework. To get the access token, you need to be authorized by client_id and client_secret. To learn more about the OAuth 2.0 authorization framework, you can read the RFC6749 Documentation.

client_secret dan client_id are used for authentication using OAuth 2.0. You can generate client_id and client_secret after sign in and create application.



Do not share your client_secret! This token act like password, keep it secret and secure, should anyone obtain this information, immediately reset or revoke your client_secret.


Access Token
 
access_token is an opaque string token that identify the user of the API. This token is required each time an application call API. There are several way to obtain an access_token, which will be described bellow.

Access token must be stored in a secure storage!
Since access_token is portable which mean that once its obtained any request with valid credentials will be considered valid, any agent (mobile device, web browser, or server) could call API requests.


Obtaining Access Token

Access token can be obtained in many way, depend on the grant_type of the application. To access all the services in this sandbox, you will need the access token with grant_type = client_credentials.

Client Credentials Grant
 
client_credentials grant will provide application access to API without requiring any user credential. Any call requested using access_token obtained using this method are made on behalf of the application instead of the user.

This grant type is designed to be used by server to server call. In order to obtain access_token a request must be made with following specification

Request
Setting Value
HTTP Method POST
Path /api/oauth/token
Host sandbox.bca.co.id
Request Headers
 Name Format  Mandatory Description
 Authorization  Basic base64(client_id:client_secret) Yes  
 Content-Type  application/x-www-form-urlencoded Yes  
Request
Field Data Type  Mandatory  Description
grant_type  String Yes  value = client_credentials
Result of the request will contains following information:

Response
Field Data Type Description
access_token String your access_token
token_type String default is Bearer
expires_in String access_token validity, in seconds
 scope  String  application scope/permission granted to application

Signature

Signature is used by BCA to verify that your request is not altered by attackers.

The outline of the HMAC validation process is as follows:

  1. Retrieve Timestamp from HTTP Header (X-BCA-Timestamp)
  2. Retrieve the API Key form HTTP Header (X-BCA-Key)
  3. Lookup the API Secret corresponding to the received key in internal store
  4. Retrieve client HMAC from HTTP Header lowercase hexadecimal format (X-BCA-Signature)
  5. Calculate HMAC using the API Secret as the HMAC secret key
  6. Compare client HMAC with calculated HMAC
If HMAC hash comparison is invalid API Gateway will return a HTTP 400 error code with "HMAC Mismatch" message.

API Key and API Secret are used for hashing HMAC. You can generate API Key and API Secret after sign in and create application.

Generate Signature

SHA-256 HMAC is used to generate the signature with your API secret as the key.

Signature = HMAC-SHA256(apiSecret, StringToSign)

The StringToSign will be a colon-separated list derived from some request data as below:

StringToSign = HTTPMethod+":"+RelativeUrl+":"+AccessToken+":"+Lowercase(HexEncode(SHA-256(RequestBody)))+":"+Timestamp

For GET request (with no RequestBody), you still need to calculate SHA-256 of an empty string.

Details about the data used to derived The StringToSign is explained in the next sections.

HTTP Method

  • HTTP Method is HTTP Method such as GET, POST, PUT, PATCH, DELETE.
  • HTTP Method must be given in upper case.
Relative URL
  • Relative URL is the URL after the hostname & port number.
  • Relative URL alse includes the query string and must begin with a slash character. Example
Timestamp

The timestamp must be presented in ISO8601 format (yyyy-MM-ddTHH:mm:ss.SSSTZD)
Format Description
yyyy four-digit year
MM two-digit month (01=January, etc.)
dd two-digit day of month (01 through 31)
 T  literal ’T’ as date and time separator
 HH  two digits of hour (00 through 23) (am/pm NOT allowed)
 mm  two digits of minute (00 through 59)
 s  two digits of second (00 through 59)
 SSS  three digits representing millisecond (000 through 999)
 TZD  time zone designator (+hh:mm or -hh:mm)

EXAMPLE
Request
Response

Headers

To successfully communicate with BCA Banking API, you must provide the following headers in every API request:

Name Type Description
Authorization Alphanumeric OAuth2.0 Token Format value: Bearer {access_token}
Content-Type Alphanumeric Content of your request body e.g. application/json
 Origin  url Origin domain e.g. yourdomain.com
X-BCA-Key Alphanumeric Your API Key generated by BCA
 X-BCA-Timestamp  yyyy-MM-ddTHH:mm:ss.SSSTZD (ISO 8601)  Timestamp generated by merchant in ISO 8601 e.g. “2016-02-03T10:00:00.000+07:00”
 X-BCA-Signature  Alphanumeric  Signature, please refer to section above

Sample request with complete headers:
Request
Response
API Services

Business Banking

1. Account Statement
Get your KlikBCA Bisnis account statement for a period up to 31 days.

Request
Field DataType  Mandatory Description
CorporateID String(10)  Y Your KlikBCA Bisnis Corporate ID
AccountNumber String(10) Account(s) Number
 StartDate String(10)  Y  Start Date of the account statement that you wants to get. Format: yyyy-MM-dd
 EndDate String(10)  Y  End Date of the account statement that you wants to get. Format: yyyy-MM-dd

Please use this value for sandbox:
CorporateID : BCAAPI2016
AccountNumber : 0201245680 or 0063001004
Available data between 2016-08-29 to 2016-09-01. We set the today date (ONLY FOR Account Statement service): 2016-09-01.

 
Result of the request will contains following information:

Response
Field DataType Description
AccountDetail Data Success    
 StartBalance String(16) Balance of the account at the start date. Format: Number, 13.2
 Currency  String(3) Currency of the account (IDR, USD, etc)
 StartDate String(10) Start Date of the account statement that you wants to get. Format: yyyy-MM-dd
 EndDate String(10) End Date of the account statement that you wants to get. Format: yyyy-MM-dd. If the end date is not a working day, then end date will changed automatically to the next working day.
Data    
 TransactionDate String(5) Date of Transaction: (“dd/MM”): the date of transaction done “PEND”: Pending transaction
BranchCode String(4) Branch code of the transaction
TransactionType String(1) Type of transaction: “D”: Debit “K”: Kredit (Credit)
 TransactionAmount String(16) Amount of transaction. Format: Number, 13.2
 TransactionName String(32)  Name of Transaction
 Trailer String(128)  The Description of transaction


Error
HTTP Code Error Code Error Message (Indonesian) Error Message (English)
404 ESB-07-271 Tidak ada transaksi No transaction
400 ESB-07-279 Tanggal awal lebih kecil dari tanggal buka rekening Start date less than account open date
400 ESB-14-001 HMAC tidak cocok HMAC mismatch
400 ESB-14-002 Permintaan tidak valid Invalid request
400 ESB-14-003 Timestamp tidak valid Invalid timestamp
400 ESB-14-004 parameter input tidak valid Invalid input parameter
500 ESB-14-005 Sistem sedang dalam maintenance System under maintenance
504 ESB-14-006 Timeout, silakan periksa mutasi rekening Timeout, please check your account statement
504 ESB-14-007 Timeout Timeout
401 ESB-14-008 client_id/client_secret/grant_type tidak valid Invalid client_id/client_secret/grant_type
401 ESB-14-009 Tidak berhak Unauthorized
429 ESB-14-010 Jumlah permintaan melebihi limit Limit request exceeded
400 ESB-14-015 Content Type tidak valid Invalid Content Type
400 ESB-14-016 Format JSON tidak valid Invalid JSON format
403 ESB-14-019 Koneksi tidak diperbolehkan Connection not allowed
400 ESB-14-020 Request tidak valid Invalid Request
400 ESB-14-021 API Key Tidak Valid API Key Invalid
400 ESB-14-022 API Key/API Secret tidak cocok API Key/API Secret mismatch
400 ESB-82-001 Field [FieldName] harus diisi Missing mandatory field [FieldName]
400 ESB-82-002 Corporate Id tidak valid Invalid CorporateID
400 ESB-82-003 TransactionID tidak unik TransactionID not unique
400 ESB-82-004 TransactionDate tidak valid Invalid TransactionDate
403 ESB-82-006 Nominal transaksi melebihi batas maksimum Max amount transaction is exceeded
400 ESB-82-008 Rekening perusahaan tidak valid Company account invalid
400 ESB-82-009 CurrencyCode tidak valid Invalid CurrencyCode
400 ESB-82-010 Format TransactionID tidak valid Invalid TransactionID format
400 ESB-82-011 Amount tidak valid Invalid Amount
400 ESB-82-012 Panjang karakter data input tidak valid Invalid input length
400 ESB-82-013 Tipe data input tidak valid Invalid data type
400 ESB-82-014 AccountNumber tidak valid Invalid AccountNumber
403 ESB-82-015 Min Max Amount Execeeded Min Max Amount Execeeded
403 ESB-82-018 Rekening Dormant Account Dormant
402 ESB-82-019 Saldo tidak cukup Insufficient fund
400 ESB-82-020 Tipe rekening tidak valid Invalid account type
403 ESB-82-021 Rekening tidak dapat melakukan transaksi Account cannot do transaction
404 ESB-82-022 Rekening tutup Account closed
500 ESB-82-023 Transaksi gagal Transaction failed
504 ESB-82-024 Timeout, silakan periksa mutasi rekening Timeout, please check your account statement
500 ESB-82-025 Sedang diproses, silakan periksa mutasi rekening In progress, please check your account statement
500 ESB-82-026 Lewat batas waktu cut off Cut off time is exceeded
400 ESB-99-009 Field [FieldName] harus diisi Missing mandatory field [FieldName]
403 ESB-99-075 KeyID tidak ditemukan KeyID is not found
403 ESB-99-089 Transaksi berhasil sebagian Transaction success partially
400 ESB-99-112 Input string JSON tidak valid Invalid JSON string input
400 ESB-99-113 Transaksi ditolak Transaction rejected
400 ESB-99-128 Panjang field [FieldName] melebihi ketentuan Field [FieldName] exceed limit
400 ESB-99-128 Total input [FieldName] melebihi ketentuan Total [FieldName] input exceed limit
400 ESB-99-156 ChannelType tidak valid ChannelType is not valid
400 ESB-99-156 AccountNumber Tidak Valid Invalid AccountNumber
400 ESB-99-157 Transaksi ditolak Transaction rejected
400 ESB-99-158 Tanggal berakhir lebih besar dari tanggal hari ini End date more than today
400 ESB-99-158 Tanggal mulai lebih besar dari tanggal hari ini Start date more than today
400 ESB-99-158 Maksimal mutasi rekening yang dipilih 31 hari yang lalu Maximal account statement 31 days ago
400 ESB-99-158 Tanggal mulai lebih besar dari tanggal berakhir Start date more than end date
404 ESB-99-127 Transaksi tidak ditemukan Transaction not found
400 ESB-99-197 Nama atau nomor rekening tidak sesuai Account name/number does not match
400 ESB-99-284 [FieldName] tidak valid Invalid [FieldName]
500 ESB-99-999 Sistem sedang tidak tersedia System unavaliable
GET banking/v3/corporates/{CorporateID}/accounts/{AccountNumber} /statements?StartDate=yyyy-MM-dd&EndDate=yyyy-MM-dd
Request
Response
2. Account Statement Offline
You can get your bulk statement in form of file for a period up to 7 days. Your Request must contain following information:

Headers
Field DataType Mandatory Description
ChannelID String(5) Y Channel Identification Number (Ex: 95051 for KlikBCA Bisnis) 
CredentialID String(10) Y Your Channel Identity (ex: Your KlikBCA Bisnis CorporateID)

Payload
Field DataType  Mandatory Description
AccountNumber String(10) Y Account Number
StartDate String(10) Y Start Date of the account statement that you wants to get. Format: yyyy-MM-dd
EndDate String(10) Y End Date of the account statement that you wants to get. Format: yyyy-MM-dd
Response
Field DataType Description
RequestID String(21) Statement request ID
TransactionDate String(10) Transcation date. Format: yyyy-MM-dd


Error
HTTP Code Error Code Error Message (Indonesian) Error Message (English)
404 ESB-07-271 Tidak ada transaksi No transaction
400 ESB-07-279 Tanggal awal lebih kecil dari tanggal buka rekening Start date less than account open date
400 ESB-14-001 HMAC tidak cocok HMAC mismatch
400 ESB-14-002 Permintaan tidak valid Invalid request
400 ESB-14-003 Timestamp tidak valid Invalid timestamp
400 ESB-14-004 parameter input tidak valid Invalid input parameter
500 ESB-14-005 Sistem sedang dalam maintenance System under maintenance
504 ESB-14-006 Timeout, silakan periksa mutasi rekening Timeout, please check your account statement
504 ESB-14-007 Timeout Timeout
401 ESB-14-008 client_id/client_secret/grant_type tidak valid Invalid client_id/client_secret/grant_type
401 ESB-14-009 Tidak berhak Unauthorized
429 ESB-14-010 Jumlah permintaan melebihi limit Limit request exceeded
400 ESB-14-015 Content Type tidak valid Invalid Content Type
400 ESB-14-016 Format JSON tidak valid Invalid JSON format
403 ESB-14-019 Koneksi tidak diperbolehkan Connection not allowed
400 ESB-14-020 Request tidak valid Invalid Request
400 ESB-14-021 API Key Tidak Valid API Key Invalid
400 ESB-14-022 API Key/API Secret tidak cocok API Key/API Secret mismatch
400 ESB-82-001 Field [FieldName] harus diisi Missing mandatory field [FieldName]
400 ESB-82-002 Corporate Id tidak valid Invalid CorporateID
400 ESB-82-003 TransactionID tidak unik TransactionID not unique
400 ESB-82-004 TransactionDate tidak valid Invalid TransactionDate
403 ESB-82-006 Nominal transaksi melebihi batas maksimum Max amount transaction is exceeded
400 ESB-82-008 Rekening perusahaan tidak valid Company account invalid
400 ESB-82-009 CurrencyCode tidak valid Invalid CurrencyCode
400 ESB-82-010 Format TransactionID tidak valid Invalid TransactionID format
400 ESB-82-011 Amount tidak valid Invalid Amount
400 ESB-82-012 Panjang karakter data input tidak valid Invalid input length
400 ESB-82-013 Tipe data input tidak valid Invalid data type
400 ESB-82-014 AccountNumber tidak valid Invalid AccountNumber
403 ESB-82-015 Min Max Amount Execeeded Min Max Amount Execeeded
403 ESB-82-018 Rekening Dormant Account Dormant
402 ESB-82-019 Saldo tidak cukup Insufficient fund
400 ESB-82-020 Tipe rekening tidak valid Invalid account type
403 ESB-82-021 Rekening tidak dapat melakukan transaksi Account cannot do transaction
404 ESB-82-022 Rekening tutup Account closed
500 ESB-82-023 Transaksi gagal Transaction failed
504 ESB-82-024 Timeout, silakan periksa mutasi rekening Timeout, please check your account statement
500 ESB-82-025 Sedang diproses, silakan periksa mutasi rekening In progress, please check your account statement
500 ESB-82-026 Lewat batas waktu cut off Cut off time is exceeded
400 ESB-99-009 Field [FieldName] harus diisi Missing mandatory field [FieldName]
403 ESB-99-075 KeyID tidak ditemukan KeyID is not found
403 ESB-99-089 Transaksi berhasil sebagian Transaction success partially
400 ESB-99-112 Input string JSON tidak valid Invalid JSON string input
400 ESB-99-113 Transaksi ditolak Transaction rejected
400 ESB-99-128 Panjang field [FieldName] melebihi ketentuan Field [FieldName] exceed limit
400 ESB-99-128 Total input [FieldName] melebihi ketentuan Total [FieldName] input exceed limit
400 ESB-99-156 ChannelType tidak valid ChannelType is not valid
400 ESB-99-156 AccountNumber Tidak Valid Invalid AccountNumber
400 ESB-99-157 Transaksi ditolak Transaction rejected
400 ESB-99-158 Tanggal berakhir lebih besar dari tanggal hari ini End date more than today
400 ESB-99-158 Tanggal mulai lebih besar dari tanggal hari ini Start date more than today
400 ESB-99-158 Maksimal mutasi rekening yang dipilih 31 hari yang lalu Maximal account statement 31 days ago
400 ESB-99-158 Tanggal mulai lebih besar dari tanggal berakhir Start date more than end date
404 ESB-99-127 Transaksi tidak ditemukan Transaction not found
400 ESB-99-197 Nama atau nomor rekening tidak sesuai Account name/number does not match
400 ESB-99-284 [FieldName] tidak valid Invalid [FieldName]
500 ESB-99-999 Sistem sedang tidak tersedia System unavaliable
GET /banking/offline/corporates/accounts/{AccountNumber}/filestatements
Request
Response
3. Balance Information
Get your KlikBCA Bisnis account balance information with maximum of 20 accounts in a request. Your Request must contain following information:

Request
Field DataType  Mandatory Description
CorporateID String(10)  Y Your KlikBCA Bisnis Corporate ID
AccountNumber String(10) Account(s) Number

Please use this value for sandbox:
CorporateID : BCAAPI2016
AccountNumber : 0201245680 or 0063001004


Response
Field DataType Description
AccountDetail Data Success    
 AccountNumber  String(10)  Account Number
 Currency  String(3)  Currency of the account (IDR, USD, etc)
 Balance  String(16)  Balance of the account
 AvailableBalance  String(16)  Available balance to be used. Format: Number, 13.2
 FloatAmount  String(16)  Amount of deposit that is not effective yet (due to holiday, etc). Format: Number, 13.2
 HoldAmount  String(16)  Hold amount that cannot be used. Format: Number, 13.2
 Plafon  String(16)  Credit limit of the account. Format: Number, 13.2
 AccountDetailDataFailed    
 English  String(100)  Error message in English
Indonesian String(100) Error message in Bahasa Indonesia
Account Number String(10) Account Number


Error
HTTP Code Error Code Error Message (Indonesian) Error Message (English)
404 ESB-07-271 Tidak ada transaksi No transaction
400 ESB-07-279 Tanggal awal lebih kecil dari tanggal buka rekening Start date less than account open date
400 ESB-14-001 HMAC tidak cocok HMAC mismatch
400 ESB-14-002 Permintaan tidak valid Invalid request
400 ESB-14-003 Timestamp tidak valid Invalid timestamp
400 ESB-14-004 parameter input tidak valid Invalid input parameter
500 ESB-14-005 Sistem sedang dalam maintenance System under maintenance
504 ESB-14-006 Timeout, silakan periksa mutasi rekening Timeout, please check your account statement
504 ESB-14-007 Timeout Timeout
401 ESB-14-008 client_id/client_secret/grant_type tidak valid Invalid client_id/client_secret/grant_type
401 ESB-14-009 Tidak berhak Unauthorized
429 ESB-14-010 Jumlah permintaan melebihi limit Limit request exceeded
400 ESB-14-015 Content Type tidak valid Invalid Content Type
400 ESB-14-016 Format JSON tidak valid Invalid JSON format
403 ESB-14-019 Koneksi tidak diperbolehkan Connection not allowed
400 ESB-14-020 Request tidak valid Invalid Request
400 ESB-14-021 API Key Tidak Valid API Key Invalid
400 ESB-14-022 API Key/API Secret tidak cocok API Key/API Secret mismatch
400 ESB-82-001 Field [FieldName] harus diisi Missing mandatory field [FieldName]
400 ESB-82-002 Corporate Id tidak valid Invalid CorporateID
400 ESB-82-003 TransactionID tidak unik TransactionID not unique
400 ESB-82-004 TransactionDate tidak valid Invalid TransactionDate
403 ESB-82-006 Nominal transaksi melebihi batas maksimum Max amount transaction is exceeded
400 ESB-82-008 Rekening perusahaan tidak valid Company account invalid
400 ESB-82-009 CurrencyCode tidak valid Invalid CurrencyCode
400 ESB-82-010 Format TransactionID tidak valid Invalid TransactionID format
400 ESB-82-011 Amount tidak valid Invalid Amount
400 ESB-82-012 Panjang karakter data input tidak valid Invalid input length
400 ESB-82-013 Tipe data input tidak valid Invalid data type
400 ESB-82-014 AccountNumber tidak valid Invalid AccountNumber
403 ESB-82-015 Min Max Amount Execeeded Min Max Amount Execeeded
403 ESB-82-018 Rekening Dormant Account Dormant
402 ESB-82-019 Saldo tidak cukup Insufficient fund
400 ESB-82-020 Tipe rekening tidak valid Invalid account type
403 ESB-82-021 Rekening tidak dapat melakukan transaksi Account cannot do transaction
404 ESB-82-022 Rekening tutup Account closed
500 ESB-82-023 Transaksi gagal Transaction failed
504 ESB-82-024 Timeout, silakan periksa mutasi rekening Timeout, please check your account statement
500 ESB-82-025 Sedang diproses, silakan periksa mutasi rekening In progress, please check your account statement
500 ESB-82-026 Lewat batas waktu cut off Cut off time is exceeded
400 ESB-99-009 Field [FieldName] harus diisi Missing mandatory field [FieldName]
403 ESB-99-075 KeyID tidak ditemukan KeyID is not found
403 ESB-99-089 Transaksi berhasil sebagian Transaction success partially
400 ESB-99-112 Input string JSON tidak valid Invalid JSON string input
400 ESB-99-113 Transaksi ditolak Transaction rejected
400 ESB-99-128 Panjang field [FieldName] melebihi ketentuan Field [FieldName] exceed limit
400 ESB-99-128 Total input [FieldName] melebihi ketentuan Total [FieldName] input exceed limit
400 ESB-99-156 ChannelType tidak valid ChannelType is not valid
400 ESB-99-156 AccountNumber Tidak Valid Invalid AccountNumber
400 ESB-99-157 Transaksi ditolak Transaction rejected
400 ESB-99-158 Tanggal berakhir lebih besar dari tanggal hari ini End date more than today
400 ESB-99-158 Tanggal mulai lebih besar dari tanggal hari ini Start date more than today
400 ESB-99-158 Maksimal mutasi rekening yang dipilih 31 hari yang lalu Maximal account statement 31 days ago
400 ESB-99-158 Tanggal mulai lebih besar dari tanggal berakhir Start date more than end date
404 ESB-99-127 Transaksi tidak ditemukan Transaction not found
400 ESB-99-197 Nama atau nomor rekening tidak sesuai Account name/number does not match
400 ESB-99-284 [FieldName] tidak valid Invalid [FieldName]
500 ESB-99-999 Sistem sedang tidak tersedia System unavaliable
GET banking/v3/corporates/{CorporateID}/accounts/{AccountNumber}
Request
Response
4. Domestic Fund Transfer
You can send fund transfer instructions to BCA using this service. The source of fund transfer must be from your corporate's own deposit account. The recipient may be any deposit account within domestic bank except BCA.
Your Request must contain following information:
Additional headers
Field DataType Mandatory Description
ChannelID String(5) Y Channel Identification Number (Ex: 95051 for KlikBCA Bisnis) 
CredentialID String(10) Y Your Channel Identity (ex: Your KlikBCA Bisnis CorporateID)

Payload
Field DataType  Mandatory Description
TransactionID String(8) Y Transaction ID unique per 90 days (using UTC+07 Time Zone). Format: Number Must be 8 in length.
TransactionDate String(10) Y Transaction date. Format: yyyy-MM-dd
ReferenceID String(30) Y Sender’s transaction reference ID
SourceAccountNumber String(10) Y  Source of Fund Account Number 
BeneficiaryAccountNumber String(34) Account name to be credited (destination) 
BeneficiaryBankCode  String(8)  Bank Code of account to be credited (destination)
BeneficiaryName  String(70)  Account name to be credited (destination) 
Amount String(16) Y Transfer amount. Format: Number, 13.2
TransferType  String(3)
Y LLG or RTG
BeneficiaryCustType  String(1)  1 = Personal 2 = Corporate 3 = Government 
BeneficiaryCustResidence  String(1)  1 = Resident 2 = Non Resident 
CurrencyCode  String(3)  Currency Code (For now support only IDR) 
Remark1 String(18) N Transfer remark for receiver
Remark2 String(18) N Transfer remark for receiver

Please use this value for sandbox:
Source Account Number : 0201245680
Beneficiary Account Number : 0201245501 (for dormant account),0201245502(for blocked account)
Bank Code : BRONINJA
Minimum Amount is Rp 1 & maximum Amount is Rp 100.000.000
Channel ID : 95051
Credential ID : BCAAPI
Transaction Date : No longer than 2018-05-03

Result of the request will contains following information:

Response
Field DataType Description
TransactionID String(8) Transaction ID unique per day. (Using UTC+07 Time Zone). Format: Number
TransactionDate String(10) Transcation date. Format: yyyy-MM-dd
filler_ppu_no String(5) LLG/RTG Response Only


Error
HTTP Code Error Code Error Message (Indonesian) Error Message (English)
404 ESB-07-271 Tidak ada transaksi No transaction
400 ESB-07-279 Tanggal awal lebih kecil dari tanggal buka rekening Start date less than account open date
400 ESB-14-001 HMAC tidak cocok HMAC mismatch
400 ESB-14-002 Permintaan tidak valid Invalid request
400 ESB-14-003 Timestamp tidak valid Invalid timestamp
400 ESB-14-004 parameter input tidak valid Invalid input parameter
500 ESB-14-005 Sistem sedang dalam maintenance System under maintenance
504 ESB-14-006 Timeout, silakan periksa mutasi rekening Timeout, please check your account statement
504 ESB-14-007 Timeout Timeout
401 ESB-14-008 client_id/client_secret/grant_type tidak valid Invalid client_id/client_secret/grant_type
401 ESB-14-009 Tidak berhak Unauthorized
429 ESB-14-010 Jumlah permintaan melebihi limit Limit request exceeded
400 ESB-14-015 Content Type tidak valid Invalid Content Type
400 ESB-14-016 Format JSON tidak valid Invalid JSON format
403 ESB-14-019 Koneksi tidak diperbolehkan Connection not allowed
400 ESB-14-020 Request tidak valid Invalid Request
400 ESB-14-021 API Key Tidak Valid API Key Invalid
400 ESB-14-022 API Key/API Secret tidak cocok API Key/API Secret mismatch
400 ESB-82-001 Field [FieldName] harus diisi Missing mandatory field [FieldName]
400 ESB-82-002 Corporate Id tidak valid Invalid CorporateID
400 ESB-82-003 TransactionID tidak unik TransactionID not unique
400 ESB-82-004 TransactionDate tidak valid Invalid TransactionDate
403 ESB-82-006 Nominal transaksi melebihi batas maksimum Max amount transaction is exceeded
400 ESB-82-008 Rekening perusahaan tidak valid Company account invalid
400 ESB-82-009 CurrencyCode tidak valid Invalid CurrencyCode
400 ESB-82-010 Format TransactionID tidak valid Invalid TransactionID format
400 ESB-82-011 Amount tidak valid Invalid Amount
400 ESB-82-012 Panjang karakter data input tidak valid Invalid input length
400 ESB-82-013 Tipe data input tidak valid Invalid data type
400 ESB-82-014 AccountNumber tidak valid Invalid AccountNumber
403 ESB-82-015 Min Max Amount Execeeded Min Max Amount Execeeded
403 ESB-82-018 Rekening Dormant Account Dormant
402 ESB-82-019 Saldo tidak cukup Insufficient fund
400 ESB-82-020 Tipe rekening tidak valid Invalid account type
403 ESB-82-021 Rekening tidak dapat melakukan transaksi Account cannot do transaction
404 ESB-82-022 Rekening tutup Account closed
500 ESB-82-023 Transaksi gagal Transaction failed
504 ESB-82-024 Timeout, silakan periksa mutasi rekening Timeout, please check your account statement
500 ESB-82-025 Sedang diproses, silakan periksa mutasi rekening In progress, please check your account statement
500 ESB-82-026 Lewat batas waktu cut off Cut off time is exceeded
400 ESB-99-009 Field [FieldName] harus diisi Missing mandatory field [FieldName]
403 ESB-99-075 KeyID tidak ditemukan KeyID is not found
403 ESB-99-089 Transaksi berhasil sebagian Transaction success partially
400 ESB-99-112 Input string JSON tidak valid Invalid JSON string input
400 ESB-99-113 Transaksi ditolak Transaction rejected
400 ESB-99-128 Panjang field [FieldName] melebihi ketentuan Field [FieldName] exceed limit
400 ESB-99-128 Total input [FieldName] melebihi ketentuan Total [FieldName] input exceed limit
400 ESB-99-156 ChannelType tidak valid ChannelType is not valid
400 ESB-99-156 AccountNumber Tidak Valid Invalid AccountNumber
400 ESB-99-157 Transaksi ditolak Transaction rejected
400 ESB-99-158 Tanggal berakhir lebih besar dari tanggal hari ini End date more than today
400 ESB-99-158 Tanggal mulai lebih besar dari tanggal hari ini Start date more than today
400 ESB-99-158 Maksimal mutasi rekening yang dipilih 31 hari yang lalu Maximal account statement 31 days ago
400 ESB-99-158 Tanggal mulai lebih besar dari tanggal berakhir Start date more than end date
404 ESB-99-127 Transaksi tidak ditemukan Transaction not found
400 ESB-99-197 Nama atau nomor rekening tidak sesuai Account name/number does not match
400 ESB-99-284 [FieldName] tidak valid Invalid [FieldName]
500 ESB-99-999 Sistem sedang tidak tersedia System unavaliable
POST /banking/corporates/transfers/v2/domestic
Request
Response
5. Fund Transfer
You can send fund transfer instructions to BCA using this service. The source of fund transfer must be from your corporate’s own deposit account. The recipient may be any deposit account within BCA. Your Request must contain following information:

Payload
Field DataType  Mandatory Description
CorporateID String(10)  Y Your KlikBCA Bisnis Corporate ID
 SourceAccountNumber  String(10)  Y  Source of Fund Account Number
 TransactionID  String(8)  Y  Transcation ID unique per day (using UTC+07 Time Zone). Format: Number
 TransactionDate  String(10)  Y  Transaction date. Format: yyyy-MM-dd
 ReferenceID  String(30)  Y  Sender’s transaction reference ID
 CurrencyCode  String(3)  Y  Currency Code (For now support IDR)
 Amount  String(16)  Y  Transfer amount. Format: Number, 13.2
 BeneficiaryAccountNumber  String(10)  Y  BCA Account number to be credited (Destination)
 Remark1  String(18)  N  Transfer remark for receiver
Remark2 String(18) N Transfer remark for receiver

Please use this value for sandbox:
Source Account Number : 0201245680
Beneficiary Account Number : 0201245681,0201245501(for closed account)

Result of the request will contains following information:

Response
Field DataType Description
TransactionID  String(8) Transaction ID unique per day. (Using UTC+07 Time Zone). Format: Number
TransactionDate  String(10) Transcation date. Format: yyyy-MM-dd
ReferenceID  String(30) Sender’s transaction reference ID
 Status  String(20) Transfer Status: “Success”


Error
HTTP Code Error Code Error Message (Indonesian) Error Message (English)
404 ESB-07-271 Tidak ada transaksi No transaction
400 ESB-07-279 Tanggal awal lebih kecil dari tanggal buka rekening Start date less than account open date
400 ESB-14-001 HMAC tidak cocok HMAC mismatch
400 ESB-14-002 Permintaan tidak valid Invalid request
400 ESB-14-003 Timestamp tidak valid Invalid timestamp
400 ESB-14-004 parameter input tidak valid Invalid input parameter
500 ESB-14-005 Sistem sedang dalam maintenance System under maintenance
504 ESB-14-006 Timeout, silakan periksa mutasi rekening Timeout, please check your account statement
504 ESB-14-007 Timeout Timeout
401 ESB-14-008 client_id/client_secret/grant_type tidak valid Invalid client_id/client_secret/grant_type
401 ESB-14-009 Tidak berhak Unauthorized
429 ESB-14-010 Jumlah permintaan melebihi limit Limit request exceeded
400 ESB-14-015 Content Type tidak valid Invalid Content Type
400 ESB-14-016 Format JSON tidak valid Invalid JSON format
403 ESB-14-019 Koneksi tidak diperbolehkan Connection not allowed
400 ESB-14-020 Request tidak valid Invalid Request
400 ESB-14-021 API Key Tidak Valid API Key Invalid
400 ESB-14-022 API Key/API Secret tidak cocok API Key/API Secret mismatch
400 ESB-82-001 Field [FieldName] harus diisi Missing mandatory field [FieldName]
400 ESB-82-002 Corporate Id tidak valid Invalid CorporateID
400 ESB-82-003 TransactionID tidak unik TransactionID not unique
400 ESB-82-004 TransactionDate tidak valid Invalid TransactionDate
403 ESB-82-006 Nominal transaksi melebihi batas maksimum Max amount transaction is exceeded
400 ESB-82-008 Rekening perusahaan tidak valid Company account invalid
400 ESB-82-009 CurrencyCode tidak valid Invalid CurrencyCode
400 ESB-82-010 Format TransactionID tidak valid Invalid TransactionID format
400 ESB-82-011 Amount tidak valid Invalid Amount
400 ESB-82-012 Panjang karakter data input tidak valid Invalid input length
400 ESB-82-013 Tipe data input tidak valid Invalid data type
400 ESB-82-014 AccountNumber tidak valid Invalid AccountNumber
403 ESB-82-015 Min Max Amount Execeeded Min Max Amount Execeeded
403 ESB-82-018 Rekening Dormant Account Dormant
402 ESB-82-019 Saldo tidak cukup Insufficient fund
400 ESB-82-020 Tipe rekening tidak valid Invalid account type
403 ESB-82-021 Rekening tidak dapat melakukan transaksi Account cannot do transaction
404 ESB-82-022 Rekening tutup Account closed
500 ESB-82-023 Transaksi gagal Transaction failed
504 ESB-82-024 Timeout, silakan periksa mutasi rekening Timeout, please check your account statement
500 ESB-82-025 Sedang diproses, silakan periksa mutasi rekening In progress, please check your account statement
500 ESB-82-026 Lewat batas waktu cut off Cut off time is exceeded
400 ESB-99-009 Field [FieldName] harus diisi Missing mandatory field [FieldName]
403 ESB-99-075 KeyID tidak ditemukan KeyID is not found
403 ESB-99-089 Transaksi berhasil sebagian Transaction success partially
400 ESB-99-112 Input string JSON tidak valid Invalid JSON string input
400 ESB-99-113 Transaksi ditolak Transaction rejected
400 ESB-99-128 Panjang field [FieldName] melebihi ketentuan Field [FieldName] exceed limit
400 ESB-99-128 Total input [FieldName] melebihi ketentuan Total [FieldName] input exceed limit
400 ESB-99-156 ChannelType tidak valid ChannelType is not valid
400 ESB-99-156 AccountNumber Tidak Valid Invalid AccountNumber
400 ESB-99-157 Transaksi ditolak Transaction rejected
400 ESB-99-158 Tanggal berakhir lebih besar dari tanggal hari ini End date more than today
400 ESB-99-158 Tanggal mulai lebih besar dari tanggal hari ini Start date more than today
400 ESB-99-158 Maksimal mutasi rekening yang dipilih 31 hari yang lalu Maximal account statement 31 days ago
400 ESB-99-158 Tanggal mulai lebih besar dari tanggal berakhir Start date more than end date
404 ESB-99-127 Transaksi tidak ditemukan Transaction not found
400 ESB-99-197 Nama atau nomor rekening tidak sesuai Account name/number does not match
400 ESB-99-284 [FieldName] tidak valid Invalid [FieldName]
500 ESB-99-999 Sistem sedang tidak tersedia System unavaliable
POST /banking/corporates/transfers
Request
Response
6. Inquiry Domestic Account
Inquiry Domestic Account service is to get beneficiary account information including beneficiary account name. (This feature is only available for switching bank member)

Headers
Field DataType Mandatory Description
ChannelID String(5) Y Channel Identification Number (Ex: 95051 for KlikBCA Bisnis) 
CredentialID String(10) Y Your Channel Identity (ex: Your KlikBCA Bisnis CorporateID)
Path
Field DataType  Mandatory Description
beneficiary_account_number String Y Beneficiary Account Number
 beneficiary_bank_code String Beneficiary Bank Code 
Response
Field DataType Description
beneficiary_bank_code String  
beneficiary_account_number String  
beneficiary_account_name String  


Error
HTTP Code Error Code Error Message (Indonesian) Error Message (English)
404 ESB-07-271 Tidak ada transaksi No transaction
400 ESB-07-279 Tanggal awal lebih kecil dari tanggal buka rekening Start date less than account open date
400 ESB-14-001 HMAC tidak cocok HMAC mismatch
400 ESB-14-002 Permintaan tidak valid Invalid request
400 ESB-14-003 Timestamp tidak valid Invalid timestamp
400 ESB-14-004 parameter input tidak valid Invalid input parameter
500 ESB-14-005 Sistem sedang dalam maintenance System under maintenance
504 ESB-14-006 Timeout, silakan periksa mutasi rekening Timeout, please check your account statement
504 ESB-14-007 Timeout Timeout
401 ESB-14-008 client_id/client_secret/grant_type tidak valid Invalid client_id/client_secret/grant_type
401 ESB-14-009 Tidak berhak Unauthorized
429 ESB-14-010 Jumlah permintaan melebihi limit Limit request exceeded
400 ESB-14-015 Content Type tidak valid Invalid Content Type
400 ESB-14-016 Format JSON tidak valid Invalid JSON format
403 ESB-14-019 Koneksi tidak diperbolehkan Connection not allowed
400 ESB-14-020 Request tidak valid Invalid Request
400 ESB-14-021 API Key Tidak Valid API Key Invalid
400 ESB-14-022 API Key/API Secret tidak cocok API Key/API Secret mismatch
400 ESB-82-001 Field [FieldName] harus diisi Missing mandatory field [FieldName]
400 ESB-82-002 Corporate Id tidak valid Invalid CorporateID
400 ESB-82-003 TransactionID tidak unik TransactionID not unique
400 ESB-82-004 TransactionDate tidak valid Invalid TransactionDate
403 ESB-82-006 Nominal transaksi melebihi batas maksimum Max amount transaction is exceeded
400 ESB-82-008 Rekening perusahaan tidak valid Company account invalid
400 ESB-82-009 CurrencyCode tidak valid Invalid CurrencyCode
400 ESB-82-010 Format TransactionID tidak valid Invalid TransactionID format
400 ESB-82-011 Amount tidak valid Invalid Amount
400 ESB-82-012 Panjang karakter data input tidak valid Invalid input length
400 ESB-82-013 Tipe data input tidak valid Invalid data type
400 ESB-82-014 AccountNumber tidak valid Invalid AccountNumber
403 ESB-82-015 Min Max Amount Execeeded Min Max Amount Execeeded
403 ESB-82-018 Rekening Dormant Account Dormant
402 ESB-82-019 Saldo tidak cukup Insufficient fund
400 ESB-82-020 Tipe rekening tidak valid Invalid account type
403 ESB-82-021 Rekening tidak dapat melakukan transaksi Account cannot do transaction
404 ESB-82-022 Rekening tutup Account closed
500 ESB-82-023 Transaksi gagal Transaction failed
504 ESB-82-024 Timeout, silakan periksa mutasi rekening Timeout, please check your account statement
500 ESB-82-025 Sedang diproses, silakan periksa mutasi rekening In progress, please check your account statement
500 ESB-82-026 Lewat batas waktu cut off Cut off time is exceeded
400 ESB-99-009 Field [FieldName] harus diisi Missing mandatory field [FieldName]
403 ESB-99-075 KeyID tidak ditemukan KeyID is not found
403 ESB-99-089 Transaksi berhasil sebagian Transaction success partially
400 ESB-99-112 Input string JSON tidak valid Invalid JSON string input
400 ESB-99-113 Transaksi ditolak Transaction rejected
400 ESB-99-128 Panjang field [FieldName] melebihi ketentuan Field [FieldName] exceed limit
400 ESB-99-128 Total input [FieldName] melebihi ketentuan Total [FieldName] input exceed limit
400 ESB-99-156 ChannelType tidak valid ChannelType is not valid
400 ESB-99-156 AccountNumber Tidak Valid Invalid AccountNumber
400 ESB-99-157 Transaksi ditolak Transaction rejected
400 ESB-99-158 Tanggal berakhir lebih besar dari tanggal hari ini End date more than today
400 ESB-99-158 Tanggal mulai lebih besar dari tanggal hari ini Start date more than today
400 ESB-99-158 Maksimal mutasi rekening yang dipilih 31 hari yang lalu Maximal account statement 31 days ago
400 ESB-99-158 Tanggal mulai lebih besar dari tanggal berakhir Start date more than end date
404 ESB-99-127 Transaksi tidak ditemukan Transaction not found
400 ESB-99-197 Nama atau nomor rekening tidak sesuai Account name/number does not match
400 ESB-99-284 [FieldName] tidak valid Invalid [FieldName]
500 ESB-99-999 Sistem sedang tidak tersedia System unavaliable
GET /banking/corporates/transfers/v2/domestic/beneficiaries/banks/(beneficiary_bank_code)/accounts/(beneficiary_account_number)
Request
Response
7. Inquiry Transfer Status
Get fund transfer status. Your Request must contain following information:

Headers
Field DataType Mandatory Description
CHANNEL-ID String(5) Y Channel Identification Number (Ex: 95051 for KlikBCA Bisnis) 
X-PARTNER-ID String(10) Y Your Channel Identity (ex: Your KlikBCA Bisnis CorporateID)
Payload (Form Data)
Field DataType  Mandatory Description
transactionId String(14) Y Inquiry transaksi from KBB, HEI and API with input : TransactionID for API/HEI Transaction (Length = 8; Ex: 98501546) ReferenceNo for KBB Transaction (Length = 14; Ex:21040800840035)
transactionDate String(10) Y Fund Transfer Transaction Date. Format: yyyy-MM-dd
transferType String(3) Y Fund Transfer Transaction Type BCA/LLG/RTG/VA/ONL
Response
Field DataType Description
transactionId String(14) TransactionID for API/HEI Transaction ReferenceNo for KBB Transaction
transactionDate  String(10)  Transaction Date 
transferType  String(3)  BCA/LLG/RTG/VA/ONL 
sourceAccountNumber  String(10)  Source of Fund Account Number 
beneficiaryAccountNumber  String(34)  Account number to be credited (destination) 
beneficiaryBankCode  String(8)  Transfer Type BCA/VA, Beneficiary Bank Code : “CENAIDJA” Transfer Type LLG/RTG/ONL, Beneficiary Bank Code : SWIFT Code or Switching code the beneficiary bank (example : “BNINIDJA” for LLG/RTG transaction or “022” for switching transaction) 
currency_code  String(3)  Currency Code 
amount  String(13,2)  Transfer Amount 
status_code  String(2)  Transfer Status Code
00 : Success
01 : Failed
02 : Pending 
reason     
english  String(50)  Transfer Status in English 
indonesia  String(50)  Transfer Status in Bahasa 


Error
HTTP Code Error Code Error Message (Indonesian) Error Message (English)
404 ESB-07-271 Tidak ada transaksi No transaction
400 ESB-07-279 Tanggal awal lebih kecil dari tanggal buka rekening Start date less than account open date
400 ESB-14-001 HMAC tidak cocok HMAC mismatch
400 ESB-14-002 Permintaan tidak valid Invalid request
400 ESB-14-003 Timestamp tidak valid Invalid timestamp
400 ESB-14-004 parameter input tidak valid Invalid input parameter
500 ESB-14-005 Sistem sedang dalam maintenance System under maintenance
504 ESB-14-006 Timeout, silakan periksa mutasi rekening Timeout, please check your account statement
504 ESB-14-007 Timeout Timeout
401 ESB-14-008 client_id/client_secret/grant_type tidak valid Invalid client_id/client_secret/grant_type
401 ESB-14-009 Tidak berhak Unauthorized
429 ESB-14-010 Jumlah permintaan melebihi limit Limit request exceeded
400 ESB-14-015 Content Type tidak valid Invalid Content Type
400 ESB-14-016 Format JSON tidak valid Invalid JSON format
403 ESB-14-019 Koneksi tidak diperbolehkan Connection not allowed
400 ESB-14-020 Request tidak valid Invalid Request
400 ESB-14-021 API Key Tidak Valid API Key Invalid
400 ESB-14-022 API Key/API Secret tidak cocok API Key/API Secret mismatch
400 ESB-82-001 Field [FieldName] harus diisi Missing mandatory field [FieldName]
400 ESB-82-002 Corporate Id tidak valid Invalid CorporateID
400 ESB-82-003 TransactionID tidak unik TransactionID not unique
400 ESB-82-004 TransactionDate tidak valid Invalid TransactionDate
403 ESB-82-006 Nominal transaksi melebihi batas maksimum Max amount transaction is exceeded
400 ESB-82-008 Rekening perusahaan tidak valid Company account invalid
400 ESB-82-009 CurrencyCode tidak valid Invalid CurrencyCode
400 ESB-82-010 Format TransactionID tidak valid Invalid TransactionID format
400 ESB-82-011 Amount tidak valid Invalid Amount
400 ESB-82-012 Panjang karakter data input tidak valid Invalid input length
400 ESB-82-013 Tipe data input tidak valid Invalid data type
400 ESB-82-014 AccountNumber tidak valid Invalid AccountNumber
403 ESB-82-015 Min Max Amount Execeeded Min Max Amount Execeeded
403 ESB-82-018 Rekening Dormant Account Dormant
402 ESB-82-019 Saldo tidak cukup Insufficient fund
400 ESB-82-020 Tipe rekening tidak valid Invalid account type
403 ESB-82-021 Rekening tidak dapat melakukan transaksi Account cannot do transaction
404 ESB-82-022 Rekening tutup Account closed
500 ESB-82-023 Transaksi gagal Transaction failed
504 ESB-82-024 Timeout, silakan periksa mutasi rekening Timeout, please check your account statement
500 ESB-82-025 Sedang diproses, silakan periksa mutasi rekening In progress, please check your account statement
500 ESB-82-026 Lewat batas waktu cut off Cut off time is exceeded
400 ESB-99-009 Field [FieldName] harus diisi Missing mandatory field [FieldName]
403 ESB-99-075 KeyID tidak ditemukan KeyID is not found
403 ESB-99-089 Transaksi berhasil sebagian Transaction success partially
400 ESB-99-112 Input string JSON tidak valid Invalid JSON string input
400 ESB-99-113 Transaksi ditolak Transaction rejected
400 ESB-99-128 Panjang field [FieldName] melebihi ketentuan Field [FieldName] exceed limit
400 ESB-99-128 Total input [FieldName] melebihi ketentuan Total [FieldName] input exceed limit
400 ESB-99-156 ChannelType tidak valid ChannelType is not valid
400 ESB-99-156 AccountNumber Tidak Valid Invalid AccountNumber
400 ESB-99-157 Transaksi ditolak Transaction rejected
400 ESB-99-158 Tanggal berakhir lebih besar dari tanggal hari ini End date more than today
400 ESB-99-158 Tanggal mulai lebih besar dari tanggal hari ini Start date more than today
400 ESB-99-158 Maksimal mutasi rekening yang dipilih 31 hari yang lalu Maximal account statement 31 days ago
400 ESB-99-158 Tanggal mulai lebih besar dari tanggal berakhir Start date more than end date
404 ESB-99-127 Transaksi tidak ditemukan Transaction not found
400 ESB-99-197 Nama atau nomor rekening tidak sesuai Account name/number does not match
400 ESB-99-284 [FieldName] tidak valid Invalid [FieldName]
500 ESB-99-999 Sistem sedang tidak tersedia System unavaliable
POST /banking/corporates/transfers/v2/status
Request
Response

Collection

1. Account Authorization Notification
Service for BCA to notify Account Authorization Registration Status.

Your Request must contain following information:
Request
Field Data Type  Mandatory Description
request_id String(833) Request ID
customer_no String(15) Y  Customer Number
customer_name String(30) Y  Customer Name
db_account_no String(10)  Y  Mandatory If “status” = 01
status String(2)  Y  SKPR Registration Status
“01” = Success
"02” = Failed
Response
Field DataType Description
request_id String(33)  Request ID
response_ws String(1)  Response
0 = Success
1 = Failed

POST https://copartners.com/account-authorization/notification
Request
Response
2. Account Authorization Registration
Get your request ID which will be required to access Account Authorization webview.

Your Request must contain following information:
Additional headers
Field DataType Mandatory  Description
ChannelID String(5)  Y Channel ID (BCA channel’s identifier).Ex: “95051”.
CredentialID String(10)  Y Company Code Auto-Collection
Request
Field DataType  Mandatory Description
customer_id_merchant String(15) Y Customer id merchant in number.
identifications Object Customer data
type  Numeric(1)  Y  Customer data type. Type contains numbers 1, 2, and 3.
1 = “Nama Pelanggan”
2 = “Tipe Debit”
3 = “Nominal Pembayaran” 
identification  String(30)  Y  If “type” : “1” then “identification ” : “customer name”.
Example : “identification” : “budi” 
identification  String(1)  Y  If “type” : “2” then “identification ” : “tipe_debit” (F : Fix / V : Variable).
Example : “identification” : “V” 
identification  Numeric(13)  Y  If “type” : “3” then “identification ” :“nominal pembayaran”.
If tipe_debit = V then amount “0”.
If tipe_debit = F the amount “nominal transaksi.
Example : “identification” : “0” 
merchant_logo_url  String  Merchant logo URL to display on webview 

Response
Field DataType  Mandatory Description
request_id String(33) Registration token to open a webview
random_string String(16)  Y Random string used to generate String verification to open webview
expired_date Long(13)  Y Expired date in epoch
created_date Long(13)  Y Created date in epoch
Here is the list of error codes that can be returned:

HTTP Code Error Code Error Message (Indonesian) Error Message (English)
400 3-2-100 ID pelanggan harus diisi Customer ID cannot be empty
400 3-2-100  ID pelanggan tidak valid Invalid customer ID
400 3-2-100  Nama pelanggan harus diisi Customer name cannot be empty
400 3-2-100 Nama pelanggan tidak valid Invalid customer name
400  3-2-100  Tipe debit harus diisi  Debit type cannot be empty 
400  3-2-100  Tipe debit tidak valid  Invalid debit type 
400  3-2-100  Jumlah pembayaran harus diisi  Amount cannot be empty 
400  3-2-100  Jumlah pembayaran tidak valid  Invalid amount 
400  3-2-101  Kode perusahaan tidak valid  Invalid company code 
400  3-2-300  Registrasi Kuasa Debet telah melebihi batas maksimal.
Silahkan hubungi Halo BCA untuk informasi lebih lanjut 
Account Authorization registrastion already exceed the limit.
Please contact Halo BCA for the further information 
400  3-2-307  ID pelanggan sudah aktif  Customer ID already active 
400  3-2-325  Data pelanggan tidak ditemukan  Customer data not found 
400  3-2-300  Transaksi tidak dapat diproses. Silahkan ulangi beberapa saat lagi  Transaction cannot be completed. Please try again later 
400  3-2-998  Transaksi gagal. Silahkan ulangi beberapa saat lagi  Transaction failed. Please try again later. 
400  3-2-999  Transaksi tidak dapat diproses. Silahkan ulangi beberapa saat lagi  Transaction cannot be completed. Please try again later 

POST /account-authorization/registration
Request
Response
3. Add Fund Block
This service is used to request new blocking on some amount of money from your destination bank account. No request cut off time applied so you can add new blocking request anytime. Every blocking request has its own expiry date.

Your Request must contain following information:
Additional headers
Field DataType Mandatory  Description
ChannelID String(5)  Y Channel’s identifier. Fill it with “95051”.
CredentialID String(10)  Y Channel’s credential (KlikBCA Bisnis Corporate ID)
Request
Field DataType  Mandatory Description
TransactionID String(18) Y Unique data from Corporate. Format: Numeric.
ReferenceNumber String(14) Sender's Transaction Reference ID. Format: Numeric.
RequestType String(2)  Y A = Request Add Blocking. Format: Alphabet.
DebitedAccount String(10) O Account to be debited, must registered at KlikBCA Bisnis. Format: Numeric.
Amount String(13,2)  Y Total length is 15, include decimal amount. Format: Numeric, 13.2
Currency String(3)  Y Currently is IDR only.
ExpiredDate String(10) Y Transaction Expired Date. Max : 366 days. Format: yyyy-MM-dd.
TransactionDate String(10)  Y The date of the Transaction. Format: yyyy-MM-dd. 
Remark1 String(18) Y Transfer remark for receiver.
Remark2 String(18)  Y Transfer remark for receiver.
Email String(254)  Y Email address of beneficiary (blocked account’s owner).

Response
Field DataType Description
TransactionID String(18) Unique data from Corporate. Format: Numeric.
ReferenceNumber String(14) Sender's Transaction Reference ID. Format: Numeric.
DebitedAccount String(10) Account to be debited, must registered at KlikBCA Bisnis. Format: Numeric.
Amount String(13,2) Total length is 15, include decimal amount. Format: Numeric, 13.2
Currency String(3) Currently is IDR only.
TransactionDate String(10) The date of the Transaction Performed get by system. Format: yyyy-MM-dd.
Status String(10) Transaction status


Error
HTTP Code Error Code Error Message (Indonesian) Error Message (English)
400 ESB-07-086 Rekening tutup Account closed
400 ESB-07-087 Rekening Dormant Account Dormant
400 ESB-07-089 Rekening tidak terdaftar Account not registered
400 ESB-07-090 Rekening tidak dapat digunakan untuk transaksi Account cannot be used for transaction
400 ESB-11-138 Update Gagal Failed to update
400 ESB-11-139 Delete Gagal Failed to delete
400 ESB-14-001 HMAC tidak cocok HMAC mismatch
400 ESB-14-002 Permintaan tidak valid Invalid request
400 ESB-14-003 Timestamp tidak valid Invalid timestamp
500 ESB-14-005 Sistem sedang dalam maintenance System under maintenance
401 ESB-14-008 client_id/client_secret/grant_type tidak valid Invalid client_id/client_secret/grant_type
401 ESB-14-009 Tidak berhak Unauthorized
429 ESB-14-010 Jumlah permintaan melebihi limit Limit request exceeded
404 ESB-14-011 Service tidak ada Service doesn’t exist
401 ESB-14-012 Tidak berhak mengakses service ini Not allowed to access this service
401 ESB-14-014 ChannelID/CredentialID tidak valid Invalid ChannelID/CredentialID
400 ESB-14-015 Content Type tidak valid Invalid Content Type
400 ESB-14-016 Format JSON tidak valid Invalid JSON format
504 ESB-14-023 Koneksi Timeout. Silakan cek transaksi kembali untuk memastikan keberhasilan transaksi Anda. Connection timeout. Please reinquiry your transaction to ensure transaction status.
400 ESB-82-003 TransactionID tidak unik TransactionID not unique
402 ESB-82-019 Saldo tidak cukup Insufficient fund
400 ESB-99-009 Field (0) harus diisi Missing mandatory field (0)
400 ESB-99-022 Format alamat email tidak sesuai Email address format is not valid
400 ESB-99-040 Tipe isian field (0) tidak valid Input type for field (0) not valid
400 ESB-99-112 Input string JSON tidak valid Invalid JSON string input
400 ESB-99-113 Transaksi ditolak Transaction rejected
400 ESB-99-125 Format tanggal tidak valid Invalid date format
400 ESB-99-128 Panjang field (0) melebihi ketentuan Field (0) exceed limit
400 ESB-99-155 Mata uang harus IDR Currency must in IDR
400 ESB-99-173 Format tanggal tidak sesuai Invalid date format
400 ESB-99-211 Panjang field (0) tidak valid Invalid (0) field length
400 ESB-99-376 Format (0) tidak sesuai Invalid field (0) format
400 ESB-99-395 Tidak ada transaksi No transaction found
400 ESB-99-533 Field (0) harus numerik Field (0) should be numeric
400 ESB-99-573 TransactionDate harus diisi dengan tanggal hari ini Transaction Date must be filled with today's date
400 ESB-99-669 Transaksi tidak dapat diproses Transaction cannot be processed
400 ESB-99-670 Jenis transaksi tidak diijinkan Transaction Type not allowed
400 ESB-99-671 Reference Number sedang digunakan oleh transaksi lain Reference Number is still used for another transactions
400 ESB-99-672 Tanggal kadaluarsa lebih kecil dari tanggal hari ini Expiry Date is smaller than today
400 ESB-99-673 Tanggal kadaluarsa melebihi batas maksimum Expiry Date exceeds maximum limit
400 ESB-99-674 Gagal membuat reference number Failed Generate Reference Number
400 ESB-99-675 Gagal memperbaharui data Failed to update data
400 ESB-99-676 Status Blokir tidak aktif Hold status is inactive
400 ESB-99-677 Rekening tidak terdaftar Account not registered
400 ESB-99-678 Kata kunci pencarian tidak valid Invalid inquiry keyword
400 ESB-99-999 Sistem sedang tidak tersedia System unavailable
500 ESB-99-999 Koneksi Timeout. Silakan cek transaksi kembali untuk memastikan keberhasilan transaksi Anda. Connection timeout. Please reinquiry your transaction to ensure transaction status.
POST /fund-collection
Request
Response
4. Add Fund Collection
This service is used to collect some amount of money from your destination bank account that have been blocked before.

Your Request must contain following information:
Additional headers
Field DataType Mandatory  Description
ChannelID String(5)  Y Channel’s identifier. Fill it with “95051”.
CredentialID String(10)  Y Channel’s credential (KlikBCA Bisnis Corporate ID)
Request
Field DataType  Mandatory Description
TransactionID String(18) Y Unique data from Corporate. Format: Numeric.
ReferenceNumber String(14) Sender's Transaction Reference ID. Format: Numeric.
RequestType String(2)  Y B = With Blocking, NB = Without Blocking. Format: B or NB.
DebitedAccount String(10) O Account to be debited, must registered at KlikBCA Bisnis.Mandatory ONLY IF RequestType = NB (Without Blocking). Otherwise must left empty. Format: Numeric.
Amount String(16)  Y Maximum length is 16, include decimal amount. Format: Numeric, 13.2
Currency String(3)  Y Currently is IDR only.
CreditedAccount String(10) Y Account to be credited
EffectiveDate  String(10)  Y Transaction Effective Date. Max : 366 days. Format: yyyy-MM-dd.
TransactionDate String(10)  Y The date of the Transaction. Format: yyyy-MM-dd. 
Remark1 String(18) Y Transfer remark for receiver.
Remark2 String(18)  Y Transfer remark for receiver.
Email String(254)  Y Email address of beneficiary (blocked account’s owner).

Response
Field DataType Description
TransactionID String(18) Unique data from Corporate. Format: Numeric.
ReferenceNumber String(14) Sender's Transaction Reference ID. Format: Numeric.
RequestType String(2) B = With Blocking, NB = Without Blocking. Format: B or NB.
DebitedAccount String(10) Account to be debited, must registered at KlikBCA Bisnis.Mandatory ONLY IF RequestType = NB (Without Blocking). Otherwise must left empty. Format: Numeric.
Amount String(16) Maximum length is 16, include decimal amount. Format: Numeric, 13.2
Currency String(3) Currently is IDR only.
CreditedAccount String(10) Account to be credited
EffectiveDate String(10) Transaction Effective Date. Max : 366 days. Format: yyyy-MM-dd.
TransactionDate String(10) The date of the Transaction Performed get by system. Format: yyyy-MM-dd.
Status String(10) Transaction status


POST /fund-collection
Request
Response
5. Inquiry Account Authorization Status
This service is used to get account authorization status based on the customer id.

Your Request must contain following information:
Additional headers and URI Params
Field  Params Type DataType Mandatory  Description
ChannelID  Header String(5) Y Channel ID (BCA channel’s identifier).Ex: “95051”.
CredentialID  Header String(10) Y Company Code Auto-Collection
customer_id_merchant   Path String(15) Customer ID in number. Account authorization status that can be inquired is 7 days back from the inquiry date 
Response
Field DataType Description
customer_id_merchant String(15) Customer id from input
skpr_pending Object Account authorization pending list. Shows list of on process/failed account authorization registration
request_id String(33) Request ID. ID when request registration
status String(2) Registration status:
02 = Failed
03 = On process
failed_date  String(10)  Account authorization failed date (only when status = 02)
Format: yyyy-MM-dd 
skpr_active  Object  Account authorization active list. Shows list of active account authorization registration 
skpr_id  String(33)  SKPR ID. ID when request registration 
db_account_no  String(10)  Account number registered 
active_date  String(10)  SKPR active date
Format: yyyy-MM-dd 
Here is the list of error codes that can be returned:

HTTP Code Error Code Error Message (Indonesian) Error Message (English)
400 3-2-100 ID pelanggan harus diisi Customer ID cannot be empty
400 3-2-100  ID pelanggan tidak valid Invalid customer ID
400 3-2-100  Nama pelanggan harus diisi Customer name cannot be empty
400 3-2-100 Nama pelanggan tidak valid Invalid customer name
400  3-2-100  Tipe debit harus diisi  Debit type cannot be empty 
400  3-2-100  Tipe debit tidak valid  Invalid debit type 
400  3-2-100  Jumlah pembayaran harus diisi  Amount cannot be empty 
400  3-2-100  Jumlah pembayaran tidak valid  Invalid amount 
400  3-2-101  Kode perusahaan tidak valid  Invalid company code 
400  3-2-300  Registrasi Kuasa Debet telah melebihi batas maksimal.
Silahkan hubungi Halo BCA untuk informasi lebih lanjut 
Account Authorization registrastion already exceed the limit.
Please contact Halo BCA for the further information 
400  3-2-307  ID pelanggan sudah aktif  Customer ID already active 
400  3-2-325  Data pelanggan tidak ditemukan  Customer data not found 
400  3-2-300  Transaksi tidak dapat diproses. Silahkan ulangi beberapa saat lagi  Transaction cannot be completed. Please try again later 
400  3-2-998  Transaksi gagal. Silahkan ulangi beberapa saat lagi  Transaction failed. Please try again later. 
400  3-2-999  Transaksi tidak dapat diproses. Silahkan ulangi beberapa saat lagi  Transaction cannot be completed. Please try again later 

GET /account-authorization/inquiry/{customer_id_merchant}
Request
Response
6. Inquiry Block Status
This service is used to request inquiry fund blocking. No request cut off time applied so you can inquiry fund blocking request anytime.

Your Request must contain following information:
Additional headers
Field DataType Mandatory  Description
ChannelID String(5)  Y Channel’s identifier. Fill it with “95051”.
CredentialID String(10)  Y Channel’s credential (KlikBCA Bisnis Corporate ID)
Request
Field DataType  Mandatory Description
SearchBy String(15) Y There are 3 options to inquiry block status which are :
- TransactionID
- ReferenceNumber
- DebitedAccount
Value String(20) Value to be inquired based on the “SearchBy” parameter.

Response
Field DataType Description
FundBlockDetails  Array of Object  The object that hold information of the FundBlockDetails. 
TransactionID String(18) Unique data from Corporate. Format: Numeric.
ReferenceNumber String(14) Sender's Transaction Reference ID. Format: Numeric.
DebitedAccount String(10) Account to be debited, must registered at KlikBCA Bisnis. Format: Numeric.
Amount Blocked String(13,2) Total length is 15, include decimal amount. Format: Numeric, 13.2
TransactionDate String(10)  The date of the Transaction Performed get by system. Format: yyyy-MM-dd. 
ExpiredDate  String(10)  The date of the Blocking Fund will expired. Format: yyyy-MM-dd. 
Currency String(3) Currently is IDR only.
Remark1 String(18) Transfer remark for receiver.
Remark2  String(18)  Transfer remark for receiver. 
Email String(254) Email address of beneficiary (blocked account’s owner).


Error
HTTP Code Error Code Error Message (Indonesian) Error Message (English)
400 ESB-07-086 Rekening tutup Account closed
400 ESB-07-087 Rekening Dormant Account Dormant
400 ESB-07-089 Rekening tidak terdaftar Account not registered
400 ESB-07-090 Rekening tidak dapat digunakan untuk transaksi Account cannot be used for transaction
400 ESB-11-138 Update Gagal Failed to update
400 ESB-11-139 Delete Gagal Failed to delete
400 ESB-14-001 HMAC tidak cocok HMAC mismatch
400 ESB-14-002 Permintaan tidak valid Invalid request
400 ESB-14-003 Timestamp tidak valid Invalid timestamp
500 ESB-14-005 Sistem sedang dalam maintenance System under maintenance
401 ESB-14-008 client_id/client_secret/grant_type tidak valid Invalid client_id/client_secret/grant_type
401 ESB-14-009 Tidak berhak Unauthorized
429 ESB-14-010 Jumlah permintaan melebihi limit Limit request exceeded
404 ESB-14-011 Service tidak ada Service doesn’t exist
401 ESB-14-012 Tidak berhak mengakses service ini Not allowed to access this service
401 ESB-14-014 ChannelID/CredentialID tidak valid Invalid ChannelID/CredentialID
400 ESB-14-015 Content Type tidak valid Invalid Content Type
400 ESB-14-016 Format JSON tidak valid Invalid JSON format
504 ESB-14-023 Koneksi Timeout. Silakan cek transaksi kembali untuk memastikan keberhasilan transaksi Anda. Connection timeout. Please reinquiry your transaction to ensure transaction status.
400 ESB-82-003 TransactionID tidak unik TransactionID not unique
402 ESB-82-019 Saldo tidak cukup Insufficient fund
400 ESB-99-009 Field (0) harus diisi Missing mandatory field (0)
400 ESB-99-022 Format alamat email tidak sesuai Email address format is not valid
400 ESB-99-040 Tipe isian field (0) tidak valid Input type for field (0) not valid
400 ESB-99-112 Input string JSON tidak valid Invalid JSON string input
400 ESB-99-113 Transaksi ditolak Transaction rejected
400 ESB-99-125 Format tanggal tidak valid Invalid date format
400 ESB-99-128 Panjang field (0) melebihi ketentuan Field (0) exceed limit
400 ESB-99-155 Mata uang harus IDR Currency must in IDR
400 ESB-99-173 Format tanggal tidak sesuai Invalid date format
400 ESB-99-211 Panjang field (0) tidak valid Invalid (0) field length
400 ESB-99-376 Format (0) tidak sesuai Invalid field (0) format
400 ESB-99-395 Tidak ada transaksi No transaction found
400 ESB-99-533 Field (0) harus numerik Field (0) should be numeric
400 ESB-99-573 TransactionDate harus diisi dengan tanggal hari ini Transaction Date must be filled with today's date
400 ESB-99-669 Transaksi tidak dapat diproses Transaction cannot be processed
400 ESB-99-670 Jenis transaksi tidak diijinkan Transaction Type not allowed
400 ESB-99-671 Reference Number sedang digunakan oleh transaksi lain Reference Number is still used for another transactions
400 ESB-99-672 Tanggal kadaluarsa lebih kecil dari tanggal hari ini Expiry Date is smaller than today
400 ESB-99-673 Tanggal kadaluarsa melebihi batas maksimum Expiry Date exceeds maximum limit
400 ESB-99-674 Gagal membuat reference number Failed Generate Reference Number
400 ESB-99-675 Gagal memperbaharui data Failed to update data
400 ESB-99-676 Status Blokir tidak aktif Hold status is inactive
400 ESB-99-677 Rekening tidak terdaftar Account not registered
400 ESB-99-678 Kata kunci pencarian tidak valid Invalid inquiry keyword
400 ESB-99-999 Sistem sedang tidak tersedia System unavailable
500 ESB-99-999 Koneksi Timeout. Silakan cek transaksi kembali untuk memastikan keberhasilan transaksi Anda. Connection timeout. Please reinquiry your transaction to ensure transaction status.
7. Release/Cancel Fund Block
This service is used to request release or cancelation on existing. No request cut off time applied so you can add new release request anytime.

Your Request must contain following information:
Additional headers
Field DataType Mandatory  Description
ChannelID String(5)  Y Channel’s identifier. Fill it with “95051”.
CredentialID String(10)  Y Channel’s credential (KlikBCA Bisnis Corporate ID)
Request
Field DataType  Mandatory Description
TransactionID String(18) Y Existing unique data from Corporate. Format: Numeric.
ReferenceNumber String(14) Existing sender's Transaction Reference ID. Format: Numeric.
RequestType String(2)  Y D = Request Cancel Blocking.

Response
Field DataType Description
TransactionID String(18) Unique data from Corporate. Format: Numeric.
ReferenceNumber String(14) Sender's Transaction Reference ID. Format: Numeric.
DebitedAccount String(10) Account to be debited, must registered at KlikBCA Bisnis. Format: Numeric.
Amount String(13,2) Total length is 15, include decimal amount. Format: Numeric, 13.2
Currency String(3) Currently is IDR only.
TransactionDate String(10) The date of the Transaction Performed get by system. Format: yyyy-MM-dd.
Status String(10) Transaction status


Error
HTTP Code Error Code Error Message (Indonesian) Error Message (English)
400 ESB-07-086 Rekening tutup Account closed
400 ESB-07-087 Rekening Dormant Account Dormant
400 ESB-07-089 Rekening tidak terdaftar Account not registered
400 ESB-07-090 Rekening tidak dapat digunakan untuk transaksi Account cannot be used for transaction
400 ESB-11-138 Update Gagal Failed to update
400 ESB-11-139 Delete Gagal Failed to delete
400 ESB-14-001 HMAC tidak cocok HMAC mismatch
400 ESB-14-002 Permintaan tidak valid Invalid request
400 ESB-14-003 Timestamp tidak valid Invalid timestamp
500 ESB-14-005 Sistem sedang dalam maintenance System under maintenance
401 ESB-14-008 client_id/client_secret/grant_type tidak valid Invalid client_id/client_secret/grant_type
401 ESB-14-009 Tidak berhak Unauthorized
429 ESB-14-010 Jumlah permintaan melebihi limit Limit request exceeded
404 ESB-14-011 Service tidak ada Service doesn’t exist
401 ESB-14-012 Tidak berhak mengakses service ini Not allowed to access this service
401 ESB-14-014 ChannelID/CredentialID tidak valid Invalid ChannelID/CredentialID
400 ESB-14-015 Content Type tidak valid Invalid Content Type
400 ESB-14-016 Format JSON tidak valid Invalid JSON format
504 ESB-14-023 Koneksi Timeout. Silakan cek transaksi kembali untuk memastikan keberhasilan transaksi Anda. Connection timeout. Please reinquiry your transaction to ensure transaction status.
400 ESB-82-003 TransactionID tidak unik TransactionID not unique
402 ESB-82-019 Saldo tidak cukup Insufficient fund
400 ESB-99-009 Field (0) harus diisi Missing mandatory field (0)
400 ESB-99-022 Format alamat email tidak sesuai Email address format is not valid
400 ESB-99-040 Tipe isian field (0) tidak valid Input type for field (0) not valid
400 ESB-99-112 Input string JSON tidak valid Invalid JSON string input
400 ESB-99-113 Transaksi ditolak Transaction rejected
400 ESB-99-125 Format tanggal tidak valid Invalid date format
400 ESB-99-128 Panjang field (0) melebihi ketentuan Field (0) exceed limit
400 ESB-99-155 Mata uang harus IDR Currency must in IDR
400 ESB-99-173 Format tanggal tidak sesuai Invalid date format
400 ESB-99-211 Panjang field (0) tidak valid Invalid (0) field length
400 ESB-99-376 Format (0) tidak sesuai Invalid field (0) format
400 ESB-99-395 Tidak ada transaksi No transaction found
400 ESB-99-533 Field (0) harus numerik Field (0) should be numeric
400 ESB-99-573 TransactionDate harus diisi dengan tanggal hari ini Transaction Date must be filled with today's date
400 ESB-99-669 Transaksi tidak dapat diproses Transaction cannot be processed
400 ESB-99-670 Jenis transaksi tidak diijinkan Transaction Type not allowed
400 ESB-99-671 Reference Number sedang digunakan oleh transaksi lain Reference Number is still used for another transactions
400 ESB-99-672 Tanggal kadaluarsa lebih kecil dari tanggal hari ini Expiry Date is smaller than today
400 ESB-99-673 Tanggal kadaluarsa melebihi batas maksimum Expiry Date exceeds maximum limit
400 ESB-99-674 Gagal membuat reference number Failed Generate Reference Number
400 ESB-99-675 Gagal memperbaharui data Failed to update data
400 ESB-99-676 Status Blokir tidak aktif Hold status is inactive
400 ESB-99-677 Rekening tidak terdaftar Account not registered
400 ESB-99-678 Kata kunci pencarian tidak valid Invalid inquiry keyword
400 ESB-99-999 Sistem sedang tidak tersedia System unavailable
500 ESB-99-999 Koneksi Timeout. Silakan cek transaksi kembali untuk memastikan keberhasilan transaksi Anda. Connection timeout. Please reinquiry your transaction to ensure transaction status.
POST /fund-collection
Request
Response
8. Update Fund Block
This service is used to request update on existing blocking data. No request cut off time applied so you can add new update request anytime. Only several data that can be updated.

Your Request must contain following information:
Additional headers
Field DataType Mandatory  Description
ChannelID String(5)  Y Channel’s identifier. Fill it with “95051”.
CredentialID String(10)  Y Channel’s credential (KlikBCA Bisnis Corporate ID)
Request
Field DataType  Mandatory Description
TransactionID String(18) Y Existing unique data from Corporate. Format: Numeric.
ReferenceNumber String(14) Existing sender's Transaction Reference ID. Format: Numeric.
RequestType String(2)  Y U = Request Update Blocking. Format: Alphabet.
Amount String(13,2)  Y Updatable. Total length is 15, include decimal amount. Format: Numeric, 13.2
Currency String(3)  Y Currently is IDR only.
ExpiredDate String(10) Y Updatable. Transaction Expired Date. Max : 366 days. Format: yyyy-MM-dd.
TransactionDate String(10)  Y The date of the Transaction. Format: yyyy-MM-dd. 
Remark1 String(18) Y Updatable. Transfer remark for receiver.
Remark2 String(18)  Y Updatable. Transfer remark for receiver.
Email String(254)  Y Updatable. Email address of beneficiary (blocked account’s owner).

Response
Field DataType Description
TransactionID String(18) Unique data from Corporate. Format: Numeric.
ReferenceNumber String(14) Sender's Transaction Reference ID. Format: Numeric.
DebitedAccount String(10) Account to be debited, must registered at KlikBCA Bisnis. Format: Numeric.
Amount String(13,2) Total length is 15, include decimal amount. Format: Numeric, 13.2
Currency String(3) Currently is IDR only.
TransactionDate String(10) The date of the Transaction Performed get by system. Format: yyyy-MM-dd.
Status String(10) Transaction status


Error
HTTP Code Error Code Error Message (Indonesian) Error Message (English)
400 ESB-07-086 Rekening tutup Account closed
400 ESB-07-087 Rekening Dormant Account Dormant
400 ESB-07-089 Rekening tidak terdaftar Account not registered
400 ESB-07-090 Rekening tidak dapat digunakan untuk transaksi Account cannot be used for transaction
400 ESB-11-138 Update Gagal Failed to update
400 ESB-11-139 Delete Gagal Failed to delete
400 ESB-14-001 HMAC tidak cocok HMAC mismatch
400 ESB-14-002 Permintaan tidak valid Invalid request
400 ESB-14-003 Timestamp tidak valid Invalid timestamp
500 ESB-14-005 Sistem sedang dalam maintenance System under maintenance
401 ESB-14-008 client_id/client_secret/grant_type tidak valid Invalid client_id/client_secret/grant_type
401 ESB-14-009 Tidak berhak Unauthorized
429 ESB-14-010 Jumlah permintaan melebihi limit Limit request exceeded
404 ESB-14-011 Service tidak ada Service doesn’t exist
401 ESB-14-012 Tidak berhak mengakses service ini Not allowed to access this service
401 ESB-14-014 ChannelID/CredentialID tidak valid Invalid ChannelID/CredentialID
400 ESB-14-015 Content Type tidak valid Invalid Content Type
400 ESB-14-016 Format JSON tidak valid Invalid JSON format
504 ESB-14-023 Koneksi Timeout. Silakan cek transaksi kembali untuk memastikan keberhasilan transaksi Anda. Connection timeout. Please reinquiry your transaction to ensure transaction status.
400 ESB-82-003 TransactionID tidak unik TransactionID not unique
402 ESB-82-019 Saldo tidak cukup Insufficient fund
400 ESB-99-009 Field (0) harus diisi Missing mandatory field (0)
400 ESB-99-022 Format alamat email tidak sesuai Email address format is not valid
400 ESB-99-040 Tipe isian field (0) tidak valid Input type for field (0) not valid
400 ESB-99-112 Input string JSON tidak valid Invalid JSON string input
400 ESB-99-113 Transaksi ditolak Transaction rejected
400 ESB-99-125 Format tanggal tidak valid Invalid date format
400 ESB-99-128 Panjang field (0) melebihi ketentuan Field (0) exceed limit
400 ESB-99-155 Mata uang harus IDR Currency must in IDR
400 ESB-99-173 Format tanggal tidak sesuai Invalid date format
400 ESB-99-211 Panjang field (0) tidak valid Invalid (0) field length
400 ESB-99-376 Format (0) tidak sesuai Invalid field (0) format
400 ESB-99-395 Tidak ada transaksi No transaction found
400 ESB-99-533 Field (0) harus numerik Field (0) should be numeric
400 ESB-99-573 TransactionDate harus diisi dengan tanggal hari ini Transaction Date must be filled with today's date
400 ESB-99-669 Transaksi tidak dapat diproses Transaction cannot be processed
400 ESB-99-670 Jenis transaksi tidak diijinkan Transaction Type not allowed
400 ESB-99-671 Reference Number sedang digunakan oleh transaksi lain Reference Number is still used for another transactions
400 ESB-99-672 Tanggal kadaluarsa lebih kecil dari tanggal hari ini Expiry Date is smaller than today
400 ESB-99-673 Tanggal kadaluarsa melebihi batas maksimum Expiry Date exceeds maximum limit
400 ESB-99-674 Gagal membuat reference number Failed Generate Reference Number
400 ESB-99-675 Gagal memperbaharui data Failed to update data
400 ESB-99-676 Status Blokir tidak aktif Hold status is inactive
400 ESB-99-677 Rekening tidak terdaftar Account not registered
400 ESB-99-678 Kata kunci pencarian tidak valid Invalid inquiry keyword
400 ESB-99-999 Sistem sedang tidak tersedia System unavailable
500 ESB-99-999 Koneksi Timeout. Silakan cek transaksi kembali untuk memastikan keberhasilan transaksi Anda. Connection timeout. Please reinquiry your transaction to ensure transaction status.
POST /fund-collection
Request
Response

Financing

1. Add Invoice
You can send your invoice data to BCA using this service.
Cut-off time: 08.00 P.M - 04.00 A.M (using UTC+07 Time Zone)
Your Request must contain following information:

Additional Headers
Field DataType Mandatory Description
ChannelID String(5) Y Channel’s identifier. Fill it with “95051”.
CredentialID String(10) Y Channel’s credential (KlikBCA Bisnis Corporate ID)
Payload
Field Data Type  Mandatory Description
TransactionID String(20) Transaction ID unique per request (using UTC+07 Time Zone format). Must be 20 in length
TransactionDate String(10) Y  Transaction date. Format: yyyyMM-dd. Must be today’s date 
ReferenceID String(30) Y  Sender’s invoice number. Must be unique 
DistributorCode String(20)  Y  Distributor Code. Format: Alphanumeric and Special Character
Amount  String(16)  Y  Transfer Amount. Format: Number, 13.2  
CurrencyCode  String(3)  Y  Currency Code. Format: Alphanumeric 
PrincipalCode  String(11)  Y  Principal Code. Must be 11 in length. Format: Numeric 
SubPrincipalCode  String(11)  Y  Sub Principal Code. Must be 11 in length. Disbursement to Sub Principal only. Format: Numeric. 
DisburseDate  String(10)  Y  Transaction date. Format: yyyyMM-dd  
Response
Field DataType Description
TransactionID String(20)  Transaction ID unique per request (using UTC+07 Time Zone format). Must be 20 in length
TransactionDate String(10)  Transaction date. Format: yyyy-MM-dd. Must be today’s date
ReferenceID String(30)  Sender’s invoice number. Must be unique
DistributorCode  String(20)   Distributor Code. Format: Alphanumeric and Special Character
Amount  String(16)   Transfer Amount. Format: Number, 13.2
CurrencyCode  String(3)   Currency Code. Format: Alphanumeric
PrincipalCode  String(11)   Principal Code. Must be 11 in length. Format: Numeric
SubPrincipalCode  String(11)   Sub Principal Code. Must be 11 in length. Disbursement to Sub Principal only. Format: Numeric.
DisburseDate  String(10)   Transaction date. Format: yyyy-MM-dd

Error
HTTP Code Error Code Error Message (Indonesian) Error Message (English)
400 ESB-01-005 Data tidak ditemukan No Data Found
400 ESB-11-005 Kode mata uang tidak vaild Currency not valid
400 ESB-11-038 Prinsipal tidak aktif Principal is inactive
400 ESB-11-040 Distributor tidak aktif Distributor is not active
400 ESB-14-001 HMAC tidak cocok HMAC mismatch
400 ESB-14-002 Permintaan tidak valid Invalid request
400 ESB-14-003 Timestamp tidak valid Invalid timestamp
500 ESB-14-005 Sistem sedang dalam maintenance System under maintenance
504 ESB-14-007 Timeout Timeout
401 ESB-14-008 client_id/client_secret/grant_type tidak valid Invalid client_id/client_secret/grant_type
401 ESB-14-009 Tidak berhak Unauthorized
429 ESB-14-010 Jumlah permintaan melebihi limit Limit request exceeded
404 ESB-14-011 Service tidak ada Service doesn’t exist
401 ESB-14-012 Tidak berhak mengakses service ini Not allowed to access this service
504 ESB-14-013 Timeout. Silakan melakukan transaksi kembali Timeout. Please retry your transaction
400 ESB-14-015 Content Type tidak valid Invalid Content Type
400 ESB-14-016 Format JSON tidak valid Invalid JSON format
400 ESB-82-002 Corporate ID tidak valid Invalid Corporate ID
400 ESB-82-003 TransactionID tidak unik TransactionID not unique
400 ESB-82-026 Lewat batas waktu cut off Cut off time is exceeded
400 ESB-99-009 Field (0) harus diisi Missing mandatory field (0)
400 ESB-99-113 Transaksi ditolak Transaction rejected
400 ESB-99-128 Panjang field (0) melebihi ketentuan Field (0) exceed limit
400 ESB-99-284 (0) tidak valid Invalid (0)
400 ESB-99-524 ReferenceID sudah diproses pada tanggal (entry_date) ReferenceID already processed by (entry_date)
400 ESB-99-559 Timeout. Silakan melakukan transaksi kembali Timeout. Please retry your transaction
400 ESB-99-568 SubprincipalCode tidak terdaftar SubprincipalCode is not registered
400 ESB-99-569 Tidak terdaftar untuk fitur Distributor Financing Not registered for Distributor Financing features
400 ESB-99-573 TransactionDate harus diisi dengan tanggal hari ini Transaction Date must be filled with today's date
400 ESB-99-655 Subprinsipal tidak aktif Subprincipal is inactive
POST /df/invoice
Request
Response
2. Cancel Invoice
You can cancel your invoice data which had been sent to BCA using this service, at least 1(one) day before disburse date.

Cut-off time: 08.00 P.M - 04.00 A.M (using UTC+07 Time Zone)

Your Request must contain following information:

Additional Headers
Field DataType Mandatory Description
ChannelID String(5) Y Channel’s identifier. Fill it with “95051”.
CredentialID String(10) Y Channel’s credential (KlikBCA Bisnis Corporate ID)
Request
Field Data Type  Mandatory Description
TransactionID String(20) Transaction ID unique per request (using UTC+07 Time Zone format). Must be 20 in length
TransactionDate String(10) Y  Transaction date. Format: yyyyMM-dd. Must be today’s date 
ReferenceID String(30) Y  Sender’s invoice number. Must be same as previous created sender’s invoice number.
DistributorCode String(20)  Y  Distributor Code. Format: Alphanumeric and Special Character
Amount  String(16)  Y  Transfer Amount. Format: Number, 13.2. Must be same as previous created invoice transfer amount
CurrencyCode  String(3)  Y  Currency Code. Format: Alphanumeric 
PrincipalCode  String(11)  Y  Principal Code. Must be 11 in length. Format: Numeric 
SubPrincipalCode  String(11)  Y  Sub Principal Code. Must be 11 in length. Disbursement to Sub Principal only. Format: Numeric. 
DisburseDate  String(10)  Y  Transaction date. Format: yyyy-MM-dd. Must be same as previous created invoice disburse date
Response
Field DataType Description
TransactionID String(20)  Transaction ID unique per request (using UTC+07 Time Zone format). Must be 20 in length
TransactionDate String(10)  Transaction date. Format: yyyy-MM-dd. Must be today’s date
ReferenceID String(30)  Sender’s invoice number. Must be unique
DistributorCode  String(20)   Distributor Code. Format: Alphanumeric and Special Character
Amount  String(16)   Transfer Amount. Format: Number, 13.2
CurrencyCode  String(3)   Currency Code. Format: Alphanumeric
PrincipalCode  String(11)   Principal Code. Must be 11 in length. Format: Numeric
SubPrincipalCode  String(11)   Sub Principal Code. Must be 11 in length. Disbursement to Sub Principal only. Format: Numeric.
DisburseDate  String(10)   Transaction date. Format: yyyy-MM-dd

Error
HTTP Code Error Code Error Message (Indonesian) Error Message (English)
400 ESB-01-005 Data tidak ditemukan No Data Found
400 ESB-11-005 Kode mata uang tidak vaild Currency not valid
400 ESB-11-038 Prinsipal tidak aktif Principal is inactive
400 ESB-11-040 Distributor tidak aktif Distributor is not active
400 ESB-14-001 HMAC tidak cocok HMAC mismatch
400 ESB-14-002 Permintaan tidak valid Invalid request
400 ESB-14-003 Timestamp tidak valid Invalid timestamp
500 ESB-14-005 Sistem sedang dalam maintenance System under maintenance
504 ESB-14-007 Timeout Timeout
401 ESB-14-008 client_id/client_secret/grant_type tidak valid Invalid client_id/client_secret/grant_type
401 ESB-14-009 Tidak berhak Unauthorized
429 ESB-14-010 Jumlah permintaan melebihi limit Limit request exceeded
404 ESB-14-011 Service tidak ada Service doesn’t exist
401 ESB-14-012 Tidak berhak mengakses service ini Not allowed to access this service
504 ESB-14-013 Timeout. Silakan melakukan transaksi kembali Timeout. Please retry your transaction
400 ESB-14-015 Content Type tidak valid Invalid Content Type
400 ESB-14-016 Format JSON tidak valid Invalid JSON format
400 ESB-82-002 Corporate ID tidak valid Invalid Corporate ID
400 ESB-82-003 TransactionID tidak unik TransactionID not unique
400 ESB-82-026 Lewat batas waktu cut off Cut off time is exceeded
400 ESB-99-009 Field (0) harus diisi Missing mandatory field (0)
400 ESB-99-113 Transaksi ditolak Transaction rejected
400 ESB-99-128 Panjang field (0) melebihi ketentuan Field (0) exceed limit
400 ESB-99-284 (0) tidak valid Invalid (0)
400 ESB-99-524 ReferenceID sudah diproses pada tanggal (entry_date) ReferenceID already processed by (entry_date)
400 ESB-99-559 Timeout. Silakan melakukan transaksi kembali Timeout. Please retry your transaction
400 ESB-99-568 SubprincipalCode tidak terdaftar SubprincipalCode is not registered
400 ESB-99-569 Tidak terdaftar untuk fitur Distributor Financing Not registered for Distributor Financing features
400 ESB-99-573 TransactionDate harus diisi dengan tanggal hari ini Transaction Date must be filled with today's date
400 ESB-99-655 Subprinsipal tidak aktif Subprincipal is inactive
PUT /df/invoice
Request
Response
3. Disbursement Notification
Service for BCA to send notification of disbursement.
Additional Headers
Field DataType Mandatory Description
X-Pass-Signature String(5) Y This is a header field, use to replace the “Pass” field on everybody payload
that contains signature. This field occurred on every BCA request to Copartner’s API.
Request
Field Data Type  Mandatory Description
TransactionID String(20) UUID as unique ID for every request
TransactionDate String(10) Y  Transaction date. Format: yyyyMM-dd. Must be today’s date 
ReferenceID String(30) Y  Invoice number. Must be unique
DistributorCode String(20)  Y  Distributor Code. Format: Alphanumeric and Special Character
Amount  String(16)  Y  Transfer Amount. Format: Number, 13.2
CurrencyCode  String(3)  Y  Currency Code. Format: Alphanumeric 
PrincipalCode  String(11)  Y  Principal Code. Must be 11 in length. Format: Numeric 
SubPrincipalCode  String(11)  Y  Sub Principal Code. Format : Numeric
DisburseDate  String(10)  Y  Transaction date. Format: yyyy-MM-dd
Response
Field DataType Description
TransactionID String(20)  Same TransactionID from request. It’s a UUID
TransactionDate String(10)  Transaction date. Format: yyyy-MM-dd. Must be today’s date
ReferenceID String(30)  Invoice number. Must be unique
DistributorCode  String(20)   Distributor Code. Format: Alphanumeric and Special Character
Amount  String(16)   Transfer Amount. Format: Number, 13.2
CurrencyCode  String(3)   Currency Code. Format: Alphanumeric
PrincipalCode  String(11)   Principal Code. Must be 11 in length. Format: Numeric
SubPrincipalCode  String(11)   Sub Principal Code. Must be 11 in length. Disbursement to Sub Principal only. Format: Numeric.
DisburseDate  String(10)   Transaction date. Format: yyyy-MM-dd

POST https://www.copartners.com/bca-df/disbursement/notification
Request
Response
4. Stop Supply Notification
Service for BCA to send notification of transaction limit update.
Additional Headers
Field DataType Mandatory Description
X-Pass-Signature String(5) Y This is a header field, use to replace the “Pass” field on everybody payload
that contains signature. This field occurred on every BCA request to Copartner’s API.
Request
Field Data Type  Mandatory Description
TransactionID String(32) UUID as unique ID for every request
DistributorCode String(20)  Y  Distributor Code. Format: Alphanumeric and Special Character
PrincipalCode  String(11)  Y  Principal Code. Must be 11 in length. Format: Numeric 
StopSupplyFlag String(1)  Y  0 : Stop (Distributor Non-Aktif/Wanprestasi); 1: Open (Distributor Aktif)
TransactionDate String(10)  Y  Transaction date. Format: yyyy-MM-dd
Response
Field DataType Description
TransactionID String(32)  Same TransactionID from request. It’s a UUID
DistributorCode  String(20)   Same Distributor Code from request.

POST https://www.copartners.com/bca-df/stop-supply/notification
Request
Response
5. Transaction Limit Update Notification
Service for BCA to send notification of transaction limit update.
Additional Headers
Field DataType Mandatory Description
X-Pass-Signature String(5) Y This is a header field, use to replace the “Pass” field on everybody payload
that contains signature. This field occurred on every BCA request to Copartner’s API.
Request
Field Data Type  Mandatory Description
TransactionID String(32) UUID as unique ID for every request
DistributorCode String(20)  Y  Distributor Code. Format: Alphanumeric and Special Character
PrincipalCode  String(11)  Y  Principal Code. Format: Numeric
Amount String(16 Y  Transfer Amount. Minus sign ( - ) is applied for corrective payment. Format: Number, 13.2.
TransactionDate String(10)  Y  Transaction date. Format: yyyy-MM-dd
Response
Field DataType Description
TransactionID String(32)  Same TransactionID from request. It’s a UUID
DistributorCode  String(20)   Same Distributor Code from request.

POST https://www.copartners.com/bca-df/txn-limit/notification
Request
Response

FIRE

1. Amendment Cash Transfer
Provides service for Amendment “Cash Transfer” to Non account holder. Yout request must contain following information:

Payload
Field DataType Mandatory Description
Authentication
CorporateID String(6) Y Agen code used to connect to FIRe system
AccessCode String(20) Y Password that will be read by system for each transaction request
BranchCode String(8) Y FI branch code of API client
UserID String(12) Y User ID
LocalID String(15) Y Branch code from FI sub branch of API client
AmendmentDetails
SenderDetails
FirstName String(35) Y Sender’s first name
LastName String(35) N Sender’s last name
DateOfBirth String(8) N Sender’s date of birth.
Format : ddmmyyyy
Address1 String(35) Y Sender’s first address
Address2 String(35) N Sender’s second address
City String(18) Y Sender’s city
StateID String(2) N State ID
PostalCode String(10) N Sender’s postal code
CountryID String(2) Y Sender’s country initial code.
Example : Indonesia =ID
Mobile String(20) N Sender’s mobile phone number
IdentificationType String(2) N Sender’s identity type
IdentificationNumber String(24) N Sender’s identity number
BenficiaryDetails
Name String(35) Y Beneficiary’s name
DateOfBirth String(8) N Beneficiary’s date of birth.
Format : ddmmyyyy
Address1 String(35) N Beneficiary’s first address
Address2 String(35) N Beneficiary’s second address
City String(35) N Beneficiary’s city
StateID String(2) State ID
PostalCode String(10) N Beneficiary’s postal code
CountryID String(2) N Beneficiary’s country initial code.
Example : Indonesia =ID
Mobile String(20) N Beneficiary’s mobile phone number
IdentificationType String(2) N Beneficiary’s identity type
IdentificationNumber String(24) N Beneficiary’s identity number
NationalityID String(2) N Country initial code of beneficiary’s nationality.
Example : Indonesia =ID
Occupation String(30) N Beneficiary occupation
TransactionDetails
Description1 String(35) N First Description
Description2 String(35) N Second Description
SecretQuestion String(100) N Question
SecretAnswer String(100) N Answer
TransactionDetails
FormNumber String(16) Y FI Ref

Result of the request will contains following information:
Response
Field DataType Mandatory Description
StatusTransaction String(4) Y ResponseCode and Sub-ResponseCode of transaction
StatusMessage String(100) Y Description of StatusTransaction
SenderDetails
FirstName String(35) N Sender’s first name
LastName String(35) N Sender’s last name
DateOfBirth String(8) N Sender’s date of birth. Format : ddmmyyyy
Address1 String(35) N Sender’s first address
Address2 String(35) N Sender’s second address
City String(18) N Sender’s city
StateID String(2) N State ID
PostalCode String(10) N Sender’s postal code
CountryID String(2) N Sender’s country initial code. Example : Indonesia =ID
Mobile String(20) N Sender’s mobile phone number
IdentificationType String(2) N Sender’s identity type
IdentificationNumber String(24) N Sender’s identity number
BeneficiaryDetails
Name String(35) N Beneficiary’s name
DateOfBirth String(8) N Beneficiary’s date of birth. Format : ddmmyyyy
Address1 String(35) N Beneficiary’s first address
Address2 String(35) N Beneficiary’s second address
City String(35) N Beneficiary’s city
StateID String(2) N State ID
PostalCode String(10) N Beneficiary’s postal code
CountryID String(2) N Beneficiary’s country initial code.
Example : Indonesia =ID
Mobile String(20) N Beneficiary’s mobile phone number
IdentificationType String(2) N Beneficiary’s identity type. (PP = Passport, ID = Identity, DR = Dr. License)
IdentificationNumber String(24) N Beneficiary’s identity number
NationalityID String(2) N Country initial code of beneficiary’s nationality. Example : Indonesia =ID
Occupation String(30) N Beneficiary occupation
TransactionDetails
Description1 String(35) N First description
Description2 String(35) N Second description
SecretQuestion String(100) N Question
SecretAnswer String(100) N Answer
FormNumber String(16) N FI Ref


Error
HTTP Code Error Code Error Message (Indonesian) Error Message (English)
400 ESB-14-001 HMAC tidak cocok HMAC mismatch
400 ESB-14-002 Permintaan tidak valid Invalid request
400 ESB-14-003 Timestamp tidak valid Invalid timestamp
400 ESB-14-004 Parameter input tidak valid Invalid input parameter
503 ESB-14-005 Sistem sedang dalam maintenance System under maintenance
504 ESB-14-006 Timeout, silakan periksa mutasi rekening Timeout, please check your account statement
504 ESB-14-007 Timeout Timeout
401 ESB-14-008 client_id/client_secret/grant_type tidak valid Invalid client_id/client_secret/grant_type
401 ESB-14-009 Tidak berhak Unauthorized
429 ESB-14-010 Jumlah permintaan melebihi limit Limit request exceeded
404 ESB-14-011 Service tidak ada Service doesn't exist
401 ESB-14-012 Tidak berhak mengakses service ini Not allowed to access this service
400 0101 Field [fieldName] is required Field [fieldName] is required
400 0102 Field [fieldName] is larger than expected Field [fieldName] is larger than expected
400 0103 Data type is invalid at field [fieldName] Data type is invalid at field [fieldName]
409 0201 Ref pengirim sama Same Sender Ref
409 0202 PIN sudah pernah dipakai PIN already in used
400 0203 Format mata uang tidak valid Invalid Currency format
400 0204 BIC Code tidak valid Invalid BIC Code
400 0205 ABA Code tidak valid Invalid ABA Code
400 0206 CHIPS Code tidak valid Invalid CHIPS Code
400 0207 NID Code tidak valid Invalid NID Code
400 0208 Country Code untuk NID Code tidak valid Invalid Country Code for NID Code
401 0302 Access Code salah Wrong Access Code
400 0303 Branch Code tidak ditemukan Unknown Branch Code
400 0304 User ID tidak ditemukan Unknown User ID
401 0306 Tidak berhak Not Authorized Privilege
400 0401 PRODUK/MATA UANG TIDAK DITEMUKAN PRODUCT/CURRENCY NOT FOUND
400 0402 LIMIT PRODUK TIDAK CUKUP PRODUCT LIMIT NOT ENOUGH
400 0403 LIMIT RELEASER TIDAK CUKUP LIMIT RELEASER NOT ENOUGH
400 0404 ERROR PDN LIMIT ERROR PDN LIMIT
400 0405 GAGAL VALIDASI REKENING PENERIMA FAILED TO VALIDATE BENEFICIARY ACCOUNT
400 0406 REKENING PENERIMA TIDAK VALID INVALID BENEFICIARY ACCOUNT
400 0407 SALDO TIDAK CUKUP INSUFFICIENT FUND
404 0408 TRANSAKSI TIDAK DITEMUKAN TRANSACTION NOT FOUND
400 0409 REKENING PENERIMA TUTUP CLOSED BENEFICIARY ACCOUNT
500 0410 TRANSAKSI TIDAK DAPAT DIPROSES TRANSACTION CAN NOT BE PROCESSED
400 0412 BUKAN MEMBER SWITCHING NON SWITCHING MEMBER
400 0413 REKENING TIDAK VALID INVALID ACCOUNT NUMBER
400 0414 DITOLAK KARENA SALDO TIDAK CUKUP REJECT DUE INSUFFICIENT FUND
503 0415 DITOLAK KARENA CUT OFF SISTEM BCA REJECT DUE TO CUT OFF SYSTEM BCA
500 0901 Error Database Error Database
503 0902 Sistem sedang dalam maintenance System Under Maintenance
503 0903 Awal hari error Begin of Day Error
500 0999 Error sistem System error
PUT https://sandbox.bca.co.id/fire/transaction/cash-transfer/amend
Request
Response
2. Cancel Cash Transfer
Provides service for Cancellation “Cash Transfer” to Non account holder. Yout request must contain following information:

Payload
Field DataType Mandatory Description
Authentication
CorporateID String(6) Y Agent code used to connect to FIRe system
AccessCode String(20) Y Password that will be read by system for each
BranchCode String(8) Y FI branch code of API client
UserID String(12) Y User ID
LocalID String(15) Y Branch code from FI sub branch of API client
TransactionDetails
FormNumber String(16) Y FI Ref
Amount String(20) Y Transaction nominal.
Format: Number, 17.2
CurrencyID String(3) N Currency code

Result of the request will contains following information:
Response
Field DataType Mandatory Description
StatusTransaction String(4) Y RespponseCode and Sub-ResponseCode of transaction
StatusMessage String(100) Y Description of StatusTransaction
TransactionDetails
FormNumber String(16) N FI Ref
ReleaseDateTime String(24) Transaction release time.
Format : YYYY-MM-DDThh:mm:ssTZD


Error
HTTP Code Error Code Error Message (Indonesian) Error Message (English)
400 ESB-14-001 HMAC tidak cocok HMAC mismatch
400 ESB-14-002 Permintaan tidak valid Invalid request
400 ESB-14-003 Timestamp tidak valid Invalid timestamp
400 ESB-14-004 Parameter input tidak valid Invalid input parameter
503 ESB-14-005 Sistem sedang dalam maintenance System under maintenance
504 ESB-14-006 Timeout, silakan periksa mutasi rekening Timeout, please check your account statement
504 ESB-14-007 Timeout Timeout
401 ESB-14-008 client_id/client_secret/grant_type tidak valid Invalid client_id/client_secret/grant_type
401 ESB-14-009 Tidak berhak Unauthorized
429 ESB-14-010 Jumlah permintaan melebihi limit Limit request exceeded
404 ESB-14-011 Service tidak ada Service doesn't exist
401 ESB-14-012 Tidak berhak mengakses service ini Not allowed to access this service
400 0101 Field [fieldName] is required Field [fieldName] is required
400 0102 Field [fieldName] is larger than expected Field [fieldName] is larger than expected
400 0103 Data type is invalid at field [fieldName] Data type is invalid at field [fieldName]
409 0201 Ref pengirim sama Same Sender Ref
409 0202 PIN sudah pernah dipakai PIN already in used
400 0203 Format mata uang tidak valid Invalid Currency format
400 0204 BIC Code tidak valid Invalid BIC Code
400 0205 ABA Code tidak valid Invalid ABA Code
400 0206 CHIPS Code tidak valid Invalid CHIPS Code
400 0207 NID Code tidak valid Invalid NID Code
400 0208 Country Code untuk NID Code tidak valid Invalid Country Code for NID Code
401 0302 Access Code salah Wrong Access Code
400 0303 Branch Code tidak ditemukan Unknown Branch Code
400 0304 User ID tidak ditemukan Unknown User ID
401 0306 Tidak berhak Not Authorized Privilege
400 0401 PRODUK/MATA UANG TIDAK DITEMUKAN PRODUCT/CURRENCY NOT FOUND
400 0402 LIMIT PRODUK TIDAK CUKUP PRODUCT LIMIT NOT ENOUGH
400 0403 LIMIT RELEASER TIDAK CUKUP LIMIT RELEASER NOT ENOUGH
400 0404 ERROR PDN LIMIT ERROR PDN LIMIT
400 0405 GAGAL VALIDASI REKENING PENERIMA FAILED TO VALIDATE BENEFICIARY ACCOUNT
400 0406 REKENING PENERIMA TIDAK VALID INVALID BENEFICIARY ACCOUNT
400 0407 SALDO TIDAK CUKUP INSUFFICIENT FUND
404 0408 TRANSAKSI TIDAK DITEMUKAN TRANSACTION NOT FOUND
400 0409 REKENING PENERIMA TUTUP CLOSED BENEFICIARY ACCOUNT
500 0410 TRANSAKSI TIDAK DAPAT DIPROSES TRANSACTION CAN NOT BE PROCESSED
400 0412 BUKAN MEMBER SWITCHING NON SWITCHING MEMBER
400 0413 REKENING TIDAK VALID INVALID ACCOUNT NUMBER
400 0414 DITOLAK KARENA SALDO TIDAK CUKUP REJECT DUE INSUFFICIENT FUND
503 0415 DITOLAK KARENA CUT OFF SISTEM BCA REJECT DUE TO CUT OFF SYSTEM BCA
500 0901 Error Database Error Database
503 0902 Sistem sedang dalam maintenance System Under Maintenance
503 0903 Awal hari error Begin of Day Error
500 0999 Error sistem System error
POST https://sandbox.bca.co.id/fire/transactions/cash-transfer/cancel
Request
Response
3. Inquiry Account
Provides service to Inquiry BCA’s Account name or Other Bank Switching’s Account name.
Your request must contain following information:

Payload
 Field  DataType  Mandatory Description 
Authentication


 CorporateID  String(6)  Y Agent code used to connect to FIRe system
 AccessCode  String(20)  Y Password that will be read by system for each transaction request
 BranchCode  String(8)  Y FI branch code of API client
 UserID  String(12)  Y UserID 
 LocalID  String(15)  Y Branch code from FI sub branch of API client
 BeneficiaryDetails      
 BankCodeType String(3)  Y Beneficiary’s SWIFT code type from PY04 table.
(BIC, NID, CHP (CHIPS), ABA, NAM(NAME))
 BankCodeValue String(23)  Y  
 AccountNumber String(34)  Y  Beneficiary bank’s account number

Result of the request will contains following information:

Response
Field DataType Mandatory Description 
BeneficiaryDetails      
 ServerBeneAccountName  String(35)  N Name of beneficiary according to application (bank / switcher)
 StatusTransaction  String(4)  Y ResponseCode and Sub-ResponseCode of transaction
 StatusMessage  String(100)  Y Description of StatusTransaction


Error
HTTP Code Error Code Error Message (Indonesian) Error Message (English)
400 ESB-14-001 HMAC tidak cocok HMAC mismatch
400 ESB-14-002 Permintaan tidak valid Invalid request
400 ESB-14-003 Timestamp tidak valid Invalid timestamp
400 ESB-14-004 Parameter input tidak valid Invalid input parameter
503 ESB-14-005 Sistem sedang dalam maintenance System under maintenance
504 ESB-14-006 Timeout, silakan periksa mutasi rekening Timeout, please check your account statement
504 ESB-14-007 Timeout Timeout
401 ESB-14-008 client_id/client_secret/grant_type tidak valid Invalid client_id/client_secret/grant_type
401 ESB-14-009 Tidak berhak Unauthorized
429 ESB-14-010 Jumlah permintaan melebihi limit Limit request exceeded
404 ESB-14-011 Service tidak ada Service doesn't exist
401 ESB-14-012 Tidak berhak mengakses service ini Not allowed to access this service
400 0101 Field [fieldName] is required Field [fieldName] is required
400 0102 Field [fieldName] is larger than expected Field [fieldName] is larger than expected
400 0103 Data type is invalid at field [fieldName] Data type is invalid at field [fieldName]
409 0201 Ref pengirim sama Same Sender Ref
409 0202 PIN sudah pernah dipakai PIN already in used
400 0203 Format mata uang tidak valid Invalid Currency format
400 0204 BIC Code tidak valid Invalid BIC Code
400 0205 ABA Code tidak valid Invalid ABA Code
400 0206 CHIPS Code tidak valid Invalid CHIPS Code
400 0207 NID Code tidak valid Invalid NID Code
400 0208 Country Code untuk NID Code tidak valid Invalid Country Code for NID Code
401 0302 Access Code salah Wrong Access Code
400 0303 Branch Code tidak ditemukan Unknown Branch Code
400 0304 User ID tidak ditemukan Unknown User ID
401 0306 Tidak berhak Not Authorized Privilege
400 0401 PRODUK/MATA UANG TIDAK DITEMUKAN PRODUCT/CURRENCY NOT FOUND
400 0402 LIMIT PRODUK TIDAK CUKUP PRODUCT LIMIT NOT ENOUGH
400 0403 LIMIT RELEASER TIDAK CUKUP LIMIT RELEASER NOT ENOUGH
400 0404 ERROR PDN LIMIT ERROR PDN LIMIT
400 0405 GAGAL VALIDASI REKENING PENERIMA FAILED TO VALIDATE BENEFICIARY ACCOUNT
400 0406 REKENING PENERIMA TIDAK VALID INVALID BENEFICIARY ACCOUNT
400 0407 SALDO TIDAK CUKUP INSUFFICIENT FUND
404 0408 TRANSAKSI TIDAK DITEMUKAN TRANSACTION NOT FOUND
400 0409 REKENING PENERIMA TUTUP CLOSED BENEFICIARY ACCOUNT
500 0410 TRANSAKSI TIDAK DAPAT DIPROSES TRANSACTION CAN NOT BE PROCESSED
400 0412 BUKAN MEMBER SWITCHING NON SWITCHING MEMBER
400 0413 REKENING TIDAK VALID INVALID ACCOUNT NUMBER
400 0414 DITOLAK KARENA SALDO TIDAK CUKUP REJECT DUE INSUFFICIENT FUND
503 0415 DITOLAK KARENA CUT OFF SISTEM BCA REJECT DUE TO CUT OFF SYSTEM BCA
500 0901 Error Database Error Database
503 0902 Sistem sedang dalam maintenance System Under Maintenance
503 0903 Awal hari error Begin of Day Error
500 0999 Error sistem System error
POST https://sandbox.bca.co.id/fire/accounts
Request
Response
4. Inquiry Account Balance
Provides service to Inquiry balance for Vostro’s Account.
Your request must contain following information:

Payload
Field DataType Mandatory  Description
Authentication      
CorporateID String(6) Y  Agent code used to connect to FIRe system
AccessCode String(20) Y  Password that will be read by system for each transaction request
 BranchCode String(8)   Y  FI branch code of API client
 UserId  String(12)  User ID
 LocalId String(15)   Branch code from FI sub branch of API client
 FIDetails      
 AccountNumber String(34)  FI sender's account number thar registered in FIRe
Result of the request will contains following information:


Response
Field DataType Mandatory Description 
StatusTransaction String(4) Y ResponseCode and Sub-ResponseCode of transaction
StatusMessage String(100) Y  Description of StatusTransaction
FIDetails      
 CurrencyID String(3)   FI sender’s currency that registered in FIRe
 AccountBalance String(20)  FI sender’s account balance that registered in FIRe. Format : number(17.2) 


Error
HTTP Code Error Code Error Message (Indonesian) Error Message (English)
400 ESB-14-001 HMAC tidak cocok HMAC mismatch
400 ESB-14-002 Permintaan tidak valid Invalid request
400 ESB-14-003 Timestamp tidak valid Invalid timestamp
400 ESB-14-004 Parameter input tidak valid Invalid input parameter
503 ESB-14-005 Sistem sedang dalam maintenance System under maintenance
504 ESB-14-006 Timeout, silakan periksa mutasi rekening Timeout, please check your account statement
504 ESB-14-007 Timeout Timeout
401 ESB-14-008 client_id/client_secret/grant_type tidak valid Invalid client_id/client_secret/grant_type
401 ESB-14-009 Tidak berhak Unauthorized
429 ESB-14-010 Jumlah permintaan melebihi limit Limit request exceeded
404 ESB-14-011 Service tidak ada Service doesn't exist
401 ESB-14-012 Tidak berhak mengakses service ini Not allowed to access this service
400 0101 Field [fieldName] is required Field [fieldName] is required
400 0102 Field [fieldName] is larger than expected Field [fieldName] is larger than expected
400 0103 Data type is invalid at field [fieldName] Data type is invalid at field [fieldName]
409 0201 Ref pengirim sama Same Sender Ref
409 0202 PIN sudah pernah dipakai PIN already in used
400 0203 Format mata uang tidak valid Invalid Currency format
400 0204 BIC Code tidak valid Invalid BIC Code
400 0205 ABA Code tidak valid Invalid ABA Code
400 0206 CHIPS Code tidak valid Invalid CHIPS Code
400 0207 NID Code tidak valid Invalid NID Code
400 0208 Country Code untuk NID Code tidak valid Invalid Country Code for NID Code
401 0302 Access Code salah Wrong Access Code
400 0303 Branch Code tidak ditemukan Unknown Branch Code
400 0304 User ID tidak ditemukan Unknown User ID
401 0306 Tidak berhak Not Authorized Privilege
400 0401 PRODUK/MATA UANG TIDAK DITEMUKAN PRODUCT/CURRENCY NOT FOUND
400 0402 LIMIT PRODUK TIDAK CUKUP PRODUCT LIMIT NOT ENOUGH
400 0403 LIMIT RELEASER TIDAK CUKUP LIMIT RELEASER NOT ENOUGH
400 0404 ERROR PDN LIMIT ERROR PDN LIMIT
400 0405 GAGAL VALIDASI REKENING PENERIMA FAILED TO VALIDATE BENEFICIARY ACCOUNT
400 0406 REKENING PENERIMA TIDAK VALID INVALID BENEFICIARY ACCOUNT
400 0407 SALDO TIDAK CUKUP INSUFFICIENT FUND
404 0408 TRANSAKSI TIDAK DITEMUKAN TRANSACTION NOT FOUND
400 0409 REKENING PENERIMA TUTUP CLOSED BENEFICIARY ACCOUNT
500 0410 TRANSAKSI TIDAK DAPAT DIPROSES TRANSACTION CAN NOT BE PROCESSED
400 0412 BUKAN MEMBER SWITCHING NON SWITCHING MEMBER
400 0413 REKENING TIDAK VALID INVALID ACCOUNT NUMBER
400 0414 DITOLAK KARENA SALDO TIDAK CUKUP REJECT DUE INSUFFICIENT FUND
503 0415 DITOLAK KARENA CUT OFF SISTEM BCA REJECT DUE TO CUT OFF SYSTEM BCA
500 0901 Error Database Error Database
503 0902 Sistem sedang dalam maintenance System Under Maintenance
503 0903 Awal hari error Begin of Day Error
500 0999 Error sistem System error
POST https://sandbox.bca.co.id/fire/accounts/balance
Request
Response
5. Inquiry Transaction
Provides service to Inquiry Transaction that has been submitted before. Your request must contain following information:

Request
Field DataType Mandatory  Description
Authentication      
CorporateID String(6) Y Agent code used to connect to FIRe system
AccessCode String(20) Y Password that will be read by system for each transaction request
BranchCode String(8) FI branch code of API client
UserID
String(12) Y  User ID
LocalID
String(15) Y Branch code from FI sub branch of API client
 TransactionDetails      
 InquiryBy String(1) N : PIN NON
F : Form Number
B : BCARef Number
 InquiryValue String(35) Value for PIN NON/Form Number/ BCARef Number
       
Result of the request will contains following information:

Response
Field
DataType Mandatory Description
StatusTransaction String(4) Y ResponseCode and Sub-ResponseCode of transction
StatusMessage String(100) Y Description of StatusTransaction
SenderDetails
FirstName String(35) N Sender’s first name
LastName String(35) N Sender’s last name
BeneficiaryDetails
Name String(35) N Beneficiary’s name
BankCodeType String(3) N Beneficiary’s SWIFT code type from PY04 table. (BIC, NID, CHP(CHIPS), ABA, NAM(NAME))
BankCodeValue String(23) N Value for SWIFT code type
AccountNumber String(34) N Beneficiary bank’s account number
TransactionDetails
AmountPaid String(20) N Transaction value.
Format: Number(17.2)
CurrencyID String(3) N Currency code
ReleaseDateTime String(24) N Transaction request time by FI
LocalID String(15) N Local ID of Last Processed Non-Inquiry Transaction
FormNumber String(16) N FI Ref
ReferenceNumber String(25) N Ref number FI/BCA
PIN String(35) N Personal Identification Number for encashment
Description1 String(35) N First Description
Description2 String(35) N Second description


Error
HTTP Code Error Code Error Message (Indonesian) Error Message (English)
400 ESB-14-001 HMAC tidak cocok HMAC mismatch
400 ESB-14-002 Permintaan tidak valid Invalid request
400 ESB-14-003 Timestamp tidak valid Invalid timestamp
400 ESB-14-004 Parameter input tidak valid Invalid input parameter
503 ESB-14-005 Sistem sedang dalam maintenance System under maintenance
504 ESB-14-006 Timeout, silakan periksa mutasi rekening Timeout, please check your account statement
504 ESB-14-007 Timeout Timeout
401 ESB-14-008 client_id/client_secret/grant_type tidak valid Invalid client_id/client_secret/grant_type
401 ESB-14-009 Tidak berhak Unauthorized
429 ESB-14-010 Jumlah permintaan melebihi limit Limit request exceeded
404 ESB-14-011 Service tidak ada Service doesn't exist
401 ESB-14-012 Tidak berhak mengakses service ini Not allowed to access this service
400 0101 Field [fieldName] is required Field [fieldName] is required
400 0102 Field [fieldName] is larger than expected Field [fieldName] is larger than expected
400 0103 Data type is invalid at field [fieldName] Data type is invalid at field [fieldName]
409 0201 Ref pengirim sama Same Sender Ref
409 0202 PIN sudah pernah dipakai PIN already in used
400 0203 Format mata uang tidak valid Invalid Currency format
400 0204 BIC Code tidak valid Invalid BIC Code
400 0205 ABA Code tidak valid Invalid ABA Code
400 0206 CHIPS Code tidak valid Invalid CHIPS Code
400 0207 NID Code tidak valid Invalid NID Code
400 0208 Country Code untuk NID Code tidak valid Invalid Country Code for NID Code
401 0302 Access Code salah Wrong Access Code
400 0303 Branch Code tidak ditemukan Unknown Branch Code
400 0304 User ID tidak ditemukan Unknown User ID
401 0306 Tidak berhak Not Authorized Privilege
400 0401 PRODUK/MATA UANG TIDAK DITEMUKAN PRODUCT/CURRENCY NOT FOUND
400 0402 LIMIT PRODUK TIDAK CUKUP PRODUCT LIMIT NOT ENOUGH
400 0403 LIMIT RELEASER TIDAK CUKUP LIMIT RELEASER NOT ENOUGH
400 0404 ERROR PDN LIMIT ERROR PDN LIMIT
400 0405 GAGAL VALIDASI REKENING PENERIMA FAILED TO VALIDATE BENEFICIARY ACCOUNT
400 0406 REKENING PENERIMA TIDAK VALID INVALID BENEFICIARY ACCOUNT
400 0407 SALDO TIDAK CUKUP INSUFFICIENT FUND
404 0408 TRANSAKSI TIDAK DITEMUKAN TRANSACTION NOT FOUND
400 0409 REKENING PENERIMA TUTUP CLOSED BENEFICIARY ACCOUNT
500 0410 TRANSAKSI TIDAK DAPAT DIPROSES TRANSACTION CAN NOT BE PROCESSED
400 0412 BUKAN MEMBER SWITCHING NON SWITCHING MEMBER
400 0413 REKENING TIDAK VALID INVALID ACCOUNT NUMBER
400 0414 DITOLAK KARENA SALDO TIDAK CUKUP REJECT DUE INSUFFICIENT FUND
503 0415 DITOLAK KARENA CUT OFF SISTEM BCA REJECT DUE TO CUT OFF SYSTEM BCA
500 0901 Error Database Error Database
503 0902 Sistem sedang dalam maintenance System Under Maintenance
503 0903 Awal hari error Begin of Day Error
500 0999 Error sistem System error
POST https://sandbox.bca.co.id/fire/transactions
Request
Response
6. TeleTransfer Cash Transfer
Provides service for transaction “Cash Transfer” to Non account holder.
Your request must contain following information:

Payload
Field DataType Mandatory Description
Authentication
CorporateID String(6) Y Agent code used to connect to FIRe system
AccessCode String(20) Y Password that will be read by system for each transaction request
BranchCode String(8) Y FI branch code of API client
UserID String(12) Y User ID
LocalID String(15) Y Branch code from FI sub branch of API client
SenderDetails
FirstName String(35) Y Sender’s first name
LastName String(35) N Sender’s last name
DateOfBirth String(8) N Sender’s date of birth. Format : ddmmyyyy
Address1 String(35) Y Sender’s first address
Address2 String(35) N Sender’s second address
City String(18) Y Sender’s city
StateID String(2) N Sender’s state ID
PostalCode String(10) N Sender’s postal code
CountryID String(2) Y Sender’s country initial code. Example : Indonesia = ID
Mobile String(20) N Sender’s mobile phone number
IdentificationType String(2) N Sender’s identity type. (PP = Passport, ID = Identity, DR = Dr. License)
IdentificationNumber String(24) N Sender’s identity number
BeneficiaryDetails
Name String(35) Y Beneficiary’s name
DateOfBirth String(8) N Beneficiary’s date of birth. Format : ddmmyyyy
Address1 String(35) N Beneficiary’s first address
Address2 String(35) N Beneficiary’s second address
City String(35) N Beneficiary’s city
StateID String(2) N Beneficiary’s state ID
PostalCode String(10) N Beneficiary’s postal code
CountryID String(2) Y Beneficiary’s country initial code. Example : Indonesia = ID
Mobile String(20) N Beneficiary’s mobile phone number
IdentificationType String(2) N Beneficiary’s identity type. (PP = Passport, ID = Identity, DR = Dr. License)
IdentificationNumber String(24) N Beneficiary’s identity number
NationalityID String(2) N Country initial code of beneficiary’s nationality. Example : Indonesia = ID
Occupation String(30) N Beneficiary occupation
TransactionDetails
PIN String(35) N Transaction PIN number. If not available, BCA will provide it
SecretQuestion String(100) N Questions
SecretAnswer String(100) N Answers
CurrencyID String(3) Y Transaction currency between FI and FIRe based on contract (setting FI Country in TPS)
Amount String(20) Y Transaction nominal. Format: number(17,2)
PurposeCode String(3) Y Transaction purpose.
011 EXPORT
012 IMPORT
030 BUSINESS/PRIVATE TRIP
040 EDUCATION
150 WORKER’S REMMITANCE 161 TAX AND FINE
162 GRANT
999 OTHERS
Description1 String(35) N First description
Description2 String(35) N Second description
DetailOfCharges String(3) Y Charges (SHA / OUR)
SourceOfFund String(100) Y Source of transaction fund
FormNumber String(16) Y FI Ref


Response
Field DataType Mandatory Description
StatusTransaction String(4) Y ResponseCode and Sub- ResponseCode of transaction
StatusMessage String(100) Y Description of StatusTransaction
BeneficiaryDetails
Name String(35) N Beneficiary’s name
TransactionDetails
PIN String(35) N Transaction PIN number. If not available, BCA will provide it
CurrencyID String(3) N Transaction currency between FI and FIRe based on contract
(setting FI Country in TPS)
Amount String(20) N Transaction nominal
Description1 String(35) N First description
Description2 String(35) N Second description
FormNumber String(16) N FI Ref
ReferenceNumber String(25) N FI Ref
ReleaseDateTime String(24) N Transaction release time.
Format : YYYY-MM-DDThh:mm:ssTZD

Error
HTTP Code Error Code Error Message (Indonesian) Error Message (English)
400 ESB-14-001 HMAC tidak cocok HMAC mismatch
400 ESB-14-002 Permintaan tidak valid Invalid request
400 ESB-14-003 Timestamp tidak valid Invalid timestamp
400 ESB-14-004 Parameter input tidak valid Invalid input parameter
503 ESB-14-005 Sistem sedang dalam maintenance System under maintenance
504 ESB-14-006 Timeout, silakan periksa mutasi rekening Timeout, please check your account statement
504 ESB-14-007 Timeout Timeout
401 ESB-14-008 client_id/client_secret/grant_type tidak valid Invalid client_id/client_secret/grant_type
401 ESB-14-009 Tidak berhak Unauthorized
429 ESB-14-010 Jumlah permintaan melebihi limit Limit request exceeded
404 ESB-14-011 Service tidak ada Service doesn't exist
401 ESB-14-012 Tidak berhak mengakses service ini Not allowed to access this service
400 0101 Field [fieldName] is required Field [fieldName] is required
400 0102 Field [fieldName] is larger than expected Field [fieldName] is larger than expected
400 0103 Data type is invalid at field [fieldName] Data type is invalid at field [fieldName]
409 0201 Ref pengirim sama Same Sender Ref
409 0202 PIN sudah pernah dipakai PIN already in used
400 0203 Format mata uang tidak valid Invalid Currency format
400 0204 BIC Code tidak valid Invalid BIC Code
400 0205 ABA Code tidak valid Invalid ABA Code
400 0206 CHIPS Code tidak valid Invalid CHIPS Code
400 0207 NID Code tidak valid Invalid NID Code
400 0208 Country Code untuk NID Code tidak valid Invalid Country Code for NID Code
401 0302 Access Code salah Wrong Access Code
400 0303 Branch Code tidak ditemukan Unknown Branch Code
400 0304 User ID tidak ditemukan Unknown User ID
401 0306 Tidak berhak Not Authorized Privilege
400 0401 PRODUK/MATA UANG TIDAK DITEMUKAN PRODUCT/CURRENCY NOT FOUND
400 0402 LIMIT PRODUK TIDAK CUKUP PRODUCT LIMIT NOT ENOUGH
400 0403 LIMIT RELEASER TIDAK CUKUP LIMIT RELEASER NOT ENOUGH
400 0404 ERROR PDN LIMIT ERROR PDN LIMIT
400 0405 GAGAL VALIDASI REKENING PENERIMA FAILED TO VALIDATE BENEFICIARY ACCOUNT
400 0406 REKENING PENERIMA TIDAK VALID INVALID BENEFICIARY ACCOUNT
400 0407 SALDO TIDAK CUKUP INSUFFICIENT FUND
404 0408 TRANSAKSI TIDAK DITEMUKAN TRANSACTION NOT FOUND
400 0409 REKENING PENERIMA TUTUP CLOSED BENEFICIARY ACCOUNT
500 0410 TRANSAKSI TIDAK DAPAT DIPROSES TRANSACTION CAN NOT BE PROCESSED
400 0412 BUKAN MEMBER SWITCHING NON SWITCHING MEMBER
400 0413 REKENING TIDAK VALID INVALID ACCOUNT NUMBER
400 0414 DITOLAK KARENA SALDO TIDAK CUKUP REJECT DUE INSUFFICIENT FUND
503 0415 DITOLAK KARENA CUT OFF SISTEM BCA REJECT DUE TO CUT OFF SYSTEM BCA
500 0901 Error Database Error Database
503 0902 Sistem sedang dalam maintenance System Under Maintenance
503 0903 Awal hari error Begin of Day Error
500 0999 Error sistem System error
POST https://sandbox.bca.co.id/fire/transactions/cash-transfer
Request
Response
7. TeleTransfer to Account
Provides service transaction “Transaction to BCA’s Account” and also “Transfer to Other Bank”. Yout request must contain following information:

Payload
Field DataType Mandatory Description
Authentication
CorporateID String(6) Y Agent code used to connect to FIRe system
AccessCode String(20) Y Password that will be read by system for each transaction request
BranchCode String(8) Y FI branch code of API client
UserID String(12) Y User ID
LocalID String(15) Y Branch code from FI sub branch of API client
SenderDetails
FirstName String(35) Y Sender’s first name
LastName String(35) N Sender’s last name
DateOfBirth String(8) N Sender’s date of birth. Format : ddmmyyyy
Address1 String(35) Y Sender’s first address
Address2 String(35) N Sender’s second address
City String(18) Y Sender’s city
StateID String(2) N State ID
PostalCode String(10) N Sender’s postal code
CountryID String(2) Y Sender’s country initial code. Example: Indonesia =ID
Mobile String(20) N Sender’s mobile phone number
IdentificationType String(2) N Sender’s identity type (PP = Passport, ID = identity, DR = Dr. License)
IdentificationNumber String(24) N Sender’s identity number
AccountNumber String(34) N Sender’s account number
BeneficiaryDetails
Name String(35) Y Beneficiary’s name
DateOfBirth String(8) N Beneficiary’s date of birth. Format : ddmmyyyy
Address1 String(35) N Beneficiary’s first address
Address2 String(35) N Beneficiary’s second address
City String(35) N Beneficiary’s city
StateID String(2) N Beneficiary’s state ID
PostalCode String(10) N Beneficiary’s postal code
CountryID String(2) Y Beneficiary’s country initial code. Example : Indonesia =ID
Mobile String(20) N Beneficiary’s mobile phone number
IdentificationType String(2) N Beneficiary’s identity type. (PP = Passport, ID = identity, DR = Dr. License)
IdentificationNumber String(24) N Beneficiary’s identity number
NationalityID String(2) N Country initial code of beneficiary’s nationality. Example = Indonesia =ID
Occupation String(30) N Beneficiary occupation
BankCodeType String(3) Y Beneficiary’s SWIFT code type from PY04 table. (BIC, NID, CHP(CHIPS), ABA, NAM(NAME))
BankCodeValue String(23) Y Value of SWIFT Code
BankCountryID String(2) Y Beneficiary bank’s country code
BankAddress String(35) N Beneficiary bank’s address
BankCity String(35) N Beneficiary bank’s city
AccountNumber String(34) Y Beneficiary bank’s account number
TransactionDetails
CurrencyID String(3) Y Transaction currency between FI and FIRe based on contract (setting FI Country in TPS)
Amount String(20) Y Transaction nominal. Format: Number, 17.2
PurposeCode String(3) Y Transaction purpuse:
011 EXPORT
012 IMPORT
030 BUSINESS/PRIVATE TRIP
040 EDUCATION
150 WORKER’S REMMITANCE
161 TAX AND FINE
162 GRANT
999 OTHERS
Description1 String(35) N First description
Description2 String(35) N Second description
DetailOfCharges String(3) Y Charges(SHA / OUR)
SourceOfFund String(100) N Source of transaction fund
FormNumber String(16) Y FI Ref


Result of the request will contains following information:

Response
Field DataType Mandatory Description
BeneficiaryDetails
Name String(35) N Beneficiary’s name
AccountNumber String(34) N Beneficiary bank’s account number
ServerBeneAccountName String(35) N Name of beneficiary according to application (bank / switcher)
TransactionDetails
CurrencyID String(3) N Transaction currency between FI and FIRe based on contract (setting FI Country in TPS)
Amount String(20) N Transaction nominal. Format: Number 17.2
Description1 String(35) N First Description
Description2 String(35) N Second Description
FormNumber String(16) N FI Ref
ReferenceNumber String(25) N FI Ref
ReleaseDateTime String(24) N Transaction release time. Format : YYYY-MM-DDThh:mm:ssTZD
StatusTransaction String(4) Y ResponseCode and Sub-ResponseCode of transaction
StatusMessage String(100) Y Description of StatusTransaction


Error
HTTP Code Error Code Error Message (Indonesian) Error Message (English)
400 ESB-14-001 HMAC tidak cocok HMAC mismatch
400 ESB-14-002 Permintaan tidak valid Invalid request
400 ESB-14-003 Timestamp tidak valid Invalid timestamp
400 ESB-14-004 Parameter input tidak valid Invalid input parameter
503 ESB-14-005 Sistem sedang dalam maintenance System under maintenance
504 ESB-14-006 Timeout, silakan periksa mutasi rekening Timeout, please check your account statement
504 ESB-14-007 Timeout Timeout
401 ESB-14-008 client_id/client_secret/grant_type tidak valid Invalid client_id/client_secret/grant_type
401 ESB-14-009 Tidak berhak Unauthorized
429 ESB-14-010 Jumlah permintaan melebihi limit Limit request exceeded
404 ESB-14-011 Service tidak ada Service doesn't exist
401 ESB-14-012 Tidak berhak mengakses service ini Not allowed to access this service
400 0101 Field [fieldName] is required Field [fieldName] is required
400 0102 Field [fieldName] is larger than expected Field [fieldName] is larger than expected
400 0103 Data type is invalid at field [fieldName] Data type is invalid at field [fieldName]
409 0201 Ref pengirim sama Same Sender Ref
409 0202 PIN sudah pernah dipakai PIN already in used
400 0203 Format mata uang tidak valid Invalid Currency format
400 0204 BIC Code tidak valid Invalid BIC Code
400 0205 ABA Code tidak valid Invalid ABA Code
400 0206 CHIPS Code tidak valid Invalid CHIPS Code
400 0207 NID Code tidak valid Invalid NID Code
400 0208 Country Code untuk NID Code tidak valid Invalid Country Code for NID Code
401 0302 Access Code salah Wrong Access Code
400 0303 Branch Code tidak ditemukan Unknown Branch Code
400 0304 User ID tidak ditemukan Unknown User ID
401 0306 Tidak berhak Not Authorized Privilege
400 0401 PRODUK/MATA UANG TIDAK DITEMUKAN PRODUCT/CURRENCY NOT FOUND
400 0402 LIMIT PRODUK TIDAK CUKUP PRODUCT LIMIT NOT ENOUGH
400 0403 LIMIT RELEASER TIDAK CUKUP LIMIT RELEASER NOT ENOUGH
400 0404 ERROR PDN LIMIT ERROR PDN LIMIT
400 0405 GAGAL VALIDASI REKENING PENERIMA FAILED TO VALIDATE BENEFICIARY ACCOUNT
400 0406 REKENING PENERIMA TIDAK VALID INVALID BENEFICIARY ACCOUNT
400 0407 SALDO TIDAK CUKUP INSUFFICIENT FUND
404 0408 TRANSAKSI TIDAK DITEMUKAN TRANSACTION NOT FOUND
400 0409 REKENING PENERIMA TUTUP CLOSED BENEFICIARY ACCOUNT
500 0410 TRANSAKSI TIDAK DAPAT DIPROSES TRANSACTION CAN NOT BE PROCESSED
400 0412 BUKAN MEMBER SWITCHING NON SWITCHING MEMBER
400 0413 REKENING TIDAK VALID INVALID ACCOUNT NUMBER
400 0414 DITOLAK KARENA SALDO TIDAK CUKUP REJECT DUE INSUFFICIENT FUND
503 0415 DITOLAK KARENA CUT OFF SISTEM BCA REJECT DUE TO CUT OFF SYSTEM BCA
500 0901 Error Database Error Database
503 0902 Sistem sedang dalam maintenance System Under Maintenance
503 0903 Awal hari error Begin of Day Error
500 0999 Error sistem System error
POST https://sandbox.bca.co.id/fire/transactions/to-account
Request
Response

Flazz

1. Top Up Flazz Co Partner
a. Get Session Key
 
API service to request session key. Session key is formed by randomly generated key to ensure session security during communication between Co-Partner and BCA Host.

Your Request must contain following information: 
Request Headers and URI Params
Field  Params Type DataType Mandatory Description
channel-id  Header String Y 95381 (WSID FLAZZ)
credential-id  Header String(36) Y Copartner-id
Payload (Form Data)
Field Data Type  Mandatory Description
reference_id String(12) Reference ID is datetime transaction in milisecond (unix time) Unique per transaction
request_data String(166) Y  Request data stream
Response
Field DataType Description
request_data String(166)  Request data stream
b. Send topup request from copartner
 
API service to send Flazz balance top up requests.

Your Request must contain following information: 
Request Headers and URI Params
Field Params Type DataType Mandatory Description
channel-id Header String Y 95381 (WSID FLAZZ)
credential-id Header String(36) Y Copartner-id
Payload (Form Data)
Field Data Type Mandatory Description
reference_id String(12) Y Reference ID is datetime transaction in milisecond (unix time) Unique per transaction
request_data String(512) Y Request data stream
Response
Field DataType Description
request_data String(512) Request data stream

c. Reversal
 
API service to send reversal request of Flazz top up

Your Request must contain following information: 
Request Headers and URI Params
Field Params Type DataType Mandatory Description
channel-id Header String Y 95381 (WSID FLAZZ)
credential-id Header String(36) Y Copartner-id
Payload (Form Data)
Field Data Type Mandatory Description
reference_id String(12) Y Reference ID is datetime transaction in milisecond (unix time) Unique per transaction
request_data String(512) Y Request data stream
Response
Field DataType Description
request_data String(512) Request data stream

d.ACK
 
API service to send ACK (Acknowledge) for any response of Flazz top up

Your Request must contain following information: 
Request Headers and URI Params
Field Params Type DataType Mandatory Description
channel-id Header String Y 95381 (WSID FLAZZ)
credential-id Header String(36) Y Copartner-id
Payload (Form Data)
Field Data Type Mandatory Description
reference_id String(12) Y Reference ID is datetime transaction in milisecond (unix time) Unique per transaction
request_data String(512) Y Request data stream
Response
Field DataType Description
request_data String(512) Request data stream


POST /flazz/
Request
Response

General Information

1. Foreign Exchange Rate

Get information about Foreign Currency Exchange Rate for applicable currencies in BCA. The exchange rate are divide into four types eRate (Electronic Rate), TT (Telegrafic Transfer), TC (Travellers Cheque) and BN (Bank Notes).


Query String Parameters:
 
Field DataType Mandatory  Description
CurrencyCode String Known currency code. For multiple currencies use comma separated.

Following are the known foreign currency in BCA.

AUD - Australia Dollar
BND - Bruneian Dollar
CAD - Canadian Dollar
CHF - Francs
CNY - China Yuan
DKK - Danish Krone
EUR - Euro
GBP - Great Britain Poundsterling
HKD - Hongkong Dollar
JPY - Japan Yen
KRW - Korea Won
NOK - Norwegian Krone
NZD - New Zealand Dollar
PHP - Phillipine Peso
SAR - Saudi Riyal
SEK - Swedish Krona
SGD - Singapore Dollar
THB - Thailand Baht
TWD - Taiwan Dollar
USD - US Dollar


If the field was left empty, it will considered as “all know currencies”.
RateType String  Y The type for the desired rate.
eRate (electronic Rate)
TT (Telegrafic Transfer)
TC (Travellers Cheque)
BN (Bank Notes)


If the field was left empty, it will considered as “all rate type”.
Result of the request will contains following information:

Response:
 
Field DataType Description
InvalidRateType String If the request contains valid and invalid rate types in single request, the invalid rate will be list down in this field. 
 InvalidCurrencyCode  String  If the request contains valid and invalid currency code in single request, the invalid currency code will be list down in this field.
 Currencies
 CurrencyCode  String (3)  The currency code.
e.g. IDR, USD, JPY
 RateDetail
 RateType  String (5)  Must be among erate, tt, tc, bn.
 Buy String (13)   In format 6.6.
When the currency has no value for this field, it will be set to "-".
 Sell  String (13)   In format 6.6.
When the currency has no value for this field, it will be set to "-".
 LastUpdate  String (19)   In format YYYY-MM-DDTHH24:Mi:SS.SSSZ.
When the currency has no value for this type, it will be set to "-".




Error
HTTP Code Error Code Error Message (Indonesian) Error Message (English)
404 ESB-07-271 Tidak ada transaksi No transaction
400 ESB-07-279 Tanggal awal lebih kecil dari tanggal buka rekening Start date less than account open date
400 ESB-14-001 HMAC tidak cocok HMAC mismatch
400 ESB-14-002 Permintaan tidak valid Invalid request
400 ESB-14-003 Timestamp tidak valid Invalid timestamp
400 ESB-14-004 parameter input tidak valid Invalid input parameter
500 ESB-14-005 Sistem sedang dalam maintenance System under maintenance
504 ESB-14-006 Timeout, silakan periksa mutasi rekening Timeout, please check your account statement
504 ESB-14-007 Timeout Timeout
401 ESB-14-008 client_id/client_secret/grant_type tidak valid Invalid client_id/client_secret/grant_type
401 ESB-14-009 Tidak berhak Unauthorized
429 ESB-14-010 Jumlah permintaan melebihi limit Limit request exceeded
404 ESB-14-011 Service tidak ada Service doesn’t exist
401 ESB-14-012 Tidak berhak mengakses service ini Not allowed to access this service
400 ESB-99-009 Field Latitude harus diisi Missing Mandatory field Latitude
400 ESB-99-009 Field Longitude harus diisi Missing Mandatory field Longitude
400 ESB-99-039 Isian input field Count tidak valid Input for field Count not valid
400 ESB-99-040 Tipe isian field Count tidak valid Input type for field Count not valid
400 ESB-99-040 Tipe isian field Latitude tidak valid Input type for field Latitude not valid
400 ESB-99-040 Tipe isian field Longitude tidak valid Input type for field Longitude not valid
400 ESB-99-040 Tipe isian field Radius tidak valid Input type for field Radius not valid
400 ESB-99-132 Data tidak ditemukan No Data Found
400 ESB-99-335 Mata uang tidak valid Invalid CurrencyCode
400 ESB-99-339 Tipe Kurs tidak valid Invalid RateType
400 ESB-99-392 Nilai SearchBy tidak valid Invalid SearchBy value
400 ESB-99-460 Panjang input Value tidak valid Input Value minimal length invalid
500 ESB-99-999 Sistem sedang tidak tersedia System unavaliable
Foreign Exchange Rate
Request
Response
2. Nearest ATM Location

Inquiry ATM information, such as, locate the nearest ATM to user or find by ATM Type, Name, Address or City.


Query String Parameters:
 
Field DataType Mandatory  Description
Latitude String Y In format number( (-)3.12 ) Latitude of client location, possible for minus signed value.
Longitude String Y In format number( (-)3.12 ) Longitude of client location, possible for minus signed value.
Count  String  Number of branches to search, in Integer. Maximum value = 20.
SearchBy  String  Possible values: Address/City/Type/Name 
Radius  String  N  Branch distance (in meters) from client location, in Integer. *default = 500 
Value  String  N  Value should be filled in :
- String; If SearchBy = Address or City or Name
- ATM, ANT, or CRM; If SearchBy = Type
Result of the request will contains following information:

Response:
 
Field DataType Description
atm_details Array of Object The object that hold information of the ATM.
WSID String ATM wsid
Type String ATM type eg:
ATM Tarik Tunai
ATM Non-Tunai
ATM Setor Tarik
Name  String  ATM name 
Address String ATM full address
City String ATM city
Country String ATM country
Latitude String ATM latitude
Longitude String  ATM longitude 
Distance  String  ATM distance from client location in meters 




Error
HTTP Code Error Code Error Message (Indonesian) Error Message (English)
404 ESB-07-271 Tidak ada transaksi No transaction
400 ESB-07-279 Tanggal awal lebih kecil dari tanggal buka rekening Start date less than account open date
400 ESB-14-001 HMAC tidak cocok HMAC mismatch
400 ESB-14-002 Permintaan tidak valid Invalid request
400 ESB-14-003 Timestamp tidak valid Invalid timestamp
400 ESB-14-004 parameter input tidak valid Invalid input parameter
500 ESB-14-005 Sistem sedang dalam maintenance System under maintenance
504 ESB-14-006 Timeout, silakan periksa mutasi rekening Timeout, please check your account statement
504 ESB-14-007 Timeout Timeout
401 ESB-14-008 client_id/client_secret/grant_type tidak valid Invalid client_id/client_secret/grant_type
401 ESB-14-009 Tidak berhak Unauthorized
429 ESB-14-010 Jumlah permintaan melebihi limit Limit request exceeded
404 ESB-14-011 Service tidak ada Service doesn’t exist
401 ESB-14-012 Tidak berhak mengakses service ini Not allowed to access this service
400 ESB-99-009 Field Latitude harus diisi Missing Mandatory field Latitude
400 ESB-99-009 Field Longitude harus diisi Missing Mandatory field Longitude
400 ESB-99-039 Isian input field Count tidak valid Input for field Count not valid
400 ESB-99-040 Tipe isian field Count tidak valid Input type for field Count not valid
400 ESB-99-040 Tipe isian field Latitude tidak valid Input type for field Latitude not valid
400 ESB-99-040 Tipe isian field Longitude tidak valid Input type for field Longitude not valid
400 ESB-99-040 Tipe isian field Radius tidak valid Input type for field Radius not valid
400 ESB-99-132 Data tidak ditemukan No Data Found
400 ESB-99-335 Mata uang tidak valid Invalid CurrencyCode
400 ESB-99-339 Tipe Kurs tidak valid Invalid RateType
400 ESB-99-392 Nilai SearchBy tidak valid Invalid SearchBy value
400 ESB-99-460 Panjang input Value tidak valid Input Value minimal length invalid
500 ESB-99-999 Sistem sedang tidak tersedia System unavaliable
GET /general/info-bca/atm?SearchBy= &Latitude=&Longitude=&Value=&Radius=&Count=
Request
Response
3. Nearest Branch Location

Get information about nearest branch location by distance, address, city or branch type.


Query String Parameters:
 
Field DataType Mandatory  Description
Latitude String Y In format number( (-)3.12 ) Latitude of client location, possible for minus signed value.
Longitude String Y In format number( (-)3.12 ) Longitude of client location, possible for minus signed value.
Count  String  Number of branches to search, in Integer. Maximum value = 20.
Radius  String  N  Branch distance (in meters) from client location, in Integer. *default = 500 
SearchBy  String  N  Possible values: Address/City/Type 
Value  String  N  If SearchBy = Address or City, value should be filled in : String;
If SearchBy = Type, value should be filled with: kcu , kcp, e-branch, weekendbanking 
Result of the request will contains following information:

Response:
 
Field DataType Description
BranchDetails Array of Object The object that hold information of the branch.
Type String Branch type eg. KCU, KCP
Name String Branch name
Address String Branch full address
City String Branch city
Country String Branch country
Latitude String Branch latitude
Longitude String  Branch longitude 
Distance  String  Branch distance from client location in meters 
E-Branch  String  “Y” if e-branch reservation is available otherwise it will be set to “N” 
WeekendBankingOperation  String  The name of the day of weekend, “Saturday”, “Sunday” and “Saturday&Sunday” 




Error
HTTP Code Error Code Error Message (Indonesian) Error Message (English)
404 ESB-07-271 Tidak ada transaksi No transaction
400 ESB-07-279 Tanggal awal lebih kecil dari tanggal buka rekening Start date less than account open date
400 ESB-14-001 HMAC tidak cocok HMAC mismatch
400 ESB-14-002 Permintaan tidak valid Invalid request
400 ESB-14-003 Timestamp tidak valid Invalid timestamp
400 ESB-14-004 parameter input tidak valid Invalid input parameter
500 ESB-14-005 Sistem sedang dalam maintenance System under maintenance
504 ESB-14-006 Timeout, silakan periksa mutasi rekening Timeout, please check your account statement
504 ESB-14-007 Timeout Timeout
401 ESB-14-008 client_id/client_secret/grant_type tidak valid Invalid client_id/client_secret/grant_type
401 ESB-14-009 Tidak berhak Unauthorized
429 ESB-14-010 Jumlah permintaan melebihi limit Limit request exceeded
404 ESB-14-011 Service tidak ada Service doesn’t exist
401 ESB-14-012 Tidak berhak mengakses service ini Not allowed to access this service
400 ESB-99-009 Field Latitude harus diisi Missing Mandatory field Latitude
400 ESB-99-009 Field Longitude harus diisi Missing Mandatory field Longitude
400 ESB-99-039 Isian input field Count tidak valid Input for field Count not valid
400 ESB-99-040 Tipe isian field Count tidak valid Input type for field Count not valid
400 ESB-99-040 Tipe isian field Latitude tidak valid Input type for field Latitude not valid
400 ESB-99-040 Tipe isian field Longitude tidak valid Input type for field Longitude not valid
400 ESB-99-040 Tipe isian field Radius tidak valid Input type for field Radius not valid
400 ESB-99-132 Data tidak ditemukan No Data Found
400 ESB-99-335 Mata uang tidak valid Invalid CurrencyCode
400 ESB-99-339 Tipe Kurs tidak valid Invalid RateType
400 ESB-99-392 Nilai SearchBy tidak valid Invalid SearchBy value
400 ESB-99-460 Panjang input Value tidak valid Input Value minimal length invalid
500 ESB-99-999 Sistem sedang tidak tersedia System unavaliable
GET /general/info-bca/branch
Request
Response

Notification

1. Notification Account Statement Offline

Service for BCA to send notification that File Statement is ready to download.


Request:
 
Field DataType Mandatory  Description
RequestID String(21) Y ID for every request
AccountNumber String(10) Y Requested Account Number
StartDate String(10) Statement start date. Format: yyyy-MM-dd
EndDate String(10)  Y  Statement end date. Format: yyyy-MM-dd
Response:
 
Field DataType Description
ResponseWS  String Statement request ID
 ResponseWS String  Response from Co-Partner 

NOTIFICATION ACCOUNT STATEMENT OFFLINE
Request
Response
2. Notification for Rejection of Domestic Bank Transfer

Service for BCA to send notification for rejection of domestic bank transfer.


Request:
 
Field DataType Mandatory  Description
TransactionID String(8) Y UUID as unique ID for every request.
TransactionDate String(10) Y Transaction date. Format: yyyy-MM-dd.
TransferType String(3) Transaction Type. Ex: LLG, RTG.
PPUNumber String(5)  Y  PPU Number.
AccountNoFrom String(10)  Y  Sender Account Number.
AccountNoTo String(34) Y  Receiver Account Number.
ReceiverBankCode String(8)  Y  Receiver Bank SWIFT Code.
ReceiverName String Y  Receiver Name.
Amount String(16) Y  Transfer Amount. Format: Numeric, 13.2.
RejectStatusID String Y  Reject Description in Indonesian.
RejectStatusEN String Y  Reject Description in English.
Response:
 
Field DataType Description
ResponseWS  String Response from Co-Partner

NOTIFICATION FOR REJECTION OF DOMESTIC BANK TRANSFER
Request
Response
3. Notification for Securities

Retrieve information of Account Statement of Investor Account for being debited or credited.


Request:
 
Field DataType Mandatory  Description
ExternalReference String(32) Y Alphanumeric. Unique reference number for the request sent.
SeqNumber String(14) Y Numeric. Identifier for the transaction.
AccountNumber String(10) Numeric. The investor account number.
 Currency String(3)  Y  Currently always set to IDR 
TxnDate  String(15)  Y  Numeric. In format ”mmddyyyy hhmmss”. 
TxnType  String(4) Y  Refer to table Transaction Type 
TxnCode  String(1)  Y  D/C indicate debit or credit transaction. 
AccountDebit  String(23)  Y  Numeric. The debited account (source of fund). 
AccountCredit  String(23)  Y  Numeric. The credited account (transfer destination account). 
TxnAmount  String(13.2)  Y  Numeric. Money nominal of the transfer. 
OpenBalance  String(13.2)  Y  Numeric. Possible signed amount with - / + symbol. 
CloseBalance  String(13.2)  Y  Numeric. Possible signed amount with - / + symbol. 
TxnDesc  String(90)  Y  Any description. 
Result of the request will contains following information:

 
 No. Transaction Type Transaction Code Description
 1. NTRF  D Fund Transfer from KlikBCA Bisnis
MFTS – Auto collection from KlikBCA Bisnis 
     C Fund Transfer from KlikBCA Bisnis, KlikBCA Individu, m-BCA, BCA by Phone, ATM, ATM Kiosk
MFTS – Auto credit from KlikBCA Bisnis
Cash deposit, Fund Transfer, Credit Note from Branch
Deposit Clearing 
 2. NINT C Interest
Giro Service
 3. NREV D Credit Reversal
 4. NKOR D Debit Correction
    Credit Correction 
 5. NTAX D Tax
 6. NCHG D Admin Fee
When Transaction Type (TxnType) value is NREV, the value of External Reference (ExternalReference) will be the same with the reversed transaction (the original transaction with same ExternalReference number but TxnType is NTRF).

Response:
 
Field DataType Description
ResponseWS  String Flag received status.
0 : request successfully accepted and no internal error
1 : request unsuccessfully accepted and or some internal error occurred

NOTIFICATION FOR SECURITIES
Request
Response
4. Send Virtual Account Transfer Notification
Service for BCA to notify Virtual Account Transfer Status.

Your Request must contain following information:
Payload
Field Data Type  Mandatory  Description
transaction_id Numeric (8) Y Transaction ID
transaction_date Numeric(10) Y Transaction Date. Format “yyyymm-dd” 
status String (8)  VA Transfer Status :
- success
- rejected
reason  Object     
english  String (200)    
indonesian  String (200)    

Response
Field Data Type  Mandatory Description
response String (32)  Y Response
1 = success
POST https://copartners.com/va/transfer/notification
Request
Response

Sakuku

1. Create Payment
This service used by merchant to sent transaction data, and in return merchant will get PaymentID. Your Request must contain following information:

Payload
Field DataType  Mandatory Description
MerchantID String(5) Y Merchant ID
MerchantName  String(16) Y Merchant Name
TransactionID  String(18) Y Transaction Number generated by merchant
ReferenceID  String(40) Y Reference ID generated by merchant
RequestDate  String(24) Y Transaction Date generated by merchant. Format: yyyy-MM-ddTHH:mm:ss.SSSTZD (ISO 8601)
Amount  String(16) Y Amount of transaction
Tax  String(16) N Tax of transaction
CurrencyCode  String(3) Y Currency is on IDR
Description  String(100) N Description of transcation
CallbackURL String(200) N User will be auto redirected to this URL’s merchant after finish the payment
Result of the request will contains following information:

Response
Field DataType Description
TransactionID  String(18) Transaction number generated by merchant
PaymentID  String(40) Payment ID is generated by BCA
LandingPageURL  String(200) URL for merchant to redirect user to Sakuku Commerce
After merchant get LandingPageURL, merchant should redirect user to that url.
Sample Code in UAT:
https://sandbox.bca.co.id/login?PaymentID=14486EA88D493A92E0540021281A5568


Error
HTTP Code Error Code Error Message (Indonesian) Error Message (English)
400 ESB-14-001 HMAC tidak cocok HMAC mismatch
400 ESB-14-002 Permintaan tidak valid Invalid request
400 ESB-14-003 Timestamp tidak valid Invalid timestamp
500 ESB-14-005 Sistem sedang dalam maintenance System under maintenance
401 ESB-14-008 client_id/client_secret/grant_type tidak valid Invalid client_id/client_secret/grant_type
401 ESB-14-009 Tidak berhak Unauthorized
429 ESB-14-010 Jumlah permintaan melebihi limit Limit request exceeded
404 ESB-14-011 Service tidak ada Service doesn’t exist
401 ESB-14-012 Tidak berhak mengakses service ini Not allowed to access this service
401 ESB-14-014 ChannelID/CredentialID tidak valid Invalid ChannelID/CredentialID
400 ESB-14-015 Content Type tidak valid Invalid Content Type
400 ESB-14-016 Format JSON tidak valid Invalid JSON format
504 ESB-14-023 Koneksi Timeout. Silakan cek transaksi kembali untuk memastikan keberhasilan transaksi Anda. Connection timeout. Please reinquiry your transaction to ensure transaction status.
400 ESB-30-005 Data tidak ditemukan Data not found
400 ESB-82-031 Frekuensi transaksi telah melebihi batas maksimum Transaction frequency has exceeded the maximum number
400 ESB-99-009 Field [FieldName] harus diisi Missing mandatory field [FieldName]
400 ESB-99-038 Panjang field [FieldName] tidak valid Field [FieldName] length not valid
400 ESB-99-039 Isian input(0) tidak valid Input for field [FieldName] not valid
400 ESB-99-045 Maaf, transaksi anda tidak dapat diproses Sorry, your transaction can not be processed
400 ESB-99-112 Inputan String JSON tidak valid Invalid JSON String input
400 ESB-99-113 Transaksi ditolak Transaction rejected
400 ESB-99-159 Format No. HP tidak sesuai Invalid mobile number format
500 ESB-99-662 Transaksi tidak dapat diproses. Silahkan coba beberapa saat lagi Transaction can not be processed. Please try again later
500 ESB-99-999 Sistem sedang tidak tersedia System unavailable
500 ESB-99-999 Transaksi tidak dapat diproses Transaction cannot be processed
POST /sakuku-commerce/payments
Request
Response
2. Payment Status
This service provided for merchant to get status of payment transaction. Your Request must contain following information:

Payload
Field DataType Description
MerchantID String(5) Merchant ID
PaymentID  String(40) PaymentID is generated by BCA

Please use this value for sandbox:
MerchantID : 89000
PaymentID : 0FE117D539DF610FE0540021281A5568,
0EF6B4797D484FCEE0540021282850A9,
13CF67DFB0ECA628E0540021282850A9,
1C8BF0C127DE1FA8E0540021282850A9


Result of the request will contains following information:

Response
Field DataType Description
PaymentID String(40) PaymentID of transaction
Amount String(16) Amount of transaction
RequestDate  String(24)  Date of transaction. Format: yyyy-MM-ddTHH:mm:ss.SSSTZD (ISO 8601) 
PaymentStatus  String(2)  00: Success, 01: Failed, 11: On Process 
ReasonStatus     
Indonesian  String(500)  Reason status in Indonesian 
English  String(500)  Reason status in English 


Error
HTTP Code Error Code Error Message (Indonesian) Error Message (English)
400 ESB-14-001 HMAC tidak cocok HMAC mismatch
400 ESB-14-002 Permintaan tidak valid Invalid request
400 ESB-14-003 Timestamp tidak valid Invalid timestamp
500 ESB-14-005 Sistem sedang dalam maintenance System under maintenance
401 ESB-14-008 client_id/client_secret/grant_type tidak valid Invalid client_id/client_secret/grant_type
401 ESB-14-009 Tidak berhak Unauthorized
429 ESB-14-010 Jumlah permintaan melebihi limit Limit request exceeded
404 ESB-14-011 Service tidak ada Service doesn’t exist
401 ESB-14-012 Tidak berhak mengakses service ini Not allowed to access this service
401 ESB-14-014 ChannelID/CredentialID tidak valid Invalid ChannelID/CredentialID
400 ESB-14-015 Content Type tidak valid Invalid Content Type
400 ESB-14-016 Format JSON tidak valid Invalid JSON format
504 ESB-14-023 Koneksi Timeout. Silakan cek transaksi kembali untuk memastikan keberhasilan transaksi Anda. Connection timeout. Please reinquiry your transaction to ensure transaction status.
400 ESB-30-005 Data tidak ditemukan Data not found
400 ESB-82-031 Frekuensi transaksi telah melebihi batas maksimum Transaction frequency has exceeded the maximum number
400 ESB-99-009 Field [FieldName] harus diisi Missing mandatory field [FieldName]
400 ESB-99-038 Panjang field [FieldName] tidak valid Field [FieldName] length not valid
400 ESB-99-039 Isian input(0) tidak valid Input for field [FieldName] not valid
400 ESB-99-045 Maaf, transaksi anda tidak dapat diproses Sorry, your transaction can not be processed
400 ESB-99-112 Inputan String JSON tidak valid Invalid JSON String input
400 ESB-99-113 Transaksi ditolak Transaction rejected
400 ESB-99-159 Format No. HP tidak sesuai Invalid mobile number format
500 ESB-99-662 Transaksi tidak dapat diproses. Silahkan coba beberapa saat lagi Transaction can not be processed. Please try again later
500 ESB-99-999 Sistem sedang tidak tersedia System unavailable
500 ESB-99-999 Transaksi tidak dapat diproses Transaction cannot be processed
GET /sakuku-commerce/payments/{MerchantID}/{PaymentID}
Request
Response

Virtual Account

1. Bill Presentment
This service is used to request update on existing blocking data. No request cut off time applied so you can add new update request anytime. Only several data that can be updated.

Your Request must contain following information:
Additional headers
Field Params Type Data Type  Mandatory  Description
channel-id Header String (5)  Y  Channel ID KlikBCA Bisnis 95051
credential-id Header String Y  Corporate ID KlikBCA Bisnis
customer_number  Path  String (23)  Customer Number, example: 1234567890123456790123 

Response
Field Data Type  Mandatory Description
transaction_id String (8)  Y Transaction ID, example: 12345678
transaction_date String (10)  Y Transaction Date, example: 2020-12- 31
customer_number String (23)  Y Customer Number, example: 12345678901234567890123
product_name String (30)  Y  
customer_name String (30)  Y Customer Name, example: Andhika Putra
currency_code String (3)  Y Currency Code, example: IDR
bill_flag  String (2)   Bill Flag VA: NV / YV / YF 
total_amount Numeric(16)  Y Total Amount, example: 200000.0. If the request sent the second digit after decimal is 0 (Example: .00), then in the response section 0 will not be displayed (Example: .0)
admin_fee Numeric(16) Y Admin Fee, example: 1000.0. If the request sent the second digit after decimal is 0 (Example: .00), then in the response section 0 will not be displayed (Example: .0)
detail Object Y   
amount Numeric(16) Y Amount Detail, example: 100000.0. If the request sent the second digit after decimal is 0 (Example: .00), then in the response section 0 will not be displayed (Example: .0) 
description Object    
english String (18) Description in english, example: “Pencil” 
indonesian String (18)  N  Description in Indonesia, example: “Pensil”  
freetext Object    
english  String (32)  N  Free text in english, example: “this is example of free text1”  
indonesian  String (32)  N  Free text in Indonesia, example: “ini contoh free text1” 
status  String (20)  Default: “In Progress”  
Error
HTTP Code Error Code Error Message (Indonesian) Error Message (English)
400 ESB-14-001 HMAC tidak cocok HMAC mismatch
400 ESB-14-002 Permintaan tidak valid Invalid request
400 ESB-14-003 Timestamp tidak valid Invalid timestamp
400 ESB-14-004 Parameter input tidak valid Invalid input parameter(s)
500 ESB-14-005 Sistem sedang dalam maintenance System under maintenance
504 ESB-14-006 Timeout, silahkan periksa mutasi rekening Timeout, please check your account statement
504 ESB-14-007 Timeout Timeout
401 ESB-14-008 client_id/client_secret/grant_type tidak valid Invalid client_id/client_secret/grant_type
401 ESB-14-009 Tidak berhak Unauthorized
429 ESB-14-010 Jumlah permintaan melebihi limit Limit request exceeded
404 ESB-14-011 Service tidak ada Service doesn’t exist
401 ESB-14-012 Tidak berhak mengakses service ini Not allowed to access this service
401 ESB-14-014 ChannelID/CredentialID tidak valid Invalid ChannelID/CredentialID
400 ESB-14-015 Content Type tidak valid Invalid Content Type
400 ESB-14-016 Format JSON tidak valid Invalid JSON format
400 ESB-14-019 Koneksi tidak diperbolehkan Connection not allowed
400 ESB-14-021 API Key Tidak Valid API Key Invalid
400 ESB-14-022 API Key/API Secret tidak cocok API Key/API Secret mismatch
504 ESB-14-023 Koneksi Timeout. Silakan cek transaksi kembali untuk memastikan keberhasilan transaksi Anda. Connection timeout. Please reinquiry your transaction to ensure transaction status.
400 CORP-00-002 Field transaction_id Harus Diisi Missing Mandatory Field transaction_id
400 CORP-00-002 Field transaction_date Harus Diisi Missing Mandatory Field transaction_date
400 CORP-00-002 Field source_account_number Harus Diisi Missing Mandatory Field source_account_number
400 CORP-00-002 Field customer_number Harus Diisi Missing Mandatory Field customer_number
400 CORP-00-002 Field amount Harus Diisi Missing Mandatory Field amount
400 CORP-00-002 Field currency_code Harus Diisi Missing Mandatory Field currency_code
400 CORP-00-003 transaction_id tidak valid Invalid transaction_id
400 CORP-00-003 transaction_date tidak valid Invalid transaction_date
400 CORP-00-003 source_account_number tidak valid Invalid source_account_number
400 CORP-00-003 customer_number tidak valid Invalid customer_number
400 CORP-00-003 amount tidak valid Invalid amount
400 CORP-00-003 currency_code tidak valid Invalid currency_code
400 CORP-00-003 beneficiary_email tidak valid Invalid beneficiary_email
400 CORP-00-005 TransactionDate sebelum hari ini TransactionDate is back date
400 CORP-00-007 Rekening perusahaan tidak valid Company Account Invalid
400 CORP-00-008 Rekening tidak dapat melakukan transaksi Account Cannot Do Transaction
400 CORP-00-009 Nominal transaksi melebihi limit maksimum. Limit maksimum per hari Rp: ‘MAXLIMIT’ Transaction Amount Exceeded Maximum Transaction Limit. Maximum Transaction Limit per day: ‘MAXLIMIT’
400 CORP-00-011 Nominal transaksi tidak mencapai limit minimum. Limit maksimum Rp: ‘MAX’ Limit minimum Rp: ‘MIN’ Transaction Amount is Lower than the Minimum Amount. Maximum Amount Rp: ‘MAX’ Minimum Amount Rp: ‘MIN’
400 CORP-00-012 Nominal transaksi melebihi limit maksimum. Limit maksimum Rp ‘MAX’ Limit minimum Rp: ‘MIN’ Transaction Amount is Greater than the Maximum Amount. Maximum Amount Rp ‘MAX’ Minimum Amount Rp: ‘MIN’
400 CORP-00-014 Rekening tidak valid Invalid Account Type
400 CORP-00-015 Transaction ID tidak unik transaction_id Not Unique
400 CORP-00-018 Tidak berhak mengakses service ini Not allowed to access this service
400 CORP-00-019 Panjang karakter transaction_id tidak valid Invalid transaction_id length
400 CORP-00-019 Panjang karakter source_account_number tidak valid Invalid source_account_number Length
400 CORP-00-019 Panjang karakter customer_number tidak valid Invalid customer_number Length
400 CORP-00-019 Panjang karakter beneficiary_email tidak valid Invalid beneficiary_email Length
400 CORP-00-028 Jumlah kurang dari / melebihi billing statement Payment is less than / exceeding billing statement
400 CORP-00-029 Transaksi Anda sedang diproses. Silakan melihat Status Transaksi Anda dalam 10 menit Your transaction is being processed. Please check your Transaction Status in 10 minutes
400 CORP-00-030 Harus IDR Currency must IDR
400 CORP-00-999 Sistem tidak dapat dipergunakan untuk sementara. Cobalah beberapa saat lagi. System Unavailable at the Moment. Please Try Again Later.
GET /va/transfer/customer-number/8885511122233308
Request
Response
2. Inquiry Status Payment

You can see the list of payment status that are owned by the customers. The data will be automatically queried between D-day (hari H) until D-2 day (H-2 / the day before yesterday), with maximum records returned are 10 rows. Your Request must contain following information:


Request:
 
Field DataType Mandatory  Description
CompanyCode String(5) Y BCA create a unique code to identify Company who registered in BCA.
CustomerNumber String(18) Y VA CustomerNumber (the bill number given by the Merchant.
RequestID String(30) Unique transaction identifier which generated by BCA and part or the flag payment response.
Result of the request will contains following information:

Response:
 
Field DataType Description
TransactionData    
TransactionDate String(29) Time when customer do the payment.
TotalAmount String(16) Total amount of transaction from merchant
PaidAmount String(16) Total amount of paid transaction by the customer (can be different for multi bills transaction)
PaymentFlagStatus String(10) Status of flagging to merchant.
RequestID String(30) Unique ID generated by BCA
Reference String(15) Reference ID for payment. (only for non multi bills)
DetailBills     
BillNumber   String(18) Reference ID for each bills in a transaction. Generated by Merchant 
BillReference   String(15) Reference ID for each bills in a transaction. Generated by BCA. (multi settlement and multi bills) 


Error
HTTP Code Error Code Error Message (Indonesian) Error Message (English)
400 ESB-14-001 HMAC tidak cocok HMAC mismatch
400 ESB-14-002 Permintaan tidak valid Invalid request
400 ESB-14-003 Timestamp tidak valid Invalid timestamp
400 ESB-14-004 Parameter input tidak valid Invalid input parameter(s)
500 ESB-14-005 Sistem sedang dalam maintenance System under maintenance
504 ESB-14-007 Timeout Timeout
401 ESB-14-008 client_id/client_secret/grant_type tidak valid Invalid client_id/client_secret/grant_type
401 ESB-14-009 Tidak berhak Unauthorized
400 ESB-99-038 Panjang field [FieldName] tidak valid Panjang field [FieldName] tidak valid
400 ESB-14-017 Tidak berhak menggunakan data ini Not allowed to use this data
400 ESB-99-039 Isian input [FieldName] tidak valid Input for field [FieldName] not valid
400 ESB-99-009 Field [FieldName] harus diisi Missing Mandatory field [FieldName]
404 ESB-99-132 Request tidak ditemukan Request not found
GET /va/payments?CompanyCode=10111&RequestID=201711101617000000700000000001
Request
Response
3. Send Virtual Account Transfer Notification
Service for BCA to notify Virtual Account Transfer Status.

Your Request must contain following information:
Payload
Field Data Type  Mandatory  Description
transaction_id Numeric (8) Y Transaction ID
transaction_date Numeric(10) Y Transaction Date. Format “yyyymm-dd” 
status String (8)  VA Transfer Status :
- success
- rejected
reason  Object     
english  String (200)    
indonesian  String (200)    

Response
Field Data Type  Mandatory Description
response String (32)  Y Response
1 = success
POST https://copartners.com/va/transfer/notification
Request
Response
4. Transfer Virtual Account Payment
This service is used to request update on existing blocking data. No request cut off time applied so you can add new update request anytime. Only several data that can be updated.

Your Request must contain following information:
Additional headers
Field Params Type Data Type  Mandatory  Description
channel-id Header String (5)  Y  Channel ID KlikBCA Bisnis 95051
credential-id Header  String Y  Corporate ID KlikBCA Bisnis
Request
Field  Data Type  Mandatory Description
transaction_id String (8) Y Transaction ID, example: 12345678
transaction_date String (10) Y Transaction Date, example: 2020-12- 31
source_account_number String (10) Y Source account Number, example: 2011101231
customer_number String (23) Y Customer Number, example: 12345678901234567890123
amount Numeric (16) Amount, example: 200000.00. If the request sent the second digit after decimal is 0 (Example: .00), then in the response section 0 will not be displayed (Example: .0)
currency String (3) Y Currency, example : IDR
beneficiary_email_address String (300) N Beneficiary Email Address, example: test123@domain.com

Response
Field Data Type  Mandatory Description
transaction_id String (8)  Y Transaction ID, example: 12345678
transaction_date String (10)  Y Transaction Date, example: 2020-12- 31
customer_number String (23)  Y Customer Number, example: 12345678901234567890123
product_name String (30)  Y  
customer_name String (30)  Y Customer Name, example: Andhika Putra
currency_code String (3)  Y Currency Code, example: IDR
total_amount Numeric(16)  Y Total Amount, example: 200000.0. If the request sent the second digit after decimal is 0 (Example: .00), then in the response section 0 will not be displayed (Example: .0)
admin_fee Numeric(16) Y Admin Fee, example: 1000.0. If the request sent the second digit after decimal is 0 (Example: .00), then in the response section 0 will not be displayed (Example: .0)
paid_amount Numeric(16) Y  Paid Amount, example: 200000.0. If the request sent the second digit after decimal is 0 (Example: .00), then in the response section 0 will not be displayed (Example: .0)
detail Object Y   
amount Numeric(16) Y Amount Detail, example: 100000.0. If the request sent the second digit after decimal is 0 (Example: .00), then in the response section 0 will not be displayed (Example: .0) 
description Object    
english String (18) Description in english, example: “Pencil” 
indonesian String (18)  N  Description in Indonesia, example: “Pensil”  
freetext Object    
english  String (32)  N  Free text in english, example: “this is example of free text1”  
indonesian  String (32)  N  Free text in Indonesia, example: “ini contoh free text1” 
status  String (20)  Default: “In Progress”  
Error
HTTP Code Error Code Error Message (Indonesian) Error Message (English)
400 ESB-14-001 HMAC tidak cocok HMAC mismatch
400 ESB-14-002 Permintaan tidak valid Invalid request
400 ESB-14-003 Timestamp tidak valid Invalid timestamp
400 ESB-14-004 Parameter input tidak valid Invalid input parameter(s)
500 ESB-14-005 Sistem sedang dalam maintenance System under maintenance
504 ESB-14-006 Timeout, silahkan periksa mutasi rekening Timeout, please check your account statement
504 ESB-14-007 Timeout Timeout
401 ESB-14-008 client_id/client_secret/grant_type tidak valid Invalid client_id/client_secret/grant_type
401 ESB-14-009 Tidak berhak Unauthorized
429 ESB-14-010 Jumlah permintaan melebihi limit Limit request exceeded
404 ESB-14-011 Service tidak ada Service doesn’t exist
401 ESB-14-012 Tidak berhak mengakses service ini Not allowed to access this service
401 ESB-14-014 ChannelID/CredentialID tidak valid Invalid ChannelID/CredentialID
400 ESB-14-015 Content Type tidak valid Invalid Content Type
400 ESB-14-016 Format JSON tidak valid Invalid JSON format
400 ESB-14-019 Koneksi tidak diperbolehkan Connection not allowed
400 ESB-14-021 API Key Tidak Valid API Key Invalid
400 ESB-14-022 API Key/API Secret tidak cocok API Key/API Secret mismatch
504 ESB-14-023 Koneksi Timeout. Silakan cek transaksi kembali untuk memastikan keberhasilan transaksi Anda. Connection timeout. Please reinquiry your transaction to ensure transaction status.
400 CORP-00-002 Field transaction_id Harus Diisi Missing Mandatory Field transaction_id
400 CORP-00-002 Field transaction_date Harus Diisi Missing Mandatory Field transaction_date
400 CORP-00-002 Field source_account_number Harus Diisi Missing Mandatory Field source_account_number
400 CORP-00-002 Field customer_number Harus Diisi Missing Mandatory Field customer_number
400 CORP-00-002 Field amount Harus Diisi Missing Mandatory Field amount
400 CORP-00-002 Field currency_code Harus Diisi Missing Mandatory Field currency_code
400 CORP-00-003 transaction_id tidak valid Invalid transaction_id
400 CORP-00-003 transaction_date tidak valid Invalid transaction_date
400 CORP-00-003 source_account_number tidak valid Invalid source_account_number
400 CORP-00-003 customer_number tidak valid Invalid customer_number
400 CORP-00-003 amount tidak valid Invalid amount
400 CORP-00-003 currency_code tidak valid Invalid currency_code
400 CORP-00-003 beneficiary_email tidak valid Invalid beneficiary_email
400 CORP-00-005 TransactionDate sebelum hari ini TransactionDate is back date
400 CORP-00-007 Rekening perusahaan tidak valid Company Account Invalid
400 CORP-00-008 Rekening tidak dapat melakukan transaksi Account Cannot Do Transaction
400 CORP-00-009 Nominal transaksi melebihi limit maksimum. Limit maksimum per hari Rp: ‘MAXLIMIT’ Transaction Amount Exceeded Maximum Transaction Limit. Maximum Transaction Limit per day: ‘MAXLIMIT’
400 CORP-00-011 Nominal transaksi tidak mencapai limit minimum. Limit maksimum Rp: ‘MAX’ Limit minimum Rp: ‘MIN’ Transaction Amount is Lower than the Minimum Amount. Maximum Amount Rp: ‘MAX’ Minimum Amount Rp: ‘MIN’
400 CORP-00-012 Nominal transaksi melebihi limit maksimum. Limit maksimum Rp ‘MAX’ Limit minimum Rp: ‘MIN’ Transaction Amount is Greater than the Maximum Amount. Maximum Amount Rp ‘MAX’ Minimum Amount Rp: ‘MIN’
400 CORP-00-014 Rekening tidak valid Invalid Account Type
400 CORP-00-015 Transaction ID tidak unik transaction_id Not Unique
400 CORP-00-018 Tidak berhak mengakses service ini Not allowed to access this service
400 CORP-00-019 Panjang karakter transaction_id tidak valid Invalid transaction_id length
400 CORP-00-019 Panjang karakter source_account_number tidak valid Invalid source_account_number Length
400 CORP-00-019 Panjang karakter customer_number tidak valid Invalid customer_number Length
400 CORP-00-019 Panjang karakter beneficiary_email tidak valid Invalid beneficiary_email Length
400 CORP-00-028 Jumlah kurang dari / melebihi billing statement Payment is less than / exceeding billing statement
400 CORP-00-029 Transaksi Anda sedang diproses. Silakan melihat Status Transaksi Anda dalam 10 menit Your transaction is being processed. Please check your Transaction Status in 10 minutes
400 CORP-00-030 Harus IDR Currency must IDR
400 CORP-00-999 Sistem tidak dapat dipergunakan untuk sementara. Cobalah beberapa saat lagi. System Unavailable at the Moment. Please Try Again Later.
POST /va/transfer/
Request
Response