Supported Integrations

Currently, Brankas Disburse is available in Indonesia and the Philippines. The following sections show the coverage for both markets.

Philippines Coverage

Type Source Bank Destination Bank
Intrabank UBP(1) UBP(1) & Any Domestic Banks(2)

(1)UBP = Union Bank Philippines (2)Depends on UBP’s coverage in the Philippines

Indonesia Coverage

Type Source Bank Destination Bank
Intrabank & Interbank BCA BCA & Any Domestic Banks(1)
Intrabank & Interbank BNI BNI & Any Domestic Banks(1)
Intrabank & Interbank Permata Permata & Any Domestic Banks(1)

(1)Depending on Brankas’ partner coverage in Indonesia

Available Environments

There are 2 environments available for Brankas Merchants.

Environment Definition Base URL
Sandbox(1) Sandbox environment allows merchants to conduct testing during development and try Brankas Disburse without involving movement of funds. https://disburse.sandbox.bnk.to
Live Live environment allows merchants to conduct disbursement in real-time once the onboarding process to Brankas and Brankas’ partner bank are completed. https://disburse.bnk.to

(1)Dummy values are provided in sandbox environment for testing purposes

Endpoints

Lists of Endpoints

Endpoint name Method Endpoint URL Status Purpose
AccountInquiry POST {{baseURL}}/v1/ \ disbursements/ \ account-inquiry LIVE Allows merchants to do inquiry of the destination account / beneficiary account before executing a disbursement.

Currently only applicable for ID Banks.

Create \ Disbursement POST {{baseURL}}/v1/ \ Disbursements LIVE Allows merchants to create disbursement from their source corporate bank account to the defined beneficiaries.
Retrieve \ Disbursement GET {{baseURL}}/v1/ \ disbursements LIVE Allows merchants to get the latest disbursement status.
UpdateExternal \ Status POST {{URL}}/v1/ \ disbursements/ \ external-status- \ updates LIVE Allows disburse dashboard to check the latest status to the related source bank.

Currently only applicable for UBP.

Access to Endpoints

Environment Prerequisites
Sandbox
  1. Register an account on https://dashboard.brank.as/
  2. Generate an API key in sandbox environment
Live
  1. KYC your company in Brankas
    1. Verify your Brankas account (via email link)
    2. Manual KYC document verification by Brankas
    3. Live access will be granted by Brankas team
    4. Gain access to Live API key
  2. Create and activate your corporate bank account in the selected Brankas partner banks(1)
  3. Request API access for your corporate bank account to the selected bank(1)

(1)Brankas team will be assisting you on corporate bank account creation with any of Brankas bank partners

To gain access to Brankas Disburse API, merchants are to utilise Brankas system generated API that is unique to your organization. The API Key will be used to identify your application and helps Brankas ensure that your application is authorized to access specific data points.

For security purposes, you will be required to enter your API Key under the API headers for every subsequent API call. Make sure to keep the API Key safe. If your API Key is lost or compromised, simply coordinate with your dedicated sales representative to generate a new one.

Supported Banks

Source Bank List

Bank Code(1) Country Bank Name
UBP_CORPORATE PH Union Bank Philippines
BCA_CORPORATE ID Bank Central Asia (BCA)
BNI_CORPORATE ID Bank Negara Indonesia (BNI)
PERMATA_CORPORATE ID Bank Permata

(1)Bank code is used in the endpoint under the parameter source_account.bank

Destination Bank List

The following list is applicable for source_account.bank=UBP_CORPORATE.
Brankas is using Instapay and PesoNet rails for interbank disbursement from UBP.

