Overview of BCA Sandbox APIs:
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 |
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.
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 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.
Setting | Value |
---|---|
HTTP Method | POST |
Path | /api/oauth/token |
Host | sandbox.bca.co.id |
Name | Format | Mandatory | Description |
---|---|---|---|
Authorization | Basic base64(client_id:client_secret) |
Yes | |
Content-Type | application/x-www-form-urlencoded | Yes |
Field | Data Type | Mandatory | Description |
---|---|---|---|
grant_type | String | Yes | value = client_credentials |
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 |
API Key and API Secret are used for hashing HMAC. You can generate API Key and API Secret after sign in and create application.
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) |
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 |
POST /openapi/v1.0/access-token/b2b HTTP/1.1 Host: server.example.com X-TIMESTAMP : DateTime with timezone, which follows the ISO-8601 standard X-CLIENT-KEY : client_id X-SIGNATURE : Signature Asymmetric Content-Type : application/json { "grantType": "client_credentials" } |
Here is the list of error codes that can be returned.
HTTP Code | Error Code | Error Message (Indonesian) |
---|---|---|
400 | 4007300 | Invalid field format [clientId/clientSecret/grantType] |
400 | 4007300 | Unauthorized. [Connection not allowed] |
400 | 4007301 | invalid field format [X-TIMESTAMP] |
400 | 4007302 | Invalid mandatory field [X-CLIENT-KEY] |
401 | 4017300 | Unauthorized. [Signature] |
401 | 4017300 | Unauthorized. [Unknown client] |
504 | 5047300 | Timeout |
To successfully communicate with BCA Banking Open API, you must provide the following headers in every API request :
Name | Type | Length | Mandatory | Description |
---|---|---|---|---|
Authorization | AN | N/A | Y | Represents access_token of a request, String starts with keyword “Bearer” followed by accessToken |
Content-Type | AN | 16 (Fixed Length) | Y | Content of you request body e.g. application/json |
X-TIMESTAMP |
yyyy-MMddThh:mi:ssTZD (ISO 8601) |
25 (Fixed Length) | Y | Client’s current local time in yyyy-MM-ddTHH:mm:ssTZD format |
X-SIGNATURE |
AN | N/A | Y | Signature Symmetric, please refer to Signature section |
ORIGIN |
N/A | N | Origin Domain www.yourdomain.com | |
X-EXTERNAL-ID |
36 (Max Length) | Y | Numeric String Reference number that should be unique in the same day |
Signature asymmetric is used by BCA to verify that your access token request is not altered by attackers.
The outline of the HMAC validation process is as follows:
If HMAC hash comparison is invalid API Gateway will return a HTTP 401 error code together with the following error message on JSON format:
{ "responseCode" : "4017300", "responseMessage" : "Unathorized. [Signature]" } |
If the HMAC calculation is successful and the calculated value matches the value received from the client, the signature is considered valid.
SHA256withRSA is used to generate the signature with your Private Key as the key
X-SIGNATURE = SHA256withRSA(PrivateKey, StringToSign) |
Note = X-SIGNATURE should be encoded by Base64
The StringToSign will be a colon-separated list derived from some request data as below :
StringToSign = client_ID+"|"+X-TIMESTAMP |
Details about the data used to derived The StringToSign is explained in the next sections.
Note : Partner need to send their public key in x.509 format for BCA to use when verifying signature
Sample public key in x.509 format :
-----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAomV+Vm1xlRXanmh108Kusls7SSKec0oCejtc9QG Obpd4RnQ+7gihm2k6etnSNP7b+XrpY+fBkiQNaBInii9M10kW9Bhf/M9GH/edL3IqnzDNSi7tcoQgnO7h8x mzLNWHTjtR6bkrsdBS5dry6htotaF5KXomuoYgztCdGDOa0W20aeLzYSXIoW7s/Ay5yIXt0xaXTll3/bmez leguFPnwQZq5EqZFWlUZvutDi+f2l9rTRY0Fb64y+VAf+mnIbEovGqsPEeF/p97YWxcY7CWm8NsT0lwBVOt kmEl967Brz5yvEObF5bJgVodi6mNVsN1ki0MCitIhYO8shcE7eUilQIDAQAB -----END PUBLIC KEY----- |
Signature is used by BCA to verify that your open api service request is not altered by attackers.
The outline of the HMAC validation process is as follows:
If HMAC hash comparison is invalid API Gateway will return a HTTP 401 error code together with the following error message on JSON format:
{ "responseCode" : "401xx00", "responseMessage" : " Unauthorized. [Signature]", "data" : {} } |
Note : xx -> customize to each service code
If the HMAC calculation is successful and the calculated value matches the value received from the client, the signature is considered valid.
SHA-512 HMAC is used to generate the signature with your Client Secret as the key.
X-SIGNATURE = HMAC-SHA512(ClientSecret, StringToSign) |
Note = X-SIGNATURE should be encoded by Base64
The StringToSign will be a colon-separated list derived from some request data as below :
StringToSign = HTTPMethod+":"+RelativeUrl+":"+AccessToken+":"+ Lowercase(HexEncode(SHA-256(MinifyJson(RequestBody))))+":"+Timestamp |
Full URL | Relative URL |
https://example.com/api/v2/sample?param1=value | /api/v2/sample?param1=value1&pa ram2=value2 |
https://example.com or https://example.com/ | / |
Relative URL | Sorted Relative URL |
/api/v2/sample?A-param=value1&Zparam=value2&B-param=value3 | /api/v2/sample?A-param=value1&Bparam=value3&Z-param=value2 |
The timestamp must be presented in ISO8601 format (YYYY-MM-DDThh:mm:ssTZD)
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)
ss = two digits of second (00 through 59)
TZD = time zone designator (Z or +hh:mm or –hh:mm)
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) |
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 |
Field | DataType | Description |
---|---|---|
RequestID | String(21) | Statement request ID |
TransactionDate | String(10) | Transcation date. Format: yyyy-MM-dd |
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 |
Retrieve information of Account Statement of Investor Account for being debited or credited.
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) | Y | 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. |
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 |
C | Credit Correction | ||
5. | NTAX | D | Tax |
6. | NCHG | D | Admin Fee |
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 |
Service for BCA to send notification that File Statement is ready to download.
Field | DataType | Mandatory | Description |
---|---|---|---|
RequestID | String(21) | Y | ID for every request |
AccountNumber | String(10) | Y | Requested Account Number |
StartDate | String(10) | Y | Statement start date. Format: yyyy-MM-dd |
EndDate | String(10) | Y | Statement end date. Format: yyyy-MM-dd |
Field | DataType | Description |
---|---|---|
ResponseWS | String | Statement request ID |
ResponseWS | String | Response from Co-Partner |
Field | Params Type | Data Type | Length Type | Mandatory | Description |
---|---|---|---|---|---|
CHANNEL-ID | Header | String (5) | Fixed | Y | Channel’s identifier using WSID KlikBCA Bisnis (95051) |
X-PARTNER-ID | Header | String (32) | Max | Y | Corporate ID |
Field | DataType | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
partnerReferenceNo | String(64) | Max | Y | - | Transaction identifier on service customer system |
accountNo | String(16) | Max | Y | Numeric | Registered account number in KlikBCA Bisnis. For BCA, length account number is 10 digit |
Field | DataType | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
responseCode | String (7) | Fixed | Y | - | Response code |
responseMessage | String (150) | Max | Y | - | Response description |
referenceNo | String (64) | Max | Y (When the transaction is successful) | Numeric | Transaction identifier on service provider system. Unique each day from BCA Must be filled upon successful transaction With format as follows : yymmddHH (from timestamp, 8 digit) xx (prefix menu, 2 digit) sequence number (8 digit) |
partnerReferenceNo | String (64) | Max | Y | - | Transaction identifier on service customer system *according to the request input |
accountNo | String (32) | Max | N | Numeric | Send by BCA according to the request input. Registered account number in KlikBCA Bisnis. For BCA, length account number is 10 digit. |
name | String (140) | Max | N | Alphanumeric | Send by BCA. Customer account name |
accountInfos | Array of object | Starting and ending balance before the first/last transaction. | |||
amount | Object | Y | Send by BCA. Net amount of the transaction | ||
value | String(16.2) | Max | Y | Numeric | If it’s IDR then value includes 2 decimal digits. BCA will send response amount with format value Numeric (13.2) |
currency | String(3) | Fixed | Y | Alphanumeric | Currency ISO 4217 |
floatAmount | Object | N | Send by BCA. Amount of deposit that is not effective yet (due to holiday, etc) |
||
value | String(16.2) | Max | Y | Numeric | If it’s IDR then value includes 2 decimal digits. BCA will send response amount with format value Numeric (13.2) |
currency | String(3) | Fixed | Y | Alphanumeric | Currency ISO 4217 |
holdAmount | Object | N | Send by BCA. Hold amount that cannot be used |
||
value | String(16.2) | Max | Y | Numeric | If it’s IDR then value includes 2 decimal digits. BCA will send response amount with format value Numeric (13.2) |
currency | String(3) | Fixed | Y | Alphanumeric | Currency ISO 4217 |
availableBalance | Object | Y | Send by BCA. Account balance that can be used for financial transaction |
||
value | String(16.2) | Max | Y | Numeric | If it’s IDR then value includes 2 decimal digits. BCA will send response amount with format value Numeric (13.2) |
currency | String(3) | Fixed | Y | Alphanumeric | Currency ISO 4217 |
HTTP Code | Error Code | Error Message (Indonesian) |
---|---|---|
400 | 4001100 | Bad request |
400 | 4001101 | Invalid Mandatory Field {Field} |
400 | 4001102 | Invalid Field Format {Field} |
401 | 4011100 | Unauthorized. [Reason] |
401 | 4011101 | Invalid token (B2B) |
403 | 4031101 | Feature Not Allowed |
403 | 4031118 | Inactive Account |
404 | 4041111 | Invalid Account |
409 | 4091100 | Conflict |
500 | 5001100 | General Error |
504 | 5041100 | Timeout |
Field | Params Type | Data Type | Length Type | Mandatory | Description |
---|---|---|---|---|---|
CHANNEL-ID | Header | String (5) | Fixed | Y | Channel’s identifier using WSID KlikBCA Bisnis (95051) |
X-PARTNER-ID | Header | String (32) | Max | Y | Corporate ID |
Field | DataType | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
partnerReferenceNo | String(64) | Max | Y | - | Transaction identifier on service customer system |
accountNo | String(16) | Max | Y | Numeric | Registered account number in KlikBCA Bisnis. For BCA, length account number is 10 digit |
fromDateTime | Date (25) | Max | Y | ISODateTime ISO-8601 | Starting time range Default : NOW (DESCENDING) or NOW -1 year (ASCENDING) (must be filled YYYYMMDDT00:00:00+07:00) For BCA, only provide data for NOW - 31 days |
toDateTime | Date (25) | Max | Y | ISODateTime ISO-8601 | Ending time range Default : NOW (DESCENDING) or NOW – 1 year (ASCENDING) (must be filled YYYYMMDDT00:00:00+07:00) For BCA, only provide data for NOW – 31 days |
Account mutations appear in the order of the newest transaction to the oldest transaction.
The maximum number of mutations that can be withdrawn in 1x request is 9000.
If fromDateTime and toDateTime are inputted on the request for a holiday date, then the mutation that will be displayed is the mutation from the request date to the date of the next working day.
Field | DataType | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
responseCode | String (7) | Fixed | Y | - | Response code |
responseMessage | String (150) | Max | Y | - | Response description |
referenceNo | String (64) | Max | Y (When the transaction is successful) | Numeric | Transaction identifier on service provider system. Unique each day from BCA Must be filled upon successful transaction With format as follows : yymmddHH (from timestamp, 8 digit) xx (prefix menu, 2 digit) sequence number (8 digit) |
partnerReferenceNo | String (64) | Max | Y | - | Transaction identifier on service customer system *according to the request input |
balance | Array of object | Starting and ending balance before the first/last transaction. | |||
amount | Object | Y | Amount of balance | ||
value | String(16.2) | Max | Y | Numeric | If it’s IDR then value includes 2 decimal digits. BCA will send response amount with format value Numeric (13.2) |
currency | String(3) | Fixed | Y | Alphanumeric | Currency ISO 4217 |
dateTime | String(25) | Max | Y | ISODateTime 8601 |
Timestamp of the balance |
startingBalance | Object | N | Starting and ending balance before the first/last transaction | ||
value | String(16.2) | Max | Y | Numeric | If it’s IDR then value includes 2 decimal digits. BCA will send response amount with format value Numeric (13.2) |
currency | String(3) | Fixed | Y | Alphanumeric | Currency ISO 4217 |
dateTime | String(25) | Max | Y | ISODateTime 8601 |
Timestamp of the balance |
endingBalance | Object | N | Starting and ending balance before the first/last transaction | ||
value | String(16.2) | Max | Y | Numeric | If it’s IDR then value includes 2 decimal digits. BCA will send response amount with format value Numeric (13.2) |
currency | String(3) | Fixed | Y | Alphanumeric | Currency ISO 4217 |
dateTime | String(25) | Max | Y | ISODateTime 8601 |
Timestamp of the balance |
totalCreditEntries | Object | N | Total transaction amount with type = CREDIT | ||
numberOfEntries | String (5) | Max | Y | Numeric | Number of entries for credit transaction |
amount | Object | Y | Amount of balance | ||
value | String(16.2) | Max | Y | Numeric | If it’s IDR then value includes 2 decimal digits. BCA will send response amount with format value Numeric (13.2) |
currency | String(3) | Fixed | Y | Alphanumeric | Currency ISO 4217 |
totalDebitEntries | Object | N | Total transaction amount with type =DEBIT | ||
numberOfEntries | String (5) | Max | Y | Numeric | Number of entries for credit transaction |
amount | Object | Y | Amount of balance | ||
value | String(16.2) | Max | Y | Numeric | If it’s IDR then value includes 2 decimal digits. BCA will send response amount with format value Numeric (13.2) |
currency | String(3) | Fixed | Y | Alphanumeric | Currency ISO 4217 |
detailData | Array of object | ||||
endAmount | Object | Y | Net amount of the transaction | ||
value | String(16.2) | Max | Y | Numeric | If it’s IDR then value includes 2 decimal digits. BCA will send response amount with format value Numeric (13.2) |
currency | String(3) | Fixed | Y | Alphanumeric | Currency ISO 4217 |
amount | Object | Y | |||
value | String(16.2) | Max | Y | Numeric | If it’s IDR then value includes 2 decimal digits. BCA will send response amount with format value Numeric (13.2) |
currency | String(3) | Fixed | Y | Alphanumeric | Currency ISO 4217 |
transactionDate | String (25) | Fixed | Y | ISO8601 | Transaction date |
remark | String (256) | Max | Y | - | Remark / transaction description. For BCA, remark is 36 digit divided in 2 field (remark 1 with 18 digit and remark 2 with 18 digit). Filled with data from txn_name and trailer 1-6 |
type | String (6) | Fixed | Y | Alphanumeric | Transaction type CREDIT/DEBIT |
HTTP Code | Error Code | Error Message (Indonesian) |
---|---|---|
400 | 4001402 | Invalid Mandatory Field {Field} |
400 | 4001402 | Invalid Field Format {Field} |
401 | 4011400 | Unauthorized. [Reason] |
401 | 4011401 | Invalid token (B2B) |
403 | 4031401 | Feature Not Allowed |
404 | 4041411 | Invalid Account |
409 | 4091400 | Conflict |
429 | 4291400 | Too Many Requests |
500 | 5001400 | General Error |
504 | 5041400 | Timeout |
Field | Data Type | Mandatory | Length Type | Format | Description |
---|---|---|---|---|---|
request_id | String(33) | Y | Fix | - | Request ID |
customer_id_merchant | String(15) | Y | Max Length | Number | CustomerID Merchant |
customer_name | String(30) | Y | Max Length | - | Customer Name |
db_account_no | String(10) | Y | Fix | Number | Mandatory if the status is 01 and 03 |
status | String(2) | Y | Fix | Number | SKPR Registration Status “01” = Success Register “02” = Failed Register “03” = Success Delete “04” = Failed Delete |
Reason | Object | - | - | - | - |
english | String(50) | N | Max Length | - | |
indonesia | String(50) | N | Max Length | - |
Field | DataType | Mandatory | Description |
---|---|---|---|
request_id | String(33) | Y (if SKPR Digital) | Request ID if SKPR Digital |
response_ws | String(1) | Y | Response 0 = Success 1 = Failed |
Field | DataType | Mandatory | Description |
---|---|---|---|
ChannelID | String(5) | Y | Channel ID (BCA channel’s identifier).Ex: “95051”. |
CredentialID | String(10) | Y | Company Code Auto-Collection |
Field | DataType | Mandatory | Description |
---|---|---|---|
customer_id_merchant | String(15) | Y | Customer id merchant in number. |
identifications | Object | Y | 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 | N | Merchant logo URL to display on webview |
Field | DataType | Mandatory | Description |
---|---|---|---|
request_id | String(33) | Y | 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 |
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 |
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) | Y | Customer ID in number. Account authorization status that can be inquired is 7 days back from the inquiry date |
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 |
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 |
Field | Params Type | DataType | Mandatory | Description |
---|---|---|---|---|
channel-id | Header | String(5) | Y | Channel ID KlikBCA Bisnis 95051 |
credential-id | Header | String(8) | Y | Company Code Auto-Collection |
customer_id_merchant | Path | String(15) | Y | Customer ID Merchant |
db_account_no | Path | String(10) | Y | Customer Account No |
Field | DataType | Mandatory | Description |
---|---|---|---|
customer_id_merchant | String(15) | Y | Customer ID Merchant |
db_account_no | String(10) | Y | Customer Account No |
status | String(11) | Y | Default status “In Progress” |
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 |
This service is used to VA BillPresentment.
This feature is not yet available to be accessed via Sandbox.
Field | Params Type | Data Type | Length Type | Mandatory | Description |
---|---|---|---|---|---|
CHANNEL-ID | Header | String(5) | Y | Channel’ Identifier using WSID BCA Virtual Account (95231) | |
X-PARTNER-ID | Header | String(32) | Y | Partner ID using Company Code VA | |
X-EXTERNAL-ID | Header | String (36) | Y | Numeric String. Reference number that should be unique in the same day |
Field | Data Type | Mandatory | Description |
---|---|---|---|
partnerServiceId | String (8) | Y | Derivative of XPARTNER-ID, similar to company code 8 digit left padding space |
customerNo | String (20) | Y | Unique number (up to 20 digits) |
virtualAccountNo | String (28) | Y | partnerServiceId (8 digit left padding space “ “) + customerNo (up to 20 digit) |
trxDateInit | Date (25) | N | BCA internal system datetime with timezone, which follows the ISO-8601 standard |
channelCode | Numeric (4) | N | Channel code based on ISO 18245 |
inquiryRequestId | String (128) | Y | Unique identifier for this inquiry. Generated by BCA. |
additionalInfo | Object | N | Optional. Additional Information for custom user |
Field | Data Type | Mandatory | Description |
---|---|---|---|
responseCode | String (7) | Y | Mandatory in BCA. Response code from Partner, refer to Appendix for list of response code |
responseMessage | String (150) | Y | Mandatory in BCA. Response message from Partner, refer to Appendix for list of response code |
virtualAccountData | Object | Y | |
inquiryStatus | String (2) | N | Mandatory in BCA. Status of inquiry, refer to Notes for status values |
inquiryReason | Object | N | Mandatory in BCA. Reason for inquiry Status multi language |
english | String (64) | N | Reason for inquiry Status in English |
indonesia | String (64) | N | Reason for inquiry Status in Bahasa |
partnerServiceId | String (8) | Y | Mandatory in BCA. Derivative of X-PARTNER-ID, similar to company code, 8 digit left padding space “ ” |
customerNo | String (20) | Y | Mandatory in BCA. Unique number (up to 20 digits). |
virtualAccountNo | String (28) | N | Mandatory in BCA. partnerServiceId (8 digit left padding space “ ”) + customerNo (up to 20 digit) |
virtualAccountName | String (255) | N | Mandatory in BCA. Customer name |
inquiryRequestId | String (128) | Y | Mandatory in BCA. From Inquiry Request |
totalAmount | Object | N | Mandatory in BCA. |
value | String (16.2) ISO 4217 |
Y | Transaction Amount. Total Amount with 2 decimal |
currency | String (3) | Y | Currency |
subCompany | String (5) | N | Mandatory in BCA. Partner's product code (sub company code). Mandatory for non-multibills transaction. |
billDetails | Array of Objects | N | Array with maximum 24 Objects |
billNo | String (18) | N | Customer bill number generated by Partner |
billDescription | Object | N | Bill Description |
english | String (18) | N | Bill Description in English |
indonesia | String (18) | N | Bill Description in Bahasa |
billSubCompany | String (5) | C | Bill sub company code |
billAmount | Object | N | Amount specific to bill number |
value | String (16.2) ISO 4217 |
Y | Transaction Amount |
currency | String (3) | Y | |
additionalInfo | Object | N | Optional. Additional information for custom use. Refer to Appendix C for complete list of additionalInfo for Virtual Account |
freeTexts | Array of Objects | N | Optional. Array with maximum 9 objects. freeTexts field in inquiry bill should not be greater than 5 |
Note :
Scenario | responseCode | responseMessage | inquiryStatus |
---|---|---|---|
Access Token Invalid | 4012401 | "Invalid Token (B2B)" | - |
Unauthorized . Signature | 4012400 | "Unauthorized. [Signature]" | - |
Unauthorized . stringToSign | 4012400 | "Unauthorized. [Signature]" | - |
Unauthorized . Unknown Client | 4012400 | "Unauthorized. [Unknown client]" | - |
Missing Mandatory Field {} …, etc | 4002402 | "Invalid Mandatory Field {........}" | 01 |
Invalid Field Format {} .., etc | 4002401 | "Invalid Field Format {........}" | 01 |
Cannot use the same X-EXTERNAL-ID | 4092400 | "Conflict" | 01 |
Input no Virtual Account Valid | 2002400 | "Success" | 01 |
Input no Virtual Account Valid sudah lunas | 4042414 | "Paid Bill" | 01 |
Input no Virtual Account Valid kadaluarsa | 4042419 | "Invalid Bill/Virtual Account" | 01 |
Input no Virtual Account tidak terdaftar | 4042412 | "Invalid Bill/Virtual Account [Reason]" | 01 |
Request Parsing Error | 4002400 | "Bad Request" | 01 |
Response Parsing Error | 4002400 | "Bad Request" | 01 |
This service is used to VA Payment Status.
This feature is not yet available to be accessed via Sandbox.
Field | Params Type | Data Type | Mandatory | Description |
---|---|---|---|---|
CHANNEL-ID | Header | String(5) | Y | Channel’ Identifier using WSID Virtual Account (95231) |
X-PARTNER-ID | Header | String(32) | Y | Partner ID using Company Code VA |
X- EXTERNAL -ID | Header | String(36) | Y | Reference number that should be unique in the same day |
Field | Data Type | Mandatory | Description |
---|---|---|---|
partnerServiceId | String (8) | Y | Derivative of X-PARTNER-ID, similar to company code, 8 digit left padding space “ “ |
customerNo | String (20) | Y | Unique number (up to 20 digits) |
virtualAccountNo | String (28) | Y | partnerServiceId (8 digit left padding space “ “) + customerNo (up to 20 digit) |
paymentRequestId | String (128) | N | Unique identifier from Payment generated by BCA. |
Field | Data Type | Mandatory | Description |
---|---|---|---|
responseCode | String (7) | Y | Response code |
responseMessage | String (150) | Y | Response description |
virtualAccountData | Object | Y | |
paymentFlagReason | Object | N | Reason for Payment Status multi language |
english | String (200) | N | Reason for inquiry status in English |
indonesia | String (200) | N | Reason for inquiry status in Bahasa |
partnerServiceId | String (8) | Y | Derivative of XPARTNER-ID, similar to company code, 8 digit left padding space “ “ |
customerNo | String (20) | Y | Unique number (up to 20 digit) |
virtualAccountNo | String (28) | Y | partnerServiceId (8 digit left padding space “ “) + customerNo (up to 20 digit) |
inquiryRequestId | String (128) | Y | Unique identifier from Inquiry |
paymentRequestId | String (128) | C | Unique identifier for this Payment from BCA. Mandatory if payment happened. |
paidAmount | Array of Objects | N | |
value | String (16.2) ISO 4217 |
Y | Paid amount with 2 decimal |
currency | String (3) | Y | Currency |
totalAmount | Object | N | - |
value | String (16.2) ISO 4217 |
Y | Transaction Amount. Total Amount from Inquiry with 2 decimal |
currency | String (3) | Y | Currency |
transactionDate | Date (25) | N | Payment datetime when the payment happened |
referenceNo | String (15) | N | Payment auth code generated by BCA |
paymentFlagStatus | String (2) | N | Status for Payment Flag |
billDetails | Array of Objects | N | Array with maximum 24 Objects |
billNo | String (18) | N | Bill number from Partner |
billDescription | Object | N | Bill Description |
english | String (18) | N | Bill Description in English |
indonesia | String (18) | N | Bill Description in Bahasa |
billSubCompany | String (5) | N | Partner’s product code |
billAmount | Object | N | Nominal inputted by Customer with 2 decimal |
value | String (16.2) ISO 4217 | Y | Transaction Amount. Total Amount from Inquiry with 2 decimal |
currency | String (3) | Y | Currency |
billReferenceNo | Numeric (15) | N | Bill auth code generated by BCA |
status | String (2) | N | Payment status for specific Bill |
reason | Object | N | Reason for Payment Status for specific Bill multi language |
english | String (64) | N | Reason for Payment Status for specific Bill in English |
indonesia | String (64) | N | Reason for Payment Status for specific Bill in Bahasa |
Note :
HTTP Code | Error Code | Error Message |
---|---|---|
400 | 4002600 | Bad Request |
400 | 4002601 | Invalid Field Format {field name} |
400 | 4002602 | Invalid Mandatory Field {field name} |
401 | 4012600 | Unauthorized. [Reason] |
401 | 4012601 | Invalid token (B2B) |
404 | 4042601 | Transaction Not Found |
500 | 5002600 | Internal Server Error |
504 | 5042600 | Timeout |
This service is used to VA Payment Flag.
This feature is not yet available to be accessed via Sandbox.
Field | Params Type | Data Type | Length Type | Mandatory | Description |
---|---|---|---|---|---|
CHANNEL-ID | Header | String(5) | Y | Channel’ Identifier using WSID BCA Virtual Account (95231) | |
X-PARTNER-ID | Header | String(32) | Y | Partner ID using Company Code VA | |
X-EXTERNAL-ID | Header | String (36) | Y | Numeric String. Reference number that should be unique in the same day |
Field | Data Type | Mandatory | Description |
---|---|---|---|
partnerServiceId | String (8) | Y | Derivative of X-PARTNER-ID, similar to company code, 8 digit left padding space “ “ |
customerNo | String (20) | Y | Unique number (up to 20 digits) |
virtualAccountNo | String (28) | Y | partnerServiceId (8 digit left padding space “ “) + customerNo (up to 20 digit) |
virtualAccountName | String (255) | N | Customer name |
paymentRequestId | String (128) | Y | Unique identifier generated by BCA. If payment comes from the Inquiry process, this value must be the same with inquiryRequestId. |
channelCode | Numeric (4) | N | Channel code based on ISO 18245 |
hashedSourceAccountNo | String (32) | N | Optional. Source account number in hash |
sourceBankCode | String (3) | N | Optional. Source account bank code |
paidAmount | Object | Y | - |
value | String (16.2) ISO 4217 |
Y | Paid Amount with 2 decimal |
currency | String (3) | Y | Currency |
referenceNo | String (64) | N | Payment auth code generated by BCA |
flagAdvise | String (1) | N | Status is this a retry notification. (Default value: N) |
subCompany | String (5) | N | Sub Company code generated by Partner |
billDetails | Array of Objects | N | Array with maximum 24 Objects |
billNo | String (18) | N | From Inquiry Response |
billDescription | JSON Object | N | From Inquiry Response |
english | String (18) | N | From Inquiry Response |
indonesia | String (18) | N | From Inquiry Response |
billSubCompany | String (5) | N | From Inquiry Response |
billAmount | Objects | N | |
value | String (16.2) ISO 4217 | Y | Transaction Amount. From Inquiry Response |
currency | String (3) | Y | Currency |
billReferenceNo | Numeric (15) | N | From Inquiry Response |
additionalInfo | Object | N | Optional. Additional information for custom user. |
Note :
Field | Data Type | Mandatory | Description |
---|---|---|---|
responseCode | String (7) | Y | Mandatory In BCA. Response code from Partner, refer to Appendix for list of response code |
responseMessage | String (150) | Y | Mandatory in BCA. Response message from Partner, refer to Appendix for list of response code |
virtualAccountData | Object | Y | |
paymentFlagReason | Object | N | Mandatory in BCA. Reason for Payment Status multi language |
english | String (200) | N | Reason for inquiry status in English |
indonesia | String (200) | N | Reason for inquiry status in Bahasa |
partnerServiceId | String (8) | Y | Mandatory in BCA. Derivative of XPARTNER-ID, similar to company code, 8 digit left padding space “ “ |
customerNo | String (20) | Y | Mandatory in BCA. Unique number (up to 20 digit) |
virtualAccountNo | String(28) | Y | Mandatory in BCA. partnerServiceId (8 digit left padding space “ “) + customerNo (up to 20 digit) |
virtualAccountName | String (255) | Y | Mandatory in BCA. Customer name |
paymentRequestId | String (128) | Y | Mandatory in BCA. Payment request id from request payload |
paidAmount | Object | N | Mandatory in BCA. |
value | String (16.2) ISO 4217 |
Y | Transaction Amount. From Payment Request |
currency | String (3) | Y | Currency |
totalAmount | Object | N | Mandatory in BCA. |
value | String (16.2) ISO 4217 |
Y | Transaction Amount. From Payment Request |
currency | String (3) | Y | Currency |
trxDateTime | Date (25) | N | Mandatory in BCA. From Payment Request |
referenceNo | String (15) | N | From Payment Request |
paymentFlagStatus | String (2) | N | Mandatory in BCA. Status for Payment Flag from Partner |
billDetails | Array of Objects | N | Array with maximum 24 Objects |
billerReferenceId | String (64) | N | From Inquiry Response |
billNo | String (18) | N | From Inquiry Response |
billDescription | Object | N | From Inquiry Response |
english | String (18) | N | From Inquiry Response |
indonesia | String (18) | N | From Inquiry Response |
billSubCompany | String (5) | N | From Inquiry Response |
billAmount | Array of Objects | N | From Inquiry Response |
value | String (16.2) ISO 4217 | Y | Transaction Amount. From Payment Request |
currency | String (3) | Y | Currency |
additionalInfo | Object | N | Additional Information for custom use in each bill. Refer to Appendix C for complete list of additionalInfo for Virtual Account |
status | String (2) | N | Payment status for specific Bill |
reason | Object | N | Reason for Payment Status for specific Bill multi language |
english | String (64) | N | Reason for Payment Status for specific Bill in English |
indonesia | String (64) | N | Reason for Payment Status for specific Bill in Bahasa |
freeTexts | Array of Objects | N | Optional. Array with maximum 9 Objects |
english | String (32) | N | Will be shown in Channel |
indonesia | String (32) | N | Will be shown in Channel |
additionalInfo | Object | N | Additional Information for custom use. Refer to Appendix C for complete list of additionalInfo for Virtual Account |
Note :
responseCode | paymentFlagStatus | status inside billdetail | Final Status |
---|---|---|---|
N | N | N | Timeout |
N | Y | Y | Timeout |
Y (Success) | N | N | Timeout |
Y (Failed) | N | N | Failed |
Scenario | responseCode | responseMessage | paymentFlagStatus |
---|---|---|---|
Access Token Invalid | 4012501 | "Invalid Token (B2B)" | - |
Unauthorized . Signature | 4012500 | "Unauthorized. [Signature]" | - |
Unauthorized . stringToSign | 4012500 | "Unauthorized. [Signature]" | - |
Unauthorized . Unknown Client | 4012500 | "Unauthorized. [Unknown client]" | - |
Missing Mandatory Field {} …, etc | 4002502 | "Invalid Mandatory Field {........}" | 01 |
Invalid Field Format {} .., etc | 4002501 | "Invalid Field Format {........}" | 01 |
Cannot use the same X-EXTERNAL-ID | 4092500 | "Conflict" | 01 |
Input no Virtual Account Valid | 2002500 | "Success" | 00 |
Input no Virtual Account Valid sudah lunas | 4042514 | "Bill has been paid" | 01 |
Duplicate XEXTERNAL-ID and paymentRequestId | 4042518 | "Inconsistent Request" | 00/01 |
Input no Virtual Account Valid kadaluarsa | 4042519 | "Invalid Bill/Virtual Account" | 01 |
Input no Virtual Account tidak terdaftar | 4042512 | "Invalid Bill/Virtual Account [Reason]" | 01 |
Request Parsing Error | 4002500 | "Bad Request" | 01 |
Request Parsing Error | 4002500 | "Bad Request" | 01 |
This service is used to VA transfer BillPresentment.
Field | Params Type | Data Type | Length Type | Mandatory | Description |
---|---|---|---|---|---|
CHANNEL-ID | Header | String(5) | Y | Channel’ Identifier using WSID KlikBCA Bisnis (95051) | |
X-PARTNER-ID | Header | String(32) | Y | Partner ID using Corporate ID KlikBCA Bisnis | |
X-EXTERNAL-ID | Header | String (32) | Y | Numeric String. Reference number that should be unique in the same day |
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
virtualAccountNo | String (28) | Max | Y | Alphanumeric | Mandatory in BCA. partnerServiceId (8 digit left padding space) + customerNo (up to 20 digit) In BCA, virtualAccountNo max length is 26 (partnerServiceId(8 digits)+customerNo(18 digits)). |
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
responseCode | String (7) | Fixed | Y | - | Response code |
responseMessage | String (150) | Max | Y | - | Response message description |
virtualAccountData | Object | Y | |||
virtualAccountNo | String (28) | Max | Y | Alphanumeric | partnerServiceId (8 digit left padding space) + customerNo (up to 20 digits) |
virtualAccountName | String (255) | Max | Y | Alphanumeric | Customer name |
totalAmount | Array of Objects | N | |||
value | String (16.2) | Max | Y | Send by BCA. Total amount with 2 decimal In BCA, totalAmount max length is 13.2 digits. |
|
currency | String (3) | Fixed | Y | ISO-4217 | Send by BCA. Currency of amount based on ISO 4217 |
billDetails | Array of Objects | N | Array with maximum 24 Objects | ||
billDescription | Object | N | Send by BCA. Bill Description |
||
english | String (18) | Max | N | Alphanumeric | Send by BCA. Bill Description in English |
indonesia | String (18) | Max | N | Alphanumeric | Send by BCA Bill Description in Bahasa |
billAmount | Array of Objects | N | |||
value | String (16.2) | N | Send by BCA. Transaction amount. Nominal inputted by Customer with 2 decimal In BCA, billAmount max length is 13.2 digits. |
||
currency | String (3) | Max | Y | ISO-4217 | Currency |
additionalInfo | String | Max | N | Alphanumeric | Additional information for custom use for each bill |
freeTexts | String | N | Send by BCA. Array with maximum 25 objects |
||
english | String (32) | Max | N | Alphanumeric | Will be shown in Channel |
indonesia | String (32) | Max | N | Alphanumeric | Will be shown in Channel |
virtualAccountTrxType | String (1) | Fixed | N | Type of Virtual Account that send by BCA is the highlighted transaction type. 1. Closed Payment (C): Tagihan muncul, harus dibayar sesuai tagihan (Fixed Bill) 2. Open Payment (O): Tagihan tidak muncul (No Bill) 3. Partial (I): Sisa tagihan 4. Minimum (M): Dibayar hanya sekali dengan nominal minimum namun tidak boleh lebih kecil dari tagihan. 5. Maximum (L): Dibayar hanya sekali, tidak boleh lebih besar dari tagihan, dan tagihan muncul 6. Open Minimum (N): Dibayar berkali2 dengan nominal minimum namun tidak boleh lebih kecil dari tagihan dan muncul tagihannya. 7. Open Maximum (X): Dibayar berkali2 dengan nominal maksimum (cumulative) namun tidak boleh lebih besar dari tagihan dan muncul tagihannya. 8. Bill Variable (V): Bisa dibayar sekail, bisa lebih besar / lebih kecil dari tagihan, dan tagihan muncul. 9. Multi Bill Variable (W) |
|
feeAmount | Array of Object | N | |||
value | String (16.2) | Max | Y | Send by BCA. Nominal inputted by customer with 2 decimal. In BCA, totalAmount max length is 13.2 digits. |
|
currency | String (3) | Fixed | Y | ISO-4217 | Currency |
productName | String (30) | Max | N | Alphanumeric | Send by BCA. Product category |
HTTP Code | Error Code | Error Message |
---|---|---|
400 | 4003200 | Bad request |
400 | 4003201 | Invalid Field Format {field name} |
400 | 4003202 | Invalid Mandatory Field {field name} |
401 | 4013200 | Invalid token (B2B) |
401 | 4013201 | Unauthorized. [Reason] |
403 | 4033201 | Feature Not Allowed |
404 | 4043212 | Invalid Bill |
404 | 4043214 | Paid Bills |
409 | 4093211 | Conflict |
429 | 4293200 | Too Many Requests |
500 | 5003200 | General Error |
500 | 5003200 | Internal Server Error |
504 | 5043200 | Timeout |
This service is used to Notification VA transfer.
Field | Params Type | Data Type | Mandatory | Format | Description |
---|---|---|---|---|---|
CHANNEL-ID | Header | String(5) | Y | 95051 | Channel’ Identifier using WSID KlikBCA Bisnis (95051) |
X-PARTNER-ID | Header | String(32) | Y | - | Partner client id using KlikBCA Bisnis’s Corporate ID |
X-EXTERNAL-ID | Header | String(32) | Y | Alphanumeric | Numeric String. Reference number that should be unique in the same day |
Field | Data Type | Mandatory | Format | Description |
---|---|---|---|---|
virtualAccountNo | String (28) | Y | Alphanumeric | Send by BCA. partnerServiceId (8 digit left padding space) + customerNo (up to 20 digits) In BCA, virtualAccountNo max length is 26 (partnerServiceId (8 digits) + customerNo (18 digits)). |
partnerReferenceNo | String (128) | Y | - | Send by BCA. Unique identifier for this Payment. Generated by Partner. In BCA, partnerReferenceNo max length is 64 digits. |
trxDateTime | Date (25) | N | - | Send by BCA. PJP internal system datetime with timezone, which follows the ISO-8601 standard |
paymentStatus | String (20) | N | Alphanumeric | Send by BCA. Status of payment request |
paymentFlagReason | Objects | N | - | Reason for Payment Status multi language |
english | String (200) | N | Alphanumeric | Send by BCA. Reason for Payment Status in English |
indonesia | String (200) | N | Alphanumeric | Send by BCA. Reason for Payment Status in Bahasa |
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
responseCode | String (7) | Fixed | Y | - | Response code |
responseMessage | String (150) | Max | Y | - | Response description |
virtualAccountData | Object | Y | |||
virtualAccountNo | String (28) | Max | Y | Alphanumeric | Mandatory in BCA according to request input. partnerServiceId (8 digit left padding space) + customerNo (up to 20 digits). In BCA, virtualAccountNo max length is 26 (partnerServiceId (8 digits) + customerNo (18 digits)). |
partnerReferenceNo | String (128) | Max | Y | - | Mandatory in BCA according to request input. From Payment request |
{ "responseCode" : "Error Code", "responseMessage" : "Error Message", "virtualAccountData": { "virtualAccountNo": "", "partnerReferenceNo": "" } } |
This service is used to VA transfer.
Field | Params Type | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|---|
CHANNEL-ID | Header | String(5) | Fixed | Y | 95051 | Channel’ Identifier using WSID KlikBCA Bisnis (95051) |
X-PARTNER-ID | Header | String(32) | Max | Y | Partner client id using KlikBCA Bisnis’s WSID (95051) |
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
virtualAccountNo | String (28) | Max | Y | Alphanumeric | Mandatory in BCA. partnerServiceId (8 digit left padding space) + customerNo (up to 20 digit) In BCA, virtualAccountNo max length is 26 (partnerServiceId(8 digits)+customerNo(18 digits)). |
virtualAccountEmail | String (255) | Max | N | - | Optional BCA Customer email with max length is 255 digits. |
sourceAccountNo | String (32) | Max | N | Numeric | Source account number |
partnerReferenceNo | String (128) | Max | Y | - | Mandatory in BCA. Unique identifier for this Payment. Generated by PJP |
paidAmount | Object | Y | |||
value | String (16.2) | Max | Y | Mandatory in BCA. Paid amount with 2 decimal In BCA, partnerReferen ceNumber max length is 13.2 digits |
|
currency | String (3) | Fixed | Y | ISO-4217 | Mandatory in BCA. Currency of amount based on ISO 4217 |
trxDateTime | Date (25) | Fixed | N | - | Mandatory in BCA. PJP internal system datetime with timezone, which follows the ISO-8601 standard |
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
responseCode | String (7) | Fixed | Y | - | Response code |
responseMessage | String (150) | Max | Y | - | Response message description |
virtualAccountData | Object | Y | |||
virtualAccountNo | String (28) | Max | Y | Alphanumeric | partnerServiceId (8 digit left padding space) + customerNo (up to 20 digits) |
virtualAccountName | String (255) | Max | Y | Alphanumeric | Customer name |
virtualAccountEmail | String (255) | Max | N | Customer email | |
sourceAccountNo | String (32) | Max | N | - | Source account number |
partnerReferenceNo | String (128) | Max | Y | - | From Payment request |
referenceNo | String (128) | Max | N | Numeric | Generated by PJP |
paidAmount | Object | N | - | ||
value | String (16.2) | Max | Y | Send by BCA according to the request input. From Payment request with max length (13.2). |
|
currency | String (3) | Fixed | Y | ISO-4217 | Send by BCA according to the request input. Currency from Payment request. |
paidAmount | Object | N | |||
value | String (16.2) | Max | Y | Send by BCA according to the request input. From Payment request with max length (13.2). |
|
currency | String (3) | Fixed | Y | ISO-4217 | Send by BCA. Currency |
trxDateTime | Date (25) | Max | N | From Payment Request | |
billDetails | Array of Objects | N | Array with maximum 24 Objects | ||
billDescription | JSON Object | N | Bill Description | ||
english | String (18) | Max | N | Alphanumeric | Bill Description in English |
indonesia | String (18) | Max | N | Alphanumeric | Bill Description in Bahasa |
billAmount | Array of Objects | N | |||
value | String (16.2) | N | Send by BCA. Nominal inputted by Customer with 2 decimal In BCA, billAmount max length is (13.2) digits. |
||
currency | String (3) | Max | Y | ISO-4217 | Currency |
freeTexts | Array of Objects | N | - | From Inquiry response | |
english | String (32) | Max | N | Alphanumeric | From Inquiry response |
indonesia | String (32) | Max | N | Alphanumeric | From Inquiry response |
feeAmount | Object | N | |||
value | String (16.2) | Max | Y | Send by BCA. Nominal inputted by customer with 2 decimal. In BCA, totalAmount max length is 13.2 digits. |
|
currency | String (3) | Fixed | Y | ISO-4217 | Send by BCA. Currency |
productName | String (30) | Max | N | Alphanumeric | Send by BCA. Product category |
HTTP Code | Error Code | Error Message |
---|---|---|
400 | 4003300 | Bad request |
400 | 4003301 | Invalid Field Format {field name} |
400 | 4003302 | Invalid Mandatory Field {field name} |
401 | 4013300 | Unauthorized. [Reason] |
401 | 4013301 | Invalid token (B2B) |
403 | 4033301 | Feature Not Allowed |
403 | 4033302 | Exceeds Transaction Amount Limit |
403 | 4033304 | Activity Count Limit Exceeded |
404 | 4043312 | Invalid Bill |
404 | 4043314 | Paid Bills |
409 | 4093311 | Conflict |
429 | 4293300 | Too Many Requests |
500 | 5003301 | Internal Server Error |
500 | 5003300 | General Error |
504 | 5043300 | Timeout |
This service is used to generate QRIS.
Field | Params Type | Data Type | Length Type | Mandatory | Description |
---|---|---|---|---|---|
CHANNEL-ID | Header | String(5) | Fixed | Y | Channel’s identifier using EDC’s WSID (95251) |
X-PARTNER-ID | Header | String(36) | Max | Y | Unique ID for a partner (MerchantID/ID Partner) - Merchant direct : MerchantID - Merchant Facilitator : ID partner facilitator - Merchant Integrator : ID partner integrator - Merchant Aggregator : ID partner aggregator |
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
partnerReferenceNo | String(64) | Max | N | Numeric | Mandatory in BCA. Transaction identifier on service from partner |
amount | Object | N | Mandatory in BCA. Net amount of the (exclude convenience fee) |
||
value | String (16.2) |
Max | Y | Numeric 10000.00 | Length data in BCA = 13.2 BCA will send response amount with format value Numeric (13.2) Example : IDR 10.000,- will be placed with 10000.00 |
currency | String (3) |
Fixed | Y | ISO 4217 IDR |
Currency code |
merchantId |
String (64) |
Max | N | Numeric | Mandatory in BCA. Length in BCA data = 9 Merchant ID from BCA - Merchant direct : merchantID - Merchant facilitator : merchantID - Merchant integrator : merchantID - Merchant aggregator : merchantID partner aggregator |
subMerchantId |
String (32) |
Max | N | Alphanumeric | Conditional in BCA submerchantID for Merchant partner aggregator only |
terminalId |
String (16) |
Max | N | Alphanumeric | Mandatory in BCA Terminal ID Length data in BCA = 16 Can be : - TID BCA (merchant integrator/direct) - TID non BCA (merchant aggregator/facilitator) |
additionalInfo |
Object | N | Additional Information |
||
convenienceFee | String (10.2) |
Max | N | Numeric | Convenience fee or tips |
partnerMerchantType | String (4) |
Max | N | Alphanumeric | Conditional in BCA for Merchant partner only |
terminalLocationName | String (25) |
Max | N | Alphanumeric | Conditional in BCA Merchant name for Merchant partner aggregator only |
Field | DataType | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
responseCode |
String(7) | Fixed | Y | AAABBCC |
Error code to identify transaction status (success or failed) Format: AAAABBCC AAA : HTTP Code BB : Service Code CC : Case Code Service Code Generate QRIS : 47 Example : 2004700 |
responseMessage |
String (150) |
Max | Y | Alphanumeric | Error message in English Example : successful |
referenceNo | String (64) |
Max | N | Numeric | Conditional in BCA length data in BCA : 36 Transaction identifier on service provider system (generate by QR server) #created if request generate QR from merchant is valid |
partnerReferenceNo |
String (64) | N | Numeric | Transaction identifier on service from partner |
|
qrImage |
String | Max | N | Alphanumeric | Length = unlimited Encode string (Base64) from QR image QR String MPM #created if generate QR Success only |
merchantName |
String (25) |
Max | N | Alphanumeric | Mandatory in BCA Merchant name for print receipt (outlet name) |
terminalId |
String (16) |
N |
Alphanumeric |
Mandatory in BCA Length data in BCA : 16 terminalId BCA/non BCA |
HTTP Code | Error Code | Error Message |
---|---|---|
400 | 4004700 | Bad request |
400 | 4004701 | Invalid Field Format {field name} |
400 | 4004702 | Invalid Mandatory Field {field name} |
401 | 4014700 | Unauthorized. [Reason] |
401 | 4014701 | Invalid token (B2B) |
404 | 4044708 | Invalid Merchant |
404 | 4044701 | Transaction Not Found |
403 | 4034706 | Feature Not Allowed At This Time |
404 | 4044718 | Inconsistent Request [X-PARTNER-ID & merchantID not match] |
500 | 5004700 | General Error |
500 | 5004701 | Internal Server Error |
504 | 5044700 | Timeout |
This service is used to Notification QRIS.
Field | Params Type | Data Type | Mandatory | Description |
---|---|---|---|---|
CHANNEL-ID | Header | String(5) | Y | Channel’s identifier using EDC’s WSID (95251) |
X-PARTNER-ID | Header | String(36) | Y | Unique ID for a partner (MerchantID/ID Partner) - Merchant direct : MerchantID - Merchant Facilitator : ID partner facilitator - Merchant Integrator : ID partner integrator - Merchant Aggregator : ID partner aggregator |
X-EXTERNAL-ID |
Header | String(36) | Y | ID that should be unique per co-partner per service in the same day |
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
originalReferenceNo | String(64) | Max | Y | Numeric | Transaction identifier on service provider system length in BCA: 36 |
originalPartnerReferenceNo | String(64) | Max | N | Numeric | Mandatory in BCA Transaction identifier on service consumer system (Transction ID partner) |
latestTransactionStatus | String (2) | Fixed | Y | Numeric | Mandatory in BCA Transaction Status recorded in DB QR Server 00 - Success : transaction is paid 01 - Initiated 02 - Paying 03 - Pending : transaction is recorded, but still unpaid or inquiry to EAI timeout 04 - Refunded 05 - Canceled 06 - Failed : transaction failed, because QR Expired 07 - Not found This data must be informed on the proof of the transaction provided to the customer |
customerNumber | String(64) | Max | N | Numeric | Mandatory in BCA if transaction is successful length in BCA: 19 Buyer card number (customer_pan), will be used to calculate transaction limit. Mandatory if payment requires limit validation (i.e. payment from mBCA) This data must be informed on the proof of the transaction provided to the customer |
destinationNumber | String(25) | N | Numeric | Mandatory in BCA if transaction is successful length in BCA: 19 Merchant identifier This data must be informed on the proof of the transaction provided to the customer |
|
destinationAccountName | String(25) | N | Alphanumeric | Mandatory in BCA if transaction is successful merchant name |
|
amount | Object | N | Mandatory in BCA if transaction is successful Net amount of the transaction. (exclude convenience fee) This data must be informed on the proof of the transaction provided to the customer |
||
value | String (16.2) |
Max | Y | Numeric 10000.00 | Length data in BCA = 13.2 BCA will send response amount with format value Numeric (13.2) Example : IDR 10.000,- will be placed with 10000.00 |
currency | String (3) |
Y | Alphanumeric |
Currency code |
|
additionalInfo | Object | N | Mandatory field only if transaction is successful | ||
referenceNumber | String (12) | Y | Alphanumeric |
Unique ID for tracing | |
transactionDate | String (14) | Y | Numeric | Transaction date with format YYYY-MMDDThh:mm:ss.sssTZD Example: 2020-12- 21T10:30:24.000+07:00 This data must be informed on the proof of the transaction provided to the customer |
|
approvalCode | String (6) |
Y | Alphanumeric | Approval code from host for success transaction | |
payerPhoneNumber | String (16) |
N | Alphanumeric | Buyer phone number to be shown in both buyer and seller account statement |
|
batchNumber | String(6) | Y | Numeric | Transaction batch number recorded in QRIS Server | |
convenienceFee | String(10.2) | N | Numeric | Convenience fee or tips This data must be informed on the proof of the transaction provided to the customer |
|
issuerReferenceNumber | String(12) | Y | Numeric | RRN QRIS This data must be informed on the proof of the transaction provided to the custome |
|
payerName | String(30) | N | Alphanumeric | Buyer name This data must be informed on the proof of the transaction provided to the customer |
|
issuerName | String(26) | Y | Alphanumeric | Issuer name This data must be informed on the proof of the transaction provided to the customer |
|
acquirerName | String(3) | Y | Alphanumeric | Acquirer name = BCA This data must be informed on the proof of the transaction provided to the customer |
|
merchantInfo | Array of Object | ||||
terminalId | String(8) | Y | Alphanumeric | Terminal ID | |
merchantId | String(15) | Y | Numeric | Merchant ID in BCA - Merchant direct: merchantID - Merchant facilitator: merchantID - Merchant integrator: merchantID - Merchant aggregator: merchantID partner aggregator |
|
city | String(13) | Y | Alphanumeric | Merchant city | |
postalCode | String(10) | Y | Numeric | Merchant postal code | |
country | String(2) | Y | Alphanumeric | Merchant location country | |
String | N | Alphanumeric | Merchant e-mail address | ||
paymentChannelName | String(10) | Y | Alphanumeric | - Sakuku - Debit - Switching - Paylater |
Field | DataType | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
responseCode |
String(7) | Fixed | Y | AAABBCC |
Error code to identify transaction status (success or failed) Format: AAAABBCC AAA : HTTP Code BB : Service Code CC : Case Code Service Code Notification Payment QRIS : 52 Example: 2005200 Response from copartner |
responseMessage |
String (150) |
Max | Y | Alphanumeric | Error message in English Example : successful |
{ "responseCode" : "Error Code", "responseMessage" : "Error Message"," additionalInfo ": "null" } |
This service is used to inquiry transaction status.
Field | Params Type | Data Type | Mandatory | Description |
---|---|---|---|---|
CHANNEL-ID | Header | String(5) | Y | Channel’s identifier using EDC’s WSID (95251) |
X-PARTNER-ID | Header | String(36) | Y | Unique ID for a partner (MerchantID/ID Partner) - Merchant direct : MerchantID - Merchant Facilitator : ID partner facilitator - Merchant Integrator : ID partner integrator - Merchant Aggregator : ID partner aggregator |
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
originalReferenceNo | String(64) | Max | N | Numeric | Mandatory in BCA length data: 36 in BCA Transaction identifier on service provider system (generate by QR Server) Response from API Generate QR |
originalPartnerReferenceNo | String(64) | Max | N | Numeric | Mandatory in BCA Transaction identifier on service from partner |
serviceCode | String(2) | Fixed | Y | Numeric | Transaction type indicator (service code of the original transaction request) Example: serviceCode query payment QR = 51 |
merchantId | String(64) | Max | N | Numeric | Mandatory in BCA Length in BCA data = 9 Merchant ID from BCA - Merchant direct: merchantID - Merchant facilitator: merchantID - Merchant integrator: merchantID - Merchant aggregator: merchantID partner aggregator |
subMerchantId | String(32) | Max | N | Alphanumeric | Conditional in BCA submerchantID for Merchant partner aggregator only (passthrough from merchant) |
additionalInfo | Object | N | Additional Information | ||
partnerMerchantType | String(4) | Max | N | Alphanumeric | Conditional in BCA for Merchant partner only |
terminalId | String (16) | Max | Y | Alphanumeric | Mandatory in BCA length data in BCA : 16 Can be : - Terminal ID BCA (merchant integrator / direct) - Terminal ID non BCA (merchant aggregator / facilitator) |
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
responseCode | String(7) | Fixed | Y | AAABBCC | Error code to identify transaction status (success or failed) format : AAABBCC AAA : HTTP Code BB : Service Code CC : Case Code Service Code Inquiry Payment QRIS : 51 Example: 2005100 |
responseMessage | String(150) | Max | Y | Alphanumeric | Error message in English Example: successful |
originalReferenceNo | String(64) | Max | N | Numeric | Mandatory in BCA
length in BCA: 36 Transaction identifier on service provider system (generate by QR Server |
originalPartnerReferenceNo | String(64) | Max | N | Numeric | Mandatory in BCA Transaction identifier on service consumer system (Transction ID partner) |
originalExternalId | String(36) | Fixed | N | Numeric | Mandatory in BCA ID that should be unique per co-partner per service in the same day |
serviceCode | String(2) | Fixed | Y | Numeric | Transaction type indicator (service code of the original transaction request) Example: serviceCode query payment QR = 51 |
latestTransactionStatus | String (2) | Fixed | Y | Numeric | Mandatory in BCA Transaction Status recorded in DB QR Server 00 - Success : transaction is paid 01 - Initiated 02 - Paying 03 - Pending : transaction is recorded, but still unpaid or inquiry to EAI timeout 04 - Refunded 05 - Canceled 06 - Failed : transaction failed, because QR Expired 07 - Not found This data must be informed on the proof of the transaction provided to the customer |
transactionStatusDesc | String (50) | Max | N | Alphanumeric | Mandatory in BCA Show description of transaction status Example: - Success (transaction Success) - Pending (Unpaid Transaction) - Failed (QR Expired) |
paidTime | String (255) | Max | N | YYYY-MMDDThh:mm:ss.sssTZ D | Mandatory in BCA if transaction is successful Transaction date ISO8601 Example: 2020-12- 21T10:30:24.000+07:00 This data must be informed on the proof of the transaction provided to the customer |
Amount | Object | N | Mandatory in BCA if transaction is successful "amount": { "value": "10000.00", "currency": "IDR" } |
||
value | String (16.2) | Max | Y | Numeric 10000.00 | length in BCA = 13.2 Net amount of the transaction BCA will send response amount with format value Numeric (13.2) Examlple: IDR 10.000,- will be placed with 10000.00 |
currency | String(3) | Fixed | Y | IDR | Currency code |
terminalId | String (16) | Max | N | Alphanumeric | Mandatory in BCA if transaction is successful length data in BCA : 16 Terminal ID BCA/non BCA |
additionalInfo | Object | N | Mandatory field only if transaction is successful | ||
referenceNumber | String (12) | Y | Alphanumeric | Unique ID for tracing | |
approvalCode | String (6) | Y | Alphanumeric | Approval code from host for success transaction | |
payerPhoneNumber | String (13) | N | Alphanumeric | Buyer phone number to be shown in both buyer and seller account statement | |
batchNumber | String (6) | Y | Numeric | Transaction batch number recorded in QRIS Server | |
convenienceFee | String (10.2) | N | Numeric | Convenience fee or tips This data must be informed on the proof of the transaction provided to the customer |
|
customerPan | String (19) | N | Numeric | Buyer card number (customer_pan), will be used to calculate transaction limit. Mandatory if payment requires limit validation (i.e. payment from mBCA) This data must be informed on the proof of the transaction provided to the customer |
|
issuerReferenceNumber | String (12) | Y | Numeric | RRN QRIS This data must be informed on the proof of the transaction provided to the customer |
|
payerName | String (30) | Y | Alphanumeric | Buyer name This data must be informed on the proof of the transaction provided to the customer |
|
issuerName | String (26) | Y | Alphanumeric | Issuer name This data must be informed on the proof of the transaction provided to the customer |
|
acquirerName | String (3) | Y | Alphanumeric | Acquirer name = BCA This data must be informed on the proof of the transaction provided to the customer |
|
merchantInfo | Array of Object | Mandatory in BCA (except field email) if transaction is successful | |||
merchantId | String (64) | Y | Numeric | Mandatory in BCA Length data = 15 in BCA Example: 000 855 MID(9) Merchant ID transaction - Merchant direct : merchantID - merchant facilitator : merchantID - merchant integrator : merchantID - merchant aggregator : merchantID partner aggregator |
|
merchantPan | String (19) | Y | Numeric | Merchant identifier This data must be informed on the proof of the transaction provided to the customer |
|
name | String (25) | Y | Alphanumeric | Merchant name | |
city | String (13) | Y | Alphanumeric | Merchant city | |
postalCode | String (10) | Y | Numeric | Merchant postal code | |
country | String (2) | Y | Alphanumeric | Merchant location country | |
String (30) | N | Alphanumeric | Merchant e-mail address | ||
paymentChannelName | String (10) | Y | Alphanumeric | - Sakuku - Debit - Switching - Paylater |
HTTP Code | Error Code | Error Message |
---|---|---|
400 | 4005100 | Bad request |
400 | 4005101 | Invalid Field Format {field name} |
400 | 4005102 | Invalid Mandatory Field {field name} |
401 | 4015100 | Unauthorized. [Reason] |
401 | 4015101 | Invalid token (B2B) |
403 | 4035100 | Transaction Expired |
403 | 4035106 | Feature Not Allowed At This Time |
404 | 4045108 | Invalid Merchant |
404 | 4045101 | Transaction Not Found |
404 | 4045118 | Inconsistent Request [X-PARTNER-ID & merchantID not match] |
500 | 5005100 | General Error |
500 | 5005101 | Internal Server Error |
504 | 5045100 | Timeout |
This service is used for billing inquiry to biller.
This feature is not yet available to be accessed via Sandbox.
Field | Params Type | Data Type | Length Type | Mandatory | Description |
---|---|---|---|---|---|
CHANNEL-ID | Header | String(5) | Fixed | Y | Mandatory in BCA. Channel’ Identifier using WSID Shared Biller (95391) |
X-PARTNER-ID | Header | String(32) | Max | Y | Mandatory in BCA. Partner ID (Mitra ID) |
X-EXTERNAL-ID | Header | String(36) | Max | Y | Mandatory in BCA. Reference number that should be unique in the same day |
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
partnerReferenceNo | String (128) | Max | N | Alphanumeric | Mandatory in BCA. Unique identifier for this Payment. Generated by Mitra (channel-transactionID) |
virtualAccountNo | String (28) | Max | Y | Alphanumeric | Mandatory in BCA. partnerServiceId (8 digit left padding space) + customerNo (up to 20 digit). In BCA, virtualAccountNo max length is 26 (partnerServiceId(8 digits) + customerNo(18 digits)). |
trxDateTime | Date(25) | Max | N | ISO-8601 | Mandatory in BCA. Mitra internal system datetime with timezone, which follows the ISO-8601 standard |
additionalInfo | Object | - | N | - | Optional in BCA. Additional Information for custom use |
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
responseCode | String (7) | Fixed | Y | Numeric | Mandatory in BCA. Response code: HTTP Code + Service Code + Case Code |
responseMessage | String (150) | Max | Y | Alphanumeric | Mandatory in BCA. Response description |
virtualAccountData | Object | - | Y | - | |
partnerReferenceNo | String (128) | Max | N | Alphanumeric | Mandatory in BCA. From Inquiry Request (channeltransaction-ID) |
virtualAccountNo | String (28) | Max | Y | Alphanumeric | Mandatory in BCA. partnerServiceI d (8 digit left padding space) + customerNo (up to 20 digit) In BCA, virtualAccountNo max length is 26. 9 (partnerServiceId(8 digits)+customerNo(18 digits)). |
virtualAccountName | String (255) | Max | Y | Alphanumeric | Mandatory in BCA. Customer name |
inquiryRequestId | String (128) | Max | N | Alphanumeric | Mandatory in BCA. Unique identifier for inquiry. Generated by BCA. |
totalAmount | Objects | - | N | - | |
value | String (16,2) | Max | Y | Decimal | Mandatory in BCA. Send by BCA. Total amount with 2 decimal In BCA, totalAmount max length is 13.2 digits. |
currency | String(3) | Fixed | Y | ISO-4217 | Mandatory in BCA. Currency of amount Send by BCA. Currency of amount based on ISO 4217. Currency only available for IDR |
billDetails | Array of Objects | - | N | - | Optional in BCA. Array with maximum 24 Objects |
billNo | String (18) | Max | N | Alphanumeric | Bill number from Biller |
billDescription | Object | - | N | - | Send by BCA. Bill Description |
english | String (18) | Max | N | Alphanumeric | Send by BCA. Bill Description in English |
indonesia | String(18) | Max | N | Alphanumeric | Send by BCA. Bill Description in Bahasa |
billSubCompany | String(5) | Max | N | Alphanumeric | Biller’s product code |
billAmount | Object | - | N | - | |
value | String (16,2) | Max | Y | Decimal | Send by BCA. Transaction amount for specific bill. Nominal inputted by Customer with 2 decimal In BCA, billAmount max length is 13.2 digits |
currency | String (3) | Fixed | Y | ISO-4217 | Currency |
additionalInfo | Object | - | N | - | Additional Information for custom use for each bill |
freeTexts | Array of Objects | - | N | - | Optional in BCA. Array with maximum 5 Objects send by BCA. |
english | String (32) | Max | N | Alphanumeric | Will be shown in Channel |
indonesia | String (32) | Max | N | Alphanumeric | Will be shown in Channel |
virtualAccountTrxType | String(1) | Fixed | N | Alphanumeric | Mandatory in BCA. Type of Virtual Account. BCA will response virtualAccountT rxType value only for one of these value: - O - Open Payment - C - Closed Payment - V - Bill Variable -I - Partial -W- Multi Bill Variable |
productName | String(30) | Max | N | Alphanumeric | Mandatory in BCA. Send by BCA. Product Category |
HTTP Code | Error Code | Error Message |
---|---|---|
200 | 2003200 | Successful |
400 | 4003201 | Invalid Field Format {Field Name} |
400 | 4003202 | Invalid Mandatory Field {Field Name} |
400 | 4003200 | Bad request |
400 | 4003200 | invalid timestamp format [X-TIMESTAMP] |
401 | 4013200 | Unauthorized. [Reason] |
401 | 4013201 | Invalid token (B2B) |
403 | 4033201 | Feature Not Allowed |
404 | 4043208 | Invalid Merchant |
404 | 4043212 | Invalid Bill. [Reason] (Reason is defined by Biller) |
404 | 4043214 | Paid Bills |
404 | 4043216 | Partner Not Found |
404 | 4043218 | Inconsistent Request |
409 | 4093200 | Conflict |
500 | 5003200 | General Error |
500 | 5003201 | Internal Server Error |
This service is used for inquiry payment status.
This feature is not yet available to be accessed via Sandbox.
Field | Params Type | Data Type | Length Type | Mandatory | Description |
---|---|---|---|---|---|
CHANNEL-ID | Header | String(5) | Fixed | Y | Mandatory in BCA. Channel’ Identifier using WSID Shared Biller (95391) |
X-PARTNER-ID | Header | String(32) | Max | Y | Mandatory in BCA. Partner ID (Mitra ID) |
X-EXTERNAL-ID | Header | String(36) | Max | Y | Mandatory in BCA. Reference number that should be unique in the same day |
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
virtualAccountNo | String (28) | Max | Y | Alphanumeric | Mandatory in BCA. partnerServiceId (8 digit left padding space) + customerNo (up to 20 digit). In BCA, virtualAccountNo max length is 26 (partnerServiceId(8 digits) + customerNo(18 digits)). |
inquiryRequestId | String (128) | Max | N | Alphanumeric | Mandatory in BCA. Unique identifier for inquiry. Generated by BCA from inquiry response. |
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
responseCode | String (7) | Fixed | Y | Numeric | Mandatory in BCA. Response code: HTTP Code + Service Code + Case Code |
responseMessage | String (150) | Max | Y | Alphanumeric | Mandatory in BCA. Response description |
paymentRequestId | String (128) | Max | N | Alphanumeric | Mandatory in BCA. Unique identifier for payment. Generated by BCA and has the same value with inquiryRequestI d. |
virtualAccountNo | String (28) | Max | Y | Alphanumeric | Mandatory in BCA. partnerServiceId (8 digit left padding space) + customerNo (up to 20 digit) In BCA, virtualAccountNo max length is 9 (partnerServiceId(8 digits)+customerNo(18 digits)). |
paymentFlagReason | Object | - | N | - | Mandatory in BCA. Reason for Payment Status from Biller in multi language |
english | String (64) | Max | N | Alphanumeric | Reason for inquiry status in English |
indonesia | String (64) | Max | N | Alphanumeric | Reason for inquiry status in Bahasa |
inquiryRequestId | String (128) | Max | N | Alphanumeric | Mandatory in BCA. Inquiry identifier for inquiry. Generated by BCA from inquiry response. |
paidAmount | Objects | - | N | - | Mandatory in BCA. |
value | String (16,2) | Max | Y | Decimal | Paid amount with 2 decimal. In BCA, totalAmount max length is 13.2 digits |
currency | String (3) | Fixed | Y | ISO-4217 | Currency of amount based on ISO 4217 |
trxDateTime | Date(25) | Fixed | N | ISO-8601 | Mandatory in BCA. BCA internal system datetime with timezone, which follows the ISO-8601 standard |
transactionDate | Date(25) | Fixed | N | ISO-8601 | Mandatory in BCA. Payment datetime when the payment happened |
paymentFlagStatus | String (2) | Fixed | N | Numeric | Mandatory in BCA. Status for payment flag, This field may vary with these values: 00 : success transaction 01 : transaction in progress 99 : failed transaction |
billDetails | Array of Objects | - | N | - | Array with maximum 24 Objects |
billNo | String (18) | Max | N | Alphanumeric | Bill number that customer choose to pay. From Payment Request |
billDescription | Object | - | N | - | Bill Description |
english | String (18) | Max | N | Alphanumeric | Bill Description in English |
indonesia | String (18) | Max | N | Alphanumeric | Bill Description in Bahasa |
billSubCompany | String (5) | Max | N | Alphanumeric | Biller’s product code |
billAmount | Objects | - | N | - | |
value | String (16,2) | Max | Y | Decimal | Transaction amount for specific bill. Nominal inputted by Customer with 2 decimal In BCA, billAmount max length is 13.2 digits. |
currency | String (3) | Fixed | Y | ISO-4217 | Currency |
additionalInfo | Object | - | N | - | Additional Information for customer use for each bill |
freeTexts | Array of Objects | - | N | - | Array with maximum 9 Objects send by BCA. |
english | String (32) | Max | N | Alphanumeric | Will be shown in Channel |
indonesia | String (32) | Max | N | Alphanumeric | Will be shown in Channel |
HTTP Code | Error Code | Error Message |
---|---|---|
200 | 2002600 | Successful |
400 | 4002601 | Invalid Field Format {Field Name} |
400 | 4002602 | Invalid Mandatory Field {Field Name} |
400 | 4002600 | Bad request |
400 | 4002600 | invalid timestamp format [X-TIMESTAMP] |
401 | 4012600 | Unauthorized. [Reason] |
401 | 4012601 | Invalid token (B2B) |
403 | 4032601 | Feature Not Allowed |
404 | 4042601 | Transaction Not Found |
404 | 4042616 | Partner Not Found |
409 | 4092600 | Conflict |
500 | 5002600 | General Error |
500 | 5002601 | Internal Server Error |
This service is to make payment to biller
This feature is not yet available to be accessed via Sandbox.
Field | Params Type | Data Type | Length Type | Mandatory | Description |
---|---|---|---|---|---|
CHANNEL-ID | Header | String(5) | Fixed | Y | Mandatory in BCA. Channel’ Identifier using WSID Shared Biller (95391) |
X-PARTNER-ID | Header | String(32) | Max | Y | Mandatory in BCA. Partner ID (Mitra ID) |
X-EXTERNAL-ID | Header | String(36) | Max | Y | Mandatory in BCA. Reference number that should be unique in the same day |
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
partnerReferenceNo | String (128) | Max | N | Alphanumeric | Mandatory in BCA. Unique identifier for this Payment. Generated by Mitra (channel-transactionID) |
virtualAccountNo | String (28) | Max | Y | Alphanumeric | Mandatory in BCA. partnerServiceId (8 digit left padding space) + customerNo (up to 20 digit). In BCA, virtualAccountNo max length is 26 (partnerServiceId(8 digits) + customerNo(18 digits)). |
inquiryRequestId | String (128) | Max | N | Alphanumeric | Mandatory in BCA. Inquiry identifier for inquiry. Generated by BCA from inquiry response. |
paidAmount | Objects | - | Y | - | |
value | String (16,2) | Max | Y | Decimal | Mandatory in BCA. Paid amount with 2 decimal. In BCA, totalAmount max length is 13.2 digits. |
currency | String (3) | Fixed | Y | ISO-4217 | Mandatory in BCA. Currency of amount based on ISO 4217 Currency only available for IDR |
trxDateTime | Date(25) | Max | N | ISO-8601 | Mandatory in BCA. Mitra internal system datetime with timezone, which follows the ISO-8601 standard |
billDetails | Array of Objects | - | N | - | Array with maximum 24 Objects |
billNo | String (18) | Max | N | Alphanumeric | Bill number that customer choose to pay |
billDescription | Object | - | N | - | From Inquiry Response |
english | String (18) | Max | N | Alphanumeric | From Inquiry Response |
indonesia | String (18) | Max | N | Alphanumeric | From Inquiry Response |
billSubCompany | String (5) | Max | N | Alphanumeric | From Inquiry Response |
billAmount | Objects | - | N | - | From Inquiry Response |
value | String (16,2) | Max | Y | Decimal | From Inquiry Response |
currency | String (3) | Fixed | Y | ISO-4217 | From Inquiry Response |
additionalInfo | Object | - | N | - | From Inquiry Response |
freeText | Array of Objects | - | N | - | From Inquiry Response |
english | String (32) | Max | N | Alphanumeric | From Inquiry Response |
indonesia | String (32) | Max | N | Alphanumeric | From Inquiry Response |
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
responseCode | String (7) | Fixed | Y | Numeric | Mandatory in BCA. Response code: HTTP Code + Service Code + Case Code |
responseMessage | String (150) | Max | Y | Alphanumeric | Mandatory in BCA. Response description |
paymentRequestId | String (128) | Max | N | Alphanumeric | Mandatory in BCA. Unique identifier for payment. Generated by BCA and has the same value with inquiryRequestI d. |
partnerReferenceNo | String (128) | Max | N | Alphanumeric | Mandatory in BCA. From Inquiry Request (channeltransaction-ID) |
virtualAccountNo | String (28) | Max | Y | Alphanumeric | Mandatory in BCA. partnerServiceI d (8 digit left padding space) + customerNo (up to 20 digit) In BCA, virtualAccountN o max length is 26 Tech. Doc. OpenAPI-Shared-Biller API v1.1| PT. Bank Central Asia, Tbk. 9 (partnerServiceI d(8 digits)+custome rNo(18 digits)). |
billDetails | Array of Objects | - | N | - | Array with maximum 24 Objects |
billNo | String (18) | Max | N | Alphanumeric | Bill number that customer choose to pay |
billDescription | Object | - | N | - | From Inquiry Response |
english | String (18) | Max | N | Alphanumeric | From Inquiry Response |
indonesia | String (18) | Max | N | Alphanumeric | From Inquiry Response |
billSubCompany | String (5) | Max | N | Alphanumeric | From Inquiry Response |
billAmount | Objects | - | N | - | From Inquiry Response |
value | String (16,2) | Max | Y | Decimal | From Inquiry Response |
currency | String (3) | Fixed | Y | ISO-4217 | From Inquiry Response |
additionalInfo | Object | - | N | - | From Inquiry Response |
freeTexts | Array of Objects | - | N | - | Optional in BCA. Array with maximum 9 Objects send by BCA. |
english | String (32) | Max | N | Alphanumeric | Will be shown in Channel |
indonesia | String (32) | Max | N | Alphanumeric | Will be shown in Channel |
HTTP Code | Error Code | Error Message |
---|---|---|
200 | 2003300 | Successful |
202 | 2023300 | Request In Progress |
400 | 4003301 | Invalid Field Format {Field Name} |
400 | 4003302 | Invalid Mandatory Field {Field Name} |
400 | 4003300 | Bad request |
400 | 4003300 | invalid timestamp format [X-TIMESTAMP] |
401 | 4013300 | Unauthorized. [Reason] |
401 | 4013301 | Invalid token (B2B) |
403 | 4033201 | Feature Not Allowed |
403 | 4033302 | Exceeds Transaction Amount Limit |
403 | 4033316 | Suspend Transaction |
404 | 4043208 | Invalid Merchant |
404 | 4043313 | Invalid Amount |
404 | 4043212 | Invalid Bill. [Reason] (Reason is defined by Biller) |
404 | 4043214 | Paid Bills |
404 | 4043216 | Partner Not Found |
404 | 4043218 | Inconsistent Request |
409 | 4093200 | Conflict |
500 | 5003200 | General Error |
500 | 5003201 | Internal Server Error |
This service is used to inquiry account external.
This feature is not yet available to be accessed via Sandbox.
Field | Params Type | Data Type | Length Type | Mandatory | Description |
---|---|---|---|---|---|
CHANNEL-ID | Header | String(5) | Fixed | Y | Channel’s identifier using WSID KlikBCA Bisnis (95051) |
X-PARTNER-ID | Header | String(32) | Max | Y | Corporate ID |
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
partnerReferenceNo | String (64) | Max | Y | - | Mandatory in BCA. Transaction identifier on service consumer system |
beneficiaryBankCode | String (8) | Max | Y | Numeric | Mandatory in BCA. Beneficiary Bank Code. In BCA using SWIFT Code or 3 digit bank code (if destination doesn’t have SWIFT Code) |
beneficiaryAccountNo | String (34) | Max | Y | Numeric | Mandatory in BCA. Beneficiary Account |
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
partnerReferenceNo | String (64) | Max | N | - | Send by BCA according to the request input. Transaction identifier on service consumer system |
responseCode | String (7) | Fixed | Y | Numeric | Response code |
responseMessage | String (150) | Max | Y | - | Response description |
referenceNo | String (64) | Max | C | Numeric | Send by BCA. Transaction identifier on service provider system. Must be filled upon successful transaction |
benefiaryAcco untName | String (100) | Max | Y | - | Send by BCA. Beneficiary Account Name |
beneficiaryAccountNo | String (34) | Max | Y | Numeric | Send by BCA according to the request input. Beneficiary account number |
beneficiaryBankCode | String (8) | Max | N | Numeric | Send by BCA according to the request input. Beneficiary Bank Code. In BCA using SWIFT Code or 3 digit bank code (if destination doesn’t have SWIFT Code) |
HTTP Code | Error Code | Error Message |
---|---|---|
400 | 4001600 | Bad request |
400 | 4001601 | Invalid Field Format {field} |
400 | 4001602 | Invalid Mandatory Field {Field} |
401 | 4011600 | Unauthorized. [Reason] |
401 | 4011601 | Invalid token (B2B) |
403 | 4031601 | Feature Not Allowed |
404 | 4041602 | Invalid Routing |
404 | 4041611 | Invalid Account |
409 | 4091600 | Conflict |
500 | 5001600 | General Error |
504 | 5041600 | Timeout |
This service is used to transfer fund to other banks via switching & BI-FAST services
This feature is not yet available to be accessed via Sandbox.
Field | Params Type | Data Type | Length Type | Mandatory | Description |
---|---|---|---|---|---|
CHANNEL-ID | Header | String(5) | Fixed | Y | Channel’s identifier using WSID KlikBCA Bisnis (95051) |
X-PARTNER-ID | Header | String(32) | Max | Y | Corporate ID |
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
partnerReferenceNo | String (64) | Max | Y | - | Mandatory in BCA. Transaction identifier on service consumer system |
amount | Object | Y | - | ||
value | String (16.2) | Max | Y | Decimal | Mandatory in BCA. Net amount of the transaction. If it’s IDR then value includes 2 decimal digits. In BCA, max length = 13.2 |
currency | String (3) | Fixed | Y | ISO-4217 | Mandatory in BCA. Currency |
beneficiaryAccountName | String (100) | Max | Y | - | Mandatory in BCA. Beneficiary Account Name |
beneficiaryAccountNo | String (34) | Max | Y | - | Mandatory in BCA. Beneficiary Account |
beneficiaryBankCode | String(8) | Max | Y | - | Mandatory in BCA. Beneficiary Bank Code. In BCA using SWIFT Code or 3 digit bank code (if destination doesn’t have SWIFT Code) |
beneficiaryEmail | String(50) | Max | N | abc@domain.com | Optional in BCA. Beneficiary Email |
sourceAccountNo | String (19) | Max | Y | Numeric | Mandatory in BCA. Source Account. Source Account. For BCA, length account number is 10 digit. |
transactionDate | String (25) | Max | Y | ISO-8601 | Mandatory in BCA. Transaction date |
additionalInfo | Object | Y | |||
transferType | String (1) | Fixed | Y | 1 = Transfer via switcher 2 = Transfer via BIFAST |
|
purposeCode | String (5) | Max | C | Mandatory if transferType = 2 Purpose Code as defined in techdoc BI 01 = Investment/Investasi 02 = Transfer of Wealth/Pemindahan Dana 03 = Purchase/Pembelian 99 = Others/Lainnya |
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
partnerReferenceNo | String(64) | Max | N | - | Send by BCA according to the request input. Transaction identifier on sevice consumer system |
responseCode | String (7) | Fixed | Y | - | Response code |
responseMessage | String(150) | Max | Y | - | Response description |
referenceNo | String (64) | Max | N | Numeric | Send by BCA according to the request input. Transaction identifier on service provider system. Must be filled upon successful transaction. |
amount | Object | Y | |||
value | String (16.2) | Max | Y | Decimal | Send by BCA according to the request input. Net amount of the transaction. If it’s IDR then value includes 2 decimal digits. In BCA, max length = 13.2 |
currency | String (3) | Fixed | Y | ISO-4217 | Send by BCA according to the request input. Currency |
beneficiaryAccountNo | String (34) | Max | Y | Numeric | Send by BCA according to the request input. Beneficiary account number |
beneficiaryBankCode | String (8) | Max | N | BCA : SWIFT | Send by BCA according to the request input. Beneficiary Bank Code |
sourceAccountNo | String (19) | Max | N | - | Send by BCA according to the request input. Source account |
HTTP Code | Error Code | Error Message |
---|---|---|
400 | 4001800 | Bad request |
400 | 4001801 | Invalid Field Format {field} |
400 | 4001802 | Invalid Mandatory Field {Field} |
401 | 4011800 | Unauthorized. [Reason] |
401 | 4011801 | Invalid token (B2B) |
403 | 4031802 | Exceeds Transaction Amount Limit |
403 | 4031804 | Activity Count Limit Exceeded |
403 | 4031814 | Insufficient Funds |
403 | 4031801 | Feature Not Allowed |
404 | 4041803 | Bank Not Supported By Switch |
404 | 4041811 | Invalid Account |
404 | 4041813 | Invalid Amount |
404 | 4041802 | Invalid Routing |
409 | 4091800 | Conflict |
500 | 5001801 | Internal Server Error |
504 | 5041800 | Timeout |
If you get responseCode 5001801 (Unknown Error/Unknown internal server failure, please retry the process again) from BCA, please make sure to check your account statement before retry the transaction.
This service is used to inquiry BCA account.
This feature is not yet available to be accessed via Sandbox.
Field | Params Type | Data Type | Length Type | Mandatory | Description |
---|---|---|---|---|---|
CHANNEL-ID | Header | String(5) | Fixed | Y | Channel’s identifier using WSID KlikBCA Bisnis (95051) |
X-PARTNER-ID | Header | String(10) | Fixed | Y | KlikBCA Bisnis’s Corporate ID. |
X-EXTERNAL-ID | Header | String(32) | Max | Y | Numeric String. Reference number that should be unique in the same day. |
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
partnerReferenceNo | String (64) | Max | Y | Numeric | Transaction identifier on service consumer systems. The partnerReferenceNo used in the inquiry transaction must be reused when transferring to the account inquired. |
beneficiaryAccountNo | String (10) | Fixed | Y | Numeric | Beneficiary Account |
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
responseCode | String (7) | Fixed | Y | Numeric | Response code |
responseMessage | String (150) | Max | Y | Alphanumeric | Response description |
referenceNo | String (64) | Max | Y | Numeric | This response will be sent as transaction identifier on service provider system. Must be filled upon successful transaction. |
partnerReferenceNo | String (64) | Max | N | Numeric | This response will be sent according to the request input. Transaction identifier on service consumer system |
beneficiaryAccountName | String (100) | Max | Y | Alphanumeric & Special Character | This response will be sent according to the request input. Beneficiary Account Name. The name returned is the name displayed on the channel, which have 24 digit characters. There is no special character validation, but the special characters displayed are: | @ # $ % ¬ & * ( ) _ + - = ¢ ! \ { } ] ; : , . / < > ? ` ^ |
beneficiaryAccountNo | String (10) | Fixed | Y | Numeric | This response will be sent according to the request input. Beneficiary account number. |
HTTP Code | Error Code | Error Message | Condition |
---|---|---|---|
400 | 4001500 | Bad request | General request failed error. |
400 | 4001501 | Invalid Field Format {field name} | The data you entered does not match the format requirements. |
400 | 4001502 | Invalid Mandatory Field {field name} | Mandatory field should be fulfilled. |
401 | 4011500 | Unauthorized. [Reason] | Invalid Signature/Unknown Client/Connection Not Allowed. |
401 | 4011501 | Invalid token (B2B) | Access Token Not Exist/Access Token Expired/Token is Invalid. |
403 | 4031501 | Feature Not Allowed | The feature is not allowed to use. Please make sure you registered this feature in your partnership data. |
409 | 4091500 | Conflict | X-EXTERNAL-ID duplicate. |
403 | 4031518 | Inactive Account | Indicates inactive account |
404 | 4041511 | Invalid Account | The account used in transaction not valid (do not exist/can’t be used for transactions). |
500 | 5001500 | General Error | Wrong request field input. |
500 | 5001501 | Internal Server Error | Unknown internal server failure, please retry the process again. |
504 | 5041500 | Timeout | Your transaction timeout. |
This service is used to transfer BCA.
This feature is not yet available to be accessed via Sandbox.
Field | Params Type | Data Type | Length Type | Mandatory | Description |
---|---|---|---|---|---|
CHANNEL-ID | Header | String(5) | Fixed | Y | Channel’s identifier using WSID KlikBCA Bisnis (95051) |
X-PARTNER-ID | Header | String(32) | Max | Y | Corporate ID |
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
partnerReferenceNo | String (64) | Max | Y | - | Mandatory in BCA. Transaction identifier on service consumer system For transfers that begin with beneficiary account number inquiry using the SNAP Banking Internal Account Inquiry, it is required to use the same partnerReferenceNo with SNAP Banking Internal Account Inquiry that has been done. |
amount | Object | Y | Numeric | Mandatory in BCA. Net amount of the transaction |
|
value | String (16.2) | Max | Y | Decimal | Mandatory in BCA. If it’s IDR then value includes 2 decimal digits. BCA will send response amount with format value Numeric (13.2) |
currency | String (3) | Fixed | Y | ISO-4217 | Mandatory in BCA. Account currency type |
beneficiaryAccountNo | String (34) | Max | Y | Numeric | Mandatory in BCA. Beneficiary Account Number registered in BCA. For BCA, length account number is 10 digit |
remark | String (50) | Max | N | Optional in BCA. Remark/transac tion description. For BCA, remark is 36 digit divided in 2 field (remark 1 with 18 digit and remark 2 with 18 digit) with no special character |
|
sourceAccountNo | String (19) | Max | Y | Numeric | sourceAccountNo registered in BCA. For BCA, length account number is 10 digit |
transactionDate | String (25) | Max | Y | ISODateTime ISO-8601 |
Mandatory in BCA. Transaction date |
additionalInfo | Object | N | Additional information | ||
economicActivity | String (60) | Max | Y (if the beneficiaryAccountNumber are WNA citizenship) |
- | For details, please check on the Economic Activity table below |
transactionPurpose | String (2) | Fixed | Y (if the currency of beneficiaryAccountNumber are in SGD or USD) |
Numeric | 01 Pembelian barang / Purchase of Goods 02 Pembelian jasa / Purchase of Service 03 Pembayaran hutang / Debt Payment 04 Pembayaran pajak / Tax Payment 05 Impor / Import 06 Biaya Perjalanan Luar Negeri / Business Travel Expenses 07 Biaya remunerasi pegawai / Remuneration Expenses 08 Biaya administrasi / Administration Fee 09 Biaya overhead / Overhead Expenses 10 Simpanan dalam valas / Saving 11 Investasi Pembelian Obligasi Korporasi / Purchase of Corporate Bonds 12 Investasi Pembelian Surat Berharga Negara (SBN) / Purchase of Government Securities 13 Investasi Penyertaan Langsung / Direct Capital Investment 14 Penambahan modal kerja / Working Capital 15 Telah mendapat ijin BI / Approved by BI |
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
responseCode | String (7) | Fixed | Y | - | Response code |
responseMessage | String (150) | Max | Y | - | Response description |
referenceNo | String (64) | Max | Y (When the transaction is successful) | Numeric | Send by BCA. Transaction identifier on service provider system. Unique each day from BCA Must be filled upon successful transaction. |
partnerReferenceNo | String (64) | Max | Y | - | Send by BCA according to the request input. Transaction identifier on service customer system (unique each day from partner) |
amount | Object | Y | |||
value | String (16.2) |
Max | Y | Decimal | Send by BCA according to the request input. If it’s IDR then value includes 2 decimal digits. BCA will send response amount with format value Numeric (13.2) |
currency | String (3) | Max | Y | ISO-4217 | Send by BCA according to the request input. Currency |
beneficiaryAccountNo | String (34) | Max | Y | Numeric | Send by BCA according to the request input. Beneficiary account number |
sourceAccountNo | String (19) | Max | Y | Numeric | Send by BCA according to the request input. Source account number |
transactionDate | String (25) | Max | Y | ISODateTime ISO-8601 |
Send by BCA according to the request input. Transaction date |
additionalInfo | Object | N | Additional information | ||
economicActivity | String (60) | Max | Y (if the beneficiaryAccountNumber are WNA citizenship) | - | Send by BCA according to the request input. For details, please check on the Economic Activity table below |
transactionPurpose | String (2) | Fixed | Y (if the currency of beneficiaryAccountNumber are in SGD or USD) | Numeric | Send by BCA according to the request input. 01 Pembelian barang / Purchase of Goods 02 Pembelian jasa / Purchase of Service 03 Pembayaran hutang / Debt Payment 04 Pembayaran pajak / Tax Payment 05 Impor / Import 06 Biaya Perjalanan Luar Negeri / Business Travel Expenses 07 Biaya remunerasi pegawai / Remuneration Expenses 08 Biaya administrasi / Administration Fee 09 Biaya overhead / Overhead Expenses 10 Simpanan dalam valas / Saving 11 Investasi Pembelian Obligasi Korporasi / Purchase of Corporate Bonds 12 Investasi Pembelian Surat Berharga Negara (SBN) / Purchase of Government Securities 13 Investasi Penyertaan Langsung / Direct Capital Investment 14 Penambahan modal kerja / Working Capital 15 Telah mendapat ijin BI / Approved by BI |
Source Account | Destination Account | Economic Activity |
---|---|---|
WNI | WNA | A :
|
WNA | WNA | B :
|
Choose one of the economic activities according to the transaction needs.
HTTP Code | Error Code | Error Message |
---|---|---|
400 | 4001700 | Bad request |
400 | 4001702 | Invalid Mandatory Field {Field} |
400 | 4001701 | Invalid Field Format {Field} |
401 | 4011700 | Unauthorized. [Reason] |
401 | 4011701 | Invalid token (B2B) |
403 | 4031701 | Feature Not Allowed |
403 | 4031718 | Inactive Account |
403 | 4031702 | Exceeds Transaction Amount Limit |
403 | 4031704 | Activity Count Limit Exceeded |
403 | 4031714 | Insufficient Funds |
404 | 4041713 | Invalid Amount |
404 | 4041711 | Invalid Account |
409 | 4091700 | Conflict |
429 | 4291700 | Too Many Requests |
500 | 5001700 | General Error |
500 | 5001701 | Internal Server Error |
504 | 5041700 | Timeout |
If you get responseCode 5001701 (Internal Server Error) from BCA, please make sure to check your account statement before retry the transaction.
This service is used to Transfer RTGS Notification.
This feature is not yet available to be accessed via Sandbox.
Field | Params Type | Data Type | Length Type | Mandatory | Description |
---|---|---|---|---|---|
CHANNEL-ID | Header | String(5) | Fixed | Y | Channel’ Identifier |
X-PARTNER-ID | Header | String(32) | Max | Y | Corporate ID |
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
originalPartnerReferenceNo | String (64) | Max | N | - | Sent by BCA Original transaction identifier on service consumer system |
originalReferenceNo | String (64) | Max | N | - | Sent by BCA Original transaction identifier on service provider system |
originalExternalId | String (19) | Max | N | - | Sent by BCA Original Customer Reference Number |
latestTransactionStatus | String (2) | Fixed | Y | Sent by BCA. BCA only notifies rejection from transactions that have been successfully processed by BCA 00 - Success 01 - Initiated 02 - Paying 03 - Pendin 04 - Refunded 05 - Canceled 06 - Failed 07 - Not found |
|
amount | Object | Y | |||
value | String (16.2) | Max | Y | Decimal | Sent by BCA Net amount of the transaction. If it's IDR then value includes 2 decimal digits. In BCA, max length = 13.2 |
currency | String (3) | Fixed | Y | ISO-4217 | Sent by BCA. Currency |
beneficiaryAccountName | String (100) | Max | Y | - | Sent by BCA Beneficiary Account Name |
beneficiaryAccountNo | String (34) | Max | Y | - | Sent by BCA Beneficiary Account |
beneficiaryBankCode | String(8) | Max | Y | - | Sent by BCA. Beneficiary Bank Code. In BCA using SWIFT Code or 3 digit bank code (if destination doesn't have SWIFT Code) |
sourceAccountNo | String (19) | Max | Y | - | Sent by BCA Source Account. 10 digits for BCA Account. |
transactionDate | String (25) | Max | Y | ISO-8601 | Mandatory in BCA. Transaction Date, which follows the ISO-8601 standard |
additionalInfo | Object | - | Y | - | Sent by BCA Additional Info |
rejectStatusID | String (100) | Max | Y | - | Sent by BCA Reject Description in Indonesian |
rejectStatusEN | String (100) | Max | Y | - | Sent by BCA Reject Description in English |
traceNo | String (100) | Max | Y | - | Sent by BCA Number for tracking to destination bank. In BCA traceNo=ppu_num ber with prefix “(“ |
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
responseCode | String (7) | Fixed | Y | - | Response code |
responseMessage | String(150) | Max | Y | - | Response description |
This service is used to Transfer SKN Notification.
This feature is not yet available to be accessed via Sandbox.
Field | Params Type | Data Type | Mandatory | Description |
---|---|---|---|---|
CHANNEL-ID | Header | String(5) | Y | Channel’ Identifier |
X-PARTNER-ID | Header | String(32) | Y | Corporate ID |
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
originalPartnerReferenceNo | String (64) | Max | N | - | Sent by BCA Original transaction identifier on service consumer system |
originalReferenceNo | String (64) | Max | N | - | Sent by BCA Original transaction identifier on service provider system |
originalExternalId | String (19) | Max | N | - | Sent by BCA Original Customer Reference Number |
latestTransactionStatus | String (2) | Fixed | Y | Sent by BCA. BCA only notifies rejection from transactions that have been successfully processed by BCA 00 - Success 01 - Initiated 02 - Paying 03 - Pendin 04 - Refunded 05 - Canceled 06 - Failed 07 - Not found |
|
amount | Object | Y | |||
value | String (16.2) | Max | Y | Decimal | Sent by BCA Net amount of the transaction. If it's IDR then value includes 2 decimal digits. In BCA, max length = 13.2 |
currency | String (3) ISO 4217 |
Fixed | Y | - | Sent by BCA. Currency |
beneficiaryAccountName | String (100) | Max | Y | - | Sent by BCA Beneficiary Account Name |
beneficiaryAccountNo | String (34) | Max | Y | - | Sent by BCA Beneficiary Account |
beneficiaryBankCode | String(8) | Max | Y | - | Sent by BCA. Beneficiary Bank Code. In BCA using SWIFT Code or 3 digit bank code (if destination doesn't have SWIFT Code) |
sourceAccountNo | String (19) | Max | Y | - | Sent by BCA Source Account. 10 digits for BCA Account. |
transactionDate | String (25) | Max | Y | ISO-8601 | Mandatory in BCA. Transaction Date, which follows the ISO-8601 standard |
additionalInfo | Object | - | Y | - | Sent by BCA Additional Info |
rejectStatusID | String (100) | Max | Y | - | Sent by BCA Reject Description in Indonesian |
rejectStatusEN | String (100) | Max | Y | - | Sent by BCA Reject Description in English |
traceNo | String (100) | Max | Y | - | Sent by BCA Number for tracking to destination bank. In BCA traceNo=ppu_num ber with prefix “(“ |
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
responseCode | String (7) | Fixed | Y | - | Response code |
responseMessage | String(150) | Max | Y | - | Response description |
This service is used to transfer RTGS.
This feature is not yet available to be accessed via Sandbox.
Field | Params Type | Data Type | Length Type | Mandatory | Description |
---|---|---|---|---|---|
CHANNEL-ID | Header | String(5) | Fixed | Y | Channel’s identifier using WSID KlikBCA Bisnis (95051) |
X-PARTNER-ID | Header | String(32) | Max | Y | Corporate ID |
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
partnerReferenceNo | String (64) | Max | Y | - | Mandatory in BCA. Transaction identifier on service consumer system |
amount | Object | Y | |||
value | String (16.2) | Max | Y | Decimal | Mandatory in BCA. Net amount of the transaction. If it’s IDR then value includes 2 decimal digits. In BCA, max length = 13.2 |
currency | String (3) | Fixed | Y | ISO-4217 | Mandatory in BCA. Currency |
beneficiaryAccountName | String (100) | Max | Y | - | Mandatory in BCA. Beneficiary Account Name |
beneficiaryAccountNo | String (34) | Max | Y | - | Mandatory in BCA. Beneficiary Account |
beneficiaryAddress | String (100) | Max | N | - | Mandatory in BCA. Beneficiary Address. |
beneficiaryBankCode | String(8) | Max | Y | - | Mandatory in BCA. Beneficiary Bank Code. In BCA using SWIFT Code |
beneficiaryCustomerResidence | String (1) | Fixed | Y | Numeric | Mandatory in BCA. Beneficiary Customer Residence 1. Indonesia 2. Non Indonesia |
beneficiaryCustomerType | String (1) | Fixed | Y | Numeric | Mandatory in BCA. Beneficiary Customer Type 1. Individual 2. Corporation 3. Government |
beneficiaryEmail | String(50) | Max | N | abc@domain.com | Optional in BCA. Beneficiary Email |
remark | String (50) | Max | N | - | Optional in BCA. Remark/transact ion description. For BCA, the remark is divided into two parts. The max length of each part is 18. |
sourceAccountNo | String (19) | Max | Y | - | Mandatory in BCA. Source Account. For BCA, length account number is 10 digit. |
transactionDate | String (25) | Max | Y | ISO-8601 | Mandatory in BCA. Transaction date |
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
partnerReferenceNo | String(64) | Max | N | - | Send by BCA according to the request input. Transaction identifier on sevice consumer system |
responseCode | String (7) | Fixed | Y | - | Response code |
responseMessage | String(150) | Max | Y | - | Response description |
referenceNo | String (64) | Max | N | Numeric | Send by BCA. Transaction identifier on service provider system. Must be filled upon successful transaction. |
amount | Object | Y | |||
value | String (16.2) | Max | Y | Decimal | Send by BCA according to the request input. Net amount of the transaction. If it’s IDR then value includes 2 decimal digits. In BCA, max length = 13.2 |
currency | String (3) | Fixed | Y | ISO-4217 | Send by BCA according to the request input. Currency |
beneficiaryAccountName | String (100) | Max | Y | - | Send by BCA according to the request input. Beneficiary Account Name |
beneficiaryAccountNo | String (34) | Max | Y | Numeric | Send by BCA according to the request input. Beneficiary accoun |
beneficiaryBankCode | String (8) | Max | N | BCA : SWIFT | Send by BCA according to the request input. Beneficiary Bank Code |
sourceAccountNo | String (19) | Max | N | - | Send by BCA according to the request input. Source account. For BCA account 10 digits |
traceNo | String (16) | Max | N | - | Send by BCA. Number for tracking to destination bank. In BCA, traceNo = ppu_number with prefix “(” and the length is 5 |
transactionDate | String (25) | Max | Y | ISO-8601 | Send by BCA according to the request input. Transaction date |
transactionStatus | String (2) | Fixed | Y | Numeric |
00 - Success 03 – Pending 06 – Failed |
HTTP Code | Error Code | Error Message |
---|---|---|
400 | 4002200 | Bad request |
400 | 4002201 | Invalid Field Format {field} |
400 | 4002202 | Invalid Mandatory Field {Field} |
401 | 4012200 | Unauthorized. [Reason] |
401 | 4012201 | Invalid token (B2B) |
403 | 4032201 | Feature Not Allowed |
403 | 4032202 | Exceeds Transaction Amount Limit |
403 | 4032204 | Activity Count Limit Exceeded |
403 | 4032206 | Feature Not Allowed At This Time. The transaction has exceeded time limit for today processing |
403 | 4032206 | Feature Not Allowed At This Time. Transfer service to other bank is temporarily closed |
403 | 4032214 | Insufficient Funds |
403 | 4032218 | Inactive Account |
404 | 4042211 | Invalid Account |
404 | 4042213 | Invalid Amount |
404 | 4041802 | Invalid Routing |
409 | 4092200 | Conflict |
500 | 5002201 | Internal Server Error |
504 | 5042200 | Timeout |
If you get responseCode 5002201 (Unknown Error/Unknown internal server failure, please retry the process again) from BCA, please make sure to check your account statement before retry the transaction.
This service is used to transfer SKN.
This feature is not yet available to be accessed via Sandbox.
Field | Params Type | Data Type | Length Type | Mandatory | Description |
---|---|---|---|---|---|
CHANNEL-ID | Header | String(5) | Fixed | Y | Channel’s identifier using WSID KlikBCA Bisnis (95051) |
X-PARTNER-ID | Header | String(32) | Max | Y | Corporate ID |
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
partnerReferenceNo | String (64) | Max | Y | - | Mandatory in BCA. Transaction identifier on service consumer system |
amount | Object | Y | |||
value | String (16.2) | Max | Y | Decimal | Mandatory in BCA. Net amount of the transaction. If it’s IDR then value includes 2 decimal digits. In BCA, max length = 13.2 |
currency | String (3) | Fixed | Y | ISO-4217 | Mandatory in BCA. Currency |
beneficiaryAccountName | String (100) | Max | Y | - | Mandatory in BCA. Beneficiary Account Name |
beneficiaryAccountNo | String (34) | Max | Y | - | Mandatory in BCA. Beneficiary Account |
beneficiaryAddress | String (100) | Max | N | - | Mandatory in BCA. Beneficiary Address. |
beneficiaryBankCode | String(8) | Max | Y | - | Mandatory in BCA. Beneficiary Bank Code. In BCA using SWIFT Code |
beneficiaryCustomerResidence | String (1) | Fixed | Y | Numeric | Mandatory in BCA. Beneficiary Customer Residence 1. Indonesia 2. Non Indonesia |
beneficiaryCustomerType | String (1) | Fixed | Y | Numeric | Mandatory in BCA. Beneficiary Customer Type 1. Individual 2. Corporation 3. Government |
beneficiaryEmail | String(50) | Max | N | abc@domain.com | Optional in BCA. Beneficiary Email |
remark | String (50) | Max | N | - | Optional in BCA. Remark/transact ion description. For BCA, the remark is divided into two parts. The max length of each part is 18. |
sourceAccountNo | String (19) | Max | Y | - | Mandatory in BCA. Source Account. For BCA, length account number is 10 digit. |
transactionDate | String (25) | Max | Y | ISO-8601 | Mandatory in BCA. Transaction date |
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
partnerReferenceNo | String(64) | Max | N | - | Send by BCA according to the request input. Transaction identifier on service consumer system |
responseCode | String (7) | Fixed | Y | - | Response code |
responseMessage | String(150) | Max | Y | - | Response description |
referenceNo | String (64) | Max | N | Numeric | Send by BCA. Transaction identifier on service provider system. Must be filled upon successful transaction. |
amount | Object | Y | |||
value | String (16.2) | Max | Y | Decimal | Send by BCA according to the request input. Net amount of the transaction. If it’s IDR then value includes 2 decimal digits. In BCA, max length = 13.2 |
currency | String (3) | Fixed | Y | ISO-4217 | Send by BCA according to the request input. Currency |
beneficiaryAccountName | String (100) | Max | Y | - | Send by BCA according to the request input. Beneficiary Account Name |
beneficiaryAccountNo | String (34) | Max | Y | Numeric | Send by BCA according to the request input. Beneficiary accoun |
beneficiaryBankCode | String (8) | Max | N | BCA : SWIFT | Send by BCA according to the request input. Beneficiary Bank Code |
sourceAccountNo | String (19) | Max | N | - | Send by BCA according to the request input. Source account. For BCA account 10 digits |
traceNo | String (16) | Max | N | - | Send by BCA. Number for tracking to destination bank. In BCA, traceNo = ppu_number with prefix “(” and the length is 5 |
transactionDate | String (25) | Max | Y | ISO-8601 | Send by BCA according to the request input. Transaction date |
transactionStatus | String (2) | Fixed | Y | Numeric |
00 - Success 03 – Pending 06 – Failed |
HTTP Code | Error Code | Error Message |
---|---|---|
400 | 4002300 | Bad request |
400 | 4002301 | Invalid Field Format {field} |
400 | 4002302 | Invalid Mandatory Field {Field} |
401 | 4012300 | Unauthorized. [Reason] |
401 | 4012301 | Invalid token (B2B) |
403 | 4032301 | Feature Not Allowed |
403 | 4032302 | Exceeds Transaction Amount Limit |
403 | 4032304 | Activity Count Limit Exceeded |
403 | 4032306 | Feature Not Allowed At This Time. The transaction has exceeded time limit for today processing |
403 | 4032306 | Feature Not Allowed At This Time. Transfer service to other bank is temporarily closed |
403 | 4032314 | Insufficient Funds |
403 | 4032318 | Inactive Account |
404 | 4042311 | Invalid Account |
404 | 4042313 | Invalid Amount |
404 | 4041802 | Invalid Routing |
409 | 4092300 | Conflict |
500 | 5002301 | Internal Server Error |
504 | 5042300 | Timeout |
If you get responseCode 5002301 (Unknown Error/Unknown internal server failure, please retry the process again) from BCA, please make sure to check your account statement before retry the transaction.
This service is used to transfer BCA.
This feature is not yet available to be accessed via Sandbox.
Field | Params Type | Data Type | Length Type | Mandatory | Description |
---|---|---|---|---|---|
CHANNEL-ID | Header | String(5) | Fixed | Y | Channel’s identifier using WSID KlikBCA Bisnis (95051) |
X-PARTNER-ID | Header | String(32) | Max | Y | Corporate ID |
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
originalPartnerReferenceNo | String (64) | Max | N | - | Mandatory in BCA. Original transaction identifier on service from partner |
originalReferenceNo | String (64) | Max | N | Numeric | Optional in BCA. Original transaction identifier on service provider system (from BCA) |
originalExternalId | String (32) | Max | N | Numeric | Mandatory in BCA. Original External-ID on header message |
serviceCode | String (2) | Fixed | Y | Numeric | Mandatory in BCA. Transaction type indicator (service code of the original transaction request) Service code of original transaction that can be requested 17 : Service Intrabank Transfer 18 : Service Interbank Transfer 22 : Service Interbank Transfer RTGS 23 : Service Interbank Transfer SKN 33 : Service Payment to VA from Intrabank |
transactionDate | String (25) | Max | N | ISODateTime ISO-8601 |
Mandatory in BCA. Transaction date |
Note :
Transaction Status Inquiry can only make inquiries on the status of the transaction below via Open API.
Transaction that can be inquired are only valid for the past 31 days.
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
responseCode | String (7) | Fixed | Y | - | Response code |
responseMessage | String(150) | Max | Y | - | Response description |
originalReferenceNo | String (64) | Max | N | Numeric | Send by BCA according to the request input. Original transaction identifier on service provider system. |
originalPartnerReferenceNo | String (64) | Max | N | - | Send by BCA according to the request input. Original transaction identifier on service customer system |
originalExternalId | String (32) | Max | N | Numeric | Send by BCA according to the request input. Original External-ID on header message |
serviceCode | String (2) | Fixed | Y | Numeric | Send by BCA according to the request input. Transaction type indicator (service code of the original transaction request) Service code of original transaction that can be checked 17 : Service Intrabank Transfer 18 : Service Interbank Transfer 22 : Service Interbank Transfer RTGS 23 : Service Interbank Transfer SKN 33 : Service Payment to VA |
transactionDate | String (25) | Max | N | ISODateTime ISO-8601 |
Send by BCA according to the request input. Transaction date |
amount | Object | - | N | - | Send by BCA. Net amount of the transaction |
value | String (16.2) | Max | Y | Numeric | Send by BCA. If it’s IDR then value includes 2 decimal digits. BCA will send response amount with format value Numeric (13.2) |
currency | String (3) | Fixed | Y | ISO-4217 | Send by BCA. Currency of the amount |
beneficiaryAccountNo | String (34) | Max | Y | Numeric | Send by BCA. Beneficiary account number |
beneficiaryBankCode | String (8) | Max | N | Alphanumeric | Send by BCA for domestic transfer only. Beneficiary Bank Code, can be sent as follows 1. As swift code 2. As 3 digit bank code 3. Blank, if the bank is inactive/closed |
referenceNumber | String (30) | Max | Y | Numeric | Send by BCA. Transaction identifier on service provider system. Unique each day from BCA Must be filled upon successful transaction. |
sourceAccountNo | String (19) | Max | Y | Numeric | Send by BCA. Source Account Number. If it’s BCA account number, the length is 10 digit. |
latestTransactionStatus | String (2) | Fixed | Y | Numeric |
00 - Success 03 - Pending 06 – Failed |
transactionStatusDesc | String(50) | Max | N | Description status transaction 00 : Transaction Success 03 : Transaction In Progress 06 : Response message from failed transaction |
HTTP Code | Error Code | Error Message |
---|---|---|
400 | 4003600 | Bad request |
400 | 4003601 | Invalid Field Format {field} |
400 | 4003602 | Invalid Mandatory Field {Field} |
401 | 4013600 | Unauthorized. [Reason] |
401 | 4013601 | Invalid token (B2B) |
403 | 4033601 | Feature Not Allowed |
404 | 4043601 | Transaction not found |
409 | 4093600 | Conflict |
500 | 5003600 | General Error |
504 | 5043600 | Timeout |
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) |
Field | DataType | Mandatory | Description |
---|---|---|---|
TransactionID | String(18) | Y | Unique data from Corporate. Format: Numeric. |
ReferenceNumber | String(14) | Y | 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. |
String(254) | Y | Email address of beneficiary (blocked account’s owner). |
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 |
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. |
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) |
Field | DataType | Mandatory | Description |
---|---|---|---|
TransactionID | String(18) | Y | Existing unique data from Corporate. Format: Numeric. |
ReferenceNumber | String(14) | Y | Existing sender's Transaction Reference ID. Format: Numeric. |
RequestType | String(2) | Y | D = Request Cancel Blocking. |
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 |
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. |
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) |
Field | DataType | Mandatory | Description |
---|---|---|---|
TransactionID | String(18) | Y | Existing unique data from Corporate. Format: Numeric. |
ReferenceNumber | String(14) | Y | 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. |
String(254) | Y | Updatable. Email address of beneficiary (blocked account’s owner). |
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 |
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. |
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) |
Field | DataType | Mandatory | Description |
---|---|---|---|
TransactionID | String(18) | Y | Unique data from Corporate. Format: Numeric. |
ReferenceNumber | String(14) | Y | 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. |
String(254) | Y | Email address of beneficiary (blocked account’s owner). |
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 |
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) |
Field | DataType | Mandatory | Description |
---|---|---|---|
SearchBy | String(15) | Y | There are 3 options to inquiry block status which are : - TransactionID - ReferenceNumber - DebitedAccount |
Value | String(20) | Y | Value to be inquired based on the “SearchBy” parameter. |
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. |
String(254) | Email address of beneficiary (blocked account’s owner). |
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. |
This service is used to pre-processing OneKlik Registration by Generating OneKlik Registration Web Token.
Field | Params Type | Data Type | Length Type | Mandatory | Description |
---|---|---|---|---|---|
CHANNEL-ID | Header | String(5) | Y | Channel’s identifier (95221) | |
X-PARTNER-ID | Header | String(36) | Y | Partner/Merchant Unique ID | |
X-EXTERNAL-ID | Header | String (36) | Y | Reference Number from Partner/Merchant | |
X-DEVICE-ID | Header | String (400) | Y | Customer Device Info Format: {device-id}||{user-agent} device-id : - Android ID (Android) - UUID (iOS) - "WEB" (browser) user-agent : user agent device / browser (max 300 characters) |
|
X-IP-ADDRESS | Header | String (15) | Y | Customer IP Address (IPv4 Format) |
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
merchantId | String (5) | Y | Partner/Merchant Unique ID | ||
additionalData | Object | Y | |||
userId | String (18) | Y | Customer Id from Merchant | ||
additionalInfo | Object | Y | |||
additionalInfo | String (50) | Y | Additional information about customer (phone/email/etc) | ||
merchantLogoUrl |
String (300) | N | Merchant logo URL to show in OneKlik Registration Web |
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
responseCode | String (7) | Y | Response code | ||
responseMessage | String (150) | Y | Response message description | ||
referenceNo | String (32) | Y | Response reference number from OneKlik | ||
additionalInfo | Object | C | Filled upon transaction with responseCode success | ||
requestId | String (32) | Y | Request ID to open OneKlik Registration Web | ||
randomString | String (16) | Y | Random String to generate token to open OneKlik Registration Web |
HTTP Code | Error Code | Error Message |
---|---|---|
200 | 2000700 | Successful |
400 | 4000700 | Bad request |
400 | 4000701 | Invalid Field Format {field name} |
400 | 4000702 | Invalid Mandatory Field {field name} |
401 | 4010701 | Invalid token (B2B) |
401 | 4010700 | Unauthorized. [Reason] |
403 | 4030701 | Feature Not Allowed |
403 | 4030704 | Activity Count Limit Exceeded |
404 | 4040708 | Invalid Merchant |
500 | 5000700 | General Error |
500 | 5000700 | Internal Server Error |
504 | 5040700 | Timeout |
This service is used to inquiry OneKlik Account Binding Status.
Field | Params Type | Data Type | Length Type | Mandatory | Description |
---|---|---|---|---|---|
CHANNEL-ID | Header | String(5) | Y | Channel’s identifier (95221) | |
X-PARTNER-ID | Header | String(36) | Y | Partner/Merchant Unique ID | |
X-EXTERNAL-ID | Header | String (36) | Y | Reference Number from Partner/Merchant |
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
additionalInfo | Object | Y | Must only fill one field : requestIds or userId | ||
requestIds | Array of String [1..10] @32 | C | Request ID to search registration status. Can be filled up to 10 strings | ||
userId |
String (18) | C | Customer id from merchant |
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
responseCode | String (7) | Y | Response code | ||
responseMessage | String (150) | Y | Response message description | ||
referenceNo | String (32) | C | Response reference number from OneKlik Filled if response success |
||
additionalInfo | Object | C | Filled upon transaction with responseCode success | ||
requestId | String (32) | C | Request ID used when registering account. Only show up when inquiry registration data | ||
accountData | Array of Object | C | List of account. Sent if inquiry data successful. If input filled with requestId then Registration datas. If input filled with userId then Active account datas |
||
xcoId | String (32) | C | Valid OneKlik Identifier when credential successfully registered to BCA. Only show up when data already active |
||
credentialType | String (2) | C | Credential type. DC = Debit card CC = Credit card |
||
credentialNumber | String (16) | C | Customer credential number (masked) | ||
maxLimit | String (9) | C | OneKlik max daily limit registered | ||
userId | String (18) | C | Customer id from merchant | ||
merchantId | String (5) | C | Partner/Merchant Unique ID | ||
createdDate | String | C | DateTime | Request Id created date. Format: ISO 8601 Note: registration data can only be inquiried maximum of 7 days |
|
status | String (3) | Y | Registration Status REG = Registration in progress EXP = Expired ACT = Already activated (** does not define the latest account status) -= not found/already past 7 days Account Status ACT = Active BLK = Temporarily Blocked |
HTTP Code | Error Code | Error Message |
---|---|---|
200 | 2000800 | Successful |
400 | 4000800 | Bad request |
400 | 4000801 | Invalid Field Format {field name} |
400 | 4000802 | Invalid Mandatory Field {field name} |
401 | 4010801 | Invalid token (B2B) |
401 | 4010800 | Unauthorized. [Reason] |
403 | 4030801 | Feature Not Allowed |
404 | 4040808 | Invalid Merchant |
500 | 5000800 | General Error |
500 | 5000800 | Internal Server Error |
504 | 5040800 | Timeout |
This service is used to unbinding OneKlik Account.
Field | Params Type | Data Type | Length Type | Mandatory | Description |
---|---|---|---|---|---|
CHANNEL-ID | Header | String(5) | Y | Channel’s identifier (95221) | |
X-PARTNER-ID | Header | String(36) | Y | Partner/Merchant Unique ID | |
X-EXTERNAL-ID | Header | String (36) | Y | Reference Number from Partner/Merchant |
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
merchantId | String (5) | Y | Partner/Merchant Unique ID | ||
additionalInfo | Object | Y | |||
xcoId | String (32) | Y | Valid OneKlik Identifier when credential successfully registered to BCA |
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
responseCode | String (7) | Y | Response code | ||
responseMessage | String (150) | Y | Response message description | ||
referenceNo | String (32) | C | Response reference number from OneKlik Filled if response success |
||
unlinkResult | String (32) | C | Result of Unlinking process. “success”/”failed” |
||
additionalInfo | Object | C | Filled upon transaction with responseCode success | ||
xcoId | String (32) | Y | Valid OneKlik Identifier when credential successfully registered to BCA. Only show up when data already active. |
HTTP Code | Error Code | Error Message |
---|---|---|
200 | 2000900 | Successful |
400 | 4000900 | Bad request |
400 | 4000901 | Invalid Field Format {field name} |
400 | 4000902 | Invalid Mandatory Field {field name} |
401 | 4010901 | Invalid token (B2B) |
401 | 4010900 | Unauthorized. [Reason] |
403 | 4030901 | Feature Not Allowed |
404 | 4040911 | Invalid Card/Account/Customer |
500 | 5000900 | General Error |
500 | 5000900 | Internal Server Error |
504 | 5040900 | Timeout |
This service is used to pre-processing OneKlik Registration by Generating OneKlik Registration Web Token.
Field | Params Type | Data Type | Length Type | Mandatory | Description |
---|---|---|---|---|---|
CHANNEL-ID | Header | String(5) | Y | Channel’s identifier (95221) | |
X-PARTNER-ID | Header | String(36) | Y | Partner/Merchant Unique ID | |
X-EXTERNAL-ID | Header | String (36) | Y | Reference Number from Partner/Merchant | |
X-DEVICE-ID | Header | String (400) | Y | Customer Device Info Format: {device-id}||{user-agent} device-id : - Android ID (Android) - UUID (iOS) - "WEB" (browser) user-agent : user agent device / browser (max 300 characters) |
|
X-IP-ADDRESS | Header | String (15) | Y | Customer IP Address (IPv4 Format) |
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
partnerReferenceNo | String (18) | Y | Transaction ID from Partner/Merchant | ||
chargeToken | String (40) | C | Token to validate OTP. Received from Generate OTP service (service code 81). Mandatory if otp field filled |
||
otp | String (6) | N | OTP from SMS to validate transaction (used on different device / on merchant’s accord) | ||
merchantId | String (5) | Y | Partner/Merchant Unique ID | ||
payOptionDetails | Array of Object (1) | Y | Payment options used for this payment | ||
payMethod | String (64) | Y | Payment method. Fill with “ONEKLIK” | ||
payOption | String (64) | Y | Payment option. Fill with “ONEKLIK_BCA” | ||
transAmount | Object | Y | Total billed amount from customer (transaction amount + fee amount) | ||
value | String (16.2) | Y | Numeric | TransAmount value | |
currency | String (3) | Y | TransAmount currency | ||
feeAmount | Object | Y | Fee/Admin Fee for BCA | ||
value | String (16.2) | Y | Numeric | FeeAmount value | |
currency | String (3) | Y | FeeAmount currency | ||
additionalInfo | Object | Y | |||
userId | String (18) | Y | Customer Id from Merchant | ||
customerName | String (18) | Y | Customer name from Merchant. If sent more than 18 characters, it will be trimmed to 18 in BCA side | ||
description | String (100) | Y | Transaction description | ||
paymentType | String (7) | Y | Payment Type: FULL = full payment PARTIAL = partial payment | ||
transactionTime | String | Y | DateTime | Transaction date and time from merchant. Format yyyy-MMddTHH:mm:ssTZD format (ISO 8601 format) | |
xcoId | String (32) | Y | Valid OneKlik Identifier when credential successfully registered to BCA | ||
billDetails | Array of Object (5) | Y | Bill distributed to specified details | ||
subBillAmount | String (16.2) | Y | Sub Bill amount that will be credited to the specified subCompanyCode | ||
subCompanyCode | String (5) | Y | Sub Company Code. Filled with “00000” if none |
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
responseCode | String (7) | Y | Response code | ||
responseMessage | String (150) | Y | Response message description | ||
referenceNo | String (32) | C | Response reference number from OneKlik appear only on success transaction | ||
partnerReferenceNo | String (18) | Y | Transaction ID from merchant | ||
additionalInfo | Object | C | Filled upon transaction with responseCode success | ||
status | String (50) | Y | Transaction status. “SUCCESS” = transaction success “DEVICE IS DIFFERENT” = OTP verification is required |
||
billAmount | String (16.2) | C | Numeric | Total bill amount from merchant. Appear if status = "SUCCESS" |
|
paidAmount | String (16.2) | C | Numeric | Total paid amount from customer. Appear if status = "SUCCESS" |
|
msisdnList | Array of Object | C | List of phone number to send OTP. Appear if status = “DEVICE IS DIFFERENT” |
||
phoneNumber | String (15) | Y | Masked customer phone number | ||
phoneId | String (32) | Y | Phone id |
HTTP Code | Error Code | Error Message |
---|---|---|
200 | 2005400 | Successful |
202 | 2025400 | Request In Progress |
400 | 4005400 | Bad request |
400 | 4005401 | Invalid Field Format {field name} |
400 | 4005402 | Invalid Mandatory Field {field name} |
401 | 4015401 | Invalid token (B2B) |
401 | 4015400 | Unauthorized. [Reason] |
403 | 4035401 | Feature Not Allowed |
403 | 4035414 | Insufficient Funds |
403 | 4035402 | Exceeds Transaction Amount Limit |
403 | 4035412 | OTP Lifetime Expired |
403 | 4035418 | Inactive Card/Account/Customer |
404 | 4045411 | Invalid Card/Account/Customer |
404 | 4045408 | Invalid Merchant |
404 | 4045406 | Need to Request OTP |
404 | 4045412 | Invalid Bill/Virtual Account total additionalInfo billDetails subBillAmount does not match transAmount.value |
404 | 4045412 | Invalid Bill/Virtual Account adminFee.value does not match |
404 | 4045412 | Invalid Bill/Virtual Account transAmount.value below transaction amount limit |
404 | 4045412 | Invalid Bill/Virtual Account transAmount.value above transaction amount limit |
409 | 4095401 | Duplicate partnerReferenceNo |
500 | 5005400 | General Error |
500 | 5005400 | Internal Server Error |
504 | 5045400 | Timeout |
This service is used to inquiry OneKlik transaction status.
Field | Params Type | Data Type | Length Type | Mandatory | Description |
---|---|---|---|---|---|
CHANNEL-ID | Header | String(5) | Y | Channel’s identifier (95251) | |
X-PARTNER-ID | Header | String(36) | Y | Partner/Merchant Unique ID | |
X-EXTERNAL-ID | Header | String (36) | Y | Reference Number from Partner/Merchant |
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
originalPartnerReferenceNo | String (18) | Y | Transaction ID from Partner/Merchant | ||
serviceCode | String (2) | Y | Original transaction service code. Fill with “54” |
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
responseCode | String (7) | Y | Response code | ||
responseMessage | String (150) | Y | Response message description | ||
originalReferenceNo | String (32) | C | Original Response reference number from OneKlik. Filled if response success | ||
originalPartnerReferenceNo | String (18) | Y | Transaction ID from merchant | ||
serviceCode | String (2) | Y | Original transaction service code. Filled with "54" (Direct Debit OneKlik) | ||
latestTransactionStatus | String (2) | C | Numeric | 00 - Success 01 - Initiated 02 - Paying 06 - Failed 07 - Not found |
|
transAmount | Object | C | Total billed amount from customer (transaction amount + fee amount) | ||
value | String (16.2) | Y | Numeric | TransAmount value | |
currency | String (3) | Y | TransAmount currency | ||
feeAmount | Object | C | Fee/Admin Fee for BCA | ||
value | String (16.2) | Y | Numeric | FeeAmount value | |
currency | String (3) | Y | FeeAmount currency | ||
paidTime | String | C | DateTime | Timestamp when the payment done. Sent in yyyy-MMddTHH:mm:ssTZD format (ISO 8601 format) | |
additionalInfo | Object | C | Filled upon transaction with responseCode success | ||
paidAmount | String (16.2) | C | Numeric | Total paid amount from customer. | |
isTimeout | String (1) | C | Y”/”N” | Indicates if status 06 is Timeout or not | |
chargeToken | String (32) | C | Charge token after Generate OTP for status 01 |
HTTP Code | Error Code | Error Message |
---|---|---|
200 | 2005500 | Successful |
400 | 4005500 | Bad request |
400 | 4005501 | Invalid Field Format {field name} |
400 | 4005502 | Invalid Mandatory Field {field name} |
401 | 4015501 | Invalid token (B2B) |
401 | 4015500 | Unauthorized. [Reason] |
403 | 4035501 | Feature Not Allowed |
403 | 4035518 | Inactive Card/Account/Customer |
404 | 4045511 | Invalid Card/Account/Customer |
404 | 4045508 | Invalid Merchant |
500 | 5005500 | General Error |
500 | 5005500 | Internal Server Error |
504 | 5045500 | Timeout |
This service is used to inquiry list of phone numbers that can be used to send OTP.
Field | Params Type | Data Type | Length Type | Mandatory | Description |
---|---|---|---|---|---|
CHANNEL-ID | Header | String(5) | Y | Channel’s identifier (95221) | |
X-PARTNER-ID | Header | String(36) | Y | Partner/Merchant Unique ID | |
X-EXTERNAL-ID | Header | String (36) | Y | Reference Number from Partner/Merchant |
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
merchantId | String (5) | Y | Partner/Merchant Unique ID | ||
additionalInfo | Object | Y | |||
xcoId | String (32) | Y | Valid OneKlik Identifier when credential successfully registered to BCA | ||
userId | String (18) | Y | Customer Id from Merchant |
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
responseCode | String (7) | Y | Response code | ||
responseMessage | String (150) | Y | Response message description | ||
additionalInfo | Object | C | Filled upon transaction with responseCode success | ||
msisdnList | Array of Object | Y | List of phone number to send OTP. | ||
phoneNumber | String (15) | Y | Masked customer phone number | ||
phoneId | String (32) | Y | Phone id |
HTTP Code | Error Code | Error Message |
---|---|---|
200 | 2008500 | Successful |
400 | 4008500 | Bad request |
400 | 4008501 | Invalid Field Format {field name} |
400 | 4008502 | Invalid Mandatory Field {field name} |
401 | 4018501 | Invalid token (B2B) |
401 | 4018500 | Unauthorized. [Reason] |
403 | 4038501 | Feature Not Allowed |
403 | 4038518 | Inactive Card/Account/Customer |
404 | 4048511 | Invalid Card/Account/Customer |
500 | 5008500 | General Error |
500 | 5008500 | Internal Server Error |
504 | 5048500 | Timeout |
This service is used to inquiry list of phone numbers that can be used to send OTP.
Field | Params Type | Data Type | Length Type | Mandatory | Description |
---|---|---|---|---|---|
CHANNEL-ID | Header | String(5) | Y | Channel’s identifier (95221) | |
X-PARTNER-ID | Header | String(32) | Y | Partner/Merchant Unique ID | |
X-EXTERNAL-ID | Header | String (32) | Y | Reference Number from Partner/Merchant |
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
additionalInfo | Object | Y | |||
requestId | String (32) | C | Alphanumeric | Request ID used when registering account. Only show up when notifying activation data | |
xcoId | String (32) | Y | Alphanumeric | Valid OneKlik Identifier when credential successfully registered to BCA. | |
credentialType | String (2) | C | Alphanumeric | Credential type. DC = Debit card CC = Credit card |
|
credentialNumber | String (16) | C | Alphanumeric | Customer credential number (masked) | |
maxLimit | String (9) | C | Numeric | OneKlik max daily limit registered | |
userId | String (18) | Y | Alphanumeric | Customer id from merchant | |
createdDate | String | Y | DateTime | Created / Deleted date. Format: ISO-8601 | |
status | String(3) | Y | Alphanumeric | OneKlik Account Nofitication Status ACT = Activated DEL = Deleted |
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
responseCode | String (7) | Y | Numeric | Response code | |
responseMessage | String (150) | Y | Alphanumeric | Response message description | |
referenceNo | String (32) | C | Alphanumeric | Response reference from copartner. Filled if the response was success | |
additionalInfo | Object | C | Filled upon transaction with responseCode success | ||
xcoId | String (32) | Y | Alphanumeric | XCO ID | |
responseWs | String (16) | Y | Alphanumeric | Response: 0 = Success 1 = Failed |
This service is used to generate and send OTP to customer phone to authorize payment.
Field | Params Type | Data Type | Length Type | Mandatory | Description |
---|---|---|---|---|---|
CHANNEL-ID | Header | String(5) | Y | Channel’s identifier (95221) | |
X-PARTNER-ID | Header | String(36) | Y | Partner/Merchant Unique ID | |
X-EXTERNAL-ID | Header | String (36) | Y | Reference Number from Partner/Merchant |
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
journeyId | String (32) | Y | Journey Identifier. Must be equal with XEXTERNAL-ID header | ||
bankCardToken | String (32) | Y | Card Token for Payment. Fill with XCOID | ||
merchantId | String (5) | Y | Partner/Merchant Unique ID | ||
partnerReferenceNo | String (18) | Y | Transaction ID from Partner/Merchant | ||
trxDateTime | String | Y | DateTime | Transaction date and time from merchant. Format yyyy-MMddTHH:mm:ssTZD format (ISO 8601 format) | |
additionalInfo | Object | Y | |||
userId | String (18) | Y | Customer Id from Merchant | ||
transAmount | Object | Y | Total billed amount from customer (transaction amount + fee amount) | ||
value | String (16.2) | Y | Numeric | TransAmount value | |
currency | String (3) | Y | TransAmount currency | ||
phoneId | String (32) | Y | Phone id |
Field | Data Type | Length Type | Mandatory | Format | Description |
---|---|---|---|---|---|
responseCode | String (7) | Y | Response code | ||
responseMessage | String (150) | Y | Response message description | ||
chargeToken | String (32) | C | String code for OTP verification. Sent when response code success / timeout | ||
additionalInfo | Object | C | Filled upon transaction with responseCode success | ||
xcoId | String (32) | Y | Valid Identifier when credential successfully registered to BCA | ||
phoneId | String (32) | Y | Phone id | ||
merchantId | String (5) | Y | Partner/Merchant Unique ID |
HTTP Code | Error Code | Error Message |
---|---|---|
200 | 2008100 | Successful |
400 | 4008100 | Bad request |
400 | 4008101 | Invalid Field Format {field name} |
400 | 4008102 | Invalid Mandatory Field {field name} |
401 | 4018101 | Invalid token (B2B) |
401 | 4018100 | Unauthorized. [Reason] |
403 | 4038101 | Feature Not Allowed |
403 | 4038118 | Inactive Card/Account/Customer |
404 | 4048111 | Invalid Card/Account/Customer |
404 | 4048108 | Invalid Merchant |
429 | 4298100 | Too Many Requests |
500 | 5005100 | General Error |
500 | 5008500 | Internal Server Error |
504 | 5048500 | Timeout |
Inquiry exchange rate to be used on Forex Transaction API
Field | Data Type | Mandatory | Description |
---|---|---|---|
channel-id | String(5) | Y | Channel Identification Number (Ex: 95057 for JVALAS) |
credential-id | String(10) | Y | CIN/CIS Example : 01234567890 |
Field | DataType | Mandatory | Description |
---|---|---|---|
cis | String(10) | Y | Customer number |
currency-code | String(3) | Y | Foreign currency code. 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”. |
Field | Data Type | Mandatory | Description |
---|---|---|---|
settlement-type | String | Y | Param2 for decide Valas or Outward Remmitance (OR) |
Field | DataType | Description |
---|---|---|
currency_code | String(3) | The currency code. e.g. IDR, USD, JPY |
buy | String (13) | In format number(6.6). When the currency has no value for this field, it will be set to “-“. |
sell | String (13) | In format number(6.6). When the currency has no value for this field, it will be set to “-“. |
session_id | String (50) |
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 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).
Field | DataType | Mandatory | Description |
---|---|---|---|
CurrencyCode | String | N | 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”. |
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 "-" . |
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 |
You can send fund transfer forex 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 include BCA.
Field | Data Type | Mandatory | Description |
---|---|---|---|
channel-id | String(5) | Y | Channel Identification Number (Ex: 95057 for JVALAS) |
credential-id | String(10) | Y | CIN/CIS Example : 01234567890 |
Field | DataType | Mandatory | Description |
---|---|---|---|
cis | String(10) | Y | Customer number |
currency-code | String(3) | Y | Foreign currency code. 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”. |
Field | Data Type | Mandatory | Description |
---|---|---|---|
settlement-type | String | Y | Param2 for decide Valas or Outward Remmitance (OR) |
Field | DataType | Description |
---|---|---|
currency_code | String(3) | The currency code. e.g. IDR, USD, JPY |
buy | String (13) | In format number(6.6). When the currency has no value for this field, it will be set to “-“. |
sell | String (13) | In format number(6.6). When the currency has no value for this field, it will be set to “-“. |
session_id | String (50) |
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 |
Inquiry ATM information, such as, locate the nearest ATM to user or find by ATM Type, Name, Address or City.
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 | N | Number of branches to search, in Integer. Maximum value = 20. |
SearchBy | String | N | 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 |
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 |
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 information about nearest branch location by distance, address, city or branch type.
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 | N | 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 |
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” |
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 |
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) |
Field | Data Type | Mandatory | Description |
---|---|---|---|
TransactionID | String(20) | Y | 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 |
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 |
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 |
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. |
Field | Data Type | Mandatory | Description |
---|---|---|---|
TransactionID | String(20) | Y | 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 |
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 |
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) |
Field | Data Type | Mandatory | Description |
---|---|---|---|
TransactionID | String(20) | Y | 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 |
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 |
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 |
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. |
Field | Data Type | Mandatory | Description |
---|---|---|---|
TransactionID | String(32) | Y | 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 |
Field | DataType | Description |
---|---|---|
TransactionID | String(32) | Same TransactionID from request. It’s a UUID |
DistributorCode | String(20) | Same Distributor Code from request. |
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. |
Field | Data Type | Mandatory | Description |
---|---|---|---|
TransactionID | String(32) | Y | 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 |
Field | DataType | Description |
---|---|---|
TransactionID | String(32) | Same TransactionID from request. It’s a UUID |
DistributorCode | String(20) | Same Distributor Code from request. |