Bank Code(2) Country Bank Name Intrabank Interbank
Instapay Pesonet
PH_METRO PH The Metropolitan Bank and Trust Company yes yes
PH_PNB PH Philippine National Bank yes yes
PH_RCBC PH Rizal Commercial Banking Corporation yes yes
PH_RCBCS PH Rizal Commercial Banking Corporation Savings Bank yes
PH_SB PH Security Bank Corporation yes yes
PH_UB PH Union Bank of the Philippines yes yes
PH_CLRB PH CEBUANA LHUILLIER RURAL BANK, INC. yes yes
PH_GXI PH GCASH yes yes
PH_BDO PH Banco De Oro Unibank yes yes
PH_BPI PH Bank of the Philippine Islands yes yes
PH_GBY PH GRABPAY Philippines yes
PH_LBP PH LANDBANK OF THE PHILIPPINES yes yes
PH_PMP PH PAYMAYA PHILIPPINES, INC. yes yes
PH_PSB PH PHILIPPINE SAVINGS BANK yes yes
PH_RSB PH ROBINSONS BANK CORP. yes yes
PH_CB PH CHINA BANK yes yes
PH_CBS PH CHINA BANK SAVINGS yes yes
PH_ALLBANK PH Allbank Corp. yes yes
PH_SUNSB PH Sun Savings Bank yes
PH_STERLING PH Sterling Bank Of Asia yes yes
PH_MBSMB PH Malayan Bank Savings and Mortgage Bank yes yes
PH_AUB PH Asia United Bank yes yes
PH_BOC PH Bank Of Commerce yes yes
PH_MAYBANK PH Maybank Philippines, Inc. yes yes
PH_PBCOM PH Philippine Bank of Communications yes yes
PH_CTBC PH Chinatrust Banking Corp yes yes
PH_EWB PH Eastwest Bank yes yes
PH_EQB PH Equicom Savings Bank yes yes
PH_OMNIPAY PH Omnipay yes
PH_UCPB PH United Coconut Planters Bank yes yes
PH_UCPBSB PH UCPB SAVINGS BANK yes
PH_PHILTRUST PH Philippine Trust Company yes yes
PH_WDB PH Wealth Development Bank yes yes
PH_DUNGGANUN PH Dungganun Bank Inc. yes yes
PH_ISLA PH ISLA Bank (A Thrift Bank), Inc. yes
PH_PRBC PH Partner Rural Bank (Cotabato), Inc. yes
PH_PBB PH Philippine Business Bank, Inc., A Savings Bank yes yes
PH_PVB PH Philippine Veterans Bank yes yes
PH_YSBP PH Yuanta Savings Bank Philippines, Inc. yes yes
PH_MABUHAY PH Bangko Mabuhay (A Rural Bank), Inc yes yes
PH_CTBCPH PH CTBC Bank (Philippines), Inc.","brst yes
PH_ING PH ING Bank N.V. yes yes
PH_QCRB PH Quezon Capital Rural Bank yes
PH_BDONB PH BDO Network Bank yes yes
PH_EWBRB PH EastWest Rural Bank yes yes
PH_STAN PH The Standard Chartered Bank (SCB) yes
PH_HSBC PH HK and Shanghai Banking Corp. (HSBC) yes
PH_CITI PH Citibank, N. A. (CITI) yes
PH_BOA PH Bank of America, Nat'l. Ass'n. (BA) yes
PH_UOB PH United Overseas Bank Phils. (UOB) yes
PH_MICB PH Mega Intl Comml Bank Co. Ltd (MICB) yes
PH_DBP PH Devt. Bank of the Philippines (DBP) yes yes
PH_ANZ PH Australia & New Zealand Bank (ANZ) yes
PH_KEB_HANA PH KEB Hana Bank (KHB) yes
PH_CHASE PH JPMorgan Chase Bank (CHASE) yes
PH_FCB PH First Consolidated Bank (FCB) yes
PH_MIZUHO PH Mizuho Bank, Ltd. (Mizuho) yes
PH_DBS PH Deutsche Bank (DB) yes
PH_BBL PH Bangkok Bank Public Co., Ltd. (BBPC) yes
PH_CHINA PH Bank of China (BC) yes
PH_SUMITOMO_MITSUI PH Sumitomo Mitsui Banking Corp (SMBC) yes
PH_SHINHAN PH Shinhan Bank (SHB) yes
PH_IBK PH Industrial Bank of Korea (IBK) yes
PH_STARPAY PH Starpay (SPY) yes
PH_QUEENBANK PH QUEENBANK (QCB) yes yes
PH_INNOVATIVE_BANK PH Innovative Bank Inc. yes
PH_AAIIB PH Al-Amanah Islamic Investment Bank (AAIIB) yes
PH_PRODUCERSSBC PH Producers Savings Bank Corporation (PSBC) yes yes
PH_BPI_BANKO PH Banko, A subsidiary of BPI (BGB) yes
PH_CIMB PH CIMB Bank Phils., Inc. (CIMB) yes
PH_BANKFLORIDAPH PH Bank of Florida (A Rural Bank) yes
PH_GUINOBATAN PH Rural Bank of Guinobatan, Inc. (RBGI) yes
PH_HSBCSB PH HSBC Savings Bank, Inc. (HSBC SB) yes
PH_CAMALIG PH Camalig Bank, Inc. (A Rural Bank) yes yes
PH_COUNTRY_BUILDERS PH Country Builders Bank, Inc. (A Rural Bank) yes
PH_RANGAY_BANK PH Rang-Ay Bank, Inc. (A Rural Bank) yes
PH_COINSPH PH DCPAY Philippines (COINS.PH) yes yes

(2)Bank code is used in the endpoint under the parameter destination_account.bank

The following list is applicable for Indonesian banks as source accounts.

Bank Code(2) Country Bank Name
ID_BCA ID PT. BANK CENTRAL ASIA, TBK
ID_BCA_SYR ID PT. BANK BCA SYARIAH
ID_BNI ID PT. BANK NEGARA INDONESIA (PERSERO), TBK
ID_BNI_SYR ID PT. BANK BNI SYARIAH
ID_BRI ID PT. BANK RAKYAT INDONESIA (PERSERO), TBK
ID_BRI_SYR ID PT. BANK SYARIAH BRI
ID_MANDIRI ID PT. BANK MANDIRI (PERSERO), TBK
ID_MANDIRI_SYR ID PT. BANK SYARIAH MANDIRI
ID_BTN ID PT. BANK TABUNGAN NEGARA (PERSERO), TBK
ID_BTN_SYR ID PT. BANK TABUNGAN NEGARA (PERSERO) UNIT USAHA SYARIAH
ID_PERMATA ID PT. BANK PERMATA, TBK
ID_PERMATA_SYR ID PT. BANK PERMATA, TBK UNIT USAHA SYARIAH
ID_DNMN ID PT. BANK DANAMON INDONESIA, TBK
ID_DNMN_SYR ID PT. BANK DANAMON INDONESIA UNIT USAHA SYARIAH
ID_BTPN ID PT. BANK TABUNGAN PENSIUNAN NASIONAL
ID_BTPN_SYR ID PT. BANK TABUNGAN PENSIUNAN NASIONAL SYARIAH
ID_OCBC ID PT. BANK OCBC NISP, TBK
ID_OCBC_SYR ID PT. BANK OCBC NISP, TBK UNIT USAHA SYARIAH
ID_MAYBANK ID PT. BANK MAYBANK INDONESIA, TBK
ID_MAYBANK_SYR ID PT. BANK MAYBANK SYARIAH INDONESIA
ID_CIMB ID PT. BANK CIMB NIAGA TBK
ID_CIMB_SYR ID PT. BANK CIMB NIAGA, TBK UNIT USAHA SYARIAH
ID_PAN ID PT. PAN INDONESIA BANK
ID_PAN_SYR ID PT. BANK PANIN SYARIAH
ID_MEGA ID PT. BANK MEGA, TBK
ID_MEGA_SYR ID PT. BANK MEGA SYARIAH
ID_BKP ID PT. BANK BUKOPIN, TBK
ID_BKP_SYR ID PT. BANK SYARIAH BUKOPIN
ID_DKI ID PT. BANK DKI
ID_DKI_SYR ID PT. BANK DKI UNIT USAHA SYARIAH
ID_BJB ID PT. BANK JABAR BANTEN, TBK
ID_BJB_SYR ID PT. BANK JABAR BANTEN SYARIAH
ID_JATIM ID PT. BPD JAWA TIMUR
ID_JATIM_SYR ID BANK JATIM UNIT USAHA SYARIAH
ID_HSBC ID THE HONGKONG AND SHANGHAI BANK
ID_DBS ID PT. BANK DBS INDONESIA
ID_STAN ID STANDARD CHARTERED BANK
ID_UOB ID PT. BANK UOB INDONESIA
ID_CITI ID CITIBANK, N.A.
ID_SHOPEEPAY ID Shopee Pay

(2)Bank code is used in the endpoint under the parameter destination_account.bank

Sandbox Bank List

The following dummy bank code values are provided for testing purposes in sandbox environment

Bank Code (Dummy Values) Country Remarks
DUMMY_DESTINATION_BANK ID/PH Value for source_account.bank
DUMMY_BANK_CORPORATE ID/PH Value for destination_account.bank

You can also use the following dummy values in regards to source_account and destination_account objects.

Parameter Mock Values
disbursements.source_account.number(1) 11111111
disbursements.source_account.holder_name(1) PT Brankas Teknologi Indonesia
disbursements.destination_account.number(1) 1234000012340000
disbursements.destination_account.holder_name(1) Brankas Teknologi Indonesia
credentials.BRANKAS_TEST_CLIENT.identifier(2) brankas-test
credentials.BRANKAS_TEST_CLIENT.secret(2) brankas-test-secret
credentials.BRANKAS_TEST_PARTNER.identifier(2) user+7@example.com
credentials.BRANKAS_TEST_PARTNER.secret(2) user+7

(1)Alternatively you can use any value as long as it passes basic validation (length,etc.)

(2)These credentials are provided in sandbox for testing purposes, kindly use the values in sandbox env.

List of Statuses

Brankas disburse API provides status for each of the disbursements requested. The following statuses are applicable.

Status Definition
CREATED Disbursement request is submitted successfully to Brankas and is being processed.
AWAITING_BANK_STATUS Disbursement request is submitted successfully to Brankas Partner Bank system and is currently being processed.

This status might show if Brankas Partner Bank is undergoing maintenance, or implement specific SLA for specific type of disbursement (e.g. Interbank Disbursement, e-wallet top ups, etc.)

Your registered corporate bank account will be debited at this point.

SUCCESS Disbursement request is successfully disbursed to the destination account.
FAILED Disbursement request failed to be disbursed to the destination account. Your registered corporate bank account will be credited according to the disbursement value if the previous status is AWAITING_BANK_STATUS

State Machine

This diagram explains how disbursements are performed. State Machine

Figure 1.0 - Disbursement State Machine Diagram

Access Authorization

All requests to the Disburse API must be authorized using your unique API Key. The API Key will be used to identify your application and helps Brankas ensure that your application is authorized to access specific data points.

Below is a sample header to include in your request body when calling Brankas endpoints.

Example Request Header

content-Type:application/json
x-api-key:EtT6UI126a6KR7OTWbj1lXeUrYE6EHM5srbZI4NfbhkNjiwnLSNTl4A1gLp9eABC

Encryption

Brankas APIs require HTTPS with TLS >= 1.2. Non-encrypted HTTP connections are not accepted, as they will transmit your access token in plaintext over the network.

Validate certificates. You should not proceed with a connection if you receive a certificate validation error from Brankas. Make sure all parts of your application are using encryption and HTTPS.

Application Design

Secure your application against common security flaws (check the OWASP Top 10). Consider how an attacker could leverage Unrestricted File Upload or Insecure Direct Object Reference to read the contents of your server’s environment or config files.

If your application is larger, consider extracting Brankas-specific functionality into a separate middleware or service layer. This would enable you to move API tokens there and separate it from the main application.

Do not store the token in user-accessible code such as browser-side JavaScript or Android apps that can be decompiled. The token should always live server-side, exposing domain-logic via APIs. If you need to pass the token around via HTTP requests, use HTTP headers or POST body - do not store the token in URI or query parameters. Web servers usually log the URL and browsers pass it between websites via the Referer header.