Introduction

Welcome to Brankas API documentation! We have compiled the details you need to get started with Brankas APIs. Download the API collection, create API keys and start calling to specific product endpoints.

API Access

Generate API keys on the Brankas Dashboard to call APIs in the sandbox and live environment. Learn how here.

API Host

View host for the specific products in both Sandbox and Live environments:

PRODUCT SANDBOX LIVE
Direct direct.sandbox.bnk.to direct.bnk.to
Disburse disburse.sandbox.bnk.to disburse.bnk.to
Statement statement.sandbox.bnk.to statement.bnk.to
Pay api.pay.sandbox.bnk.to api.pay.bnk.to
Balance balance.sandbox.bnk.to balance.bnk.to

Error Definitions

Errors are alarming and we have collated error codes by banks for easy reference. View error codes here.

Postman Collection

Brankas provides a Postman collection link that enables you to conduct test requests on all of our products without much coding.

To import Brankas Postman collection:

  • Copy the Postman collection link
  • Open Postman either on Browser or desktop
  • Click on Import > Link and paste the link. Click Continue to proceed.
    Postman Collection

    Create API Keys on the Brankas Dashboard and fill the required arguments. Learn more on how to set up in a Sandbox and live environment.

Bank Codes

Below is a list of Bank Codes that Brankas Direct uses to determine the originating (source) and beneficiary (destination) banks involved in a fund transfer.

Source Bank Codes

These codes are used to specify the originating bank where the end user’s bank retail banking accounts are held. This is used by the InitiateAccountListing to determine which bank to log the end user into. This is also used by the CreateTransfer endpoint as part of the required parameters for targeting the right originating bank account

Sandbox Source Bank Codes

Bank Codes Bank Name Account Type
DUMMY_BANK_PERSONAL Brankas Bank. A test bank that you can make sandboxed calls to as part of integration testing. Personal / Retail

Philippine (PH) Source Bank Codes

Bank Codes Bank Name Account Type
BDO_PERSONAL Banco De Oro Unibank, Inc. (BDO) Personal / Retail
BPI_PERSONAL Bank of the Philippine Islands (BPI) Personal / Retail
METROBANK_PERSONAL The Metropolitan Bank and Trust Company (Metrobank) Personal / Retail
UNIONBANK_PERSONAL The Union Bank of the Philippines, Inc. Personal / Retail
RCBC_PERSONAL Rizal Commercial Banking Corporation Personal / Retail

Indonesian (ID) Source Bank Codes

Bank Codes Bank Name Account Type
BCA_PERSONAL PT. Bank Central Asia, TBK Personal / Retail
BRI_PERSONAL PT. Bank Rakyat Indonesia (Persero), TBK Personal / Retail
MANDIRI_PERSONAL PT. Bank Mandiri (Persero), TBK Personal / Retail
BNI_PERSONAL PT. Bank Negara Indonesia (Persero), TBK Personal / Retail

These codes are used to specify the beneficiary bank where the beneficiary corporate accounts intended to receive end user payments are held

Philippine (PH) Destination Bank Codes

Bank Codes Bank Name
DUMMY_BANK_DESTINATION Brankas Bank. A test bank that you can make sandboxed calls to as part of integration testing.
PH_BDO Banco De Oro Unibank, Inc. (BDO)
PH_BPI Bank of the Philippine Islands (BPI)
PH_PNB Philippine National Bank (PNB)
PH_METRO The Metropolitan Bank and Trust Company (Metrobank)
PH_RCBC The Rizal Commercial Banking Corporation (RCBC)
PH_UB UnionBank of the Philippines (UBP)

Indonesian (ID) Destination Bank Codes

Bank Codes Bank Name
DUMMY_BANK_DESTINATION Brankas Bank. A test bank that you can make sandboxed calls to as part of integration testing.
ID_BCA PT. Bank Central Asia, TBK
ID_BNI PT. Bank Negara Indonesia (Persero), TBK
ID_BRI PT. Bank Rakyat Indonesia (Persero), TBK
ID_MANDIRI PT. Bank Mandiri (Persero), TBK

Account Opening

Brankas Account Opening provides Marketplace, p2p, fintech, or any 3rd parties platform to provide account opening services in their platform. This allow 3rd parties user access for saving and credit account by banks. By connecting end-user and Banks, Brankas Account Opening enable access over a growing basket of banks and banks products via a single set of APIs.

  • Host https://account-opening.sandbox.bnk.to

API Reference Overview

Create Application

CreateApplication allows customers to apply to open an account with the selected bank products

curl -X POST \
	https://account-opening.sandbox.bnk.to/v1/accounts/create \
	-H 'x-api-key: USE_YOUR_API_KEY' \
	-d '{
		"bank_code": "",
		"has_client_consent": "bool",
		"data": {
			"name": "",
			"gender": "",
			"id_card_number": "",
			"email": "",
			"mobile": "",
			"mother_maiden_name": "",
			"date_of_birth": "",
			"birth_place": "",
			"marital_status": "",
			"religion": "",
			"purpose": "",
			"source_of_fund": "",
			"monthly_income": "",
			"monthly_expenses": ""
		},
		"client": {
			"return_url": "https://example.com",
			"fail_url": "",
			"customer_id": "",
			"customer_name": ""
		}
	}'

HTTP Request

POST https://account-opening.sandbox.bnk.to/v1/accounts/create

Body Parameters

Name Type Description
bank_code BankCode BankCode is the selected bank’s code
has_client_consent bool HasClientConsent records if the client allows their customer data to be forwarded.
data PreFillApplicantData Data of the applicant
client Client Client contains the relevant information about the client/merchant.
Objects
PreFillApplicantData
Name Type Description
name string Name is the name of applicant
gender string Gender can fill by “MALE” or “FEMALE”
id_card_number string IDCardNumber is the applicant’s government ID number For Indonesia, it is the 16-digit KTP ID number
email string Email is an active applicant’s email address
mobile string Mobile is applicant phone number
mother_maiden_name string MotherMaidenName is applicant’s mother maiden name
date_of_birth string DateOfBirth can filled by digit in “yyyy-mm-dd” format
birth_place string BirthPlace is the city place applicant was born
marital_status string MaritalStatus options are “SINGLE”, “MARRIED”, “DIVORCED”, “WIDOW”, and “WIDOWER”
religion string Religion options are “CATHOLIC”, “CHRISTIAN”, “CONFUCIUS”, “BUDDHA”, “HINDU”, “ISLAM”, and “OTHER_RELIGION”
purpose string Purpose options are “INVESTMENT”, “EDUCATION”, “COMMERCE”, “CAPITAL”, “PAYMENT”,“SALARY” and “OTHER_PURPOSE”
source_of_fund string SourceOfFund options are “INCOME”, “INHERITANCE”, “GRANT”, “LOTTERY”, “SAVINGS”,“ALLOWANCE”, “REMITTANCE”, “PENSION”, “OTHER_SOURCE”
monthly_income string MonthlyIncome in rupiah “UP_TO_1M”, “MORE_THAN_1M_TO_5M”, “MORE_THAN_5M_TO_10M”, “MORE_THAN_10M_TO_25M”, “MORE_THAN_25M_TO_50M”, “MORE_THAN_50M_TO_100M”, “MORE_THAN_100M_TO_500M”, “MORE_THAN_500M_TO_1B”, and “MORE_THAN_1B”
monthly_expenses string MonthlyExpenses in rupiah “UP_TO_1M”, “MORE_THAN_1M_TO_5M”, “MORE_THAN_5M_TO_10M”, “MORE_THAN_10M_TO_25M”, “MORE_THAN_25M_TO_50M”, “MORE_THAN_50M_TO_100M”, “MORE_THAN_100M_TO_500M”, “MORE_THAN_500M_TO_1B”, and “MORE_THAN_1B”
Client
Name Type Description
return_url string ReturnURL is the return path for the app redirection after the account opening has been accomplished
fail_url string FailURL is the return path for the app redirection after the account opening failed
customer_id string CustomerID refers to the organization id which is integrated with the client
customer_name string Customer refers to the organization name which is integrated with the client
Enums
BankCode

BankCode is the internal code (enum) used by the service to target a specific bank for the account opening request.

Value Description
UNKNOWN_BANK To show all banks, client can remove the bank code/keep it as UNKNOWN
ID_OCBC PT. BANK OCBC NISP TBK
ID_BNC PT Bank Neo Commerce Tbk (BBYB)

Responses

Response body

Name Type Description
application_id string ApplicationID shows the reference number to the application
redirect_url string RedirectURL to Tap or Bank’s web view
error ApplicationError Error contains the error details

Example:

{
  "application_id": "UUID-generated",
  "redirect_url": "https://tap...",
  "error": {
    "code": "",
    "message": ""
  }
}
Objects
ApplicationError
Name Type Description
code ApplicationErrorCode Code is refering to the application error code
message string Message is the describes the error code in detail
Enums
ApplicationErrorCode

See Link: https://docs.brankas.com/docs/account-opening-error-codes

Value Description

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.
400 Returned when the request body is malformatted or does not match the expected request.
401 Returned when the request does not contains the user’s credentials.
403 Returned when the user does not have permission to access the resource.
500 Returned when an unexpected error occurred on the server side.

Get Bank List

GetBankList returns the list of available banks for the customer to apply

curl -X GET \
	https://account-opening.sandbox.bnk.to/v1/banks \
	-H 'x-api-key: USE_YOUR_API_KEY'

HTTP Request

GET https://account-opening.sandbox.bnk.to/v1/banks

Responses

Response body

Name Type Description
banks []Bank Banks list of available bank to apply
Objects
Bank
Name Type Description
code BankCode Code is brankas internal code for the bank
name string Name is the name of the bank
logo_url string LogoURL is url of the bank logo
listed Listed Listed describes if the bank is available
Enums
BankCode

BankCode is the internal code (enum) used by the service to target a specific bank for the account opening request.

Value Description
UNKNOWN_BANK To show all banks, client can remove the bank code/keep it as UNKNOWN
ID_OCBC PT. BANK OCBC NISP TBK
ID_BNC PT Bank Neo Commerce Tbk (BBYB)
Listed

Listed describe bank status between enabled and disabled

Value Description
UNKNOWN_LISTED Unknown / Invalid status
ENABLED
DISABLED

Example:

{
  "banks": [
    {
      "code": "ID_OCBC",
      "name": "OCBC NISP",
      "logo_url": "https://storage.googleapis.com/brankas-account-opening-logos/OCBC/OCBC%20NISP%20Logo%20(original)-04.jpg",
      "listed": "ENABLED"
    }
  ]
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.
400 Returned when the request body is malformatted or does not match the expected request.
401 Returned when the request does not contains the user’s credentials.
403 Returned when the user does not have permission to access the resource.
500 Returned when an unexpected error occurred on the server side.

Status Inquiry

StatusInquiry returns the current status of the requested application

curl -X GET \
	https://account-opening.sandbox.bnk.to/v1/accounts/status \
	-H 'x-api-key: USE_YOUR_API_KEY'

HTTP Request

GET https://account-opening.sandbox.bnk.to/v1/accounts/status

Responses

Response body

Name Type Description
status_details []ApplicationStatus StatusDetails contains the latest status of the application ID
error ApplicationError Error contains the error details
vkyc_link string VKYCLink is the URL to the bank’s video KYC process
Objects
ApplicationStatus
Name Type Description
application_id string ApplicationID contains the uuid for application
status Status Status is the current status of the requested application
sub_status SubStatus Substatus is the additional info relating to the status
ApplicationError
Name Type Description
code ApplicationErrorCode Code is refering to the application error code
message string Message is the describes the error code in detail
Enums
Status

Status describe the status of the application. See Link: https://docs.brankas.com/docs/account-opening-transaction-status

Value Description
SubStatus

SubStatus describe the sub status of the application. See Link: https://docs.brankas.com/docs/account-opening-transaction-status

Value Description
ApplicationErrorCode

See Link: https://docs.brankas.com/docs/account-opening-error-codes

Value Description

Example:

{
  "status_details": [
    {
      "application_id": "UUID-generated",
      "status": "BANK_PROCESSING",
      "sub_status": "GOVT_ID_CHECK"
    }
  ],
  "error": {
    "code": "",
    "message": ""
  },
  "vkyc_link": "https://example.com"
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.
400 Returned when the request body is malformatted or does not match the expected request.
401 Returned when the request does not contains the user’s credentials.
403 Returned when the user does not have permission to access the resource.
500 Returned when an unexpected error occurred on the server side.

Balance

Brankas Retrieval endpoints enable fintechs and financial service providers to leverage customer transaction montly & running balance information and deliver highly personalized financial services and applications.

  • Host https://balance.sandbox.bnk.to

API Reference Overview

Send a balance retrieval initiation request

Initiates a balance retrieval request

curl -X POST \
	https://balance.sandbox.bnk.to/v1/balance-init \
	-H 'x-api-key: USE_YOUR_API_KEY' \
	-d '{
		"country": "string",
		"bank_codes": "[]BankCode",
		"external_id": "string",
		"app_redirect_uri": "string",
		"organization_display_name": "string",
		"app_redirect_error_uri": "string",
		"app_redirect_duration": "string",
		"remember_me": "bool",
		"link_id": "string",
		"auto_consent": "bool"
	}'

HTTP Request

POST https://balance.sandbox.bnk.to/v1/balance-init

Body Parameters

Name Type Description
country string Country is the country code (ID, PH, TH)
bank_codes []BankCode BankCodes used to specify the list of bank to be shown to user
external_id string ExternalID represent an id that is passed by the api consumer to track the request
app_redirect_uri string AppRedirectURI is the URL that end users need to be redirected after the successful balance retrieval operation
organization_display_name string OrganizationDisplayName is a name of the organization that send the request and will be displayed when processing the balance request
app_redirect_error_uri string AppRedirectErrorURI is the URL that end users need to be redirected for the failure on balance retrieval operation
app_redirect_duration string AppRedirectDuration is the time (in seconds) the user should be redirected upon balance retrieval operation finish.
remember_me bool RememberMe shows the remember_me option when performing the balance-retrieval flow if it is set to true, otherwise won’t show remember me option
link_id string LinkID is the identifier that maps to the bank and generated after a credential is stored in browser
auto_consent bool AutoConsent is a flag that skip the consent on PIDP flow and it is disabled by default
Enums
BankCode

BankCode is the internal code (enum) used by the service to target a specific bank for the statement retrieval request.

Value Description
UNKNOWN_BANK
MANDIRI_PERSONAL Bank code to retrieve retail bank account transaction data for Bank Mandiri
BCA_PERSONAL Bank code to retrieve retail bank account transaction data for Bank Central Asia (BCA)
BNI_PERSONAL Bank code to retrieve retail bank account transaction data for Bank Negara Indonesia (BNI)
BRI_PERSONAL Bank code to retrieve retail bank account transaction data for Bank Rakyat Indonesia (BRI)
BCA_CORPORATE Bank code to retrieve retail bank account transaction data for Bank Central Asia (BCA)
DUMMY_BANK_PERSONAL Bank code to instruct the statement retrieval service to target the sandboxed Brankas dummy bank for test calls
BDO_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from the Banco De Oro Unibank (BDO)
BPI_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from the Bank of the Philippines Islands (BPI)
BPI_CORPORATE Bank code to retrieve retail bank (corporate) account statements / transaction histories from the Bank of the Philippines Islands (BPI)
PERMATA_PERSONAL Bank code to retrieve ratail bank account statements / transaction histories from PermataBank
KASIKORNBANK_PERSONAL Bank code to retrieve retail bank account transaction data for Kasikornbank.
PNB_PERSONAL Bank code to retrieve retail bank account transaction data for Philippine National Bank
UNIONBANK_PERSONAL Bank code to retrieve retail bank account transaction data for Union Bank
UNIONBANK_CORPORATE Bank code to retrieve retail bank account transaction data for Union Bank
METROBANK_PERSONAL Bank code to retrieve retail bank account transaction data for Metropolitan Bank
RCBC_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from the Rizal Commercial Banking Corporation
DANAMON_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from Danamon Bank

Responses

Response body

Name Type Description
balance_id string BalanceID is the unique ID assigned to the balance initiation request
redirect_uri string RedirectURI is the URL that end users need to be redirected to in order to continue the balance-retrieval operation

Example:

{
  "balance_id": "string",
  "redirect_uri": "string"
}

Response codes

Status Description
200 A successful response.
404 Returned when the resource is not found.

Send the balance delete request

Purge the balance associated with balance_ids

curl -X POST \
	https://balance.sandbox.bnk.to/v1/balance-purge \
	-H 'x-api-key: USE_YOUR_API_KEY' \
	-d '{
		"balance_ids": "[]string"
	}'

HTTP Request

POST https://balance.sandbox.bnk.to/v1/balance-purge

Body Parameters

Name Type Description
balance_ids []string BalanceIDs are the list of balance ids for which the account and transaction details need to be purged

Responses

Response body

Name Type Description
purged_at Timestamp PurgedAt denotes the time when balance purged
balance_count int32 BalanceCount returns the number of balance purged
Objects
Timestamp
Name Type Description
seconds int64
nanos int32

Example:

{
  "purged_at": {
    "seconds": "int64",
    "nanos": "int32"
  },
  "balance_count": "int32"
}

Response codes

Status Description
200 A successful response.
404 Returned when the resource is not found.

Retrieve balance recent notifications

Retrieves the recent notifications for a balance

curl -X GET \
	https://balance.sandbox.bnk.to/v1/balance-notifications/{BalanceID}/status \
	-H 'x-api-key: USE_YOUR_API_KEY'

HTTP Request

GET https://balance.sandbox.bnk.to/v1/balance-notifications/{BalanceID}/status

Query Parameters

Name Type Description
balance_id string BalanceID is the unique identifier of the balance.

Responses

Response body

Name Type Description
notifications []BalanceNotification Notifications is a list of the notification records.
Objects
BalanceNotification
Name Type Description
id string ID contains the unique identifier of the balance notification.
notification_id string NotificationID contains the unique identifier of the notification.
url string URL contains the actual notification value.
balance_status Status BalanceStatus is the status of the balance.
payload string Payload is the json that was sent.
http_response string HttpResponse is the response from site.
http_status string HttpStatus is the status returned from site.
error string Error message in the case the balance retrieval operation was unsuccessful
sent_at Timestamp SentAt is the time the notification was sent.
Timestamp
Name Type Description
seconds int64
nanos int32
Enums
Status
Value Description
UNKNOWN_Status Unknown balance retrieval status
INITIATED The balance request is initiated
CONSENT_GRANTED The balance request is currently grated with consent by end user
AUTH_IN_PROGRESS The balance request authentication in progress
AWAITING_TFA Awaiting TFA authentication to gain access to the user’s online banking account
TFA_IN_PROGRESS The balance request authentication in progress
RETRIEVAL_IN_PROGRESS The balance retrieval in progress
AUTH_FAILED The balance request authentication failed while attempting to log into the user’s online banking account as part of the balance retrieval process.
FAILED The requested balance couldn’t be retrieved successfully.
SUCCESS The requested balance was successfully retrieved
CANCELLED The balance request was cancelled
INACTIVATED The balance request inactivated upon waiting for user input
PURGED The balance data such as accounts and transactions are purged from brankas system
NO_ACCOUNT The balance request was cancelled because of no account

Example:

{
  "notifications": [
    {
      "id": "string",
      "notification_id": "string",
      "url": "string",
      "balance_status": "Status",
      "payload": "string",
      "http_response": "string",
      "http_status": "string",
      "error": "string",
      "sent_at": {
        "seconds": "int64",
        "nanos": "int32"
      }
    }
  ]
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.

Send a balance retrieval request

Initiates a balance retrieval request.

curl -X POST \
	https://balance.sandbox.bnk.to/v1/balance \
	-H 'x-api-key: USE_YOUR_API_KEY' \
	-d '{
		"bank_code": "BankCode",
		"credential": {
			"credential_type": "CredentialType",
			"identifier": "string",
			"secret": "string"
		},
		"period_days": "int32",
		"start_date": "string",
		"end_date": "string",
		"account_number": "string",
		"api_credential": {
			"corporate_id": "string",
			"identifier": "string",
			"secret": "string"
		},
		"external_id": "string",
		"channel": "string",
		"client_key_id": "string",
		"org_id": "string",
		"": "map[string]string"
	}'

HTTP Request

POST https://balance.sandbox.bnk.to/v1/balance

Body Parameters

Name Type Description
bank_code BankCode BankCode is the internal code (enum) used by the service to target a specific bank for the balance retrieval request (BCA, etc).
credential Credential Credential is the user internet banking account credentials or BalanceService token id.
period_days int32 PeriodDays is the filter to search transactions that occurred over a given period. note: the behaviour of the search is depends upon each bank site.
start_date string StartDate is the start date of the balance request Date/Time ranges should follow the YYYY-MM-DD convention
end_date string EndDate is the end date of the balance request Date/Time ranges should follow the YYYY-MM-DD convention
account_number string AccountNumber is the bank account number
api_credential APICredential APICredential are the credentials to access the bank API
external_id string ExternalID is an optional param. It’s a unique value provided by a 3rd party platform, which enables Brankas to associate it with balance retrieval requests.
channel string Channel is an optional param. The parameter value identifies the Channel via API call is initiated. Possible Values: WEB,MOBILE
client_key_id string ClientKeyId is an identifier that specifies the respective key that need to be used in order to decrypt the credentials. The key must’ve been generated/uploaded already in order to know what the key identifier is. If the key is empty, that denotes the client credentials are in plain text if the key_id has a value, that denotes the client credentials are encrypted, and that will be decrypted before using the same.
org_id string OrgID is an optional param. It contains the unique organization identifier.
map[string]string AdditionalFields are list of key value pair which is optional. This can be used to pass bank specific fields that differs from bank to bank
Objects
Credential
Name Type Description
credential_type CredentialType CredentialType is the type of the credential the identifier matches, e.g email
identifier string Identifier is the unique identifier for the credential (ie, a phone number, email, token, etc).
secret string Secret is the secret to exchange for validating the credential. If type is TOKEN, this can be empty
APICredential
Name Type Description
corporate_id string CorporateID is the banks unique id for the organization. if the bank provides a partner_id, then it should be used instead.
identifier string Identifier is the unique identifier for the credential
secret string Secret is the secret for the credential
Enums
BankCode

BankCode is the internal code (enum) used by the service to target a specific bank for the statement retrieval request.

Value Description
UNKNOWN_BANK
MANDIRI_PERSONAL Bank code to retrieve retail bank account transaction data for Bank Mandiri
BCA_PERSONAL Bank code to retrieve retail bank account transaction data for Bank Central Asia (BCA)
BNI_PERSONAL Bank code to retrieve retail bank account transaction data for Bank Negara Indonesia (BNI)
BRI_PERSONAL Bank code to retrieve retail bank account transaction data for Bank Rakyat Indonesia (BRI)
BCA_CORPORATE Bank code to retrieve retail bank account transaction data for Bank Central Asia (BCA)
DUMMY_BANK_PERSONAL Bank code to instruct the statement retrieval service to target the sandboxed Brankas dummy bank for test calls
BDO_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from the Banco De Oro Unibank (BDO)
BPI_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from the Bank of the Philippines Islands (BPI)
BPI_CORPORATE Bank code to retrieve retail bank (corporate) account statements / transaction histories from the Bank of the Philippines Islands (BPI)
PERMATA_PERSONAL Bank code to retrieve ratail bank account statements / transaction histories from PermataBank
KASIKORNBANK_PERSONAL Bank code to retrieve retail bank account transaction data for Kasikornbank.
PNB_PERSONAL Bank code to retrieve retail bank account transaction data for Philippine National Bank
UNIONBANK_PERSONAL Bank code to retrieve retail bank account transaction data for Union Bank
UNIONBANK_CORPORATE Bank code to retrieve retail bank account transaction data for Union Bank
METROBANK_PERSONAL Bank code to retrieve retail bank account transaction data for Metropolitan Bank
RCBC_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from the Rizal Commercial Banking Corporation
DANAMON_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from Danamon Bank
CredentialType

CredentialType is the credential type.

Value Description
EMAIL
Type_MSISDN
TOKEN
CLIENT_CREDENTIAL
EMPTY

Responses

Response body

Name Type Description
request_id string RequestID is the unique system generated identifier assigned to this specific balance retrieval request. Once a balance has been retrieved and stored, it can then be queried later on from storage by using this as the identifier
status Status Status is the current balance retrieval status
site_response string SiteResponse is any relevant text returned by the target bank’s online banking portal as part of the balance retrieval request
challenge Challenge Challenge is an optional challange information from the bank website to be used for next 2FA request.
Objects
Challenge
Name Type Description
type ChallengeType
data bytes
Enums
Status
Value Description
UNKNOWN_Status Unknown balance retrieval status
INITIATED The balance request is initiated
CONSENT_GRANTED The balance request is currently grated with consent by end user
AUTH_IN_PROGRESS The balance request authentication in progress
AWAITING_TFA Awaiting TFA authentication to gain access to the user’s online banking account
TFA_IN_PROGRESS The balance request authentication in progress
RETRIEVAL_IN_PROGRESS The balance retrieval in progress
AUTH_FAILED The balance request authentication failed while attempting to log into the user’s online banking account as part of the balance retrieval process.
FAILED The requested balance couldn’t be retrieved successfully.
SUCCESS The requested balance was successfully retrieved
CANCELLED The balance request was cancelled
INACTIVATED The balance request inactivated upon waiting for user input
PURGED The balance data such as accounts and transactions are purged from brankas system
NO_ACCOUNT The balance request was cancelled because of no account
ChallengeType

ChallengeType for captcha or OTP challenge

Value Description
TEXT TEXT are challenges that are generally represented as strings.
IMAGE IMAGE are image-based challenges, for example a captcha image.
IN_APP IN_APP are challenges that happens offline and asynchronously outside our control for example, approvals from a user’s mobile device.
SMS SMS are SMS-based challenge codes.
MGENCODE MGENCODE or Mobile Generated Code, are usually challenge codes generated by bank applications.
HYBRID HYBRID are bank-specific challenge types, for example, BCA requires a mix of the different types.
PIN PIN are mostly static pin codes from banks, eg Metrobank’s passcode.

Example:

{
  "request_id": "string",
  "status": "Status",
  "site_response": "string",
  "challenge": {
    "type": "ChallengeType",
    "data": "bytes"
  }
}

Response codes

Status Description
200 A successful response.
404 Returned when the resource is not found.

Send a Balance list request

Retrive the Balance list request.

curl -X GET \
	https://balance.sandbox.bnk.to/v1/get_balance \
	-H 'x-api-key: USE_YOUR_API_KEY'

HTTP Request

GET https://balance.sandbox.bnk.to/v1/get_balance

Responses

Response body

Name Type Description
balances []BalanceResponse Balances are the balance that match the filters of a request.
next_page_token string NextPageToken represents the pagination token to retrieve the next page of results. If the value is “”, it means no further results for the request.
message string Message is any message from the server that are not treated as an error.
total_count int32 TotalCount of the balances matched by the query filters
previous_page_token string PreviousPageToken represents the pagination token to retrieve the previous page of results. If the value is “”, it means no further results for the request.
Objects
BalanceResponse
Name Type Description
status Status Status is the status of the request.
request_id string RequestID is the ID of the request.
created_at Timestamp Created is the request created time.
bank_code BankCode BankCode is the BankCode related of the request.
accounts []BalanceListData Accounts holds account information.
error string Error is the error information for failed request.
update Timestamp Update is the updation timestamp.
site_response string SiteResponse is an optional text response from the bank website.
status_response StatusResponse StatusResponse contains the code and description about the status for this transaction.
Timestamp
Name Type Description
seconds int64
nanos int32
BalanceListData
Name Type Description
account BalanceListDataAccount Account holds account information.
balance BalanceListDataBalance Balance holds balance information.
StatusResponse
Name Type Description
status_code string status_code contains the status code of the request.
status_desc string status_desc contains the accompanying description of the given status code of the request.
BalanceListDataAccount
Name Type Description
type AccountType Type is type of the account
account_number string AccountNumber is the account number.
holder_name string HolderName is the name who own the card.
BalanceListDataBalance
Name Type Description
current Amount Curent is current balance.
periodic_balance []PeriodicBalance PeriodicBalance holds information about balance per month.
periodic_balance_range PeriodicBalanceRange PeriodicBalanceRange denotes the balance retrieval period
Amount
Name Type Description
cur CurrencyISO4217 Cur is the currency of the amount using its ISO 4217 code.
num string Num is the actual numeric value of the amount. Note: When there are separators in the currency, we store the decimals as digits in the string. So, PHP 100.00 would be represented as “amount.cur”: “PHP” and “amount.num”: “10000”.
decimal Decimal Decimal is the actual amount value with decimal points
PeriodicBalance
Name Type Description
month string Month is the month of the balance.
year string Year is the year of the balance.
start_balance Amount StartBalance is the staring amount at the begining of the month.
end_balance Amount EndBalance is the End balance at the end of the month.
average_monthly_balance Amount AverageMonthlyBalance is the monthly average balance for the given month
average_daily_balance Amount AverageDailyBalance is the daily average balance for the given month
daily_balances []DailyBalance DailyBalance holds information about balance per day in a month
PeriodicBalanceRange
Name Type Description
total_months int32 TotalMonths is the number of months the balance data is available
range string Range is the period of balance data, Ex: Jan 2021 to Mar 2021
Decimal
Name Type Description
places int32 Places denotes the number of decimal points included with the amount
num string Num is the actual amount value with decimal points It is the decimal representation of the Num field as PHP 100.00 only for Indonesia, Philippine and Thailand
DailyBalance
Name Type Description
date string Date is the date of the balance.
start_balance Amount StartBalance is balance at the start of the day
end_balance Amount EndBalance is balance at the end of the day.
created Timestamp Create is the creation timestamp.
updated Timestamp Update is the updation timestamp.
Enums
Status
Value Description
UNKNOWN_Status Unknown balance retrieval status
INITIATED The balance request is initiated
CONSENT_GRANTED The balance request is currently grated with consent by end user
AUTH_IN_PROGRESS The balance request authentication in progress
AWAITING_TFA Awaiting TFA authentication to gain access to the user’s online banking account
TFA_IN_PROGRESS The balance request authentication in progress
RETRIEVAL_IN_PROGRESS The balance retrieval in progress
AUTH_FAILED The balance request authentication failed while attempting to log into the user’s online banking account as part of the balance retrieval process.
FAILED The requested balance couldn’t be retrieved successfully.
SUCCESS The requested balance was successfully retrieved
CANCELLED The balance request was cancelled
INACTIVATED The balance request inactivated upon waiting for user input
PURGED The balance data such as accounts and transactions are purged from brankas system
NO_ACCOUNT The balance request was cancelled because of no account
BankCode

BankCode is the internal code (enum) used by the service to target a specific bank for the statement retrieval request.

Value Description
UNKNOWN_BANK
MANDIRI_PERSONAL Bank code to retrieve retail bank account transaction data for Bank Mandiri
BCA_PERSONAL Bank code to retrieve retail bank account transaction data for Bank Central Asia (BCA)
BNI_PERSONAL Bank code to retrieve retail bank account transaction data for Bank Negara Indonesia (BNI)
BRI_PERSONAL Bank code to retrieve retail bank account transaction data for Bank Rakyat Indonesia (BRI)
BCA_CORPORATE Bank code to retrieve retail bank account transaction data for Bank Central Asia (BCA)
DUMMY_BANK_PERSONAL Bank code to instruct the statement retrieval service to target the sandboxed Brankas dummy bank for test calls
BDO_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from the Banco De Oro Unibank (BDO)
BPI_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from the Bank of the Philippines Islands (BPI)
BPI_CORPORATE Bank code to retrieve retail bank (corporate) account statements / transaction histories from the Bank of the Philippines Islands (BPI)
PERMATA_PERSONAL Bank code to retrieve ratail bank account statements / transaction histories from PermataBank
KASIKORNBANK_PERSONAL Bank code to retrieve retail bank account transaction data for Kasikornbank.
PNB_PERSONAL Bank code to retrieve retail bank account transaction data for Philippine National Bank
UNIONBANK_PERSONAL Bank code to retrieve retail bank account transaction data for Union Bank
UNIONBANK_CORPORATE Bank code to retrieve retail bank account transaction data for Union Bank
METROBANK_PERSONAL Bank code to retrieve retail bank account transaction data for Metropolitan Bank
RCBC_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from the Rizal Commercial Banking Corporation
DANAMON_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from Danamon Bank
AccountType

AccountType is the account type enum.

Value Description
UNKNOWN_AccountType Indicates that the bank account type is either undefined or neither a Checking on Saving account
CHECKING Indicates that the bank account is a Checking Account
SAVINGS Indicates that the bank account is a Savings Account
CurrencyISO4217

CurrencyISO4217 iso is the 3 digit currency that will be used as standard currency type on fast checkout. see: https://en.wikipedia.org/wiki/ISO_4217

Value Description
UNKNOWN_CURRENCY
AFN
EUR
ALL
DZD
USD
AOA
XCD
ARS
AMD
AWG
AUD
AZN
BSD
BHD
BDT
BYR
BZD
XOF
BMD
BTN
BOV
BAM
BWP
NOK
BRL
SGD
BGN
BIF
KHR
XAF
CAD
CVE
KYD
CLP
CNY
COP
KMF
CDF
NZD
CRC
HRK
CUC
CZK
DKK
DJF
DOP
EGP
ERN
ETB
FKP
FJD
XPF
GMD
GEL
GHS
GIP
GTQ
GBP
GNF
GYD
HNL
HKD
HUF
ISK
INR
IDR
IRR
IQD
IMP
ILS
JMD
JPY
JEP
JOD
KZT
KES
KPW
KRW
KWD
KGS
LAK
LBP
LSL
LRD
LYD
CHF
MKD
MGA
MWK
MYR
MVR
MRO
MUR
MXN
MDL
MNT
MAD
MZN
MMK
NAD
NPR
ANG
NIO
NGN
OMR
PKR
PGK
PYG
PEN
PHP
PLN
QAR
RON
RUB
RWF
WST
STD
SAR
RSD
SCR
SLL
SBD
SOS
ZAR
SSP
LKR
SHP
SDG
SRD
SZL
SEK
SYP
TWD
TJS
TZS
THB
TOP
TTD
TND
TRY
TMT
UGX
UAH
ARE
UYU
UZS
VUV
VEF
VND
YER
ZRN
ZMW

Example:

{
  "balances": [
    {
      "status": "Status",
      "request_id": "string",
      "created_at": {
        "seconds": "int64",
        "nanos": "int32"
      },
      "bank_code": "BankCode",
      "accounts": [
        {
          "account": {
            "type": "AccountType",
            "account_number": "string",
            "holder_name": "string"
          },
          "balance": {
            "current": {
              "cur": "CurrencyISO4217",
              "num": "string",
              "decimal": {
                "places": "int32",
                "num": "string"
              }
            },
            "periodic_balance": [
              {
                "month": "string",
                "year": "string",
                "start_balance": {
                  "cur": "CurrencyISO4217",
                  "num": "string",
                  "decimal": {
                    "places": "int32",
                    "num": "string"
                  }
                },
                "end_balance": {
                  "cur": "CurrencyISO4217",
                  "num": "string",
                  "decimal": {
                    "places": "int32",
                    "num": "string"
                  }
                },
                "average_monthly_balance": {
                  "cur": "CurrencyISO4217",
                  "num": "string",
                  "decimal": {
                    "places": "int32",
                    "num": "string"
                  }
                },
                "average_daily_balance": {
                  "cur": "CurrencyISO4217",
                  "num": "string",
                  "decimal": {
                    "places": "int32",
                    "num": "string"
                  }
                },
                "daily_balances": [
                  {
                    "date": "string",
                    "start_balance": {
                      "cur": "CurrencyISO4217",
                      "num": "string",
                      "decimal": {
                        "places": "int32",
                        "num": "string"
                      }
                    },
                    "end_balance": {
                      "cur": "CurrencyISO4217",
                      "num": "string",
                      "decimal": {
                        "places": "int32",
                        "num": "string"
                      }
                    },
                    "created": {
                      "seconds": "int64",
                      "nanos": "int32"
                    },
                    "updated": {
                      "seconds": "int64",
                      "nanos": "int32"
                    }
                  }
                ]
              }
            ],
            "periodic_balance_range": {
              "total_months": "int32",
              "range": "string"
            }
          }
        }
      ],
      "error": "string",
      "update": {
        "seconds": "int64",
        "nanos": "int32"
      },
      "site_response": "string",
      "status_response": {
        "status_code": "string",
        "status_desc": "string"
      }
    }
  ],
  "next_page_token": "string",
  "message": "string",
  "total_count": "int32",
  "previous_page_token": "string"
}

Response codes

Status Description
200 A successful response.
404 Returned when the resource is not found.

Direct

Brankas Direct provides Fintechs, Corporates and SMEs with an API-driven payment solution that allows to digitally transact with customers and their end-users. By debiting the customers' online bank accounts and transferring directly to the fintech’s or SME’s payable accounts, Brankas Direct leverages on enterprises that are able to execute fund transfer-based transactions over a growing basket of banks via a single set of APIs.

  • Host https://direct.sandbox.bnk.to

API Reference Overview

Checkout

The Checkout endpoint creates a fund transfer initiation request that the end user can complete via the Brankas Tap. The Checkout endpoint is a fund transfer initiation request specific to the use case where the transaction amount is a predetermined value not defined by the end user, usually determined by an invoice or cart. Direct will create a unique user session on the Brankas Tap keyed to the fund transfer request’s internal transfer_id. The Checkout endpoint will respond with a preformatted URL that the end user must be redirected to in order to authorize the current fund transfer request. The Brankas Client needs to append the returned preformatted URL with their own redirect_uri query parameter where the end user will be sent after they have completed their session on the Brankas Tap.

curl -X POST \
	https://direct.sandbox.bnk.to/v1/checkout \
	-H 'x-api-key: USE_YOUR_API_KEY' \
	-d '{
		"customer": {
			"fname": "John",
			"lname": "Johnson",
			"mname": "Joseph",
			"customer_id": "4f30b317-f98b-4454-bc05-7c4a2e48ec0d",
			"email": "john.johnson@domain.com",
			"mobile": "+62-283-5559-907"
		},
		"reference_id": "9005376336",
		"amount": {
			"cur": "IDR",
			"num": "10000"
		},
		"from": {
			"type": "BANK",
			"bank_code": "BCA_PERSONAL",
			"country": "ID"
		},
		"payment_channel": "_",
		"memo": "A note attached to the transaction",
		"destination_account_id": "b3f1a14c-c0dd-11ea-8f93-ca56f9871a24",
		"client": {
			"display_name": "Your Application Name",
			"logo_url": "https://example.com/logo.svg",
			"return_url": "https://example.com/success",
			"fail_url": "https://example.com/error"
		},
		"expiry_date_time": "2021-07-30T00:00:00Z",
		"unique_amount": "UniqueAmountType"
	}'

HTTP Request

POST https://direct.sandbox.bnk.to/v1/checkout

Body Parameters

Name Type Description
customer Customer customer is the end user’s identifying and contact information that allows transactions to be attributed to a specific end user. This can be used by both banks and settlement channels to assist in the resolution of transaction disputes.
reference_id string reference_id is an additional identifier, such as a UUID, that corresponds to an invoice, cart, or transaction object. The Brankas Client can use this field to associate the fund transfer request to a corresponding transaction object in its transaction database.
amount Amount amount is the transaction amount to be transferred from the source account to the destination account. If minor currency units are supported by a currency, then they are stored as minor units. For example, PHP 100.00 would be represented as “amount.num”: “10000”. Note that amounts are stored as string instead of integers in order to prevent any errors caused by floating point numbers.
from AccountInfo from is the source account information. Bank code parameter is optional. If bank code is set in checkout request, then Brankas Tap would show the bank selector page. If it is not set, then Brankas Tap would not show the bank selector page. Bank Codes used in this field follow a different convention from the bank codes used for the destination account in the to object. For the full list of supported bank codes, see Source Account Bank Codes in the Bank Codes section.
payment_channel PaymentChannelType payment_channel is to be used when initiating a transaction using a settlement partner. For normal fund transfer, this parameter is optional.
memo string memo is a merchant defined remarks attached to the transfer in the memo line (e.g. RRN).
destination_account_id string destination_account_id is the string ID corresponding to the bank information of the recipient. To get your destination_account_id, register the destination account in Brankas Dashboard > Settings > Direct tab.
client Client client contains the relevant information about the client/merchant who uses the checkout flow.
expiry_date_time Timestamp expiry_date_time is the expiry time of the created invoice. This parameter will enable merchants to to set their own invoice expiry so that it matches their business process better. Value will be on UTC timestamp. If the field is omitted, default 24 hour expiry time will be placed instead. For example if value equals 2021-05-01T00:00:00Z, the transaction will expire at 01 May 2021 00:00. However if it’s empty, the transaction will expire 24 hours after checkout request is successful.
unique_amount UniqueAmountType UniqueAmount sets the option for enabling the cents reconciliation workaround logic which modifies the transaction amount in attempt to make it unique for the time period.
Objects
Customer
Name Type Description
fname string The end user’s first name.
lname string The end user’s last name.
mname string The end user’s middle name.
email string The customer’s contact email.
mobile string The end user’s mobile phone number.
phone string Phone is the customer’s Landline number.
customer_id string An additional user identifier, such as a UUID, that the Brankas client can optionally add to the customer object.
address Address Address is the customer’s address.
InvoiceDetails
Name Type Description
line_items []LineItem LineItems is the list of ordered item details
charges []Charge Charges is the list of cost/charge corresponding to each item in LineItems
discount []Discount Discounts is the list of discounts corresponding to each item in LineItems
amount Amount Amount is the overall cost of all orders
Amount
Name Type Description
cur CurrencyISO4217 Cur is the currency.
num string Num is the numeric value.
AccountInfo
Name Type Description
type AccountInfoType The type of info relating to a bank transfer account. Please fill in with “BANK”.
bank_code BankCode Brankas bank code. Only present when type is BANK. Bank Codes differ depending on whether they are used as the source or the destination of a funds transfer. Bank code parameter is optional. If bank code is set in checkout request, then Brankas Tap would show the bank selector page. If it is not set, then Brankas Tap would not show the bank selector page. For the full list and details on bank codes, please see the Bank Codes section.
country CountryISO3166 The country where the end user’s bank is based using ISO 3166 Alpha-2 country codes. Currently supports: Indonesia: ID, Philippines: PH, & Thailand: TH.
DestinationAccountInfo
Name Type Description
type AccountInfoType Type is the account info type.
bank_code DestinationBankCode BankCode is a bank code. Only present when type is BANK.
account_number string AccountNumber is a bank account number.
identifier string Identifier is a unique account ID, profile ID, or the bank account number and is interpreted based on the account info type.
holder_name string HolderName is the name of the account holder. This field is DEPRECATED in favor of the HolderFirstName, HolderMiddleName and HolderLastName which we join to come up with a full name.
holder_first_name string HolderFirstName is the first name of the account holder.
holder_middle_name string HolderMiddleName is the middle name of the account holder.
holder_last_name string HolderLastName is the last name of the account holder.
email_address string EmailAddress is the destination user email address.
mobile_country_code string MobileCountryCode is the mobile country dial code.
mobile_number string MobileNumber is the destination user mobile number.
address_line1 string AddressLine1 is the user destination address information.
address_line2 string AddressLine1 is the user destination address additional information.
city string City is the user destination residential city.
state string State is the user destination residential state.
country string Country is the user destination residential country.
Client
Name Type Description
display_name string DisplayName of the client’s app
logo_url string LogoURL is the link to the client’s logo
return_url string ReturnURL is the return path for the app redirection after a checkout transaction has been accomplished
fail_url string FailURL is the return path for the app redirection after a checkout transaction has failed or hits an error state.
deep_link bool If DeepLink is set at “true” it indicates that the client wants to display remember me feature in the bank login form
short_redirect_uri bool ShortRedirectURI indicates that the client wanted to have short_redirect_uri generated on the redirect_uri. If the parameter “fname” is set, then the short_redirect_uri would include end user’s first name in the link, e.g. “https://direct.bnk.to/tap/FjTqkP3Q/Sarah”
Timestamp
Name Type Description
seconds int64
nanos int32
Address
Name Type Description
line1 string Line1 is the customer’s first line of address
line2 string Line2 is the customer’s second line of address
city string City is the customer’s city
province string Province is the customer’s province
zip_code string ZipCode is the customer’s postal code
country string Country is the country the customer is located in
LineItem
Name Type Description
item_name string ItemName is name of the item
item_id string ItemID is any internal ID the Brankas Client/merchant might have to represent this item
unit_price string UnitPrice is the price of a single unit of the item
price_cur CurrencyISO4217 PriceCur is the currency for the lineitem price following ISO_4217
quantity int32 Quantity is the number of items
Charge
Name Type Description
charge_type string ChargeType is the type of charge for the corresponding lineitem
charge_amount string ChargeAmount is the amount cost for the corresponding lineitem
charge_cur CurrencyISO4217 DiscountCur is the currency for the charge following ISO_4217
Discount
Name Type Description
discount_type string DiscountType is the type of discount for the correspondign lineitem
discount_amount string DiscountAmount is the amount discounted for the corresponding lineitem
discount_cur CurrencyISO4217 DiscountCur is the currency for the discount following ISO_4217
Enums
PaymentChannelType

PaymentChannelType is the payment rail that will be used to facilitate the fund transfer using settlement partners. Allows for the selection of established settlement partners to be used in order to move fund transfer to the beneficiary bank accounts.

Value Description
PH_PAYNAMICS Process inter-bank fund transfer via Paynamics settlements service, a Brankas Partner.
ID_BANK_MEGA_IPG Process inter-bank fund transfer via Bank Mega - IPG settlements service.
ID_SHOPEE Process intra/inter-bank fund transfer via Shopee Pay QRIS acquirer.
UniqueAmountType

UniqueAmountType for cents reconciliation workaround

Value Description
NONE NONE will not apply any modification to the transaction amount
ADD ADD will apply additional centavos to the transaction amount
SUBTRACT SUBTRACT will deduct centavos to the transaction amount
CurrencyISO4217

CurrencyISO4217 iso is the 3 digit currency that will be used as standard currency type on fast checkout. View list here.

AccountInfoType is the type of info relating to a bank transfer account.

Value Description
AccountInfoTypeUNKNOWN Unrecognised info type.
ACCOUNT Account type.
PROFILE Profile type.
BANK Bank type.
MSISDN Phone number type.
BankCode
Value Description
DUMMY_BANK_PERSONAL Brankas Bank. A test bank that you can make sandboxed calls to as part of integration testing.
MANDIRI_PERSONAL PT. Bank Mandiri (Persero), TBK. Personal/retail account.
BCA_PERSONAL PT. Bank Central Asia, TBK. Personal/retail account.
BNI_PERSONAL PT. Bank Negara Indonesia (Persero), TBK. Personal/retail account.
BRI_PERSONAL PT. Bank Rakyat Indonesia (Persero), TBK.
CIMB_PERSONAL PT Bank CIMB Niaga Tbk
PERMATA_PERSONAL Bank code to retrieve ratail bank account statements / transaction histories from PermataBank
BDO_PERSONAL Banco De Oro Unibank, Inc. (BDO). Personal/retail account.
BPI_PERSONAL Bank of the Philippine Islands (BPI). Personal/retail account.
PNB_PERSONAL Philippine National Bank (PNB). Personal/retail account.
UNIONBANK_PERSONAL Union Bank of the Philippines. Personal/retail account.
METROBANK_PERSONAL The Metropolitan Bank and Trust Company (Metrobank). Personal/retail account.
RCBC_PERSONAL The Rizal Commercial Banking Corporation (RCBC). Personal/retail account.
SCB_PERSONAL Siam Commercial Bank of Thailand. Personal/retail account.
KASIKORNBANK_PERSONAL Kasikornbank Thailand. Personal/retail account.
CountryISO3166
Value Description
ID Indonesia
PH Philippines
TH Thailand
DestinationBankCode
Value Description
DUMMY_BANK_DESTINATION
ID_BCA
ID_BCA_SYR
ID_BNI
ID_BNI_SYR
ID_BRI
ID_BRI_SYR
ID_MANDIRI
ID_MANDIRI_SYR
ID_BTN
ID_BTN_SYR
ID_PERMATA
ID_PERMATA_SYR
ID_DNMN
ID_DNMN_SYR
ID_BTPN
ID_BTPN_SYR
ID_OCBC
ID_OCBC_SYR
ID_MAYBANK
ID_MAYBANK_SYR
ID_CIMB
ID_CIMB_SYR
ID_PAN
ID_PAN_SYR
ID_MEGA
ID_MEGA_SYR
ID_BKP
ID_BKP_SYR
ID_DKI
ID_DKI_SYR
ID_BJB
ID_BJB_SYR
ID_JATIM
ID_JATIM_SYR
ID_HSBC
ID_DBS
ID_STAN
ID_UOB
ID_CITI
PH_BDO
PH_BPI
PH_BPIF
PH_METRO
PH_PNB
PH_PNBS
PH_RCBC
PH_RCBCS
PH_SB
PH_SBS
PH_UB
PH_CLRB
PH_GXI
PH_GBY
PH_LBP
PH_PMP
PH_PSB
PH_RSB
PH_CB
PH_CBS
TH_KBANK
PH_ALLBANK
PH_SUNSB
PH_STERLING
PH_MBSMB
PH_AUB
PH_BOC
PH_MAYBANK
PH_PBCOM
PH_CTBC
PH_EWB
PH_EQB
PH_OMNIPAY
PH_UCPB
PH_PHILTRUST
PH_WDB
PH_DUNGGANUN
PH_UCPBSB
PH_ISLA
PH_PRBC
PH_PBB
PH_PVB
PH_YSBP
PH_MABUHAY
PH_CTBCPH
PH_ING
PH_QCRB
PH_BDONB
PH_EWBRB
TH_SCB
PH_STAN
PH_HSBC
PH_CITI
PH_BOA
PH_UOB
PH_TOKYO
PH_MICB
PH_DBP
PH_ANZ
PH_KEB_HANA
PH_CHASE
PH_FCB
PH_MIZUHO
PH_DBS
PH_BBL
PH_CHINA
PH_SUMITOMO_MITSUI
PH_SHINHAN
PH_IBK
PH_STARPAY
PH_QUEENBANK
PH_INNOVATIVE_BANK
PH_AAIIB
PH_PRODUCERSSBC
PH_BPI_BANKO
PH_CIMB
PH_BANKFLORIDAPH
PH_GUINOBATAN
PH_HSBCSB
PH_CAMALIG
PH_COUNTRY_BUILDERS
PH_RANGAY_BANK
PH_COINSPH
PH_CARDBANK

Responses

Response body

Name Type Description
transaction_id string transaction_id is the unique identifier assigned to the fund transfer request generated by Brankas.
redirect_uri string redirect_uri is the URL that end users need to be redirected to in order to authorize the fund transfer and complete the transaction. and complete the transaction.
short_redirect_uri string short_redirect_uri is the shortened version of the redirect_uri.

Example:

{
  "transaction_id": "f6355a01-e32b-426e-b2af-85366d305743",
  "redirect_uri": "https://pidp-server.your-subdomain.bnk.to?transaction_id=f6355a01-e32b-426e-b2af-85366d305743\u0026merchant=YOUR_APP\u0026logo_url=https:%2F%2Fexample.com\u0026return_url=https:%2F%2Fexample.com",
  "short_redirect_uri": "https://direct.your-subdomain.bnk.to/tap/XXXXXXXX"
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.
400 Returned when the request body is malformatted or does not match the expected request.
401 Returned when the request does not contains the user’s credentials.
403 Returned when the user does not have permission to access the resource.
500 Returned when an unexpected error occured on the server side.

Supported banks

RetrieveBanks returns a list of banks.

curl -X GET \
	https://direct.sandbox.bnk.to/v1/banks \
	-H 'x-api-key: USE_YOUR_API_KEY'

HTTP Request

GET https://direct.sandbox.bnk.to/v1/banks

Query Parameters

Name Type Description
country CountryISO3166 Country is the country code (ID, US, SG, …).

Responses

Response body

Name Type Description
banks []BankInfo banks is the list of fetched bank records.
destination_banks []DestinationBankInfo destination_banks is the list of the supported destination bank records.
org_id string org_id is the unique organization identifier.
Objects
BankInfo
Name Type Description
bank_code BankCode BankCode is the bank code.
name string Name is the bank name (mandiri, bca, …).
title string Title is the display title for the bank.
country CountryISO3166 Country is the country code (ID, US, SG, …).
enabled bool Enabled indicates whether or not the bank is enabled.
logo_url string LogoURL contains the link to the bank’s logo.
placement_order int32 PlacementOrder is the suggested position in which this bank should be ordered.
bank_codes_supported []DestinationBankCode BankCodesSupported are the banks that is currently being supported for this specific bank.
portal_name string PortalName is the bank’s portal name.
fund_transfer_limit FundTransferLimit FundTransferLimit is the transaction limits for this specific bank.
fund_transfer_fee FundTransferFee FundTransferFee is the bank fee for each transaction on this specific bank.
DestinationBankInfo
Name Type Description
bank_code DestinationBankCode BankCode is the bank code.
name string Name is the bank name (mandiri, bca, …).
title string Title is the display title for the bank.
country CountryISO3166 Country is the country code (ID, US, SG, …).
FundTransferLimit
Name Type Description
cur CurrencyISO4217 Cur is the currency.
intrabank Limits Intrabank contains the limits for the intrabank fund transfer transactions.
interbank Limits Interbank contains the limits for the interbank fund transfer transactions.
FundTransferFee
Name Type Description
cur CurrencyISO4217 Cur is the currency.
id_online_transfer_limit string IDOnlineTransferLimit contains the limits for the intrabank fund transfer transactions.
id_online_transfer_fee string IDOnlineTransferFee contains the fee needed for the interbank fund transfer transactions.
id_llg_transfer_limit string IDLLGTransferLimit contains the limits for the intrabank fund transfer transactions.
id_llg_transfer_fee string IDLLGTransferFee contains the fee needed for the interbank fund transfer transactions.
id_rtgs_transfer_fee string IDRTGSTransferFee contains the fee needed for the interbank fund transfer transactions.
ph_instapay_transfer_limit string PHInstapayTransferLimit contains the limits for the intrabank fund transfer transactions.
ph_instapay_transfer_fee string PHInstapayTransferFee contains the fee needed for the interbank fund transfer transactions.
ph_pesonet_transfer_fee string PHPesonetTransferFee contains the fee needed for the interbank fund transfer transactions.
intrabank_transfer_fee string IntrabankTransferFee contains the fee needed for intrabank fund transfer transactions.
Limits
Name Type Description
min string Min is the minimum amount value.
max string Max is the maximum amount value.
Enums
BankCode
Value Description
DUMMY_BANK_PERSONAL Brankas Bank. A test bank that you can make sandboxed calls to as part of integration testing.
MANDIRI_PERSONAL PT. Bank Mandiri (Persero), TBK. Personal/retail account.
BCA_PERSONAL PT. Bank Central Asia, TBK. Personal/retail account.
BNI_PERSONAL PT. Bank Negara Indonesia (Persero), TBK. Personal/retail account.
BRI_PERSONAL PT. Bank Rakyat Indonesia (Persero), TBK.
CIMB_PERSONAL PT Bank CIMB Niaga Tbk
PERMATA_PERSONAL Bank code to retrieve ratail bank account statements / transaction histories from PermataBank
BDO_PERSONAL Banco De Oro Unibank, Inc. (BDO). Personal/retail account.
BPI_PERSONAL Bank of the Philippine Islands (BPI). Personal/retail account.
PNB_PERSONAL Philippine National Bank (PNB). Personal/retail account.
UNIONBANK_PERSONAL Union Bank of the Philippines. Personal/retail account.
METROBANK_PERSONAL The Metropolitan Bank and Trust Company (Metrobank). Personal/retail account.
RCBC_PERSONAL The Rizal Commercial Banking Corporation (RCBC). Personal/retail account.
SCB_PERSONAL Siam Commercial Bank of Thailand. Personal/retail account.
KASIKORNBANK_PERSONAL Kasikornbank Thailand. Personal/retail account.
CountryISO3166
Value Description
ID Indonesia
PH Philippines
TH Thailand
DestinationBankCode
Value Description
DUMMY_BANK_DESTINATION
ID_BCA
ID_BCA_SYR
ID_BNI
ID_BNI_SYR
ID_BRI
ID_BRI_SYR
ID_MANDIRI
ID_MANDIRI_SYR
ID_BTN
ID_BTN_SYR
ID_PERMATA
ID_PERMATA_SYR
ID_DNMN
ID_DNMN_SYR
ID_BTPN
ID_BTPN_SYR
ID_OCBC
ID_OCBC_SYR
ID_MAYBANK
ID_MAYBANK_SYR
ID_CIMB
ID_CIMB_SYR
ID_PAN
ID_PAN_SYR
ID_MEGA
ID_MEGA_SYR
ID_BKP
ID_BKP_SYR
ID_DKI
ID_DKI_SYR
ID_BJB
ID_BJB_SYR
ID_JATIM
ID_JATIM_SYR
ID_HSBC
ID_DBS
ID_STAN
ID_UOB
ID_CITI
PH_BDO
PH_BPI
PH_BPIF
PH_METRO
PH_PNB
PH_PNBS
PH_RCBC
PH_RCBCS
PH_SB
PH_SBS
PH_UB
PH_CLRB
PH_GXI
PH_GBY
PH_LBP
PH_PMP
PH_PSB
PH_RSB
PH_CB
PH_CBS
TH_KBANK
PH_ALLBANK
PH_SUNSB
PH_STERLING
PH_MBSMB
PH_AUB
PH_BOC
PH_MAYBANK
PH_PBCOM
PH_CTBC
PH_EWB
PH_EQB
PH_OMNIPAY
PH_UCPB
PH_PHILTRUST
PH_WDB
PH_DUNGGANUN
PH_UCPBSB
PH_ISLA
PH_PRBC
PH_PBB
PH_PVB
PH_YSBP
PH_MABUHAY
PH_CTBCPH
PH_ING
PH_QCRB
PH_BDONB
PH_EWBRB
TH_SCB
PH_STAN
PH_HSBC
PH_CITI
PH_BOA
PH_UOB
PH_TOKYO
PH_MICB
PH_DBP
PH_ANZ
PH_KEB_HANA
PH_CHASE
PH_FCB
PH_MIZUHO
PH_DBS
PH_BBL
PH_CHINA
PH_SUMITOMO_MITSUI
PH_SHINHAN
PH_IBK
PH_STARPAY
PH_QUEENBANK
PH_INNOVATIVE_BANK
PH_AAIIB
PH_PRODUCERSSBC
PH_BPI_BANKO
PH_CIMB
PH_BANKFLORIDAPH
PH_GUINOBATAN
PH_HSBCSB
PH_CAMALIG
PH_COUNTRY_BUILDERS
PH_RANGAY_BANK
PH_COINSPH
PH_CARDBANK
CurrencyISO4217

CurrencyISO4217 iso is the 3 digit currency that will be used as standard currency type on fast checkout. View list here. Example:

{
  "banks": [
    {
      "bank_code": "BankCode",
      "name": "string",
      "title": "string",
      "country": "CountryISO3166",
      "enabled": "bool",
      "logo_url": "string",
      "placement_order": "int32",
      "bank_codes_supported": "[]DestinationBankCode",
      "portal_name": "string",
      "fund_transfer_limit": {
        "cur": "CurrencyISO4217",
        "intrabank": {
          "min": "string",
          "max": "string"
        },
        "interbank": {
          "min": "string",
          "max": "string"
        }
      },
      "fund_transfer_fee": {
        "cur": "CurrencyISO4217",
        "id_online_transfer_limit": "string",
        "id_online_transfer_fee": "string",
        "id_llg_transfer_limit": "string",
        "id_llg_transfer_fee": "string",
        "id_rtgs_transfer_fee": "string",
        "ph_instapay_transfer_limit": "string",
        "ph_instapay_transfer_fee": "string",
        "ph_pesonet_transfer_fee": "string",
        "intrabank_transfer_fee": "string"
      },
      "statement_retrieval_supported": "bool"
    }
  ],
  "destination_banks": [
    {
      "bank_code": "DestinationBankCode",
      "name": "string",
      "title": "string",
      "country": "CountryISO3166"
    }
  ],
  "org_id": "string"
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.
400 Returned when the request body is malformatted or does not match the expected request.
401 Returned when the request does not contains the user’s credentials.
403 Returned when the user does not have permission to access the resource.
500 Returned when an unexpected error occured on the server side.

Retrieve the transactions

RetrieveTransactions returns the details of transactions. By specifying the transaction_id of the relevant transaction as a query parameter, only the record specific to that transaction will be retrieved. If no transaction_id is specified in the query parameter, the response will return all transaction records and list them from most recent to latest. Retrieved transaction records are paginated.

curl -X GET \
	https://direct.sandbox.bnk.to/v1/transaction \
	-H 'x-api-key: USE_YOUR_API_KEY'

HTTP Request

GET https://direct.sandbox.bnk.to/v1/transaction

Responses

Response body

Name Type Description
transactions []TransactionResponse transactions are the transactions that match the filters of a request.
next_page int32 next_page is the number of the next page that can be returned. if it is 0, there are no more pages available.
total_count int32 total_count of the transactions matched by the query filters
Objects
TransactionResponse
Name Type Description
transaction_id string TransactionID is the transaction firestore document identifier.
org_id string OrgID is the organization identifier.
destination_account_id string destination_account_id is the string ID corresponding to the bank information of the recipient.
business_info_id string business_info_id contains the unique identifier of the business information object.
from AccountInfo from is the source account information. Bank code parameter is optional. If bank code is set in checkout request, then Brankas Tap would show the bank selector page. If it is not set, then Brankas Tap would not show the bank selector page. Bank Codes used in this field follow a different convention from the bank codes used for the destination account in the to object. For the full list of supported bank codes, see Source Account Bank Codes in the Bank Codes section.
to DestinationAccountInfo to is the destination account information.
amount Amount Amount is the transfer amount.
customer Customer Customer contains customer information
consent_granted bool ConsentGranted is the flag that represents if the user gave the system its consent.
additional_details AdditionalDetails additional_details contains the additional optional information related to the transaction.
payment_channel PaymentChannelType PaymentChannel is the desired payment channel to use for the fund transfer.
settlement_id string SettlementID is the settlement identifier.
reference_id string ReferenceID is the client identifier for an invoice object
user_memo string UserMemo is the user supplied memo line (e.g. RRN).
bank_memo string BankMemo is the bank supplied memo line (e.g. confirmation number).
attempts int32 Attempts is the count of transactional attempts.
error string Error holds the error text if an error occured during the transfer.
status Status Status indicates the current status of the transfer.
status_desc string StatusDesc contains the description about the status for this transaction.
status_code string StatusCode contains the status code for this transaction.
finish string Finish is the timestamp the task was completed.
created string Created is a timestamp the task was created.
updated string Updated is the timestamp the task was modified.
expiry_date_time string expiry_date_time is the expiry time of the created invoice. This parameter will enable merchants to to set their own invoice expiry so that it matches their business process better. Value will be on UTC timestamp. If the field is omitted, default 24 hour expiry time will be placed instead.
AccountInfo
Name Type Description
type AccountInfoType The type of info relating to a bank transfer account. Please fill in with “BANK”.
bank_code BankCode Brankas bank code. Only present when type is BANK. Bank Codes differ depending on whether they are used as the source or the destination of a funds transfer. Bank code parameter is optional. If bank code is set in checkout request, then Brankas Tap would show the bank selector page. If it is not set, then Brankas Tap would not show the bank selector page. For the full list and details on bank codes, please see the Bank Codes section.
country CountryISO3166 The country where the end user’s bank is based using ISO 3166 Alpha-2 country codes. Currently supports: Indonesia: ID, Philippines: PH, & Thailand: TH.
DestinationAccountInfo
Name Type Description
type AccountInfoType Type is the account info type.
bank_code DestinationBankCode BankCode is a bank code. Only present when type is BANK.
account_number string AccountNumber is a bank account number.
identifier string Identifier is a unique account ID, profile ID, or the bank account number and is interpreted based on the account info type.
holder_name string HolderName is the name of the account holder. This field is DEPRECATED in favor of the HolderFirstName, HolderMiddleName and HolderLastName which we join to come up with a full name.
holder_first_name string HolderFirstName is the first name of the account holder.
holder_middle_name string HolderMiddleName is the middle name of the account holder.
holder_last_name string HolderLastName is the last name of the account holder.
email_address string EmailAddress is the destination user email address.
mobile_country_code string MobileCountryCode is the mobile country dial code.
mobile_number string MobileNumber is the destination user mobile number.
address_line1 string AddressLine1 is the user destination address information.
address_line2 string AddressLine1 is the user destination address additional information.
city string City is the user destination residential city.
state string State is the user destination residential state.
country string Country is the user destination residential country.
Amount
Name Type Description
cur CurrencyISO4217 Cur is the currency.
num string Num is the numeric value.
Customer
Name Type Description
fname string The end user’s first name.
lname string The end user’s last name.
mname string The end user’s middle name.
email string The customer’s contact email.
mobile string The end user’s mobile phone number.
phone string Phone is the customer’s Landline number.
customer_id string An additional user identifier, such as a UUID, that the Brankas client can optionally add to the customer object.
address Address Address is the customer’s address.
AdditionalDetails
Name Type Description
qr_code string QRCodeRawData contains the raw text data that will be used to recreate the QRCode.
account_alias_id string AccountAliasID is the alternative identifier of the destination account.
to_address_line1 string ToAddressLine1 is the user destination address information.
to_address_line2 string ToAddressLine1 is the user destination address additional information.
to_city string ToCity is the user destination residential city.
to_state string ToState is the user destination residential state.
to_country string ToCountry is the user destination residential country.
terms_of_use_version string TermsOfUseVersion is the version number of the terms of use document that the user interacted unto.
privacy_policy_version string PrivacyPolicyVersion is the version number of the privacy policy document that the user interacted unto.
user_id_hash string UserIdHash is the hash of the end user’s bank code and online banking username used to uniquely identify an end user across clients
user_access_hash string UserAccessHash is the hash of the end user’s bank code and online banking credentials used to uniquely identify an end user based on their access credentials
user_account_hash string UserAccountHash is the hash of the end user’s bank code and specific bank account used for the transaction used to identify if the end user is using the same or different bank accounts
via Via Via indicates fund transfer rail used for the transfer
bank_fee Amount BankFee indicates the amount that will be deducted from the end user’s account as a fee from the bank for performing the fund transfer
settlement_identifier string SettlementIdentifier contains the primary identifier used by the settlement partner for this type of bank.
settlement_identifier_alias string SettlementIdentifierAlias contains the alias or secondary identifier used by the settlement partner for this type of bank.
Timestamp
Name Type Description
seconds int64
nanos int32
Address
Name Type Description
line1 string Line1 is the customer’s first line of address
line2 string Line2 is the customer’s second line of address
city string City is the customer’s city
province string Province is the customer’s province
zip_code string ZipCode is the customer’s postal code
country string Country is the country the customer is located in
PaymentChannelType

PaymentChannelType is the payment rail that will be used to facilitate the fund transfer using settlement partners. Allows for the selection of established settlement partners to be used in order to move fund transfer to the beneficiary bank accounts.

Value Description
PH_PAYNAMICS Process inter-bank fund transfer via Paynamics settlements service, a Brankas Partner.
ID_BANK_MEGA_IPG Process inter-bank fund transfer via Bank Mega - IPG settlements service.
ID_SHOPEE Process intra/inter-bank fund transfer via Shopee Pay QRIS acquirer.
Status

Status is the possible statuses of a transfer or account listing operation.

Status Value Description
0 PENDING Pending operation.
1 AWAITING_TFA Awaiting TFA authentication.
2 SUCCESS Successful operation.
3 ERROR Error during operation.
4 LOGIN_ERROR Login Error.
5 INVOICE_CREATED Checkout invoice created.
6 AWAITING_LOGIN Login in progress.
7 AWAITING_LOGIN_TFA Awaiting login TFA Authentication.
8 AWAITING_ACCOUNT_SELECT Awaiting account selection.
9 AWAITING_TRANSFER_TFA Awaiting transfer TFA Authentication.
10 IN_PROGRESS Transfer is in progress.
11 EXPIRED Transaction Expired.
12 FLAGGED Transaction Flagged - receiver needs to do manual verification and settlement.
13 CANCELLED Transaction Cancelled - sender cancelled the transaction.
14 DENIED Transaction Denied - sender denied the consent.
15 FAILED Transaction Failed - receiver was not able to receive the funds.
AccountInfoType

AccountInfoType is the type of info relating to a bank transfer account.

Value Description
AccountInfoTypeUNKNOWN Unrecognised info type.
ACCOUNT Account type.
PROFILE Profile type.
BANK Bank type.
MSISDN Phone number type.
BankCode
Value Description
DUMMY_BANK_PERSONAL Brankas Bank. A test bank that you can make sandboxed calls to as part of integration testing.
MANDIRI_PERSONAL PT. Bank Mandiri (Persero), TBK. Personal/retail account.
BCA_PERSONAL PT. Bank Central Asia, TBK. Personal/retail account.
BNI_PERSONAL PT. Bank Negara Indonesia (Persero), TBK. Personal/retail account.
BRI_PERSONAL PT. Bank Rakyat Indonesia (Persero), TBK.
CIMB_PERSONAL PT Bank CIMB Niaga Tbk
PERMATA_PERSONAL Bank code to retrieve ratail bank account statements / transaction histories from PermataBank
BDO_PERSONAL Banco De Oro Unibank, Inc. (BDO). Personal/retail account.
BPI_PERSONAL Bank of the Philippine Islands (BPI). Personal/retail account.
PNB_PERSONAL Philippine National Bank (PNB). Personal/retail account.
UNIONBANK_PERSONAL Union Bank of the Philippines. Personal/retail account.
METROBANK_PERSONAL The Metropolitan Bank and Trust Company (Metrobank). Personal/retail account.
RCBC_PERSONAL The Rizal Commercial Banking Corporation (RCBC). Personal/retail account.
SCB_PERSONAL Siam Commercial Bank of Thailand. Personal/retail account.
KASIKORNBANK_PERSONAL Kasikornbank Thailand. Personal/retail account.
CountryISO3166
Value Description
ID Indonesia
PH Philippines
TH Thailand
DestinationBankCode
Value Description
DUMMY_BANK_DESTINATION
ID_BCA
ID_BCA_SYR
ID_BNI
ID_BNI_SYR
ID_BRI
ID_BRI_SYR
ID_MANDIRI
ID_MANDIRI_SYR
ID_BTN
ID_BTN_SYR
ID_PERMATA
ID_PERMATA_SYR
ID_DNMN
ID_DNMN_SYR
ID_BTPN
ID_BTPN_SYR
ID_OCBC
ID_OCBC_SYR
ID_MAYBANK
ID_MAYBANK_SYR
ID_CIMB
ID_CIMB_SYR
ID_PAN
ID_PAN_SYR
ID_MEGA
ID_MEGA_SYR
ID_BKP
ID_BKP_SYR
ID_DKI
ID_DKI_SYR
ID_BJB
ID_BJB_SYR
ID_JATIM
ID_JATIM_SYR
ID_HSBC
ID_DBS
ID_STAN
ID_UOB
ID_CITI
PH_BDO
PH_BPI
PH_BPIF
PH_METRO
PH_PNB
PH_PNBS
PH_RCBC
PH_RCBCS
PH_SB
PH_SBS
PH_UB
PH_CLRB
PH_GXI
PH_GBY
PH_LBP
PH_PMP
PH_PSB
PH_RSB
PH_CB
PH_CBS
TH_KBANK
PH_ALLBANK
PH_SUNSB
PH_STERLING
PH_MBSMB
PH_AUB
PH_BOC
PH_MAYBANK
PH_PBCOM
PH_CTBC
PH_EWB
PH_EQB
PH_OMNIPAY
PH_UCPB
PH_PHILTRUST
PH_WDB
PH_DUNGGANUN
PH_UCPBSB
PH_ISLA
PH_PRBC
PH_PBB
PH_PVB
PH_YSBP
PH_MABUHAY
PH_CTBCPH
PH_ING
PH_QCRB
PH_BDONB
PH_EWBRB
TH_SCB
PH_STAN
PH_HSBC
PH_CITI
PH_BOA
PH_UOB
PH_TOKYO
PH_MICB
PH_DBP
PH_ANZ
PH_KEB_HANA
PH_CHASE
PH_FCB
PH_MIZUHO
PH_DBS
PH_BBL
PH_CHINA
PH_SUMITOMO_MITSUI
PH_SHINHAN
PH_IBK
PH_STARPAY
PH_QUEENBANK
PH_INNOVATIVE_BANK
PH_AAIIB
PH_PRODUCERSSBC
PH_BPI_BANKO
PH_CIMB
PH_BANKFLORIDAPH
PH_GUINOBATAN
PH_HSBCSB
PH_CAMALIG
PH_COUNTRY_BUILDERS
PH_RANGAY_BANK
PH_COINSPH
PH_CARDBANK
CurrencyISO4217

CurrencyISO4217 iso is the 3 digit currency that will be used as standard currency type on fast checkout. View list here.

Via is the fund transfer rail enum.

Value Description
UNKNOWN_Via
INTRABANK
IDONLINE
IDLLG
IDRTGS
PHINSTAPAY
PHPESONET

Example:

{
  "transactions": [
    {
      "transaction_id": "string",
      "org_id": "string",
      "destination_account_id": "string",
      "business_info_id": "string",
      "from": {
        "type": "BANK",
        "bank_code": "BCA_PERSONAL",
        "identifier": "xxxxxx0000",
        "holder_name": "Test User"
      },
      "to": {
        "type": "BANK",
        "bank_code": "DUMMY_BANK_DESTINATION",
        "identifier": "xxxxx1234",
        "holder_name": "Test Recipient Account Holder"
      },
      "amount": {
        "cur": "CurrencyISO4217",
        "num": "string"
      },
      "customer": {
        "fname": "string",
        "lname": "string",
        "mname": "string",
        "email": "string",
        "mobile": "string",
        "phone": "string",
        "customer_id": "string",
        "address": {
          "line1": "string",
          "line2": "string",
          "city": "string",
          "province": "string",
          "zip_code": "string",
          "country": "string"
        }
      },
      "consent_granted": "bool",
      "additional_details": {
        "account_alias_id": "xyz321",
        "terms_of_use_version": "1.0.1",
        "privacy_policy_version": "1.0.1",
        "user_id_hash": "7c5ec69d9ef4c2067fbea4eaa79e837ff2b76a2f3ba73714c55fe992bebb3a3b",
        "user_access_hash": "0e9685ecf2c74b4ed296aab4793b6ec209c306d5ebfa7025aca62c6f7c8ba25d",
        "user_account_hash": "9a310918ca530c9a1e6f34385af5827ad02c89d668bc61623adcb46a43860ecc",
        "via": "INTRABANK",
        "bank_fee": {
          "cur": "IDR",
          "num": "0"
        }
      },
      "payment_channel": "PaymentChannelType",
      "settlement_id": "string",
      "reference_id": "string",
      "user_memo": "string",
      "bank_memo": "string",
      "attempts": "int32",
      "error": "string",
      "status": "Status",
      "status_desc": "string",
      "status_code": "string",
      "finish": {
        "seconds": "int64",
        "nanos": "int32"
      },
      "created": {
        "seconds": "int64",
        "nanos": "int32"
      },
      "updated": {
        "seconds": "int64",
        "nanos": "int32"
      },
      "expiry_date_time": {
        "seconds": "int64",
        "nanos": "int32"
      }
    }
  ],
  "next_page": 2,
  "total_count": 25
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.
400 Returned when the request body is malformatted or does not match the expected request.
401 Returned when the request does not contains the user’s credentials.
403 Returned when the user does not have permission to access the resource.
500 Returned when an unexpected error occured on the server side.

Settles the flagged fund transfer

SettleCheckout retrieves the pending flagged transfer task then settles it

curl -X POST \
	https://direct.sandbox.bnk.to/v1/checkout/settle \
	-H 'x-api-key: USE_YOUR_API_KEY' \
	-d '{
		"transaction_id": "string",
		"status": "SUCCESS"
	}'

HTTP Request

POST https://direct.sandbox.bnk.to/v1/checkout/settle

Body Parameters

Name Type Description
transaction_id string transaction_id is the unique identifier corresponding to a transfer task.
status Status status defines the result of the create transfer request.
Enums
Status

Status is the possible statuses of a transfer or account listing operation.

Status Value Description
0 PENDING Pending operation.
1 AWAITING_TFA Awaiting TFA authentication.
2 SUCCESS Successful operation.
3 ERROR Error during operation.
4 LOGIN_ERROR Login Error.
5 INVOICE_CREATED Checkout invoice created.
6 AWAITING_LOGIN Login in progress.
7 AWAITING_LOGIN_TFA Awaiting login TFA Authentication.
8 AWAITING_ACCOUNT_SELECT Awaiting account selection.
9 AWAITING_TRANSFER_TFA Awaiting transfer TFA Authentication.
10 IN_PROGRESS Transfer is in progress.
11 EXPIRED Transaction Expired.
12 FLAGGED Transaction Flagged - receiver needs to do manual verification and settlement.
13 CANCELLED Transaction Cancelled - sender cancelled the transaction.
14 DENIED Transaction Denied - sender denied the consent.
15 FAILED Transaction Failed - receiver was not able to receive the funds.

Responses

Response body

Name Type Description

Example:

{}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.
400 Returned when the request body is malformatted or does not match the expected request.
401 Returned when the request does not contains the user’s credentials.
403 Returned when the user does not have permission to access the resource.
500 Returned when an unexpected error occured on the server side.

Callbacks and Webhook URL

Brankas Direct supports the sending of callbacks to your pre-registered webhook URL.

The callback to your webhook URL will include both the relevant fund transfer request’s internal transaction_id along with the status of the operation. This can be then used to query the Brankas Direct Transaction Database directly using the RetrieveTransaction endpoint to retrieve all relevant transaction details.

curl -L -X POST 'https://example.com/callback' \
  -H 'Content-Type: application/json' \
  --data-raw '{
    "transaction_id": "f6355a01-e32b-426e-b2af-85366d305743",
    "status": 2
    "reference_id": “9005376336”
} '
Field Type Description
transaction_id String The unique ID assigned to the fund transfer request
status Int The resulting final status of the transaction completed by the end user via the Brankas Tap. See status guide below. For the callback, you will receive only the terminal status for the transaction, i.e., Status Codes 2, 3, and 4.
reference_id String Any additional identifier, such as a UUID, that corresponds to an invoice, cart, or transaction object. The Brankas Client can use this field to associate the fund transfer request to a corresponding transaction object in its transaction database.

Transaction Status Guide

Status Value Description
0 PENDING Pending operation.
1 AWAITING_TFA Awaiting TFA authentication.
2 SUCCESS Successful operation.
3 ERROR Error during operation.
4 LOGIN_ERROR Login Error.
5 INVOICE_CREATED Checkout invoice created.
6 AWAITING_LOGIN Login in progress.
7 AWAITING_LOGIN_TFA Awaiting login TFA Authentication.
8 AWAITING_ACCOUNT_SELECT Awaiting account selection.
9 AWAITING_TRANSFER_TFA Awaiting transfer TFA Authentication.
10 IN_PROGRESS Transfer is in progress.
11 EXPIRED Transaction Expired.
12 FLAGGED Transaction Flagged - receiver needs to do manual verification and settlement.
13 CANCELLED Transaction Cancelled - sender cancelled the transaction.
14 DENIED Transaction Denied - sender denied the consent.
15 FAILED Transaction Failed - receiver was not able to receive the funds.

Implementation Recommendation

When an end user is redirected back to your application via your specified return_url, it is recommended to retrieve the full details of the transaction_id specified in the callback to your webhook URL. The full transaction details can be queried using the Retrieve Transaction endpoint.

Disburse

Brankas Disburse API provides services for disbursement operations on the disbursement resource.

  • Host https://disburse.sandbox.bnk.to

API Reference Overview

Account Inquiry

Allows merchants to do inquiry of the destination account/beneficiary account before executing a disbursement.

curl -X POST \
	https://disburse.sandbox.bnk.to/v1/disbursements/account-inquiry \
	-H 'x-api-key: USE_YOUR_API_KEY' \
	-d '{
		"destination_bank_account": {
			"bank": "DUMMY_DESTINATION_BANK",
			"number": "8581319920"
		},
		"source_account_id": "string"
	}'

HTTP Request

POST https://disburse.sandbox.bnk.to/v1/disbursements/account-inquiry

Body Parameters

Name Type Description
destination_bank_account DestinationBankAccountDetails BankAccount is account information to validate
source_account_id string SourceAccountID is the uuid of source account
Objects
DestinationBankAccountDetails
Name Type Description
account_id string AccountID is the ID of bank stored in database
bank DestinationBankCode Bank is the destination bank code
number string Number is the account number of the destination account.
holder_name string HolderName is the name on the destination account.
type AccountType Type is the type of bank account
address Address Address is the registered address for the destination account owner, used by some integrations.
bank_title string Bank Title is the bank title
country_code CountryCode CountryCode is the code represent the country of the bank
external_account_id string ExternalAccountID is external account id stored in external system
email string when value of e-mail is present, the disbursement notification should be sent to the e-mail address with the correct disbursement information.
Address
Name Type Description
line1 string Line1 is the first line of the address.
line2 string Line2 is the second line of the address.
city string City is the city this address is situated in.
province string Province is the more specific area this address is situated in.
zip_code string ZipCode of the address.
country string Country of the destination account.
Enums
DestinationBankCode

You may download the latest Philippines and Indonesia Bank codes here

Value Description
UNKNOWN_DESTINATION_BANK
DUMMY_DESTINATION_BANK
DUMMY_INTERBANK
PARTNER_RESERVE_CODE_1
PARTNER_RESERVE_CODE_2
PARTNER_RESERVE_CODE_3
PARTNER_RESERVE_CODE_4
PARTNER_RESERVE_CODE_5
PARTNER_RESERVE_CODE_6
PARTNER_RESERVE_CODE_7
PARTNER_RESERVE_CODE_8
PARTNER_RESERVE_CODE_9
PARTNER_RESERVE_CODE_10
PARTNER_RESERVE_CODE_11
PARTNER_RESERVE_CODE_12
PARTNER_RESERVE_CODE_13
PARTNER_RESERVE_CODE_14
PARTNER_RESERVE_CODE_15
PARTNER_RESERVE_CODE_16
PARTNER_RESERVE_CODE_17
ID_ACEH_SYR
ID_AMAR
ID_ANTARDAERAH
ID_ANZ
ID_ARTHAGRAHA
ID_BANGKOK
ID_BANTEN_SYR
ID_BCA
ID_BCA_SYR
ID_BCAD
ID_BEK
ID_BI
ID_BISNIS_INTL
ID_BJB
ID_BJB_SYR
ID_BKP
ID_BKP_SYR
ID_BNI
ID_BNI_SYR
ID_BNP_PARIBAS
ID_BOA
ID_BPD_BALI
ID_BPD_BANTEN
ID_BPD_BENGKULU
ID_BRI
ID_BRI_AGRO
ID_BRI_SYR
ID_BSI
ID_BSYR
ID_BTN
ID_BTN_SYR
ID_BTPN
ID_BTPN_SYR
ID_BUMI_ARTA
ID_CAPITAL
ID_CCB
ID_CHASE
ID_CHINA
ID_CIMB
ID_CIMB_SYR
ID_CITI
ID_COMMONWEALTH
ID_CTBC
ID_DANA
ID_DBS
ID_DEU_AG
ID_DINAR
ID_DIY
ID_DKI
ID_DKI_SYR
ID_DNMN
ID_DNMN_SYR
ID_DOKU
ID_FAMA
ID_FINNET
ID_GANESHA
ID_GOPAY
ID_HARDA
ID_HSBC
ID_IBK
ID_ICBC
ID_INA_PERDANA
ID_INDEX_SELINDO
ID_INDIA
ID_JAGO
ID_JAMBI
ID_JAMBI_SYR
ID_JASA_JAKARTA
ID_JATENG_SYR
ID_JATIM
ID_JATIM_SYR
ID_JAWA_TENGAH
ID_JTRUST
ID_KALBAR
ID_KALBAR_SYR
ID_KALSEL
ID_KALSEL_SYR
ID_KALTENG
ID_KALTIM_KALTARA
ID_KALTIM_KALTARA_SYR
ID_KEB_HANA
ID_LAMPUNG
ID_LINK
ID_MALUKU
ID_MANDIRI
ID_MANDIRI_SYR
ID_MANDIRI_TASPEN
ID_MASPION
ID_MAYAPADA
ID_MAYBANK
ID_MAYBANK_SYR
ID_MAYORA
ID_MEGA
ID_MEGA_SYR
ID_MESTIKA_DHARMA
ID_MIZUHO
ID_MNC_INTL
ID_MUAMALAT
ID_MUFG
ID_MULTI_ARTA
ID_NAGARI
ID_NEO
ID_NOBU
ID_NTB
ID_NTT
ID_OCBC
ID_OCBC_SYR
ID_OKE
ID_PAN
ID_PAN_SYR
ID_PAPUA
ID_PAYPRO
ID_PERMATA
ID_PERMATA_SYR
ID_PRIMA_MASTER
ID_QNB
ID_RESONA_PERDANIA
ID_RIAU_KEPRI
ID_SAHABAT_SAMPEORNA
ID_SBI
ID_SEA
ID_SINARMAS
ID_SINARMAS_SYR
ID_STAN
ID_SULSELBAR
ID_SULSELBAR_SYR
ID_SULTENG
ID_SULTRA
ID_SULUT
ID_SUMSEL_BABEL
ID_SUMSEL_BABEL_SYR
ID_SUMUT
ID_SUMUT_SYR
ID_TELKOM
ID_UOB
ID_VICTORIA
ID_VICTORIA_SYR
ID_WOORI_SAUDARA
ID_XLTUNAI
ID_YOG_SYR
ID_RESERVE_BANK_CODE_1
ID_RESERVE_BANK_CODE_2
ID_RESERVE_BANK_CODE_3
ID_RESERVE_BANK_CODE_4
ID_RESERVE_BANK_CODE_5
ID_RESERVE_BANK_CODE_6
ID_RESERVE_BANK_CODE_7
ID_RESERVE_BANK_CODE_8
ID_RESERVE_BANK_CODE_9
ID_RESERVE_BANK_CODE_10
ID_RESERVE_BANK_CODE_11
ID_RESERVE_BANK_CODE_12
ID_RESERVE_BANK_CODE_13
ID_RESERVE_BANK_CODE_14
ID_RESERVE_BANK_CODE_15
ID_RESERVE_BANK_CODE_16
ID_RESERVE_BANK_CODE_17
ID_RESERVE_BANK_CODE_18
ID_RESERVE_BANK_CODE_19
ID_RESERVE_BANK_CODE_20
ID_RESERVE_BANK_CODE_21
ID_RESERVE_BANK_CODE_22
ID_RESERVE_BANK_CODE_23
ID_RESERVE_BANK_CODE_24
ID_RESERVE_BANK_CODE_25
ID_RESERVE_BANK_CODE_26
ID_RESERVE_BANK_CODE_27
ID_RESERVE_BANK_CODE_28
ID_RESERVE_BANK_CODE_29
ID_RESERVE_BANK_CODE_30
ID_RESERVE_BANK_CODE_31
ID_RESERVE_BANK_CODE_32
ID_RESERVE_BANK_CODE_33
ID_RESERVE_BANK_CODE_34
ID_RESERVE_BANK_CODE_35
ID_RESERVE_BANK_CODE_36
ID_RESERVE_BANK_CODE_37
ID_RESERVE_BANK_CODE_38
ID_RESERVE_BANK_CODE_39
ID_RESERVE_BANK_CODE_40
ID_RESERVE_BANK_CODE_41
ID_RESERVE_BANK_CODE_42
ID_RESERVE_BANK_CODE_43
ID_RESERVE_BANK_CODE_44
ID_RESERVE_BANK_CODE_45
ID_RESERVE_BANK_CODE_46
ID_RESERVE_BANK_CODE_47
ID_RESERVE_BANK_CODE_48
ID_RESERVE_BANK_CODE_49
ID_RESERVE_BANK_CODE_50
ID_RESERVE_BANK_CODE_51
ID_RESERVE_BANK_CODE_52
ID_RESERVE_BANK_CODE_53
ID_RESERVE_BANK_CODE_54
ID_RESERVE_BANK_CODE_55
ID_RESERVE_BANK_CODE_56
ID_RESERVE_BANK_CODE_57
ID_RESERVE_BANK_CODE_58
ID_RESERVE_BANK_CODE_59
ID_RESERVE_BANK_CODE_60
ID_RESERVE_BANK_CODE_61
ID_RESERVE_BANK_CODE_62
ID_RESERVE_BANK_CODE_63
ID_RESERVE_BANK_CODE_64
ID_RESERVE_BANK_CODE_65
ID_RESERVE_BANK_CODE_66
ID_RESERVE_BANK_CODE_67
ID_RESERVE_BANK_CODE_68
ID_RESERVE_BANK_CODE_69
ID_RESERVE_BANK_CODE_70
ID_RESERVE_BANK_CODE_71
ID_RESERVE_BANK_CODE_72
ID_RESERVE_BANK_CODE_73
ID_RESERVE_BANK_CODE_74
ID_RESERVE_BANK_CODE_75
ID_RESERVE_BANK_CODE_76
ID_RESERVE_BANK_CODE_77
ID_RESERVE_BANK_CODE_78
ID_RESERVE_BANK_CODE_79
ID_RESERVE_BANK_CODE_80
ID_RESERVE_BANK_CODE_81
ID_RESERVE_BANK_CODE_82
ID_RESERVE_BANK_CODE_83
ID_RESERVE_BANK_CODE_84
ID_RESERVE_BANK_CODE_85
ID_RESERVE_BANK_CODE_86
ID_RESERVE_BANK_CODE_87
ID_RESERVE_BANK_CODE_88
ID_RESERVE_BANK_CODE_89
ID_RESERVE_BANK_CODE_90
PH_AAIB
PH_ABC
PH_ALLBANK
PH_ANZB
PH_AUB
PH_BBPC
PH_BDBI
PH_BDO
PH_BDONB
PH_BKB
PH_BNSDP
PH_BOANA
PH_BOC
PH_BOCN
PH_BOFL
PH_BOM
PH_BPI
PH_BRBI
PH_CB
PH_CBBI
PH_CBCN
PH_CBI
PH_CBNA
PH_CBS
PH_CIMBBP
PH_CLRB
PH_CMLB
PH_CRBR
PH_CSBI
PH_CTBC
PH_CTBCPH
PH_CUBC
PH_DBOTP
PH_DCDB
PH_DCPP
PH_DMB
PH_DTCHB
PH_DUNGGANUN
PH_EQB
PH_EWB
PH_EWBRB
PH_FCB
PH_GBY
PH_GRB
PH_GXI
PH_HKASBC
PH_HSBCSBP
PH_IBOKM
PH_ICBC
PH_ING
PH_INNB
PH_ISLA
PH_JPMCB
PH_KEB
PH_LBP
PH_LFSP
PH_LPBC
PH_MABUHAY
PH_MAYAB
PH_MAYBANK
PH_MBSMB
PH_METRO
PH_MICB
PH_MLRTRB
PH_MMRB
PH_MUFG
PH_MVSMB
PH_MZHB
PH_NB
PH_OMNIPAY
PH_ONB
PH_PBB
PH_PBCOM
PH_PBOM
PH_PHILTRUST
PH_PMP
PH_PNB
PH_PNBS
PH_PRBC
PH_PRCB
PH_PROSB
PH_PSB
PH_PVB
PH_QCDB
PH_QCRB
PH_RAB
PH_RBOB
PH_RBOD
PH_RBOG
PH_RBOLP
PH_RBOLSK
PH_RBOR
PH_RBOSI
PH_RBOSM
PH_RBTB
PH_RCBC
PH_RCBCS
PH_RSB
PH_SB
PH_SHNB
PH_SMBC
PH_STERLING
PH_SUNSB
PH_TSCB
PH_TYSB
PH_UB
PH_UBE
PH_UCPB
PH_UCPBSB
PH_UMS
PH_UOBP
PH_WDB
PH_YSBP
PH_ZYBI
PH_API
PH_BNRBI
PH_CDBI
PH_CBCI
PH_CSMEBI
PH_SBPI
PH_LSBI
PH_MCC
PH_PALP
PH_CBQP
PH_RBOBC
PH_RBOSAI
PH_SPPI
PH_SPCP
PH_UDBI
PH_TYI
PH_TDBI
PH_ALLBI
PH_RESERVE_BANK_CODE_19
PH_RESERVE_BANK_CODE_20
PH_RESERVE_BANK_CODE_21
PH_RESERVE_BANK_CODE_22
PH_RESERVE_BANK_CODE_23
PH_RESERVE_BANK_CODE_24
PH_RESERVE_BANK_CODE_25
PH_RESERVE_BANK_CODE_26
PH_RESERVE_BANK_CODE_27
PH_RESERVE_BANK_CODE_28
PH_RESERVE_BANK_CODE_29
PH_RESERVE_BANK_CODE_30
PH_RESERVE_BANK_CODE_31
PH_RESERVE_BANK_CODE_32
PH_RESERVE_BANK_CODE_33
PH_RESERVE_BANK_CODE_34
PH_RESERVE_BANK_CODE_35
PH_RESERVE_BANK_CODE_36
PH_RESERVE_BANK_CODE_37
PH_RESERVE_BANK_CODE_38
PH_RESERVE_BANK_CODE_39
PH_RESERVE_BANK_CODE_40
PH_RESERVE_BANK_CODE_41
PH_RESERVE_BANK_CODE_42
PH_RESERVE_BANK_CODE_43
PH_RESERVE_BANK_CODE_44
PH_RESERVE_BANK_CODE_45
PH_RESERVE_BANK_CODE_46
PH_RESERVE_BANK_CODE_47
PH_RESERVE_BANK_CODE_48
PH_RESERVE_BANK_CODE_49
PH_RESERVE_BANK_CODE_50
PH_RESERVE_BANK_CODE_51
PH_RESERVE_BANK_CODE_52
PH_RESERVE_BANK_CODE_53
PH_RESERVE_BANK_CODE_54
PH_RESERVE_BANK_CODE_55
PH_RESERVE_BANK_CODE_56
PH_RESERVE_BANK_CODE_57
PH_RESERVE_BANK_CODE_58
PH_RESERVE_BANK_CODE_59
PH_RESERVE_BANK_CODE_60
PH_RESERVE_BANK_CODE_61
PH_RESERVE_BANK_CODE_62
PH_RESERVE_BANK_CODE_63
PH_RESERVE_BANK_CODE_64
PH_RESERVE_BANK_CODE_65
PH_RESERVE_BANK_CODE_66
PH_RESERVE_BANK_CODE_67
PH_RESERVE_BANK_CODE_68
PH_RESERVE_BANK_CODE_69
PH_RESERVE_BANK_CODE_70
PH_RESERVE_BANK_CODE_71
PH_RESERVE_BANK_CODE_72
PH_RESERVE_BANK_CODE_73
PH_RESERVE_BANK_CODE_74
PH_RESERVE_BANK_CODE_75
PH_RESERVE_BANK_CODE_76
PH_RESERVE_BANK_CODE_77
PH_RESERVE_BANK_CODE_78
PH_RESERVE_BANK_CODE_79
PH_RESERVE_BANK_CODE_80
PH_RESERVE_BANK_CODE_81
PH_RESERVE_BANK_CODE_82
PH_RESERVE_BANK_CODE_83
PH_RESERVE_BANK_CODE_84
PH_RESERVE_BANK_CODE_85
PH_RESERVE_BANK_CODE_86
PH_RESERVE_BANK_CODE_87
PH_RESERVE_BANK_CODE_88
PH_RESERVE_BANK_CODE_89
PH_RESERVE_BANK_CODE_90
PH_RESERVE_BANK_CODE_91
PH_RESERVE_BANK_CODE_92
PH_RESERVE_BANK_CODE_93
PH_RESERVE_BANK_CODE_94
PH_RESERVE_BANK_CODE_95
PH_RESERVE_BANK_CODE_96
PH_RESERVE_BANK_CODE_97
PH_RESERVE_BANK_CODE_98
PH_RESERVE_BANK_CODE_99
PH_RESERVE_BANK_CODE_100
PH_RESERVE_BANK_CODE_101
PH_RESERVE_BANK_CODE_102
PH_RESERVE_BANK_CODE_103
PH_RESERVE_BANK_CODE_104
PH_RESERVE_BANK_CODE_105
PH_RESERVE_BANK_CODE_106
PH_RESERVE_BANK_CODE_107
PH_RESERVE_BANK_CODE_108
PH_RESERVE_BANK_CODE_109
PH_RESERVE_BANK_CODE_110
PH_RESERVE_BANK_CODE_111
PH_RESERVE_BANK_CODE_112
PH_RESERVE_BANK_CODE_113
PH_RESERVE_BANK_CODE_114
PH_RESERVE_BANK_CODE_115
PH_RESERVE_BANK_CODE_116
AccountType

AccountType is the type of bank account.

Value Description
UNKNOWN_ACCOUNT_TYPE
PERSONAL
CORPORATE
GOVERNMENT
CountryCode
Value Description
UNKNOWN_COUNTRY_CODE
ID
PH
VN
TH

Responses

Response body

Name Type Description
result Result Result will return a success or error type for the response
bank_account DestinationBankAccountDetails BankAccount is the bank account information
Objects
Result
Name Type Description
success bool
error []Error
message string
DestinationBankAccountDetails
Name Type Description
account_id string AccountID is the ID of bank stored in database
bank DestinationBankCode Bank is the destination bank code
number string Number is the account number of the destination account.
holder_name string HolderName is the name on the destination account.
type AccountType Type is the type of bank account
address Address Address is the registered address for the destination account owner, used by some integrations.
bank_title string Bank Title is the bank title
country_code CountryCode CountryCode is the code represent the country of the bank
external_account_id string ExternalAccountID is external account id stored in external system
email string when value of e-mail is present, the disbursement notification should be sent to the e-mail address with the correct disbursement information.
Error
Name Type Description
code string
message string
Address
Name Type Description
line1 string Line1 is the first line of the address.
line2 string Line2 is the second line of the address.
city string City is the city this address is situated in.
province string Province is the more specific area this address is situated in.
zip_code string ZipCode of the address.
country string Country of the destination account.
Enums
DestinationBankCode

You may download the latest Philippines and Indonesia Bank codes here

Value Description
UNKNOWN_DESTINATION_BANK
DUMMY_DESTINATION_BANK
DUMMY_INTERBANK
PARTNER_RESERVE_CODE_1
PARTNER_RESERVE_CODE_2
PARTNER_RESERVE_CODE_3
PARTNER_RESERVE_CODE_4
PARTNER_RESERVE_CODE_5
PARTNER_RESERVE_CODE_6
PARTNER_RESERVE_CODE_7
PARTNER_RESERVE_CODE_8
PARTNER_RESERVE_CODE_9
PARTNER_RESERVE_CODE_10
PARTNER_RESERVE_CODE_11
PARTNER_RESERVE_CODE_12
PARTNER_RESERVE_CODE_13
PARTNER_RESERVE_CODE_14
PARTNER_RESERVE_CODE_15
PARTNER_RESERVE_CODE_16
PARTNER_RESERVE_CODE_17
ID_ACEH_SYR
ID_AMAR
ID_ANTARDAERAH
ID_ANZ
ID_ARTHAGRAHA
ID_BANGKOK
ID_BANTEN_SYR
ID_BCA
ID_BCA_SYR
ID_BCAD
ID_BEK
ID_BI
ID_BISNIS_INTL
ID_BJB
ID_BJB_SYR
ID_BKP
ID_BKP_SYR
ID_BNI
ID_BNI_SYR
ID_BNP_PARIBAS
ID_BOA
ID_BPD_BALI
ID_BPD_BANTEN
ID_BPD_BENGKULU
ID_BRI
ID_BRI_AGRO
ID_BRI_SYR
ID_BSI
ID_BSYR
ID_BTN
ID_BTN_SYR
ID_BTPN
ID_BTPN_SYR
ID_BUMI_ARTA
ID_CAPITAL
ID_CCB
ID_CHASE
ID_CHINA
ID_CIMB
ID_CIMB_SYR
ID_CITI
ID_COMMONWEALTH
ID_CTBC
ID_DANA
ID_DBS
ID_DEU_AG
ID_DINAR
ID_DIY
ID_DKI
ID_DKI_SYR
ID_DNMN
ID_DNMN_SYR
ID_DOKU
ID_FAMA
ID_FINNET
ID_GANESHA
ID_GOPAY
ID_HARDA
ID_HSBC
ID_IBK
ID_ICBC
ID_INA_PERDANA
ID_INDEX_SELINDO
ID_INDIA
ID_JAGO
ID_JAMBI
ID_JAMBI_SYR
ID_JASA_JAKARTA
ID_JATENG_SYR
ID_JATIM
ID_JATIM_SYR
ID_JAWA_TENGAH
ID_JTRUST
ID_KALBAR
ID_KALBAR_SYR
ID_KALSEL
ID_KALSEL_SYR
ID_KALTENG
ID_KALTIM_KALTARA
ID_KALTIM_KALTARA_SYR
ID_KEB_HANA
ID_LAMPUNG
ID_LINK
ID_MALUKU
ID_MANDIRI
ID_MANDIRI_SYR
ID_MANDIRI_TASPEN
ID_MASPION
ID_MAYAPADA
ID_MAYBANK
ID_MAYBANK_SYR
ID_MAYORA
ID_MEGA
ID_MEGA_SYR
ID_MESTIKA_DHARMA
ID_MIZUHO
ID_MNC_INTL
ID_MUAMALAT
ID_MUFG
ID_MULTI_ARTA
ID_NAGARI
ID_NEO
ID_NOBU
ID_NTB
ID_NTT
ID_OCBC
ID_OCBC_SYR
ID_OKE
ID_PAN
ID_PAN_SYR
ID_PAPUA
ID_PAYPRO
ID_PERMATA
ID_PERMATA_SYR
ID_PRIMA_MASTER
ID_QNB
ID_RESONA_PERDANIA
ID_RIAU_KEPRI
ID_SAHABAT_SAMPEORNA
ID_SBI
ID_SEA
ID_SINARMAS
ID_SINARMAS_SYR
ID_STAN
ID_SULSELBAR
ID_SULSELBAR_SYR
ID_SULTENG
ID_SULTRA
ID_SULUT
ID_SUMSEL_BABEL
ID_SUMSEL_BABEL_SYR
ID_SUMUT
ID_SUMUT_SYR
ID_TELKOM
ID_UOB
ID_VICTORIA
ID_VICTORIA_SYR
ID_WOORI_SAUDARA
ID_XLTUNAI
ID_YOG_SYR
ID_RESERVE_BANK_CODE_1
ID_RESERVE_BANK_CODE_2
ID_RESERVE_BANK_CODE_3
ID_RESERVE_BANK_CODE_4
ID_RESERVE_BANK_CODE_5
ID_RESERVE_BANK_CODE_6
ID_RESERVE_BANK_CODE_7
ID_RESERVE_BANK_CODE_8
ID_RESERVE_BANK_CODE_9
ID_RESERVE_BANK_CODE_10
ID_RESERVE_BANK_CODE_11
ID_RESERVE_BANK_CODE_12
ID_RESERVE_BANK_CODE_13
ID_RESERVE_BANK_CODE_14
ID_RESERVE_BANK_CODE_15
ID_RESERVE_BANK_CODE_16
ID_RESERVE_BANK_CODE_17
ID_RESERVE_BANK_CODE_18
ID_RESERVE_BANK_CODE_19
ID_RESERVE_BANK_CODE_20
ID_RESERVE_BANK_CODE_21
ID_RESERVE_BANK_CODE_22
ID_RESERVE_BANK_CODE_23
ID_RESERVE_BANK_CODE_24
ID_RESERVE_BANK_CODE_25
ID_RESERVE_BANK_CODE_26
ID_RESERVE_BANK_CODE_27
ID_RESERVE_BANK_CODE_28
ID_RESERVE_BANK_CODE_29
ID_RESERVE_BANK_CODE_30
ID_RESERVE_BANK_CODE_31
ID_RESERVE_BANK_CODE_32
ID_RESERVE_BANK_CODE_33
ID_RESERVE_BANK_CODE_34
ID_RESERVE_BANK_CODE_35
ID_RESERVE_BANK_CODE_36
ID_RESERVE_BANK_CODE_37
ID_RESERVE_BANK_CODE_38
ID_RESERVE_BANK_CODE_39
ID_RESERVE_BANK_CODE_40
ID_RESERVE_BANK_CODE_41
ID_RESERVE_BANK_CODE_42
ID_RESERVE_BANK_CODE_43
ID_RESERVE_BANK_CODE_44
ID_RESERVE_BANK_CODE_45
ID_RESERVE_BANK_CODE_46
ID_RESERVE_BANK_CODE_47
ID_RESERVE_BANK_CODE_48
ID_RESERVE_BANK_CODE_49
ID_RESERVE_BANK_CODE_50
ID_RESERVE_BANK_CODE_51
ID_RESERVE_BANK_CODE_52
ID_RESERVE_BANK_CODE_53
ID_RESERVE_BANK_CODE_54
ID_RESERVE_BANK_CODE_55
ID_RESERVE_BANK_CODE_56
ID_RESERVE_BANK_CODE_57
ID_RESERVE_BANK_CODE_58
ID_RESERVE_BANK_CODE_59
ID_RESERVE_BANK_CODE_60
ID_RESERVE_BANK_CODE_61
ID_RESERVE_BANK_CODE_62
ID_RESERVE_BANK_CODE_63
ID_RESERVE_BANK_CODE_64
ID_RESERVE_BANK_CODE_65
ID_RESERVE_BANK_CODE_66
ID_RESERVE_BANK_CODE_67
ID_RESERVE_BANK_CODE_68
ID_RESERVE_BANK_CODE_69
ID_RESERVE_BANK_CODE_70
ID_RESERVE_BANK_CODE_71
ID_RESERVE_BANK_CODE_72
ID_RESERVE_BANK_CODE_73
ID_RESERVE_BANK_CODE_74
ID_RESERVE_BANK_CODE_75
ID_RESERVE_BANK_CODE_76
ID_RESERVE_BANK_CODE_77
ID_RESERVE_BANK_CODE_78
ID_RESERVE_BANK_CODE_79
ID_RESERVE_BANK_CODE_80
ID_RESERVE_BANK_CODE_81
ID_RESERVE_BANK_CODE_82
ID_RESERVE_BANK_CODE_83
ID_RESERVE_BANK_CODE_84
ID_RESERVE_BANK_CODE_85
ID_RESERVE_BANK_CODE_86
ID_RESERVE_BANK_CODE_87
ID_RESERVE_BANK_CODE_88
ID_RESERVE_BANK_CODE_89
ID_RESERVE_BANK_CODE_90
PH_AAIB
PH_ABC
PH_ALLBANK
PH_ANZB
PH_AUB
PH_BBPC
PH_BDBI
PH_BDO
PH_BDONB
PH_BKB
PH_BNSDP
PH_BOANA
PH_BOC
PH_BOCN
PH_BOFL
PH_BOM
PH_BPI
PH_BRBI
PH_CB
PH_CBBI
PH_CBCN
PH_CBI
PH_CBNA
PH_CBS
PH_CIMBBP
PH_CLRB
PH_CMLB
PH_CRBR
PH_CSBI
PH_CTBC
PH_CTBCPH
PH_CUBC
PH_DBOTP
PH_DCDB
PH_DCPP
PH_DMB
PH_DTCHB
PH_DUNGGANUN
PH_EQB
PH_EWB
PH_EWBRB
PH_FCB
PH_GBY
PH_GRB
PH_GXI
PH_HKASBC
PH_HSBCSBP
PH_IBOKM
PH_ICBC
PH_ING
PH_INNB
PH_ISLA
PH_JPMCB
PH_KEB
PH_LBP
PH_LFSP
PH_LPBC
PH_MABUHAY
PH_MAYAB
PH_MAYBANK
PH_MBSMB
PH_METRO
PH_MICB
PH_MLRTRB
PH_MMRB
PH_MUFG
PH_MVSMB
PH_MZHB
PH_NB
PH_OMNIPAY
PH_ONB
PH_PBB
PH_PBCOM
PH_PBOM
PH_PHILTRUST
PH_PMP
PH_PNB
PH_PNBS
PH_PRBC
PH_PRCB
PH_PROSB
PH_PSB
PH_PVB
PH_QCDB
PH_QCRB
PH_RAB
PH_RBOB
PH_RBOD
PH_RBOG
PH_RBOLP
PH_RBOLSK
PH_RBOR
PH_RBOSI
PH_RBOSM
PH_RBTB
PH_RCBC
PH_RCBCS
PH_RSB
PH_SB
PH_SHNB
PH_SMBC
PH_STERLING
PH_SUNSB
PH_TSCB
PH_TYSB
PH_UB
PH_UBE
PH_UCPB
PH_UCPBSB
PH_UMS
PH_UOBP
PH_WDB
PH_YSBP
PH_ZYBI
PH_API
PH_BNRBI
PH_CDBI
PH_CBCI
PH_CSMEBI
PH_SBPI
PH_LSBI
PH_MCC
PH_PALP
PH_CBQP
PH_RBOBC
PH_RBOSAI
PH_SPPI
PH_SPCP
PH_UDBI
PH_TYI
PH_TDBI
PH_ALLBI
PH_RESERVE_BANK_CODE_19
PH_RESERVE_BANK_CODE_20
PH_RESERVE_BANK_CODE_21
PH_RESERVE_BANK_CODE_22
PH_RESERVE_BANK_CODE_23
PH_RESERVE_BANK_CODE_24
PH_RESERVE_BANK_CODE_25
PH_RESERVE_BANK_CODE_26
PH_RESERVE_BANK_CODE_27
PH_RESERVE_BANK_CODE_28
PH_RESERVE_BANK_CODE_29
PH_RESERVE_BANK_CODE_30
PH_RESERVE_BANK_CODE_31
PH_RESERVE_BANK_CODE_32
PH_RESERVE_BANK_CODE_33
PH_RESERVE_BANK_CODE_34
PH_RESERVE_BANK_CODE_35
PH_RESERVE_BANK_CODE_36
PH_RESERVE_BANK_CODE_37
PH_RESERVE_BANK_CODE_38
PH_RESERVE_BANK_CODE_39
PH_RESERVE_BANK_CODE_40
PH_RESERVE_BANK_CODE_41
PH_RESERVE_BANK_CODE_42
PH_RESERVE_BANK_CODE_43
PH_RESERVE_BANK_CODE_44
PH_RESERVE_BANK_CODE_45
PH_RESERVE_BANK_CODE_46
PH_RESERVE_BANK_CODE_47
PH_RESERVE_BANK_CODE_48
PH_RESERVE_BANK_CODE_49
PH_RESERVE_BANK_CODE_50
PH_RESERVE_BANK_CODE_51
PH_RESERVE_BANK_CODE_52
PH_RESERVE_BANK_CODE_53
PH_RESERVE_BANK_CODE_54
PH_RESERVE_BANK_CODE_55
PH_RESERVE_BANK_CODE_56
PH_RESERVE_BANK_CODE_57
PH_RESERVE_BANK_CODE_58
PH_RESERVE_BANK_CODE_59
PH_RESERVE_BANK_CODE_60
PH_RESERVE_BANK_CODE_61
PH_RESERVE_BANK_CODE_62
PH_RESERVE_BANK_CODE_63
PH_RESERVE_BANK_CODE_64
PH_RESERVE_BANK_CODE_65
PH_RESERVE_BANK_CODE_66
PH_RESERVE_BANK_CODE_67
PH_RESERVE_BANK_CODE_68
PH_RESERVE_BANK_CODE_69
PH_RESERVE_BANK_CODE_70
PH_RESERVE_BANK_CODE_71
PH_RESERVE_BANK_CODE_72
PH_RESERVE_BANK_CODE_73
PH_RESERVE_BANK_CODE_74
PH_RESERVE_BANK_CODE_75
PH_RESERVE_BANK_CODE_76
PH_RESERVE_BANK_CODE_77
PH_RESERVE_BANK_CODE_78
PH_RESERVE_BANK_CODE_79
PH_RESERVE_BANK_CODE_80
PH_RESERVE_BANK_CODE_81
PH_RESERVE_BANK_CODE_82
PH_RESERVE_BANK_CODE_83
PH_RESERVE_BANK_CODE_84
PH_RESERVE_BANK_CODE_85
PH_RESERVE_BANK_CODE_86
PH_RESERVE_BANK_CODE_87
PH_RESERVE_BANK_CODE_88
PH_RESERVE_BANK_CODE_89
PH_RESERVE_BANK_CODE_90
PH_RESERVE_BANK_CODE_91
PH_RESERVE_BANK_CODE_92
PH_RESERVE_BANK_CODE_93
PH_RESERVE_BANK_CODE_94
PH_RESERVE_BANK_CODE_95
PH_RESERVE_BANK_CODE_96
PH_RESERVE_BANK_CODE_97
PH_RESERVE_BANK_CODE_98
PH_RESERVE_BANK_CODE_99
PH_RESERVE_BANK_CODE_100
PH_RESERVE_BANK_CODE_101
PH_RESERVE_BANK_CODE_102
PH_RESERVE_BANK_CODE_103
PH_RESERVE_BANK_CODE_104
PH_RESERVE_BANK_CODE_105
PH_RESERVE_BANK_CODE_106
PH_RESERVE_BANK_CODE_107
PH_RESERVE_BANK_CODE_108
PH_RESERVE_BANK_CODE_109
PH_RESERVE_BANK_CODE_110
PH_RESERVE_BANK_CODE_111
PH_RESERVE_BANK_CODE_112
PH_RESERVE_BANK_CODE_113
PH_RESERVE_BANK_CODE_114
PH_RESERVE_BANK_CODE_115
PH_RESERVE_BANK_CODE_116
AccountType

AccountType is the type of bank account.

Value Description
UNKNOWN_ACCOUNT_TYPE
PERSONAL
CORPORATE
GOVERNMENT
CountryCode
Value Description
UNKNOWN_COUNTRY_CODE
ID
PH
VN
TH

Example:

{
  "result": {
    "success": true
  },
  "bank_account": {
    "bank": "DUMMY_DESTINATION_BANK",
    "number": "8581319920",
    "holder_name": "NOOP Bank Holder Name"
  }
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.
400 Returned when the request body is malformatted or does not match the expected request.
401 Returned when the request does not contains the user’s credentials.
403 Returned when the user does not have permission to access the resource.
500 Returned when an unexpected error occured on the server side.

Create Bank Account

Allows merchants to register bank accounts along with bank credentials before executing a disbursement request. Alternatively, you can access the Brankas Dashboard to create a source bank account with credentials.

curl -X POST \
	https://disburse.sandbox.bnk.to/v1/bank-accounts \
	-H 'x-api-key: USE_YOUR_API_KEY' \
	-d '{
		"bank_accounts": [
			{
				"account_id": "string",
				"source_bank": "SourceBankCode",
				"destination_bank": "DestinationBankCode",
				"account_no": "string",
				"holder_name": {
					"first_name": "string",
					"middle_name": "string",
					"last_name": "string"
				},
				"account_type": "AccountType",
				"is_source": "bool",
				"country": "string",
				"address": {
					"line1": "string",
					"line2": "string",
					"city": "string",
					"province": "string",
					"zip_code": "string",
					"country": "string"
				},
				"email_id": "[]string",
				"source_bank_credential": {
					"credential_id": "string",
					"source_account_id": "string",
					"client_id": "string",
					"client_secret": "string",
					"api_id": "string",
					"api_secret": "string",
					"partner_id": "string",
					"username": "string",
					"password": "string",
					"access_token": "string",
					"isOAuth": "bool",
					"access_token_exp": "string",
					"refresh_token": "string"
				},
				"bank_title": "string",
				"country_code": "CountryCode",
				"external_account_id": "string",
				"balance": {
					"cur": "string",
					"num": "string",
					"is_live": "bool",
					"last_sync": {
						"seconds": "int64",
						"nanos": "int32"
					}
				},
				"account_class": "AccountClass",
				"authorized_signatories": "[]string"
			}
		]
	}'

HTTP Request

POST https://disburse.sandbox.bnk.to/v1/bank-accounts

Body Parameters

Name Type Description
bank_accounts []BankAccountDetails
Objects
BankAccountDetails
Name Type Description
account_id string AccountID is an UUID generated when user add bank account
source_bank SourceBankCode SourceBankCode is bank code for source account.
destination_bank DestinationBankCode DestinationBankCode is bank code for destination account.
account_no string AccountNo is the bank account number.
holder_name FullName HolderName is the name of the owner of the bank account.
account_type AccountType AccountType is type of bank account (personal or corporate).
is_source bool IsSourceAccount determine it a source or destination bank account.
country string Country of the destination account.
address Address Address is the registered address for the destination account.
email_id []string EmailID is the list of email of account holder.
source_bank_credential SourceBankCredential BankCredential is a source bank account credential
bank_title string Bank Title is the bank title
country_code CountryCode CountryCode is the code represent the country of the bank
external_account_id string ExternalAccountID is external account id stored in external system
balance BankAccountBalance Balance is the balance left from specific account
account_class AccountClass AccountClass is the class of specific account (partner or merchant)
authorized_signatories []string AuthorizedSignatories is the list of authorized signatory
FullName
Name Type Description
first_name string FirstName is first name of holder.
middle_name string MiddleName is middle name of holder.
last_name string LastName is last name of holder.
Address
Name Type Description
line1 string Line1 is the first line of the address.
line2 string Line2 is the second line of the address.
city string City is the city this address is situated in.
province string Province is the more specific area this address is situated in.
zip_code string ZipCode of the address.
country string Country of the destination account.
SourceBankCredential
Name Type Description
credential_id string CredentialID is the uuid generated when insert credential to database.
source_account_id string SourceAccountID is the uuid of source account
client_id string ClientID is a client id provide by bank for merchant
client_secret string ClientSecret is a client secret provide by bank for merchant
api_id string ApiID is a api id provide by bank for merchant (applied for BCA)
api_secret string ApiSecret is a ap secret provide by bank for merchant (applied for BCA)
partner_id string PartnerID is a partner id provide by bank for merchant, some bank called it CorporateID
username string Username is a username provided by bank to generate bearer token.
password string Password is a username provided by bank to generate bearer token.
access_token string AccessToken is the access token
isOAuth bool IsOAuth is the auth type
access_token_exp string AccessTokenExp is the access token expired
refresh_token string RefreshToken is the refresh token
BankAccountBalance
Name Type Description
cur string BalanceCur is currency of the account balance
num string BalanceNum is number of amount in the account balance.
is_live bool IsLive is boolean indicate getting the balance from db/bank api.
last_sync Timestamp LastSync is last sync balance with bank api.
Timestamp
Name Type Description
seconds int64
nanos int32
Enums
SourceBankCode
Value Description
UNKNOWN_BANK
DUMMY_BANK_CORPORATE
DUMMY_BANK_OAUTH2_CORPORATE
BCA_CORPORATE
BNI_CORPORATE
BRI_CORPORATE
PERMATA_CORPORATE
UNIONBANK_CORPORATE
NETBANK_CORPORATE
BNC_CORPORATE
DestinationBankCode

You may download the latest Philippines and Indonesia Bank codes here

Value Description
UNKNOWN_DESTINATION_BANK
DUMMY_DESTINATION_BANK
DUMMY_INTERBANK
PARTNER_RESERVE_CODE_1
PARTNER_RESERVE_CODE_2
PARTNER_RESERVE_CODE_3
PARTNER_RESERVE_CODE_4
PARTNER_RESERVE_CODE_5
PARTNER_RESERVE_CODE_6
PARTNER_RESERVE_CODE_7
PARTNER_RESERVE_CODE_8
PARTNER_RESERVE_CODE_9
PARTNER_RESERVE_CODE_10
PARTNER_RESERVE_CODE_11
PARTNER_RESERVE_CODE_12
PARTNER_RESERVE_CODE_13
PARTNER_RESERVE_CODE_14
PARTNER_RESERVE_CODE_15
PARTNER_RESERVE_CODE_16
PARTNER_RESERVE_CODE_17
ID_ACEH_SYR
ID_AMAR
ID_ANTARDAERAH
ID_ANZ
ID_ARTHAGRAHA
ID_BANGKOK
ID_BANTEN_SYR
ID_BCA
ID_BCA_SYR
ID_BCAD
ID_BEK
ID_BI
ID_BISNIS_INTL
ID_BJB
ID_BJB_SYR
ID_BKP
ID_BKP_SYR
ID_BNI
ID_BNI_SYR
ID_BNP_PARIBAS
ID_BOA
ID_BPD_BALI
ID_BPD_BANTEN
ID_BPD_BENGKULU
ID_BRI
ID_BRI_AGRO
ID_BRI_SYR
ID_BSI
ID_BSYR
ID_BTN
ID_BTN_SYR
ID_BTPN
ID_BTPN_SYR
ID_BUMI_ARTA
ID_CAPITAL
ID_CCB
ID_CHASE
ID_CHINA
ID_CIMB
ID_CIMB_SYR
ID_CITI
ID_COMMONWEALTH
ID_CTBC
ID_DANA
ID_DBS
ID_DEU_AG
ID_DINAR
ID_DIY
ID_DKI
ID_DKI_SYR
ID_DNMN
ID_DNMN_SYR
ID_DOKU
ID_FAMA
ID_FINNET
ID_GANESHA
ID_GOPAY
ID_HARDA
ID_HSBC
ID_IBK
ID_ICBC
ID_INA_PERDANA
ID_INDEX_SELINDO
ID_INDIA
ID_JAGO
ID_JAMBI
ID_JAMBI_SYR
ID_JASA_JAKARTA
ID_JATENG_SYR
ID_JATIM
ID_JATIM_SYR
ID_JAWA_TENGAH
ID_JTRUST
ID_KALBAR
ID_KALBAR_SYR
ID_KALSEL
ID_KALSEL_SYR
ID_KALTENG
ID_KALTIM_KALTARA
ID_KALTIM_KALTARA_SYR
ID_KEB_HANA
ID_LAMPUNG
ID_LINK
ID_MALUKU
ID_MANDIRI
ID_MANDIRI_SYR
ID_MANDIRI_TASPEN
ID_MASPION
ID_MAYAPADA
ID_MAYBANK
ID_MAYBANK_SYR
ID_MAYORA
ID_MEGA
ID_MEGA_SYR
ID_MESTIKA_DHARMA
ID_MIZUHO
ID_MNC_INTL
ID_MUAMALAT
ID_MUFG
ID_MULTI_ARTA
ID_NAGARI
ID_NEO
ID_NOBU
ID_NTB
ID_NTT
ID_OCBC
ID_OCBC_SYR
ID_OKE
ID_PAN
ID_PAN_SYR
ID_PAPUA
ID_PAYPRO
ID_PERMATA
ID_PERMATA_SYR
ID_PRIMA_MASTER
ID_QNB
ID_RESONA_PERDANIA
ID_RIAU_KEPRI
ID_SAHABAT_SAMPEORNA
ID_SBI
ID_SEA
ID_SINARMAS
ID_SINARMAS_SYR
ID_STAN
ID_SULSELBAR
ID_SULSELBAR_SYR
ID_SULTENG
ID_SULTRA
ID_SULUT
ID_SUMSEL_BABEL
ID_SUMSEL_BABEL_SYR
ID_SUMUT
ID_SUMUT_SYR
ID_TELKOM
ID_UOB
ID_VICTORIA
ID_VICTORIA_SYR
ID_WOORI_SAUDARA
ID_XLTUNAI
ID_YOG_SYR
ID_RESERVE_BANK_CODE_1
ID_RESERVE_BANK_CODE_2
ID_RESERVE_BANK_CODE_3
ID_RESERVE_BANK_CODE_4
ID_RESERVE_BANK_CODE_5
ID_RESERVE_BANK_CODE_6
ID_RESERVE_BANK_CODE_7
ID_RESERVE_BANK_CODE_8
ID_RESERVE_BANK_CODE_9
ID_RESERVE_BANK_CODE_10
ID_RESERVE_BANK_CODE_11
ID_RESERVE_BANK_CODE_12
ID_RESERVE_BANK_CODE_13
ID_RESERVE_BANK_CODE_14
ID_RESERVE_BANK_CODE_15
ID_RESERVE_BANK_CODE_16
ID_RESERVE_BANK_CODE_17
ID_RESERVE_BANK_CODE_18
ID_RESERVE_BANK_CODE_19
ID_RESERVE_BANK_CODE_20
ID_RESERVE_BANK_CODE_21
ID_RESERVE_BANK_CODE_22
ID_RESERVE_BANK_CODE_23
ID_RESERVE_BANK_CODE_24
ID_RESERVE_BANK_CODE_25
ID_RESERVE_BANK_CODE_26
ID_RESERVE_BANK_CODE_27
ID_RESERVE_BANK_CODE_28
ID_RESERVE_BANK_CODE_29
ID_RESERVE_BANK_CODE_30
ID_RESERVE_BANK_CODE_31
ID_RESERVE_BANK_CODE_32
ID_RESERVE_BANK_CODE_33
ID_RESERVE_BANK_CODE_34
ID_RESERVE_BANK_CODE_35
ID_RESERVE_BANK_CODE_36
ID_RESERVE_BANK_CODE_37
ID_RESERVE_BANK_CODE_38
ID_RESERVE_BANK_CODE_39
ID_RESERVE_BANK_CODE_40
ID_RESERVE_BANK_CODE_41
ID_RESERVE_BANK_CODE_42
ID_RESERVE_BANK_CODE_43
ID_RESERVE_BANK_CODE_44
ID_RESERVE_BANK_CODE_45
ID_RESERVE_BANK_CODE_46
ID_RESERVE_BANK_CODE_47
ID_RESERVE_BANK_CODE_48
ID_RESERVE_BANK_CODE_49
ID_RESERVE_BANK_CODE_50
ID_RESERVE_BANK_CODE_51
ID_RESERVE_BANK_CODE_52
ID_RESERVE_BANK_CODE_53
ID_RESERVE_BANK_CODE_54
ID_RESERVE_BANK_CODE_55
ID_RESERVE_BANK_CODE_56
ID_RESERVE_BANK_CODE_57
ID_RESERVE_BANK_CODE_58
ID_RESERVE_BANK_CODE_59
ID_RESERVE_BANK_CODE_60
ID_RESERVE_BANK_CODE_61
ID_RESERVE_BANK_CODE_62
ID_RESERVE_BANK_CODE_63
ID_RESERVE_BANK_CODE_64
ID_RESERVE_BANK_CODE_65
ID_RESERVE_BANK_CODE_66
ID_RESERVE_BANK_CODE_67
ID_RESERVE_BANK_CODE_68
ID_RESERVE_BANK_CODE_69
ID_RESERVE_BANK_CODE_70
ID_RESERVE_BANK_CODE_71
ID_RESERVE_BANK_CODE_72
ID_RESERVE_BANK_CODE_73
ID_RESERVE_BANK_CODE_74
ID_RESERVE_BANK_CODE_75
ID_RESERVE_BANK_CODE_76
ID_RESERVE_BANK_CODE_77
ID_RESERVE_BANK_CODE_78
ID_RESERVE_BANK_CODE_79
ID_RESERVE_BANK_CODE_80
ID_RESERVE_BANK_CODE_81
ID_RESERVE_BANK_CODE_82
ID_RESERVE_BANK_CODE_83
ID_RESERVE_BANK_CODE_84
ID_RESERVE_BANK_CODE_85
ID_RESERVE_BANK_CODE_86
ID_RESERVE_BANK_CODE_87
ID_RESERVE_BANK_CODE_88
ID_RESERVE_BANK_CODE_89
ID_RESERVE_BANK_CODE_90
PH_AAIB
PH_ABC
PH_ALLBANK
PH_ANZB
PH_AUB
PH_BBPC
PH_BDBI
PH_BDO
PH_BDONB
PH_BKB
PH_BNSDP
PH_BOANA
PH_BOC
PH_BOCN
PH_BOFL
PH_BOM
PH_BPI
PH_BRBI
PH_CB
PH_CBBI
PH_CBCN
PH_CBI
PH_CBNA
PH_CBS
PH_CIMBBP
PH_CLRB
PH_CMLB
PH_CRBR
PH_CSBI
PH_CTBC
PH_CTBCPH
PH_CUBC
PH_DBOTP
PH_DCDB
PH_DCPP
PH_DMB
PH_DTCHB
PH_DUNGGANUN
PH_EQB
PH_EWB
PH_EWBRB
PH_FCB
PH_GBY
PH_GRB
PH_GXI
PH_HKASBC
PH_HSBCSBP
PH_IBOKM
PH_ICBC
PH_ING
PH_INNB
PH_ISLA
PH_JPMCB
PH_KEB
PH_LBP
PH_LFSP
PH_LPBC
PH_MABUHAY
PH_MAYAB
PH_MAYBANK
PH_MBSMB
PH_METRO
PH_MICB
PH_MLRTRB
PH_MMRB
PH_MUFG
PH_MVSMB
PH_MZHB
PH_NB
PH_OMNIPAY
PH_ONB
PH_PBB
PH_PBCOM
PH_PBOM
PH_PHILTRUST
PH_PMP
PH_PNB
PH_PNBS
PH_PRBC
PH_PRCB
PH_PROSB
PH_PSB
PH_PVB
PH_QCDB
PH_QCRB
PH_RAB
PH_RBOB
PH_RBOD
PH_RBOG
PH_RBOLP
PH_RBOLSK
PH_RBOR
PH_RBOSI
PH_RBOSM
PH_RBTB
PH_RCBC
PH_RCBCS
PH_RSB
PH_SB
PH_SHNB
PH_SMBC
PH_STERLING
PH_SUNSB
PH_TSCB
PH_TYSB
PH_UB
PH_UBE
PH_UCPB
PH_UCPBSB
PH_UMS
PH_UOBP
PH_WDB
PH_YSBP
PH_ZYBI
PH_API
PH_BNRBI
PH_CDBI
PH_CBCI
PH_CSMEBI
PH_SBPI
PH_LSBI
PH_MCC
PH_PALP
PH_CBQP
PH_RBOBC
PH_RBOSAI
PH_SPPI
PH_SPCP
PH_UDBI
PH_TYI
PH_TDBI
PH_ALLBI
PH_RESERVE_BANK_CODE_19
PH_RESERVE_BANK_CODE_20
PH_RESERVE_BANK_CODE_21
PH_RESERVE_BANK_CODE_22
PH_RESERVE_BANK_CODE_23
PH_RESERVE_BANK_CODE_24
PH_RESERVE_BANK_CODE_25
PH_RESERVE_BANK_CODE_26
PH_RESERVE_BANK_CODE_27
PH_RESERVE_BANK_CODE_28
PH_RESERVE_BANK_CODE_29
PH_RESERVE_BANK_CODE_30
PH_RESERVE_BANK_CODE_31
PH_RESERVE_BANK_CODE_32
PH_RESERVE_BANK_CODE_33
PH_RESERVE_BANK_CODE_34
PH_RESERVE_BANK_CODE_35
PH_RESERVE_BANK_CODE_36
PH_RESERVE_BANK_CODE_37
PH_RESERVE_BANK_CODE_38
PH_RESERVE_BANK_CODE_39
PH_RESERVE_BANK_CODE_40
PH_RESERVE_BANK_CODE_41
PH_RESERVE_BANK_CODE_42
PH_RESERVE_BANK_CODE_43
PH_RESERVE_BANK_CODE_44
PH_RESERVE_BANK_CODE_45
PH_RESERVE_BANK_CODE_46
PH_RESERVE_BANK_CODE_47
PH_RESERVE_BANK_CODE_48
PH_RESERVE_BANK_CODE_49
PH_RESERVE_BANK_CODE_50
PH_RESERVE_BANK_CODE_51
PH_RESERVE_BANK_CODE_52
PH_RESERVE_BANK_CODE_53
PH_RESERVE_BANK_CODE_54
PH_RESERVE_BANK_CODE_55
PH_RESERVE_BANK_CODE_56
PH_RESERVE_BANK_CODE_57
PH_RESERVE_BANK_CODE_58
PH_RESERVE_BANK_CODE_59
PH_RESERVE_BANK_CODE_60
PH_RESERVE_BANK_CODE_61
PH_RESERVE_BANK_CODE_62
PH_RESERVE_BANK_CODE_63
PH_RESERVE_BANK_CODE_64
PH_RESERVE_BANK_CODE_65
PH_RESERVE_BANK_CODE_66
PH_RESERVE_BANK_CODE_67
PH_RESERVE_BANK_CODE_68
PH_RESERVE_BANK_CODE_69
PH_RESERVE_BANK_CODE_70
PH_RESERVE_BANK_CODE_71
PH_RESERVE_BANK_CODE_72
PH_RESERVE_BANK_CODE_73
PH_RESERVE_BANK_CODE_74
PH_RESERVE_BANK_CODE_75
PH_RESERVE_BANK_CODE_76
PH_RESERVE_BANK_CODE_77
PH_RESERVE_BANK_CODE_78
PH_RESERVE_BANK_CODE_79
PH_RESERVE_BANK_CODE_80
PH_RESERVE_BANK_CODE_81
PH_RESERVE_BANK_CODE_82
PH_RESERVE_BANK_CODE_83
PH_RESERVE_BANK_CODE_84
PH_RESERVE_BANK_CODE_85
PH_RESERVE_BANK_CODE_86
PH_RESERVE_BANK_CODE_87
PH_RESERVE_BANK_CODE_88
PH_RESERVE_BANK_CODE_89
PH_RESERVE_BANK_CODE_90
PH_RESERVE_BANK_CODE_91
PH_RESERVE_BANK_CODE_92
PH_RESERVE_BANK_CODE_93
PH_RESERVE_BANK_CODE_94
PH_RESERVE_BANK_CODE_95
PH_RESERVE_BANK_CODE_96
PH_RESERVE_BANK_CODE_97
PH_RESERVE_BANK_CODE_98
PH_RESERVE_BANK_CODE_99
PH_RESERVE_BANK_CODE_100
PH_RESERVE_BANK_CODE_101
PH_RESERVE_BANK_CODE_102
PH_RESERVE_BANK_CODE_103
PH_RESERVE_BANK_CODE_104
PH_RESERVE_BANK_CODE_105
PH_RESERVE_BANK_CODE_106
PH_RESERVE_BANK_CODE_107
PH_RESERVE_BANK_CODE_108
PH_RESERVE_BANK_CODE_109
PH_RESERVE_BANK_CODE_110
PH_RESERVE_BANK_CODE_111
PH_RESERVE_BANK_CODE_112
PH_RESERVE_BANK_CODE_113
PH_RESERVE_BANK_CODE_114
PH_RESERVE_BANK_CODE_115
PH_RESERVE_BANK_CODE_116
AccountType

AccountType is the type of bank account.

Value Description
UNKNOWN_ACCOUNT_TYPE
PERSONAL
CORPORATE
GOVERNMENT
CountryCode
Value Description
UNKNOWN_COUNTRY_CODE
ID
PH
VN
TH
AccountClass

AccountClass is the class of account

Value Description
UNKNOWN_ACCOUNT_CLASS
PARTNER
MERCHANT

Responses

Response body

Name Type Description
bank_accounts []CreateBankAccountResponseDetails
Objects
CreateBankAccountResponseDetails
Name Type Description
account_id string AccountID is unique identifier retuned after adding account
credential_id string CredentialID is unique identifier returned after adding source account and its credential
result Result Result is the repsonse from system indicate bank details add.
Result
Name Type Description
success bool
error []Error
message string
Error
Name Type Description
code string
message string

Example:

{
  "bank_accounts": [
    {
      "account_id": "string",
      "credential_id": "string",
      "result": {
        "success": "bool",
        "error": [
          {
            "code": "string",
            "message": "string"
          }
        ],
        "message": "string"
      }
    }
  ]
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.
400 Returned when the request body is malformatted or does not match the expected request.
401 Returned when the request does not contains the user’s credentials.
403 Returned when the user does not have permission to access the resource.
500 Returned when an unexpected error occured on the server side.

Create Disbursement

Initiates a new disbursement to transfer funds from your source corporate bank account to beneficiaries. Create Disbursement endpoint supports multiple fund transfers within a single disbursement order from a single source of fund or a corporate bank account. For testing purposes, use Brankas sandbox baseURL. For UAT and live disbursement, use Brankas live baseURL. Sandbox and live baseURL are available here.

curl -X POST \
	https://disburse.sandbox.bnk.to/v2/disbursements \
	-H 'x-api-key: USE_YOUR_API_KEY' \
	-d '{
		"source_account_id": "string",
		"remark": "string",
		"disbursements": [
			{
				"merchant_txn_id": "31082021003088",
				"destination_account": {
					"bank": "DUMMY_DESTINATION_BANK",
					"number": "1234000012340000",
					"holder_name": "Dummy Recipient Name",
					"address": {
						"line1": "Address line 01",
						"line2": "Address line 02",
						"city": "City Name",
						"province": "Province Name",
						"zip_code": "12345",
						"country": "Country Name"
					},
					"type": "PAYMENT"
				},
				"destination_amount": {
					"num": "10000000",
					"cur": "IDR"
				}
			}
		]
	}'

HTTP Request

POST https://disburse.sandbox.bnk.to/v2/disbursements

Body Parameters

Name Type Description
source_account_id string SourceAccountID is the uuid of source account
remark string Remark is a remark of this request
disbursements []Disbursement Disbursements is the disbursements to attempt to create
Objects
Disbursement
Name Type Description
disbursement_id string DisbursementID is an id brankas uniquely generates for this disbursement
reference_id string ReferenceID is a reference from the merchant to uniquely identify a disbursement transaction, this should be an idempotent value
type DisbursementType Type is the type of disbursement being created
source_account SourceBankAccountDetails SourceAccount is the account to send payment from
destination_account DestinationBankAccountDetails DestinationAccount is the account to send payment to
destination_amount Amount DestinationAmount is the amount to be received by the destination account owner, after calculating the appropriate foreign exchange rate. ‘destination_amount.num’ should be in the lowest denomination for a currency
description string Description is what the destination account will see for the disbursement transaction
fees []Fee Fees are the associated fees for the disbursement
external External External is a field for all the information returned by the bank’s api regarding a disbursement
status DisbursementStatus Status defines the result of the request.
created Timestamp Created is a timestamp indicating when the disbursement was created
updated Timestamp Updated is a timestamp indicating when the disbursement was last updated
disbursement_request_id string DisbursementRequestID is the batch id for the processed disbursement request
note string Note is a reasons that cause disbursement invalid
merchant_txn_id string MerchantTransactionID is the transaction id from merchant which is used for reconciliation
SourceBankAccountDetails
Name Type Description
account_id string AccountID is the ID of bank stored in database
bank SourceBankCode Bank is which bank the bank account is for
number string Number is the bank account number
holder_name string HolderName is the name of the owner of the bank account
type AccountType Type is the type of bank account
address Address Address is the registered address for the source account owner
bank_title string Bank Title is the bank title
country_code CountryCode CountryCode is the code represent the country of the bank
external_account_id string ExternalAccountID is external account id stored in external system
DestinationBankAccountDetails
Name Type Description
account_id string AccountID is the ID of bank stored in database
bank DestinationBankCode Bank is the destination bank code
number string Number is the account number of the destination account.
holder_name string HolderName is the name on the destination account.
type AccountType Type is the type of bank account
address Address Address is the registered address for the destination account owner, used by some integrations.
bank_title string Bank Title is the bank title
country_code CountryCode CountryCode is the code represent the country of the bank
external_account_id string ExternalAccountID is external account id stored in external system
email string when value of e-mail is present, the disbursement notification should be sent to the e-mail address with the correct disbursement information.
Amount
Name Type Description
cur CurrencyISO4217 cur is the currency value.
num string num is the numeric value.
Fee
Name Type Description
name string Name is the name of the fee
amount Amount Amount is the amount of the fee
External
Name Type Description
reference_id string ReferenceID is the reference id returned from the bank’s api to uniquely identify a disbursement in their system.
status string Status is the disbursement status returned from the bank’s api
settlement_rail string SettlementRail is the transaction channel for the bank
error []Error Error is the error information returned by the bank’s api
Timestamp
Name Type Description
seconds int64
nanos int32
Address
Name Type Description
line1 string Line1 is the first line of the address.
line2 string Line2 is the second line of the address.
city string City is the city this address is situated in.
province string Province is the more specific area this address is situated in.
zip_code string ZipCode of the address.
country string Country of the destination account.
Error
Name Type Description
code string
message string
Enums
DisbursementType

DisbursementType is the type of disbursement.

Value Description
UNKNOWN_TYPE
CASHBACK
PAYMENT
PAYOUT
REFUND
SALARY
VENDOR_BILL
UTILITY
REPLENISHMENT
DisbursementStatus

DisbursementStatus is the status for disbursement.

Value Description
UNKNOWN_DISBURSEMENT_STATUS
CREATED
ERROR
SUCCESS
FAILED
PENDING
NOT_PROCESSED
SourceBankCode
Value Description
UNKNOWN_BANK
DUMMY_BANK_CORPORATE
DUMMY_BANK_OAUTH2_CORPORATE
BCA_CORPORATE
BNI_CORPORATE
BRI_CORPORATE
PERMATA_CORPORATE
UNIONBANK_CORPORATE
NETBANK_CORPORATE
BNC_CORPORATE
AccountType

AccountType is the type of bank account.

Value Description
UNKNOWN_ACCOUNT_TYPE
PERSONAL
CORPORATE
GOVERNMENT
CountryCode
Value Description
UNKNOWN_COUNTRY_CODE
ID
PH
VN
TH
DestinationBankCode

You may download the latest Philippines and Indonesia Bank codes here

Value Description
UNKNOWN_DESTINATION_BANK
DUMMY_DESTINATION_BANK
DUMMY_INTERBANK
PARTNER_RESERVE_CODE_1
PARTNER_RESERVE_CODE_2
PARTNER_RESERVE_CODE_3
PARTNER_RESERVE_CODE_4
PARTNER_RESERVE_CODE_5
PARTNER_RESERVE_CODE_6
PARTNER_RESERVE_CODE_7
PARTNER_RESERVE_CODE_8
PARTNER_RESERVE_CODE_9
PARTNER_RESERVE_CODE_10
PARTNER_RESERVE_CODE_11
PARTNER_RESERVE_CODE_12
PARTNER_RESERVE_CODE_13
PARTNER_RESERVE_CODE_14
PARTNER_RESERVE_CODE_15
PARTNER_RESERVE_CODE_16
PARTNER_RESERVE_CODE_17
ID_ACEH_SYR
ID_AMAR
ID_ANTARDAERAH
ID_ANZ
ID_ARTHAGRAHA
ID_BANGKOK
ID_BANTEN_SYR
ID_BCA
ID_BCA_SYR
ID_BCAD
ID_BEK
ID_BI
ID_BISNIS_INTL
ID_BJB
ID_BJB_SYR
ID_BKP
ID_BKP_SYR
ID_BNI
ID_BNI_SYR
ID_BNP_PARIBAS
ID_BOA
ID_BPD_BALI
ID_BPD_BANTEN
ID_BPD_BENGKULU
ID_BRI
ID_BRI_AGRO
ID_BRI_SYR
ID_BSI
ID_BSYR
ID_BTN
ID_BTN_SYR
ID_BTPN
ID_BTPN_SYR
ID_BUMI_ARTA
ID_CAPITAL
ID_CCB
ID_CHASE
ID_CHINA
ID_CIMB
ID_CIMB_SYR
ID_CITI
ID_COMMONWEALTH
ID_CTBC
ID_DANA
ID_DBS
ID_DEU_AG
ID_DINAR
ID_DIY
ID_DKI
ID_DKI_SYR
ID_DNMN
ID_DNMN_SYR
ID_DOKU
ID_FAMA
ID_FINNET
ID_GANESHA
ID_GOPAY
ID_HARDA
ID_HSBC
ID_IBK
ID_ICBC
ID_INA_PERDANA
ID_INDEX_SELINDO
ID_INDIA
ID_JAGO
ID_JAMBI
ID_JAMBI_SYR
ID_JASA_JAKARTA
ID_JATENG_SYR
ID_JATIM
ID_JATIM_SYR
ID_JAWA_TENGAH
ID_JTRUST
ID_KALBAR
ID_KALBAR_SYR
ID_KALSEL
ID_KALSEL_SYR
ID_KALTENG
ID_KALTIM_KALTARA
ID_KALTIM_KALTARA_SYR
ID_KEB_HANA
ID_LAMPUNG
ID_LINK
ID_MALUKU
ID_MANDIRI
ID_MANDIRI_SYR
ID_MANDIRI_TASPEN
ID_MASPION
ID_MAYAPADA
ID_MAYBANK
ID_MAYBANK_SYR
ID_MAYORA
ID_MEGA
ID_MEGA_SYR
ID_MESTIKA_DHARMA
ID_MIZUHO
ID_MNC_INTL
ID_MUAMALAT
ID_MUFG
ID_MULTI_ARTA
ID_NAGARI
ID_NEO
ID_NOBU
ID_NTB
ID_NTT
ID_OCBC
ID_OCBC_SYR
ID_OKE
ID_PAN
ID_PAN_SYR
ID_PAPUA
ID_PAYPRO
ID_PERMATA
ID_PERMATA_SYR
ID_PRIMA_MASTER
ID_QNB
ID_RESONA_PERDANIA
ID_RIAU_KEPRI
ID_SAHABAT_SAMPEORNA
ID_SBI
ID_SEA
ID_SINARMAS
ID_SINARMAS_SYR
ID_STAN
ID_SULSELBAR
ID_SULSELBAR_SYR
ID_SULTENG
ID_SULTRA
ID_SULUT
ID_SUMSEL_BABEL
ID_SUMSEL_BABEL_SYR
ID_SUMUT
ID_SUMUT_SYR
ID_TELKOM
ID_UOB
ID_VICTORIA
ID_VICTORIA_SYR
ID_WOORI_SAUDARA
ID_XLTUNAI
ID_YOG_SYR
ID_RESERVE_BANK_CODE_1
ID_RESERVE_BANK_CODE_2
ID_RESERVE_BANK_CODE_3
ID_RESERVE_BANK_CODE_4
ID_RESERVE_BANK_CODE_5
ID_RESERVE_BANK_CODE_6
ID_RESERVE_BANK_CODE_7
ID_RESERVE_BANK_CODE_8
ID_RESERVE_BANK_CODE_9
ID_RESERVE_BANK_CODE_10
ID_RESERVE_BANK_CODE_11
ID_RESERVE_BANK_CODE_12
ID_RESERVE_BANK_CODE_13
ID_RESERVE_BANK_CODE_14
ID_RESERVE_BANK_CODE_15
ID_RESERVE_BANK_CODE_16
ID_RESERVE_BANK_CODE_17
ID_RESERVE_BANK_CODE_18
ID_RESERVE_BANK_CODE_19
ID_RESERVE_BANK_CODE_20
ID_RESERVE_BANK_CODE_21
ID_RESERVE_BANK_CODE_22
ID_RESERVE_BANK_CODE_23
ID_RESERVE_BANK_CODE_24
ID_RESERVE_BANK_CODE_25
ID_RESERVE_BANK_CODE_26
ID_RESERVE_BANK_CODE_27
ID_RESERVE_BANK_CODE_28
ID_RESERVE_BANK_CODE_29
ID_RESERVE_BANK_CODE_30
ID_RESERVE_BANK_CODE_31
ID_RESERVE_BANK_CODE_32
ID_RESERVE_BANK_CODE_33
ID_RESERVE_BANK_CODE_34
ID_RESERVE_BANK_CODE_35
ID_RESERVE_BANK_CODE_36
ID_RESERVE_BANK_CODE_37
ID_RESERVE_BANK_CODE_38
ID_RESERVE_BANK_CODE_39
ID_RESERVE_BANK_CODE_40
ID_RESERVE_BANK_CODE_41
ID_RESERVE_BANK_CODE_42
ID_RESERVE_BANK_CODE_43
ID_RESERVE_BANK_CODE_44
ID_RESERVE_BANK_CODE_45
ID_RESERVE_BANK_CODE_46
ID_RESERVE_BANK_CODE_47
ID_RESERVE_BANK_CODE_48
ID_RESERVE_BANK_CODE_49
ID_RESERVE_BANK_CODE_50
ID_RESERVE_BANK_CODE_51
ID_RESERVE_BANK_CODE_52
ID_RESERVE_BANK_CODE_53
ID_RESERVE_BANK_CODE_54
ID_RESERVE_BANK_CODE_55
ID_RESERVE_BANK_CODE_56
ID_RESERVE_BANK_CODE_57
ID_RESERVE_BANK_CODE_58
ID_RESERVE_BANK_CODE_59
ID_RESERVE_BANK_CODE_60
ID_RESERVE_BANK_CODE_61
ID_RESERVE_BANK_CODE_62
ID_RESERVE_BANK_CODE_63
ID_RESERVE_BANK_CODE_64
ID_RESERVE_BANK_CODE_65
ID_RESERVE_BANK_CODE_66
ID_RESERVE_BANK_CODE_67
ID_RESERVE_BANK_CODE_68
ID_RESERVE_BANK_CODE_69
ID_RESERVE_BANK_CODE_70
ID_RESERVE_BANK_CODE_71
ID_RESERVE_BANK_CODE_72
ID_RESERVE_BANK_CODE_73
ID_RESERVE_BANK_CODE_74
ID_RESERVE_BANK_CODE_75
ID_RESERVE_BANK_CODE_76
ID_RESERVE_BANK_CODE_77
ID_RESERVE_BANK_CODE_78
ID_RESERVE_BANK_CODE_79
ID_RESERVE_BANK_CODE_80
ID_RESERVE_BANK_CODE_81
ID_RESERVE_BANK_CODE_82
ID_RESERVE_BANK_CODE_83
ID_RESERVE_BANK_CODE_84
ID_RESERVE_BANK_CODE_85
ID_RESERVE_BANK_CODE_86
ID_RESERVE_BANK_CODE_87
ID_RESERVE_BANK_CODE_88
ID_RESERVE_BANK_CODE_89
ID_RESERVE_BANK_CODE_90
PH_AAIB
PH_ABC
PH_ALLBANK
PH_ANZB
PH_AUB
PH_BBPC
PH_BDBI
PH_BDO
PH_BDONB
PH_BKB
PH_BNSDP
PH_BOANA
PH_BOC
PH_BOCN
PH_BOFL
PH_BOM
PH_BPI
PH_BRBI
PH_CB
PH_CBBI
PH_CBCN
PH_CBI
PH_CBNA
PH_CBS
PH_CIMBBP
PH_CLRB
PH_CMLB
PH_CRBR
PH_CSBI
PH_CTBC
PH_CTBCPH
PH_CUBC
PH_DBOTP
PH_DCDB
PH_DCPP
PH_DMB
PH_DTCHB
PH_DUNGGANUN
PH_EQB
PH_EWB
PH_EWBRB
PH_FCB
PH_GBY
PH_GRB
PH_GXI
PH_HKASBC
PH_HSBCSBP
PH_IBOKM
PH_ICBC
PH_ING
PH_INNB
PH_ISLA
PH_JPMCB
PH_KEB
PH_LBP
PH_LFSP
PH_LPBC
PH_MABUHAY
PH_MAYAB
PH_MAYBANK
PH_MBSMB
PH_METRO
PH_MICB
PH_MLRTRB
PH_MMRB
PH_MUFG
PH_MVSMB
PH_MZHB
PH_NB
PH_OMNIPAY
PH_ONB
PH_PBB
PH_PBCOM
PH_PBOM
PH_PHILTRUST
PH_PMP
PH_PNB
PH_PNBS
PH_PRBC
PH_PRCB
PH_PROSB
PH_PSB
PH_PVB
PH_QCDB
PH_QCRB
PH_RAB
PH_RBOB
PH_RBOD
PH_RBOG
PH_RBOLP
PH_RBOLSK
PH_RBOR
PH_RBOSI
PH_RBOSM
PH_RBTB
PH_RCBC
PH_RCBCS
PH_RSB
PH_SB
PH_SHNB
PH_SMBC
PH_STERLING
PH_SUNSB
PH_TSCB
PH_TYSB
PH_UB
PH_UBE
PH_UCPB
PH_UCPBSB
PH_UMS
PH_UOBP
PH_WDB
PH_YSBP
PH_ZYBI
PH_API
PH_BNRBI
PH_CDBI
PH_CBCI
PH_CSMEBI
PH_SBPI
PH_LSBI
PH_MCC
PH_PALP
PH_CBQP
PH_RBOBC
PH_RBOSAI
PH_SPPI
PH_SPCP
PH_UDBI
PH_TYI
PH_TDBI
PH_ALLBI
PH_RESERVE_BANK_CODE_19
PH_RESERVE_BANK_CODE_20
PH_RESERVE_BANK_CODE_21
PH_RESERVE_BANK_CODE_22
PH_RESERVE_BANK_CODE_23
PH_RESERVE_BANK_CODE_24
PH_RESERVE_BANK_CODE_25
PH_RESERVE_BANK_CODE_26
PH_RESERVE_BANK_CODE_27
PH_RESERVE_BANK_CODE_28
PH_RESERVE_BANK_CODE_29
PH_RESERVE_BANK_CODE_30
PH_RESERVE_BANK_CODE_31
PH_RESERVE_BANK_CODE_32
PH_RESERVE_BANK_CODE_33
PH_RESERVE_BANK_CODE_34
PH_RESERVE_BANK_CODE_35
PH_RESERVE_BANK_CODE_36
PH_RESERVE_BANK_CODE_37
PH_RESERVE_BANK_CODE_38
PH_RESERVE_BANK_CODE_39
PH_RESERVE_BANK_CODE_40
PH_RESERVE_BANK_CODE_41
PH_RESERVE_BANK_CODE_42
PH_RESERVE_BANK_CODE_43
PH_RESERVE_BANK_CODE_44
PH_RESERVE_BANK_CODE_45
PH_RESERVE_BANK_CODE_46
PH_RESERVE_BANK_CODE_47
PH_RESERVE_BANK_CODE_48
PH_RESERVE_BANK_CODE_49
PH_RESERVE_BANK_CODE_50
PH_RESERVE_BANK_CODE_51
PH_RESERVE_BANK_CODE_52
PH_RESERVE_BANK_CODE_53
PH_RESERVE_BANK_CODE_54
PH_RESERVE_BANK_CODE_55
PH_RESERVE_BANK_CODE_56
PH_RESERVE_BANK_CODE_57
PH_RESERVE_BANK_CODE_58
PH_RESERVE_BANK_CODE_59
PH_RESERVE_BANK_CODE_60
PH_RESERVE_BANK_CODE_61
PH_RESERVE_BANK_CODE_62
PH_RESERVE_BANK_CODE_63
PH_RESERVE_BANK_CODE_64
PH_RESERVE_BANK_CODE_65
PH_RESERVE_BANK_CODE_66
PH_RESERVE_BANK_CODE_67
PH_RESERVE_BANK_CODE_68
PH_RESERVE_BANK_CODE_69
PH_RESERVE_BANK_CODE_70
PH_RESERVE_BANK_CODE_71
PH_RESERVE_BANK_CODE_72
PH_RESERVE_BANK_CODE_73
PH_RESERVE_BANK_CODE_74
PH_RESERVE_BANK_CODE_75
PH_RESERVE_BANK_CODE_76
PH_RESERVE_BANK_CODE_77
PH_RESERVE_BANK_CODE_78
PH_RESERVE_BANK_CODE_79
PH_RESERVE_BANK_CODE_80
PH_RESERVE_BANK_CODE_81
PH_RESERVE_BANK_CODE_82
PH_RESERVE_BANK_CODE_83
PH_RESERVE_BANK_CODE_84
PH_RESERVE_BANK_CODE_85
PH_RESERVE_BANK_CODE_86
PH_RESERVE_BANK_CODE_87
PH_RESERVE_BANK_CODE_88
PH_RESERVE_BANK_CODE_89
PH_RESERVE_BANK_CODE_90
PH_RESERVE_BANK_CODE_91
PH_RESERVE_BANK_CODE_92
PH_RESERVE_BANK_CODE_93
PH_RESERVE_BANK_CODE_94
PH_RESERVE_BANK_CODE_95
PH_RESERVE_BANK_CODE_96
PH_RESERVE_BANK_CODE_97
PH_RESERVE_BANK_CODE_98
PH_RESERVE_BANK_CODE_99
PH_RESERVE_BANK_CODE_100
PH_RESERVE_BANK_CODE_101
PH_RESERVE_BANK_CODE_102
PH_RESERVE_BANK_CODE_103
PH_RESERVE_BANK_CODE_104
PH_RESERVE_BANK_CODE_105
PH_RESERVE_BANK_CODE_106
PH_RESERVE_BANK_CODE_107
PH_RESERVE_BANK_CODE_108
PH_RESERVE_BANK_CODE_109
PH_RESERVE_BANK_CODE_110
PH_RESERVE_BANK_CODE_111
PH_RESERVE_BANK_CODE_112
PH_RESERVE_BANK_CODE_113
PH_RESERVE_BANK_CODE_114
PH_RESERVE_BANK_CODE_115
PH_RESERVE_BANK_CODE_116
CurrencyISO4217

Currency following format specified on ISO 4217

Value Description
UNKNOWN_CURRENCY
AFN
EUR
ALL
DZD
USD
AOA
XCD
ARS
AMD
AWG
AUD
AZN
BSD
BHD
BDT
BYR
BZD
XOF
BMD
BTN
BOV
BAM
BWP
NOK
BRL
SGD
BGN
BIF
KHR
XAF
CAD
CVE
KYD
CLP
CNY
COP
KMF
CDF
NZD
CRC
HRK
CUC
CZK
DKK
DJF
DOP
EGP
ERN
ETB
FKP
FJD
XPF
GMD
GEL
GHS
GIP
GTQ
GBP
GNF
GYD
HNL
HKD
HUF
ISK
INR
IDR
IRR
IQD
IMP
ILS
JMD
JPY
JEP
JOD
KZT
KES
KPW
KRW
KWD
KGS
LAK
LBP
LSL
LRD
LYD
CHF
MKD
MGA
MWK
MYR
MVR
MRO
MUR
MXN
MDL
MNT
MAD
MZN
MMK
NAD
NPR
ANG
NIO
NGN
OMR
PKR
PGK
PYG
PEN
PHP
PLN
QAR
RON
RUB
RWF
WST
STD
SAR
RSD
SCR
SLL
SBD
SOS
ZAR
SSP
LKR
SHP
SDG
SRD
SZL
SEK
SYP
TWD
TJS
TZS
THB
TOP
TTD
TND
TRY
TMT
UGX
UAH
ARE
UYU
UZS
VUV
VEF
VND
YER
ZRN
ZMW

Responses

Response body

Name Type Description
result []DisbursementResult Result will return a success or error type for the response for each disbursement
Objects
DisbursementResult
Name Type Description
disbursement Disbursement Disbursement is the disbursement that was created with the bank
result Result Result is the repsonse from the bank when trying to create the disbursement
Disbursement
Name Type Description
disbursement_id string DisbursementID is an id brankas uniquely generates for this disbursement
reference_id string ReferenceID is a reference from the merchant to uniquely identify a disbursement transaction, this should be an idempotent value
type DisbursementType Type is the type of disbursement being created
source_account SourceBankAccountDetails SourceAccount is the account to send payment from
destination_account DestinationBankAccountDetails DestinationAccount is the account to send payment to
destination_amount Amount DestinationAmount is the amount to be received by the destination account owner, after calculating the appropriate foreign exchange rate. ‘destination_amount.num’ should be in the lowest denomination for a currency
description string Description is what the destination account will see for the disbursement transaction
fees []Fee Fees are the associated fees for the disbursement
external External External is a field for all the information returned by the bank’s api regarding a disbursement
status DisbursementStatus Status defines the result of the request.
created Timestamp Created is a timestamp indicating when the disbursement was created
updated Timestamp Updated is a timestamp indicating when the disbursement was last updated
disbursement_request_id string DisbursementRequestID is the batch id for the processed disbursement request
note string Note is a reasons that cause disbursement invalid
merchant_txn_id string MerchantTransactionID is the transaction id from merchant which is used for reconciliation
Result
Name Type Description
success bool
error []Error
message string
SourceBankAccountDetails
Name Type Description
account_id string AccountID is the ID of bank stored in database
bank SourceBankCode Bank is which bank the bank account is for
number string Number is the bank account number
holder_name string HolderName is the name of the owner of the bank account
type AccountType Type is the type of bank account
address Address Address is the registered address for the source account owner
bank_title string Bank Title is the bank title
country_code CountryCode CountryCode is the code represent the country of the bank
external_account_id string ExternalAccountID is external account id stored in external system
DestinationBankAccountDetails
Name Type Description
account_id string AccountID is the ID of bank stored in database
bank DestinationBankCode Bank is the destination bank code
number string Number is the account number of the destination account.
holder_name string HolderName is the name on the destination account.
type AccountType Type is the type of bank account
address Address Address is the registered address for the destination account owner, used by some integrations.
bank_title string Bank Title is the bank title
country_code CountryCode CountryCode is the code represent the country of the bank
external_account_id string ExternalAccountID is external account id stored in external system
email string when value of e-mail is present, the disbursement notification should be sent to the e-mail address with the correct disbursement information.
Amount
Name Type Description
cur CurrencyISO4217 cur is the currency value.
num string num is the numeric value.
Fee
Name Type Description
name string Name is the name of the fee
amount Amount Amount is the amount of the fee
External
Name Type Description
reference_id string ReferenceID is the reference id returned from the bank’s api to uniquely identify a disbursement in their system.
status string Status is the disbursement status returned from the bank’s api
settlement_rail string SettlementRail is the transaction channel for the bank
error []Error Error is the error information returned by the bank’s api
Timestamp
Name Type Description
seconds int64
nanos int32
Error
Name Type Description
code string
message string
Address
Name Type Description
line1 string Line1 is the first line of the address.
line2 string Line2 is the second line of the address.
city string City is the city this address is situated in.
province string Province is the more specific area this address is situated in.
zip_code string ZipCode of the address.
country string Country of the destination account.
Enums
DisbursementType

DisbursementType is the type of disbursement.

Value Description
UNKNOWN_TYPE
CASHBACK
PAYMENT
PAYOUT
REFUND
SALARY
VENDOR_BILL
UTILITY
REPLENISHMENT
DisbursementStatus

DisbursementStatus is the status for disbursement.

Value Description
UNKNOWN_DISBURSEMENT_STATUS
CREATED
ERROR
SUCCESS
FAILED
PENDING
NOT_PROCESSED
SourceBankCode
Value Description
UNKNOWN_BANK
DUMMY_BANK_CORPORATE
DUMMY_BANK_OAUTH2_CORPORATE
BCA_CORPORATE
BNI_CORPORATE
BRI_CORPORATE
PERMATA_CORPORATE
UNIONBANK_CORPORATE
NETBANK_CORPORATE
BNC_CORPORATE
AccountType

AccountType is the type of bank account.

Value Description
UNKNOWN_ACCOUNT_TYPE
PERSONAL
CORPORATE
GOVERNMENT
CountryCode
Value Description
UNKNOWN_COUNTRY_CODE
ID
PH
VN
TH
DestinationBankCode

You may download the latest Philippines and Indonesia Bank codes here

Value Description
UNKNOWN_DESTINATION_BANK
DUMMY_DESTINATION_BANK
DUMMY_INTERBANK
PARTNER_RESERVE_CODE_1
PARTNER_RESERVE_CODE_2
PARTNER_RESERVE_CODE_3
PARTNER_RESERVE_CODE_4
PARTNER_RESERVE_CODE_5
PARTNER_RESERVE_CODE_6
PARTNER_RESERVE_CODE_7
PARTNER_RESERVE_CODE_8
PARTNER_RESERVE_CODE_9
PARTNER_RESERVE_CODE_10
PARTNER_RESERVE_CODE_11
PARTNER_RESERVE_CODE_12
PARTNER_RESERVE_CODE_13
PARTNER_RESERVE_CODE_14
PARTNER_RESERVE_CODE_15
PARTNER_RESERVE_CODE_16
PARTNER_RESERVE_CODE_17
ID_ACEH_SYR
ID_AMAR
ID_ANTARDAERAH
ID_ANZ
ID_ARTHAGRAHA
ID_BANGKOK
ID_BANTEN_SYR
ID_BCA
ID_BCA_SYR
ID_BCAD
ID_BEK
ID_BI
ID_BISNIS_INTL
ID_BJB
ID_BJB_SYR
ID_BKP
ID_BKP_SYR
ID_BNI
ID_BNI_SYR
ID_BNP_PARIBAS
ID_BOA
ID_BPD_BALI
ID_BPD_BANTEN
ID_BPD_BENGKULU
ID_BRI
ID_BRI_AGRO
ID_BRI_SYR
ID_BSI
ID_BSYR
ID_BTN
ID_BTN_SYR
ID_BTPN
ID_BTPN_SYR
ID_BUMI_ARTA
ID_CAPITAL
ID_CCB
ID_CHASE
ID_CHINA
ID_CIMB
ID_CIMB_SYR
ID_CITI
ID_COMMONWEALTH
ID_CTBC
ID_DANA
ID_DBS
ID_DEU_AG
ID_DINAR
ID_DIY
ID_DKI
ID_DKI_SYR
ID_DNMN
ID_DNMN_SYR
ID_DOKU
ID_FAMA
ID_FINNET
ID_GANESHA
ID_GOPAY
ID_HARDA
ID_HSBC
ID_IBK
ID_ICBC
ID_INA_PERDANA
ID_INDEX_SELINDO
ID_INDIA
ID_JAGO
ID_JAMBI
ID_JAMBI_SYR
ID_JASA_JAKARTA
ID_JATENG_SYR
ID_JATIM
ID_JATIM_SYR
ID_JAWA_TENGAH
ID_JTRUST
ID_KALBAR
ID_KALBAR_SYR
ID_KALSEL
ID_KALSEL_SYR
ID_KALTENG
ID_KALTIM_KALTARA
ID_KALTIM_KALTARA_SYR
ID_KEB_HANA
ID_LAMPUNG
ID_LINK
ID_MALUKU
ID_MANDIRI
ID_MANDIRI_SYR
ID_MANDIRI_TASPEN
ID_MASPION
ID_MAYAPADA
ID_MAYBANK
ID_MAYBANK_SYR
ID_MAYORA
ID_MEGA
ID_MEGA_SYR
ID_MESTIKA_DHARMA
ID_MIZUHO
ID_MNC_INTL
ID_MUAMALAT
ID_MUFG
ID_MULTI_ARTA
ID_NAGARI
ID_NEO
ID_NOBU
ID_NTB
ID_NTT
ID_OCBC
ID_OCBC_SYR
ID_OKE
ID_PAN
ID_PAN_SYR
ID_PAPUA
ID_PAYPRO
ID_PERMATA
ID_PERMATA_SYR
ID_PRIMA_MASTER
ID_QNB
ID_RESONA_PERDANIA
ID_RIAU_KEPRI
ID_SAHABAT_SAMPEORNA
ID_SBI
ID_SEA
ID_SINARMAS
ID_SINARMAS_SYR
ID_STAN
ID_SULSELBAR
ID_SULSELBAR_SYR
ID_SULTENG
ID_SULTRA
ID_SULUT
ID_SUMSEL_BABEL
ID_SUMSEL_BABEL_SYR
ID_SUMUT
ID_SUMUT_SYR
ID_TELKOM
ID_UOB
ID_VICTORIA
ID_VICTORIA_SYR
ID_WOORI_SAUDARA
ID_XLTUNAI
ID_YOG_SYR
ID_RESERVE_BANK_CODE_1
ID_RESERVE_BANK_CODE_2
ID_RESERVE_BANK_CODE_3
ID_RESERVE_BANK_CODE_4
ID_RESERVE_BANK_CODE_5
ID_RESERVE_BANK_CODE_6
ID_RESERVE_BANK_CODE_7
ID_RESERVE_BANK_CODE_8
ID_RESERVE_BANK_CODE_9
ID_RESERVE_BANK_CODE_10
ID_RESERVE_BANK_CODE_11
ID_RESERVE_BANK_CODE_12
ID_RESERVE_BANK_CODE_13
ID_RESERVE_BANK_CODE_14
ID_RESERVE_BANK_CODE_15
ID_RESERVE_BANK_CODE_16
ID_RESERVE_BANK_CODE_17
ID_RESERVE_BANK_CODE_18
ID_RESERVE_BANK_CODE_19
ID_RESERVE_BANK_CODE_20
ID_RESERVE_BANK_CODE_21
ID_RESERVE_BANK_CODE_22
ID_RESERVE_BANK_CODE_23
ID_RESERVE_BANK_CODE_24
ID_RESERVE_BANK_CODE_25
ID_RESERVE_BANK_CODE_26
ID_RESERVE_BANK_CODE_27
ID_RESERVE_BANK_CODE_28
ID_RESERVE_BANK_CODE_29
ID_RESERVE_BANK_CODE_30
ID_RESERVE_BANK_CODE_31
ID_RESERVE_BANK_CODE_32
ID_RESERVE_BANK_CODE_33
ID_RESERVE_BANK_CODE_34
ID_RESERVE_BANK_CODE_35
ID_RESERVE_BANK_CODE_36
ID_RESERVE_BANK_CODE_37
ID_RESERVE_BANK_CODE_38
ID_RESERVE_BANK_CODE_39
ID_RESERVE_BANK_CODE_40
ID_RESERVE_BANK_CODE_41
ID_RESERVE_BANK_CODE_42
ID_RESERVE_BANK_CODE_43
ID_RESERVE_BANK_CODE_44
ID_RESERVE_BANK_CODE_45
ID_RESERVE_BANK_CODE_46
ID_RESERVE_BANK_CODE_47
ID_RESERVE_BANK_CODE_48
ID_RESERVE_BANK_CODE_49
ID_RESERVE_BANK_CODE_50
ID_RESERVE_BANK_CODE_51
ID_RESERVE_BANK_CODE_52
ID_RESERVE_BANK_CODE_53
ID_RESERVE_BANK_CODE_54
ID_RESERVE_BANK_CODE_55
ID_RESERVE_BANK_CODE_56
ID_RESERVE_BANK_CODE_57
ID_RESERVE_BANK_CODE_58
ID_RESERVE_BANK_CODE_59
ID_RESERVE_BANK_CODE_60
ID_RESERVE_BANK_CODE_61
ID_RESERVE_BANK_CODE_62
ID_RESERVE_BANK_CODE_63
ID_RESERVE_BANK_CODE_64
ID_RESERVE_BANK_CODE_65
ID_RESERVE_BANK_CODE_66
ID_RESERVE_BANK_CODE_67
ID_RESERVE_BANK_CODE_68
ID_RESERVE_BANK_CODE_69
ID_RESERVE_BANK_CODE_70
ID_RESERVE_BANK_CODE_71
ID_RESERVE_BANK_CODE_72
ID_RESERVE_BANK_CODE_73
ID_RESERVE_BANK_CODE_74
ID_RESERVE_BANK_CODE_75
ID_RESERVE_BANK_CODE_76
ID_RESERVE_BANK_CODE_77
ID_RESERVE_BANK_CODE_78
ID_RESERVE_BANK_CODE_79
ID_RESERVE_BANK_CODE_80
ID_RESERVE_BANK_CODE_81
ID_RESERVE_BANK_CODE_82
ID_RESERVE_BANK_CODE_83
ID_RESERVE_BANK_CODE_84
ID_RESERVE_BANK_CODE_85
ID_RESERVE_BANK_CODE_86
ID_RESERVE_BANK_CODE_87
ID_RESERVE_BANK_CODE_88
ID_RESERVE_BANK_CODE_89
ID_RESERVE_BANK_CODE_90
PH_AAIB
PH_ABC
PH_ALLBANK
PH_ANZB
PH_AUB
PH_BBPC
PH_BDBI
PH_BDO
PH_BDONB
PH_BKB
PH_BNSDP
PH_BOANA
PH_BOC
PH_BOCN
PH_BOFL
PH_BOM
PH_BPI
PH_BRBI
PH_CB
PH_CBBI
PH_CBCN
PH_CBI
PH_CBNA
PH_CBS
PH_CIMBBP
PH_CLRB
PH_CMLB
PH_CRBR
PH_CSBI
PH_CTBC
PH_CTBCPH
PH_CUBC
PH_DBOTP
PH_DCDB
PH_DCPP
PH_DMB
PH_DTCHB
PH_DUNGGANUN
PH_EQB
PH_EWB
PH_EWBRB
PH_FCB
PH_GBY
PH_GRB
PH_GXI
PH_HKASBC
PH_HSBCSBP
PH_IBOKM
PH_ICBC
PH_ING
PH_INNB
PH_ISLA
PH_JPMCB
PH_KEB
PH_LBP
PH_LFSP
PH_LPBC
PH_MABUHAY
PH_MAYAB
PH_MAYBANK
PH_MBSMB
PH_METRO
PH_MICB
PH_MLRTRB
PH_MMRB
PH_MUFG
PH_MVSMB
PH_MZHB
PH_NB
PH_OMNIPAY
PH_ONB
PH_PBB
PH_PBCOM
PH_PBOM
PH_PHILTRUST
PH_PMP
PH_PNB
PH_PNBS
PH_PRBC
PH_PRCB
PH_PROSB
PH_PSB
PH_PVB
PH_QCDB
PH_QCRB
PH_RAB
PH_RBOB
PH_RBOD
PH_RBOG
PH_RBOLP
PH_RBOLSK
PH_RBOR
PH_RBOSI
PH_RBOSM
PH_RBTB
PH_RCBC
PH_RCBCS
PH_RSB
PH_SB
PH_SHNB
PH_SMBC
PH_STERLING
PH_SUNSB
PH_TSCB
PH_TYSB
PH_UB
PH_UBE
PH_UCPB
PH_UCPBSB
PH_UMS
PH_UOBP
PH_WDB
PH_YSBP
PH_ZYBI
PH_API
PH_BNRBI
PH_CDBI
PH_CBCI
PH_CSMEBI
PH_SBPI
PH_LSBI
PH_MCC
PH_PALP
PH_CBQP
PH_RBOBC
PH_RBOSAI
PH_SPPI
PH_SPCP
PH_UDBI
PH_TYI
PH_TDBI
PH_ALLBI
PH_RESERVE_BANK_CODE_19
PH_RESERVE_BANK_CODE_20
PH_RESERVE_BANK_CODE_21
PH_RESERVE_BANK_CODE_22
PH_RESERVE_BANK_CODE_23
PH_RESERVE_BANK_CODE_24
PH_RESERVE_BANK_CODE_25
PH_RESERVE_BANK_CODE_26
PH_RESERVE_BANK_CODE_27
PH_RESERVE_BANK_CODE_28
PH_RESERVE_BANK_CODE_29
PH_RESERVE_BANK_CODE_30
PH_RESERVE_BANK_CODE_31
PH_RESERVE_BANK_CODE_32
PH_RESERVE_BANK_CODE_33
PH_RESERVE_BANK_CODE_34
PH_RESERVE_BANK_CODE_35
PH_RESERVE_BANK_CODE_36
PH_RESERVE_BANK_CODE_37
PH_RESERVE_BANK_CODE_38
PH_RESERVE_BANK_CODE_39
PH_RESERVE_BANK_CODE_40
PH_RESERVE_BANK_CODE_41
PH_RESERVE_BANK_CODE_42
PH_RESERVE_BANK_CODE_43
PH_RESERVE_BANK_CODE_44
PH_RESERVE_BANK_CODE_45
PH_RESERVE_BANK_CODE_46
PH_RESERVE_BANK_CODE_47
PH_RESERVE_BANK_CODE_48
PH_RESERVE_BANK_CODE_49
PH_RESERVE_BANK_CODE_50
PH_RESERVE_BANK_CODE_51
PH_RESERVE_BANK_CODE_52
PH_RESERVE_BANK_CODE_53
PH_RESERVE_BANK_CODE_54
PH_RESERVE_BANK_CODE_55
PH_RESERVE_BANK_CODE_56
PH_RESERVE_BANK_CODE_57
PH_RESERVE_BANK_CODE_58
PH_RESERVE_BANK_CODE_59
PH_RESERVE_BANK_CODE_60
PH_RESERVE_BANK_CODE_61
PH_RESERVE_BANK_CODE_62
PH_RESERVE_BANK_CODE_63
PH_RESERVE_BANK_CODE_64
PH_RESERVE_BANK_CODE_65
PH_RESERVE_BANK_CODE_66
PH_RESERVE_BANK_CODE_67
PH_RESERVE_BANK_CODE_68
PH_RESERVE_BANK_CODE_69
PH_RESERVE_BANK_CODE_70
PH_RESERVE_BANK_CODE_71
PH_RESERVE_BANK_CODE_72
PH_RESERVE_BANK_CODE_73
PH_RESERVE_BANK_CODE_74
PH_RESERVE_BANK_CODE_75
PH_RESERVE_BANK_CODE_76
PH_RESERVE_BANK_CODE_77
PH_RESERVE_BANK_CODE_78
PH_RESERVE_BANK_CODE_79
PH_RESERVE_BANK_CODE_80
PH_RESERVE_BANK_CODE_81
PH_RESERVE_BANK_CODE_82
PH_RESERVE_BANK_CODE_83
PH_RESERVE_BANK_CODE_84
PH_RESERVE_BANK_CODE_85
PH_RESERVE_BANK_CODE_86
PH_RESERVE_BANK_CODE_87
PH_RESERVE_BANK_CODE_88
PH_RESERVE_BANK_CODE_89
PH_RESERVE_BANK_CODE_90
PH_RESERVE_BANK_CODE_91
PH_RESERVE_BANK_CODE_92
PH_RESERVE_BANK_CODE_93
PH_RESERVE_BANK_CODE_94
PH_RESERVE_BANK_CODE_95
PH_RESERVE_BANK_CODE_96
PH_RESERVE_BANK_CODE_97
PH_RESERVE_BANK_CODE_98
PH_RESERVE_BANK_CODE_99
PH_RESERVE_BANK_CODE_100
PH_RESERVE_BANK_CODE_101
PH_RESERVE_BANK_CODE_102
PH_RESERVE_BANK_CODE_103
PH_RESERVE_BANK_CODE_104
PH_RESERVE_BANK_CODE_105
PH_RESERVE_BANK_CODE_106
PH_RESERVE_BANK_CODE_107
PH_RESERVE_BANK_CODE_108
PH_RESERVE_BANK_CODE_109
PH_RESERVE_BANK_CODE_110
PH_RESERVE_BANK_CODE_111
PH_RESERVE_BANK_CODE_112
PH_RESERVE_BANK_CODE_113
PH_RESERVE_BANK_CODE_114
PH_RESERVE_BANK_CODE_115
PH_RESERVE_BANK_CODE_116
CurrencyISO4217

Currency following format specified on ISO 4217

Value Description
UNKNOWN_CURRENCY
AFN
EUR
ALL
DZD
USD
AOA
XCD
ARS
AMD
AWG
AUD
AZN
BSD
BHD
BDT
BYR
BZD
XOF
BMD
BTN
BOV
BAM
BWP
NOK
BRL
SGD
BGN
BIF
KHR
XAF
CAD
CVE
KYD
CLP
CNY
COP
KMF
CDF
NZD
CRC
HRK
CUC
CZK
DKK
DJF
DOP
EGP
ERN
ETB
FKP
FJD
XPF
GMD
GEL
GHS
GIP
GTQ
GBP
GNF
GYD
HNL
HKD
HUF
ISK
INR
IDR
IRR
IQD
IMP
ILS
JMD
JPY
JEP
JOD
KZT
KES
KPW
KRW
KWD
KGS
LAK
LBP
LSL
LRD
LYD
CHF
MKD
MGA
MWK
MYR
MVR
MRO
MUR
MXN
MDL
MNT
MAD
MZN
MMK
NAD
NPR
ANG
NIO
NGN
OMR
PKR
PGK
PYG
PEN
PHP
PLN
QAR
RON
RUB
RWF
WST
STD
SAR
RSD
SCR
SLL
SBD
SOS
ZAR
SSP
LKR
SHP
SDG
SRD
SZL
SEK
SYP
TWD
TJS
TZS
THB
TOP
TTD
TND
TRY
TMT
UGX
UAH
ARE
UYU
UZS
VUV
VEF
VND
YER
ZRN
ZMW

Example:

{
  "result": [
    {
      "disbursement": {
        "disbursements_id": "75b37286-435d-4983-bb33-c2a8160968af",
        "reference_id": "S2021110216254919901",
        "type": "PAYMENT",
        "source_account": {
          "bank": "DUMMY_BANK_CORPORATE",
          "number": "11111111",
          "holder_name": "PT Brankas Teknologi Indonesia",
          "type": "CORPORATE"
        },
        "destination_account": {
          "bank": "DUMMY_DESTINATION_BANK",
          "number": "1234000012340000",
          "holder_name": "Dummy Recipient Name",
          "type": "PERSONAL"
        },
        "destination_amount": {
          "cur": "IDR",
          "num": "1000000"
        },
        "external": {
          "reference_id": "UB1364723"
        },
        "status": "SUCCESS",
        "disbursement_request_id": "84c912fb-73ca-4b13-aa13-29274c6a8f86",
        "merchant_txn_id": "31082021003088"
      },
      "result": {
        "success": true
      }
    }
  ]
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.
400 Returned when the request body is malformatted or does not match the expected request.
401 Returned when the request does not contains the user’s credentials.
403 Returned when the user does not have permission to access the resource.
500 Returned when an unexpected error occured on the server side.

Delete Bank Account.

Delete bank account by id.

curl -X DELETE \
	https://disburse.sandbox.bnk.to/v1/bank-accounts \
	-H 'x-api-key: USE_YOUR_API_KEY'

HTTP Request

DELETE https://disburse.sandbox.bnk.to/v1/bank-accounts

Responses

Response body

Name Type Description
result Result Result is the response from system indicate bank account deleted.
Objects
Result
Name Type Description
success bool
error []Error
message string
Error
Name Type Description
code string
message string

Example:

{
  "result": {
    "success": "bool",
    "error": [
      {
        "code": "string",
        "message": "string"
      }
    ],
    "message": "string"
  }
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.
400 Returned when the request body is malformatted or does not match the expected request.
401 Returned when the request does not contains the user’s credentials.
403 Returned when the user does not have permission to access the resource.
500 Returned when an unexpected error occured on the server side.

Download statement file.

Download statement file.

curl -X GET \
	https://disburse.sandbox.bnk.to/v1/download-statement \
	-H 'x-api-key: USE_YOUR_API_KEY'

HTTP Request

GET https://disburse.sandbox.bnk.to/v1/download-statement

Responses

Response body

Name Type Description
result Result Result is the success response for changing the bucket access
Objects
Result
Name Type Description
success bool
error []Error
message string
Error
Name Type Description
code string
message string

Example:

{
  "result": {
    "success": "bool",
    "error": [
      {
        "code": "string",
        "message": "string"
      }
    ],
    "message": "string"
  }
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.
400 Returned when the request body is malformatted or does not match the expected request.
401 Returned when the request does not contains the user’s credentials.
403 Returned when the user does not have permission to access the resource.
500 Returned when an unexpected error occured on the server side.

Get Bank Accounts

Get a list of bank account either source or destination.

curl -X GET \
	https://disburse.sandbox.bnk.to/v1/bank-accounts \
	-H 'x-api-key: USE_YOUR_API_KEY'

HTTP Request

GET https://disburse.sandbox.bnk.to/v1/bank-accounts

Responses

Response body

Name Type Description
bank_accounts []BankAccountDetails
total_record int32 TotalRecord is the number of record return by database match filters.
Objects
BankAccountDetails
Name Type Description
account_id string AccountID is an UUID generated when user add bank account
source_bank SourceBankCode SourceBankCode is bank code for source account.
destination_bank DestinationBankCode DestinationBankCode is bank code for destination account.
account_no string AccountNo is the bank account number.
holder_name FullName HolderName is the name of the owner of the bank account.
account_type AccountType AccountType is type of bank account (personal or corporate).
is_source bool IsSourceAccount determine it a source or destination bank account.
country string Country of the destination account.
address Address Address is the registered address for the destination account.
email_id []string EmailID is the list of email of account holder.
source_bank_credential SourceBankCredential BankCredential is a source bank account credential
bank_title string Bank Title is the bank title
country_code CountryCode CountryCode is the code represent the country of the bank
external_account_id string ExternalAccountID is external account id stored in external system
balance BankAccountBalance Balance is the balance left from specific account
account_class AccountClass AccountClass is the class of specific account (partner or merchant)
authorized_signatories []string AuthorizedSignatories is the list of authorized signatory
FullName
Name Type Description
first_name string FirstName is first name of holder.
middle_name string MiddleName is middle name of holder.
last_name string LastName is last name of holder.
Address
Name Type Description
line1 string Line1 is the first line of the address.
line2 string Line2 is the second line of the address.
city string City is the city this address is situated in.
province string Province is the more specific area this address is situated in.
zip_code string ZipCode of the address.
country string Country of the destination account.
SourceBankCredential
Name Type Description
credential_id string CredentialID is the uuid generated when insert credential to database.
source_account_id string SourceAccountID is the uuid of source account
client_id string ClientID is a client id provide by bank for merchant
client_secret string ClientSecret is a client secret provide by bank for merchant
api_id string ApiID is a api id provide by bank for merchant (applied for BCA)
api_secret string ApiSecret is a ap secret provide by bank for merchant (applied for BCA)
partner_id string PartnerID is a partner id provide by bank for merchant, some bank called it CorporateID
username string Username is a username provided by bank to generate bearer token.
password string Password is a username provided by bank to generate bearer token.
access_token string AccessToken is the access token
isOAuth bool IsOAuth is the auth type
access_token_exp string AccessTokenExp is the access token expired
refresh_token string RefreshToken is the refresh token
BankAccountBalance
Name Type Description
cur string BalanceCur is currency of the account balance
num string BalanceNum is number of amount in the account balance.
is_live bool IsLive is boolean indicate getting the balance from db/bank api.
last_sync Timestamp LastSync is last sync balance with bank api.
Timestamp
Name Type Description
seconds int64
nanos int32
Enums
SourceBankCode
Value Description
UNKNOWN_BANK
DUMMY_BANK_CORPORATE
DUMMY_BANK_OAUTH2_CORPORATE
BCA_CORPORATE
BNI_CORPORATE
BRI_CORPORATE
PERMATA_CORPORATE
UNIONBANK_CORPORATE
NETBANK_CORPORATE
BNC_CORPORATE
DestinationBankCode

You may download the latest Philippines and Indonesia Bank codes here

Value Description
UNKNOWN_DESTINATION_BANK
DUMMY_DESTINATION_BANK
DUMMY_INTERBANK
PARTNER_RESERVE_CODE_1
PARTNER_RESERVE_CODE_2
PARTNER_RESERVE_CODE_3
PARTNER_RESERVE_CODE_4
PARTNER_RESERVE_CODE_5
PARTNER_RESERVE_CODE_6
PARTNER_RESERVE_CODE_7
PARTNER_RESERVE_CODE_8
PARTNER_RESERVE_CODE_9
PARTNER_RESERVE_CODE_10
PARTNER_RESERVE_CODE_11
PARTNER_RESERVE_CODE_12
PARTNER_RESERVE_CODE_13
PARTNER_RESERVE_CODE_14
PARTNER_RESERVE_CODE_15
PARTNER_RESERVE_CODE_16
PARTNER_RESERVE_CODE_17
ID_ACEH_SYR
ID_AMAR
ID_ANTARDAERAH
ID_ANZ
ID_ARTHAGRAHA
ID_BANGKOK
ID_BANTEN_SYR
ID_BCA
ID_BCA_SYR
ID_BCAD
ID_BEK
ID_BI
ID_BISNIS_INTL
ID_BJB
ID_BJB_SYR
ID_BKP
ID_BKP_SYR
ID_BNI
ID_BNI_SYR
ID_BNP_PARIBAS
ID_BOA
ID_BPD_BALI
ID_BPD_BANTEN
ID_BPD_BENGKULU
ID_BRI
ID_BRI_AGRO
ID_BRI_SYR
ID_BSI
ID_BSYR
ID_BTN
ID_BTN_SYR
ID_BTPN
ID_BTPN_SYR
ID_BUMI_ARTA
ID_CAPITAL
ID_CCB
ID_CHASE
ID_CHINA
ID_CIMB
ID_CIMB_SYR
ID_CITI
ID_COMMONWEALTH
ID_CTBC
ID_DANA
ID_DBS
ID_DEU_AG
ID_DINAR
ID_DIY
ID_DKI
ID_DKI_SYR
ID_DNMN
ID_DNMN_SYR
ID_DOKU
ID_FAMA
ID_FINNET
ID_GANESHA
ID_GOPAY
ID_HARDA
ID_HSBC
ID_IBK
ID_ICBC
ID_INA_PERDANA
ID_INDEX_SELINDO
ID_INDIA
ID_JAGO
ID_JAMBI
ID_JAMBI_SYR
ID_JASA_JAKARTA
ID_JATENG_SYR
ID_JATIM
ID_JATIM_SYR
ID_JAWA_TENGAH
ID_JTRUST
ID_KALBAR
ID_KALBAR_SYR
ID_KALSEL
ID_KALSEL_SYR
ID_KALTENG
ID_KALTIM_KALTARA
ID_KALTIM_KALTARA_SYR
ID_KEB_HANA
ID_LAMPUNG
ID_LINK
ID_MALUKU
ID_MANDIRI
ID_MANDIRI_SYR
ID_MANDIRI_TASPEN
ID_MASPION
ID_MAYAPADA
ID_MAYBANK
ID_MAYBANK_SYR
ID_MAYORA
ID_MEGA
ID_MEGA_SYR
ID_MESTIKA_DHARMA
ID_MIZUHO
ID_MNC_INTL
ID_MUAMALAT
ID_MUFG
ID_MULTI_ARTA
ID_NAGARI
ID_NEO
ID_NOBU
ID_NTB
ID_NTT
ID_OCBC
ID_OCBC_SYR
ID_OKE
ID_PAN
ID_PAN_SYR
ID_PAPUA
ID_PAYPRO
ID_PERMATA
ID_PERMATA_SYR
ID_PRIMA_MASTER
ID_QNB
ID_RESONA_PERDANIA
ID_RIAU_KEPRI
ID_SAHABAT_SAMPEORNA
ID_SBI
ID_SEA
ID_SINARMAS
ID_SINARMAS_SYR
ID_STAN
ID_SULSELBAR
ID_SULSELBAR_SYR
ID_SULTENG
ID_SULTRA
ID_SULUT
ID_SUMSEL_BABEL
ID_SUMSEL_BABEL_SYR
ID_SUMUT
ID_SUMUT_SYR
ID_TELKOM
ID_UOB
ID_VICTORIA
ID_VICTORIA_SYR
ID_WOORI_SAUDARA
ID_XLTUNAI
ID_YOG_SYR
ID_RESERVE_BANK_CODE_1
ID_RESERVE_BANK_CODE_2
ID_RESERVE_BANK_CODE_3
ID_RESERVE_BANK_CODE_4
ID_RESERVE_BANK_CODE_5
ID_RESERVE_BANK_CODE_6
ID_RESERVE_BANK_CODE_7
ID_RESERVE_BANK_CODE_8
ID_RESERVE_BANK_CODE_9
ID_RESERVE_BANK_CODE_10
ID_RESERVE_BANK_CODE_11
ID_RESERVE_BANK_CODE_12
ID_RESERVE_BANK_CODE_13
ID_RESERVE_BANK_CODE_14
ID_RESERVE_BANK_CODE_15
ID_RESERVE_BANK_CODE_16
ID_RESERVE_BANK_CODE_17
ID_RESERVE_BANK_CODE_18
ID_RESERVE_BANK_CODE_19
ID_RESERVE_BANK_CODE_20
ID_RESERVE_BANK_CODE_21
ID_RESERVE_BANK_CODE_22
ID_RESERVE_BANK_CODE_23
ID_RESERVE_BANK_CODE_24
ID_RESERVE_BANK_CODE_25
ID_RESERVE_BANK_CODE_26
ID_RESERVE_BANK_CODE_27
ID_RESERVE_BANK_CODE_28
ID_RESERVE_BANK_CODE_29
ID_RESERVE_BANK_CODE_30
ID_RESERVE_BANK_CODE_31
ID_RESERVE_BANK_CODE_32
ID_RESERVE_BANK_CODE_33
ID_RESERVE_BANK_CODE_34
ID_RESERVE_BANK_CODE_35
ID_RESERVE_BANK_CODE_36
ID_RESERVE_BANK_CODE_37
ID_RESERVE_BANK_CODE_38
ID_RESERVE_BANK_CODE_39
ID_RESERVE_BANK_CODE_40
ID_RESERVE_BANK_CODE_41
ID_RESERVE_BANK_CODE_42
ID_RESERVE_BANK_CODE_43
ID_RESERVE_BANK_CODE_44
ID_RESERVE_BANK_CODE_45
ID_RESERVE_BANK_CODE_46
ID_RESERVE_BANK_CODE_47
ID_RESERVE_BANK_CODE_48
ID_RESERVE_BANK_CODE_49
ID_RESERVE_BANK_CODE_50
ID_RESERVE_BANK_CODE_51
ID_RESERVE_BANK_CODE_52
ID_RESERVE_BANK_CODE_53
ID_RESERVE_BANK_CODE_54
ID_RESERVE_BANK_CODE_55
ID_RESERVE_BANK_CODE_56
ID_RESERVE_BANK_CODE_57
ID_RESERVE_BANK_CODE_58
ID_RESERVE_BANK_CODE_59
ID_RESERVE_BANK_CODE_60
ID_RESERVE_BANK_CODE_61
ID_RESERVE_BANK_CODE_62
ID_RESERVE_BANK_CODE_63
ID_RESERVE_BANK_CODE_64
ID_RESERVE_BANK_CODE_65
ID_RESERVE_BANK_CODE_66
ID_RESERVE_BANK_CODE_67
ID_RESERVE_BANK_CODE_68
ID_RESERVE_BANK_CODE_69
ID_RESERVE_BANK_CODE_70
ID_RESERVE_BANK_CODE_71
ID_RESERVE_BANK_CODE_72
ID_RESERVE_BANK_CODE_73
ID_RESERVE_BANK_CODE_74
ID_RESERVE_BANK_CODE_75
ID_RESERVE_BANK_CODE_76
ID_RESERVE_BANK_CODE_77
ID_RESERVE_BANK_CODE_78
ID_RESERVE_BANK_CODE_79
ID_RESERVE_BANK_CODE_80
ID_RESERVE_BANK_CODE_81
ID_RESERVE_BANK_CODE_82
ID_RESERVE_BANK_CODE_83
ID_RESERVE_BANK_CODE_84
ID_RESERVE_BANK_CODE_85
ID_RESERVE_BANK_CODE_86
ID_RESERVE_BANK_CODE_87
ID_RESERVE_BANK_CODE_88
ID_RESERVE_BANK_CODE_89
ID_RESERVE_BANK_CODE_90
PH_AAIB
PH_ABC
PH_ALLBANK
PH_ANZB
PH_AUB
PH_BBPC
PH_BDBI
PH_BDO
PH_BDONB
PH_BKB
PH_BNSDP
PH_BOANA
PH_BOC
PH_BOCN
PH_BOFL
PH_BOM
PH_BPI
PH_BRBI
PH_CB
PH_CBBI
PH_CBCN
PH_CBI
PH_CBNA
PH_CBS
PH_CIMBBP
PH_CLRB
PH_CMLB
PH_CRBR
PH_CSBI
PH_CTBC
PH_CTBCPH
PH_CUBC
PH_DBOTP
PH_DCDB
PH_DCPP
PH_DMB
PH_DTCHB
PH_DUNGGANUN
PH_EQB
PH_EWB
PH_EWBRB
PH_FCB
PH_GBY
PH_GRB
PH_GXI
PH_HKASBC
PH_HSBCSBP
PH_IBOKM
PH_ICBC
PH_ING
PH_INNB
PH_ISLA
PH_JPMCB
PH_KEB
PH_LBP
PH_LFSP
PH_LPBC
PH_MABUHAY
PH_MAYAB
PH_MAYBANK
PH_MBSMB
PH_METRO
PH_MICB
PH_MLRTRB
PH_MMRB
PH_MUFG
PH_MVSMB
PH_MZHB
PH_NB
PH_OMNIPAY
PH_ONB
PH_PBB
PH_PBCOM
PH_PBOM
PH_PHILTRUST
PH_PMP
PH_PNB
PH_PNBS
PH_PRBC
PH_PRCB
PH_PROSB
PH_PSB
PH_PVB
PH_QCDB
PH_QCRB
PH_RAB
PH_RBOB
PH_RBOD
PH_RBOG
PH_RBOLP
PH_RBOLSK
PH_RBOR
PH_RBOSI
PH_RBOSM
PH_RBTB
PH_RCBC
PH_RCBCS
PH_RSB
PH_SB
PH_SHNB
PH_SMBC
PH_STERLING
PH_SUNSB
PH_TSCB
PH_TYSB
PH_UB
PH_UBE
PH_UCPB
PH_UCPBSB
PH_UMS
PH_UOBP
PH_WDB
PH_YSBP
PH_ZYBI
PH_API
PH_BNRBI
PH_CDBI
PH_CBCI
PH_CSMEBI
PH_SBPI
PH_LSBI
PH_MCC
PH_PALP
PH_CBQP
PH_RBOBC
PH_RBOSAI
PH_SPPI
PH_SPCP
PH_UDBI
PH_TYI
PH_TDBI
PH_ALLBI
PH_RESERVE_BANK_CODE_19
PH_RESERVE_BANK_CODE_20
PH_RESERVE_BANK_CODE_21
PH_RESERVE_BANK_CODE_22
PH_RESERVE_BANK_CODE_23
PH_RESERVE_BANK_CODE_24
PH_RESERVE_BANK_CODE_25
PH_RESERVE_BANK_CODE_26
PH_RESERVE_BANK_CODE_27
PH_RESERVE_BANK_CODE_28
PH_RESERVE_BANK_CODE_29
PH_RESERVE_BANK_CODE_30
PH_RESERVE_BANK_CODE_31
PH_RESERVE_BANK_CODE_32
PH_RESERVE_BANK_CODE_33
PH_RESERVE_BANK_CODE_34
PH_RESERVE_BANK_CODE_35
PH_RESERVE_BANK_CODE_36
PH_RESERVE_BANK_CODE_37
PH_RESERVE_BANK_CODE_38
PH_RESERVE_BANK_CODE_39
PH_RESERVE_BANK_CODE_40
PH_RESERVE_BANK_CODE_41
PH_RESERVE_BANK_CODE_42
PH_RESERVE_BANK_CODE_43
PH_RESERVE_BANK_CODE_44
PH_RESERVE_BANK_CODE_45
PH_RESERVE_BANK_CODE_46
PH_RESERVE_BANK_CODE_47
PH_RESERVE_BANK_CODE_48
PH_RESERVE_BANK_CODE_49
PH_RESERVE_BANK_CODE_50
PH_RESERVE_BANK_CODE_51
PH_RESERVE_BANK_CODE_52
PH_RESERVE_BANK_CODE_53
PH_RESERVE_BANK_CODE_54
PH_RESERVE_BANK_CODE_55
PH_RESERVE_BANK_CODE_56
PH_RESERVE_BANK_CODE_57
PH_RESERVE_BANK_CODE_58
PH_RESERVE_BANK_CODE_59
PH_RESERVE_BANK_CODE_60
PH_RESERVE_BANK_CODE_61
PH_RESERVE_BANK_CODE_62
PH_RESERVE_BANK_CODE_63
PH_RESERVE_BANK_CODE_64
PH_RESERVE_BANK_CODE_65
PH_RESERVE_BANK_CODE_66
PH_RESERVE_BANK_CODE_67
PH_RESERVE_BANK_CODE_68
PH_RESERVE_BANK_CODE_69
PH_RESERVE_BANK_CODE_70
PH_RESERVE_BANK_CODE_71
PH_RESERVE_BANK_CODE_72
PH_RESERVE_BANK_CODE_73
PH_RESERVE_BANK_CODE_74
PH_RESERVE_BANK_CODE_75
PH_RESERVE_BANK_CODE_76
PH_RESERVE_BANK_CODE_77
PH_RESERVE_BANK_CODE_78
PH_RESERVE_BANK_CODE_79
PH_RESERVE_BANK_CODE_80
PH_RESERVE_BANK_CODE_81
PH_RESERVE_BANK_CODE_82
PH_RESERVE_BANK_CODE_83
PH_RESERVE_BANK_CODE_84
PH_RESERVE_BANK_CODE_85
PH_RESERVE_BANK_CODE_86
PH_RESERVE_BANK_CODE_87
PH_RESERVE_BANK_CODE_88
PH_RESERVE_BANK_CODE_89
PH_RESERVE_BANK_CODE_90
PH_RESERVE_BANK_CODE_91
PH_RESERVE_BANK_CODE_92
PH_RESERVE_BANK_CODE_93
PH_RESERVE_BANK_CODE_94
PH_RESERVE_BANK_CODE_95
PH_RESERVE_BANK_CODE_96
PH_RESERVE_BANK_CODE_97
PH_RESERVE_BANK_CODE_98
PH_RESERVE_BANK_CODE_99
PH_RESERVE_BANK_CODE_100
PH_RESERVE_BANK_CODE_101
PH_RESERVE_BANK_CODE_102
PH_RESERVE_BANK_CODE_103
PH_RESERVE_BANK_CODE_104
PH_RESERVE_BANK_CODE_105
PH_RESERVE_BANK_CODE_106
PH_RESERVE_BANK_CODE_107
PH_RESERVE_BANK_CODE_108
PH_RESERVE_BANK_CODE_109
PH_RESERVE_BANK_CODE_110
PH_RESERVE_BANK_CODE_111
PH_RESERVE_BANK_CODE_112
PH_RESERVE_BANK_CODE_113
PH_RESERVE_BANK_CODE_114
PH_RESERVE_BANK_CODE_115
PH_RESERVE_BANK_CODE_116
AccountType

AccountType is the type of bank account.

Value Description
UNKNOWN_ACCOUNT_TYPE
PERSONAL
CORPORATE
GOVERNMENT
CountryCode
Value Description
UNKNOWN_COUNTRY_CODE
ID
PH
VN
TH
AccountClass

AccountClass is the class of account

Value Description
UNKNOWN_ACCOUNT_CLASS
PARTNER
MERCHANT

Example:

{
  "bank_accounts": [
    {
      "account_id": "string",
      "source_bank": "SourceBankCode",
      "destination_bank": "DestinationBankCode",
      "account_no": "string",
      "holder_name": {
        "first_name": "string",
        "middle_name": "string",
        "last_name": "string"
      },
      "account_type": "AccountType",
      "is_source": "bool",
      "country": "string",
      "address": {
        "line1": "string",
        "line2": "string",
        "city": "string",
        "province": "string",
        "zip_code": "string",
        "country": "string"
      },
      "email_id": "[]string",
      "source_bank_credential": {
        "credential_id": "string",
        "source_account_id": "string",
        "client_id": "string",
        "client_secret": "string",
        "api_id": "string",
        "api_secret": "string",
        "partner_id": "string",
        "username": "string",
        "password": "string",
        "access_token": "string",
        "isOAuth": "bool",
        "access_token_exp": "string",
        "refresh_token": "string"
      },
      "bank_title": "string",
      "country_code": "CountryCode",
      "external_account_id": "string",
      "balance": {
        "cur": "string",
        "num": "string",
        "is_live": "bool",
        "last_sync": {
          "seconds": "int64",
          "nanos": "int32"
        }
      },
      "account_class": "AccountClass",
      "authorized_signatories": "[]string"
    }
  ],
  "total_record": "int32"
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.
400 Returned when the request body is malformatted or does not match the expected request.
401 Returned when the request does not contains the user’s credentials.
403 Returned when the user does not have permission to access the resource.
500 Returned when an unexpected error occured on the server side.

Retrieve beneficiary banks

Retrieves the beneficiary banks

curl -X GET \
	https://disburse.sandbox.bnk.to/v1/beneficiary-banks \
	-H 'x-api-key: USE_YOUR_API_KEY'

HTTP Request

GET https://disburse.sandbox.bnk.to/v1/beneficiary-banks

Responses

Response body

Name Type Description
beneficiaries []BeneficiaryBankQuery country_code is the country code of the beneficiary bank
Objects
BeneficiaryBankQuery
Name Type Description
bank DestinationBankCode bank is the destination bank code identifier of the beneficiary bank
title string title is the title of the bank
enabled bool enabled indicates whether the beneficiary bank is enabled
country_code CountryCode country_code is the country code of the beneficiary bank
supported_channels []string supported_channels is the supported channel for this bank
logo string logo is the location of the bank logo files
Enums
DestinationBankCode

You may download the latest Philippines and Indonesia Bank codes here

Value Description
UNKNOWN_DESTINATION_BANK
DUMMY_DESTINATION_BANK
DUMMY_INTERBANK
PARTNER_RESERVE_CODE_1
PARTNER_RESERVE_CODE_2
PARTNER_RESERVE_CODE_3
PARTNER_RESERVE_CODE_4
PARTNER_RESERVE_CODE_5
PARTNER_RESERVE_CODE_6
PARTNER_RESERVE_CODE_7
PARTNER_RESERVE_CODE_8
PARTNER_RESERVE_CODE_9
PARTNER_RESERVE_CODE_10
PARTNER_RESERVE_CODE_11
PARTNER_RESERVE_CODE_12
PARTNER_RESERVE_CODE_13
PARTNER_RESERVE_CODE_14
PARTNER_RESERVE_CODE_15
PARTNER_RESERVE_CODE_16
PARTNER_RESERVE_CODE_17
ID_ACEH_SYR
ID_AMAR
ID_ANTARDAERAH
ID_ANZ
ID_ARTHAGRAHA
ID_BANGKOK
ID_BANTEN_SYR
ID_BCA
ID_BCA_SYR
ID_BCAD
ID_BEK
ID_BI
ID_BISNIS_INTL
ID_BJB
ID_BJB_SYR
ID_BKP
ID_BKP_SYR
ID_BNI
ID_BNI_SYR
ID_BNP_PARIBAS
ID_BOA
ID_BPD_BALI
ID_BPD_BANTEN
ID_BPD_BENGKULU
ID_BRI
ID_BRI_AGRO
ID_BRI_SYR
ID_BSI
ID_BSYR
ID_BTN
ID_BTN_SYR
ID_BTPN
ID_BTPN_SYR
ID_BUMI_ARTA
ID_CAPITAL
ID_CCB
ID_CHASE
ID_CHINA
ID_CIMB
ID_CIMB_SYR
ID_CITI
ID_COMMONWEALTH
ID_CTBC
ID_DANA
ID_DBS
ID_DEU_AG
ID_DINAR
ID_DIY
ID_DKI
ID_DKI_SYR
ID_DNMN
ID_DNMN_SYR
ID_DOKU
ID_FAMA
ID_FINNET
ID_GANESHA
ID_GOPAY
ID_HARDA
ID_HSBC
ID_IBK
ID_ICBC
ID_INA_PERDANA
ID_INDEX_SELINDO
ID_INDIA
ID_JAGO
ID_JAMBI
ID_JAMBI_SYR
ID_JASA_JAKARTA
ID_JATENG_SYR
ID_JATIM
ID_JATIM_SYR
ID_JAWA_TENGAH
ID_JTRUST
ID_KALBAR
ID_KALBAR_SYR
ID_KALSEL
ID_KALSEL_SYR
ID_KALTENG
ID_KALTIM_KALTARA
ID_KALTIM_KALTARA_SYR
ID_KEB_HANA
ID_LAMPUNG
ID_LINK
ID_MALUKU
ID_MANDIRI
ID_MANDIRI_SYR
ID_MANDIRI_TASPEN
ID_MASPION
ID_MAYAPADA
ID_MAYBANK
ID_MAYBANK_SYR
ID_MAYORA
ID_MEGA
ID_MEGA_SYR
ID_MESTIKA_DHARMA
ID_MIZUHO
ID_MNC_INTL
ID_MUAMALAT
ID_MUFG
ID_MULTI_ARTA
ID_NAGARI
ID_NEO
ID_NOBU
ID_NTB
ID_NTT
ID_OCBC
ID_OCBC_SYR
ID_OKE
ID_PAN
ID_PAN_SYR
ID_PAPUA
ID_PAYPRO
ID_PERMATA
ID_PERMATA_SYR
ID_PRIMA_MASTER
ID_QNB
ID_RESONA_PERDANIA
ID_RIAU_KEPRI
ID_SAHABAT_SAMPEORNA
ID_SBI
ID_SEA
ID_SINARMAS
ID_SINARMAS_SYR
ID_STAN
ID_SULSELBAR
ID_SULSELBAR_SYR
ID_SULTENG
ID_SULTRA
ID_SULUT
ID_SUMSEL_BABEL
ID_SUMSEL_BABEL_SYR
ID_SUMUT
ID_SUMUT_SYR
ID_TELKOM
ID_UOB
ID_VICTORIA
ID_VICTORIA_SYR
ID_WOORI_SAUDARA
ID_XLTUNAI
ID_YOG_SYR
ID_RESERVE_BANK_CODE_1
ID_RESERVE_BANK_CODE_2
ID_RESERVE_BANK_CODE_3
ID_RESERVE_BANK_CODE_4
ID_RESERVE_BANK_CODE_5
ID_RESERVE_BANK_CODE_6
ID_RESERVE_BANK_CODE_7
ID_RESERVE_BANK_CODE_8
ID_RESERVE_BANK_CODE_9
ID_RESERVE_BANK_CODE_10
ID_RESERVE_BANK_CODE_11
ID_RESERVE_BANK_CODE_12
ID_RESERVE_BANK_CODE_13
ID_RESERVE_BANK_CODE_14
ID_RESERVE_BANK_CODE_15
ID_RESERVE_BANK_CODE_16
ID_RESERVE_BANK_CODE_17
ID_RESERVE_BANK_CODE_18
ID_RESERVE_BANK_CODE_19
ID_RESERVE_BANK_CODE_20
ID_RESERVE_BANK_CODE_21
ID_RESERVE_BANK_CODE_22
ID_RESERVE_BANK_CODE_23
ID_RESERVE_BANK_CODE_24
ID_RESERVE_BANK_CODE_25
ID_RESERVE_BANK_CODE_26
ID_RESERVE_BANK_CODE_27
ID_RESERVE_BANK_CODE_28
ID_RESERVE_BANK_CODE_29
ID_RESERVE_BANK_CODE_30
ID_RESERVE_BANK_CODE_31
ID_RESERVE_BANK_CODE_32
ID_RESERVE_BANK_CODE_33
ID_RESERVE_BANK_CODE_34
ID_RESERVE_BANK_CODE_35
ID_RESERVE_BANK_CODE_36
ID_RESERVE_BANK_CODE_37
ID_RESERVE_BANK_CODE_38
ID_RESERVE_BANK_CODE_39
ID_RESERVE_BANK_CODE_40
ID_RESERVE_BANK_CODE_41
ID_RESERVE_BANK_CODE_42
ID_RESERVE_BANK_CODE_43
ID_RESERVE_BANK_CODE_44
ID_RESERVE_BANK_CODE_45
ID_RESERVE_BANK_CODE_46
ID_RESERVE_BANK_CODE_47
ID_RESERVE_BANK_CODE_48
ID_RESERVE_BANK_CODE_49
ID_RESERVE_BANK_CODE_50
ID_RESERVE_BANK_CODE_51
ID_RESERVE_BANK_CODE_52
ID_RESERVE_BANK_CODE_53
ID_RESERVE_BANK_CODE_54
ID_RESERVE_BANK_CODE_55
ID_RESERVE_BANK_CODE_56
ID_RESERVE_BANK_CODE_57
ID_RESERVE_BANK_CODE_58
ID_RESERVE_BANK_CODE_59
ID_RESERVE_BANK_CODE_60
ID_RESERVE_BANK_CODE_61
ID_RESERVE_BANK_CODE_62
ID_RESERVE_BANK_CODE_63
ID_RESERVE_BANK_CODE_64
ID_RESERVE_BANK_CODE_65
ID_RESERVE_BANK_CODE_66
ID_RESERVE_BANK_CODE_67
ID_RESERVE_BANK_CODE_68
ID_RESERVE_BANK_CODE_69
ID_RESERVE_BANK_CODE_70
ID_RESERVE_BANK_CODE_71
ID_RESERVE_BANK_CODE_72
ID_RESERVE_BANK_CODE_73
ID_RESERVE_BANK_CODE_74
ID_RESERVE_BANK_CODE_75
ID_RESERVE_BANK_CODE_76
ID_RESERVE_BANK_CODE_77
ID_RESERVE_BANK_CODE_78
ID_RESERVE_BANK_CODE_79
ID_RESERVE_BANK_CODE_80
ID_RESERVE_BANK_CODE_81
ID_RESERVE_BANK_CODE_82
ID_RESERVE_BANK_CODE_83
ID_RESERVE_BANK_CODE_84
ID_RESERVE_BANK_CODE_85
ID_RESERVE_BANK_CODE_86
ID_RESERVE_BANK_CODE_87
ID_RESERVE_BANK_CODE_88
ID_RESERVE_BANK_CODE_89
ID_RESERVE_BANK_CODE_90
PH_AAIB
PH_ABC
PH_ALLBANK
PH_ANZB
PH_AUB
PH_BBPC
PH_BDBI
PH_BDO
PH_BDONB
PH_BKB
PH_BNSDP
PH_BOANA
PH_BOC
PH_BOCN
PH_BOFL
PH_BOM
PH_BPI
PH_BRBI
PH_CB
PH_CBBI
PH_CBCN
PH_CBI
PH_CBNA
PH_CBS
PH_CIMBBP
PH_CLRB
PH_CMLB
PH_CRBR
PH_CSBI
PH_CTBC
PH_CTBCPH
PH_CUBC
PH_DBOTP
PH_DCDB
PH_DCPP
PH_DMB
PH_DTCHB
PH_DUNGGANUN
PH_EQB
PH_EWB
PH_EWBRB
PH_FCB
PH_GBY
PH_GRB
PH_GXI
PH_HKASBC
PH_HSBCSBP
PH_IBOKM
PH_ICBC
PH_ING
PH_INNB
PH_ISLA
PH_JPMCB
PH_KEB
PH_LBP
PH_LFSP
PH_LPBC
PH_MABUHAY
PH_MAYAB
PH_MAYBANK
PH_MBSMB
PH_METRO
PH_MICB
PH_MLRTRB
PH_MMRB
PH_MUFG
PH_MVSMB
PH_MZHB
PH_NB
PH_OMNIPAY
PH_ONB
PH_PBB
PH_PBCOM
PH_PBOM
PH_PHILTRUST
PH_PMP
PH_PNB
PH_PNBS
PH_PRBC
PH_PRCB
PH_PROSB
PH_PSB
PH_PVB
PH_QCDB
PH_QCRB
PH_RAB
PH_RBOB
PH_RBOD
PH_RBOG
PH_RBOLP
PH_RBOLSK
PH_RBOR
PH_RBOSI
PH_RBOSM
PH_RBTB
PH_RCBC
PH_RCBCS
PH_RSB
PH_SB
PH_SHNB
PH_SMBC
PH_STERLING
PH_SUNSB
PH_TSCB
PH_TYSB
PH_UB
PH_UBE
PH_UCPB
PH_UCPBSB
PH_UMS
PH_UOBP
PH_WDB
PH_YSBP
PH_ZYBI
PH_API
PH_BNRBI
PH_CDBI
PH_CBCI
PH_CSMEBI
PH_SBPI
PH_LSBI
PH_MCC
PH_PALP
PH_CBQP
PH_RBOBC
PH_RBOSAI
PH_SPPI
PH_SPCP
PH_UDBI
PH_TYI
PH_TDBI
PH_ALLBI
PH_RESERVE_BANK_CODE_19
PH_RESERVE_BANK_CODE_20
PH_RESERVE_BANK_CODE_21
PH_RESERVE_BANK_CODE_22
PH_RESERVE_BANK_CODE_23
PH_RESERVE_BANK_CODE_24
PH_RESERVE_BANK_CODE_25
PH_RESERVE_BANK_CODE_26
PH_RESERVE_BANK_CODE_27
PH_RESERVE_BANK_CODE_28
PH_RESERVE_BANK_CODE_29
PH_RESERVE_BANK_CODE_30
PH_RESERVE_BANK_CODE_31
PH_RESERVE_BANK_CODE_32
PH_RESERVE_BANK_CODE_33
PH_RESERVE_BANK_CODE_34
PH_RESERVE_BANK_CODE_35
PH_RESERVE_BANK_CODE_36
PH_RESERVE_BANK_CODE_37
PH_RESERVE_BANK_CODE_38
PH_RESERVE_BANK_CODE_39
PH_RESERVE_BANK_CODE_40
PH_RESERVE_BANK_CODE_41
PH_RESERVE_BANK_CODE_42
PH_RESERVE_BANK_CODE_43
PH_RESERVE_BANK_CODE_44
PH_RESERVE_BANK_CODE_45
PH_RESERVE_BANK_CODE_46
PH_RESERVE_BANK_CODE_47
PH_RESERVE_BANK_CODE_48
PH_RESERVE_BANK_CODE_49
PH_RESERVE_BANK_CODE_50
PH_RESERVE_BANK_CODE_51
PH_RESERVE_BANK_CODE_52
PH_RESERVE_BANK_CODE_53
PH_RESERVE_BANK_CODE_54
PH_RESERVE_BANK_CODE_55
PH_RESERVE_BANK_CODE_56
PH_RESERVE_BANK_CODE_57
PH_RESERVE_BANK_CODE_58
PH_RESERVE_BANK_CODE_59
PH_RESERVE_BANK_CODE_60
PH_RESERVE_BANK_CODE_61
PH_RESERVE_BANK_CODE_62
PH_RESERVE_BANK_CODE_63
PH_RESERVE_BANK_CODE_64
PH_RESERVE_BANK_CODE_65
PH_RESERVE_BANK_CODE_66
PH_RESERVE_BANK_CODE_67
PH_RESERVE_BANK_CODE_68
PH_RESERVE_BANK_CODE_69
PH_RESERVE_BANK_CODE_70
PH_RESERVE_BANK_CODE_71
PH_RESERVE_BANK_CODE_72
PH_RESERVE_BANK_CODE_73
PH_RESERVE_BANK_CODE_74
PH_RESERVE_BANK_CODE_75
PH_RESERVE_BANK_CODE_76
PH_RESERVE_BANK_CODE_77
PH_RESERVE_BANK_CODE_78
PH_RESERVE_BANK_CODE_79
PH_RESERVE_BANK_CODE_80
PH_RESERVE_BANK_CODE_81
PH_RESERVE_BANK_CODE_82
PH_RESERVE_BANK_CODE_83
PH_RESERVE_BANK_CODE_84
PH_RESERVE_BANK_CODE_85
PH_RESERVE_BANK_CODE_86
PH_RESERVE_BANK_CODE_87
PH_RESERVE_BANK_CODE_88
PH_RESERVE_BANK_CODE_89
PH_RESERVE_BANK_CODE_90
PH_RESERVE_BANK_CODE_91
PH_RESERVE_BANK_CODE_92
PH_RESERVE_BANK_CODE_93
PH_RESERVE_BANK_CODE_94
PH_RESERVE_BANK_CODE_95
PH_RESERVE_BANK_CODE_96
PH_RESERVE_BANK_CODE_97
PH_RESERVE_BANK_CODE_98
PH_RESERVE_BANK_CODE_99
PH_RESERVE_BANK_CODE_100
PH_RESERVE_BANK_CODE_101
PH_RESERVE_BANK_CODE_102
PH_RESERVE_BANK_CODE_103
PH_RESERVE_BANK_CODE_104
PH_RESERVE_BANK_CODE_105
PH_RESERVE_BANK_CODE_106
PH_RESERVE_BANK_CODE_107
PH_RESERVE_BANK_CODE_108
PH_RESERVE_BANK_CODE_109
PH_RESERVE_BANK_CODE_110
PH_RESERVE_BANK_CODE_111
PH_RESERVE_BANK_CODE_112
PH_RESERVE_BANK_CODE_113
PH_RESERVE_BANK_CODE_114
PH_RESERVE_BANK_CODE_115
PH_RESERVE_BANK_CODE_116
CountryCode
Value Description
UNKNOWN_COUNTRY_CODE
ID
PH
VN
TH

Example:

{
  "beneficiaries": [
    {
      "bank": "DestinationBankCode",
      "title": "string",
      "enabled": "bool",
      "country_code": "CountryCode",
      "supported_channels": "[]string",
      "logo": "string"
    }
  ]
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.
400 Returned when the request body is malformatted or does not match the expected request.
401 Returned when the request does not contains the user’s credentials.
403 Returned when the user does not have permission to access the resource.
500 Returned when an unexpected error occured on the server side.

Retrieve Callback URL

Retrieve callback url to registered by merchant.

curl -X GET \
	https://disburse.sandbox.bnk.to/v1/callback \
	-H 'x-api-key: USE_YOUR_API_KEY'

HTTP Request

GET https://disburse.sandbox.bnk.to/v1/callback

Responses

Response body

Name Type Description
callback_urls []CallbackURL callback_urls is a list of the callback url records.
Objects
CallbackURL
Name Type Description
id string id contains the unique identifier of the callback url.
description string description for this callback url.
url string url contains the actual callback url value.
status CallbackURLStatus status is the state of this callback url - whether it is still active or not.
Enums
CallbackURLStatus
Value Description
UNKNOWN_URLSTATUS
ACTIVE
INACTIVE
ACTIVE_UNPROXIED

Example:

{
  "callback_urls": [
    {
      "id": "32bbd16b-8a26-42d9-8f69-e33fcc882fd8",
      "description": "test-callback-url",
      "url": "https://www.example.com",
      "status": "ACTIVE"
    }
  ]
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.
400 Returned when the request body is malformatted or does not match the expected request.
401 Returned when the request does not contains the user’s credentials.
403 Returned when the user does not have permission to access the resource.
500 Returned when an unexpected error occured on the server side.

Retrieve Disbursement

Retrieve all the disbursements with or without a given filter. Disbursements can be filtered by date or disbursement ids.

curl -X GET \
	https://disburse.sandbox.bnk.to/v1/disbursements \
	-H 'x-api-key: USE_YOUR_API_KEY'

HTTP Request

GET https://disburse.sandbox.bnk.to/v1/disbursements

Responses

Response body

Name Type Description
disbursements []Disbursement Disbursements are the disbursements that fall within the specified date range
total_record int32 TotalRecord is the number of record return by database match filters.
Objects
Disbursement
Name Type Description
disbursement_id string DisbursementID is an id brankas uniquely generates for this disbursement
reference_id string ReferenceID is a reference from the merchant to uniquely identify a disbursement transaction, this should be an idempotent value
type DisbursementType Type is the type of disbursement being created
source_account SourceBankAccountDetails SourceAccount is the account to send payment from
destination_account DestinationBankAccountDetails DestinationAccount is the account to send payment to
destination_amount Amount DestinationAmount is the amount to be received by the destination account owner, after calculating the appropriate foreign exchange rate. ‘destination_amount.num’ should be in the lowest denomination for a currency
description string Description is what the destination account will see for the disbursement transaction
fees []Fee Fees are the associated fees for the disbursement
external External External is a field for all the information returned by the bank’s api regarding a disbursement
status DisbursementStatus Status defines the result of the request.
created Timestamp Created is a timestamp indicating when the disbursement was created
updated Timestamp Updated is a timestamp indicating when the disbursement was last updated
disbursement_request_id string DisbursementRequestID is the batch id for the processed disbursement request
note string Note is a reasons that cause disbursement invalid
merchant_txn_id string MerchantTransactionID is the transaction id from merchant which is used for reconciliation
SourceBankAccountDetails
Name Type Description
account_id string AccountID is the ID of bank stored in database
bank SourceBankCode Bank is which bank the bank account is for
number string Number is the bank account number
holder_name string HolderName is the name of the owner of the bank account
type AccountType Type is the type of bank account
address Address Address is the registered address for the source account owner
bank_title string Bank Title is the bank title
country_code CountryCode CountryCode is the code represent the country of the bank
external_account_id string ExternalAccountID is external account id stored in external system
DestinationBankAccountDetails
Name Type Description
account_id string AccountID is the ID of bank stored in database
bank DestinationBankCode Bank is the destination bank code
number string Number is the account number of the destination account.
holder_name string HolderName is the name on the destination account.
type AccountType Type is the type of bank account
address Address Address is the registered address for the destination account owner, used by some integrations.
bank_title string Bank Title is the bank title
country_code CountryCode CountryCode is the code represent the country of the bank
external_account_id string ExternalAccountID is external account id stored in external system
email string when value of e-mail is present, the disbursement notification should be sent to the e-mail address with the correct disbursement information.
Amount
Name Type Description
cur CurrencyISO4217 cur is the currency value.
num string num is the numeric value.
Fee
Name Type Description
name string Name is the name of the fee
amount Amount Amount is the amount of the fee
External
Name Type Description
reference_id string ReferenceID is the reference id returned from the bank’s api to uniquely identify a disbursement in their system.
status string Status is the disbursement status returned from the bank’s api
settlement_rail string SettlementRail is the transaction channel for the bank
error []Error Error is the error information returned by the bank’s api
Timestamp
Name Type Description
seconds int64
nanos int32
Address
Name Type Description
line1 string Line1 is the first line of the address.
line2 string Line2 is the second line of the address.
city string City is the city this address is situated in.
province string Province is the more specific area this address is situated in.
zip_code string ZipCode of the address.
country string Country of the destination account.
Error
Name Type Description
code string
message string
Enums
DisbursementType

DisbursementType is the type of disbursement.

Value Description
UNKNOWN_TYPE
CASHBACK
PAYMENT
PAYOUT
REFUND
SALARY
VENDOR_BILL
UTILITY
REPLENISHMENT
DisbursementStatus

DisbursementStatus is the status for disbursement.

Value Description
UNKNOWN_DISBURSEMENT_STATUS
CREATED
ERROR
SUCCESS
FAILED
PENDING
NOT_PROCESSED
SourceBankCode
Value Description
UNKNOWN_BANK
DUMMY_BANK_CORPORATE
DUMMY_BANK_OAUTH2_CORPORATE
BCA_CORPORATE
BNI_CORPORATE
BRI_CORPORATE
PERMATA_CORPORATE
UNIONBANK_CORPORATE
NETBANK_CORPORATE
BNC_CORPORATE
AccountType

AccountType is the type of bank account.

Value Description
UNKNOWN_ACCOUNT_TYPE
PERSONAL
CORPORATE
GOVERNMENT
CountryCode
Value Description
UNKNOWN_COUNTRY_CODE
ID
PH
VN
TH
DestinationBankCode

You may download the latest Philippines and Indonesia Bank codes here

Value Description
UNKNOWN_DESTINATION_BANK
DUMMY_DESTINATION_BANK
DUMMY_INTERBANK
PARTNER_RESERVE_CODE_1
PARTNER_RESERVE_CODE_2
PARTNER_RESERVE_CODE_3
PARTNER_RESERVE_CODE_4
PARTNER_RESERVE_CODE_5
PARTNER_RESERVE_CODE_6
PARTNER_RESERVE_CODE_7
PARTNER_RESERVE_CODE_8
PARTNER_RESERVE_CODE_9
PARTNER_RESERVE_CODE_10
PARTNER_RESERVE_CODE_11
PARTNER_RESERVE_CODE_12
PARTNER_RESERVE_CODE_13
PARTNER_RESERVE_CODE_14
PARTNER_RESERVE_CODE_15
PARTNER_RESERVE_CODE_16
PARTNER_RESERVE_CODE_17
ID_ACEH_SYR
ID_AMAR
ID_ANTARDAERAH
ID_ANZ
ID_ARTHAGRAHA
ID_BANGKOK
ID_BANTEN_SYR
ID_BCA
ID_BCA_SYR
ID_BCAD
ID_BEK
ID_BI
ID_BISNIS_INTL
ID_BJB
ID_BJB_SYR
ID_BKP
ID_BKP_SYR
ID_BNI
ID_BNI_SYR
ID_BNP_PARIBAS
ID_BOA
ID_BPD_BALI
ID_BPD_BANTEN
ID_BPD_BENGKULU
ID_BRI
ID_BRI_AGRO
ID_BRI_SYR
ID_BSI
ID_BSYR
ID_BTN
ID_BTN_SYR
ID_BTPN
ID_BTPN_SYR
ID_BUMI_ARTA
ID_CAPITAL
ID_CCB
ID_CHASE
ID_CHINA
ID_CIMB
ID_CIMB_SYR
ID_CITI
ID_COMMONWEALTH
ID_CTBC
ID_DANA
ID_DBS
ID_DEU_AG
ID_DINAR
ID_DIY
ID_DKI
ID_DKI_SYR
ID_DNMN
ID_DNMN_SYR
ID_DOKU
ID_FAMA
ID_FINNET
ID_GANESHA
ID_GOPAY
ID_HARDA
ID_HSBC
ID_IBK
ID_ICBC
ID_INA_PERDANA
ID_INDEX_SELINDO
ID_INDIA
ID_JAGO
ID_JAMBI
ID_JAMBI_SYR
ID_JASA_JAKARTA
ID_JATENG_SYR
ID_JATIM
ID_JATIM_SYR
ID_JAWA_TENGAH
ID_JTRUST
ID_KALBAR
ID_KALBAR_SYR
ID_KALSEL
ID_KALSEL_SYR
ID_KALTENG
ID_KALTIM_KALTARA
ID_KALTIM_KALTARA_SYR
ID_KEB_HANA
ID_LAMPUNG
ID_LINK
ID_MALUKU
ID_MANDIRI
ID_MANDIRI_SYR
ID_MANDIRI_TASPEN
ID_MASPION
ID_MAYAPADA
ID_MAYBANK
ID_MAYBANK_SYR
ID_MAYORA
ID_MEGA
ID_MEGA_SYR
ID_MESTIKA_DHARMA
ID_MIZUHO
ID_MNC_INTL
ID_MUAMALAT
ID_MUFG
ID_MULTI_ARTA
ID_NAGARI
ID_NEO
ID_NOBU
ID_NTB
ID_NTT
ID_OCBC
ID_OCBC_SYR
ID_OKE
ID_PAN
ID_PAN_SYR
ID_PAPUA
ID_PAYPRO
ID_PERMATA
ID_PERMATA_SYR
ID_PRIMA_MASTER
ID_QNB
ID_RESONA_PERDANIA
ID_RIAU_KEPRI
ID_SAHABAT_SAMPEORNA
ID_SBI
ID_SEA
ID_SINARMAS
ID_SINARMAS_SYR
ID_STAN
ID_SULSELBAR
ID_SULSELBAR_SYR
ID_SULTENG
ID_SULTRA
ID_SULUT
ID_SUMSEL_BABEL
ID_SUMSEL_BABEL_SYR
ID_SUMUT
ID_SUMUT_SYR
ID_TELKOM
ID_UOB
ID_VICTORIA
ID_VICTORIA_SYR
ID_WOORI_SAUDARA
ID_XLTUNAI
ID_YOG_SYR
ID_RESERVE_BANK_CODE_1
ID_RESERVE_BANK_CODE_2
ID_RESERVE_BANK_CODE_3
ID_RESERVE_BANK_CODE_4
ID_RESERVE_BANK_CODE_5
ID_RESERVE_BANK_CODE_6
ID_RESERVE_BANK_CODE_7
ID_RESERVE_BANK_CODE_8
ID_RESERVE_BANK_CODE_9
ID_RESERVE_BANK_CODE_10
ID_RESERVE_BANK_CODE_11
ID_RESERVE_BANK_CODE_12
ID_RESERVE_BANK_CODE_13
ID_RESERVE_BANK_CODE_14
ID_RESERVE_BANK_CODE_15
ID_RESERVE_BANK_CODE_16
ID_RESERVE_BANK_CODE_17
ID_RESERVE_BANK_CODE_18
ID_RESERVE_BANK_CODE_19
ID_RESERVE_BANK_CODE_20
ID_RESERVE_BANK_CODE_21
ID_RESERVE_BANK_CODE_22
ID_RESERVE_BANK_CODE_23
ID_RESERVE_BANK_CODE_24
ID_RESERVE_BANK_CODE_25
ID_RESERVE_BANK_CODE_26
ID_RESERVE_BANK_CODE_27
ID_RESERVE_BANK_CODE_28
ID_RESERVE_BANK_CODE_29
ID_RESERVE_BANK_CODE_30
ID_RESERVE_BANK_CODE_31
ID_RESERVE_BANK_CODE_32
ID_RESERVE_BANK_CODE_33
ID_RESERVE_BANK_CODE_34
ID_RESERVE_BANK_CODE_35
ID_RESERVE_BANK_CODE_36
ID_RESERVE_BANK_CODE_37
ID_RESERVE_BANK_CODE_38
ID_RESERVE_BANK_CODE_39
ID_RESERVE_BANK_CODE_40
ID_RESERVE_BANK_CODE_41
ID_RESERVE_BANK_CODE_42
ID_RESERVE_BANK_CODE_43
ID_RESERVE_BANK_CODE_44
ID_RESERVE_BANK_CODE_45
ID_RESERVE_BANK_CODE_46
ID_RESERVE_BANK_CODE_47
ID_RESERVE_BANK_CODE_48
ID_RESERVE_BANK_CODE_49
ID_RESERVE_BANK_CODE_50
ID_RESERVE_BANK_CODE_51
ID_RESERVE_BANK_CODE_52
ID_RESERVE_BANK_CODE_53
ID_RESERVE_BANK_CODE_54
ID_RESERVE_BANK_CODE_55
ID_RESERVE_BANK_CODE_56
ID_RESERVE_BANK_CODE_57
ID_RESERVE_BANK_CODE_58
ID_RESERVE_BANK_CODE_59
ID_RESERVE_BANK_CODE_60
ID_RESERVE_BANK_CODE_61
ID_RESERVE_BANK_CODE_62
ID_RESERVE_BANK_CODE_63
ID_RESERVE_BANK_CODE_64
ID_RESERVE_BANK_CODE_65
ID_RESERVE_BANK_CODE_66
ID_RESERVE_BANK_CODE_67
ID_RESERVE_BANK_CODE_68
ID_RESERVE_BANK_CODE_69
ID_RESERVE_BANK_CODE_70
ID_RESERVE_BANK_CODE_71
ID_RESERVE_BANK_CODE_72
ID_RESERVE_BANK_CODE_73
ID_RESERVE_BANK_CODE_74
ID_RESERVE_BANK_CODE_75
ID_RESERVE_BANK_CODE_76
ID_RESERVE_BANK_CODE_77
ID_RESERVE_BANK_CODE_78
ID_RESERVE_BANK_CODE_79
ID_RESERVE_BANK_CODE_80
ID_RESERVE_BANK_CODE_81
ID_RESERVE_BANK_CODE_82
ID_RESERVE_BANK_CODE_83
ID_RESERVE_BANK_CODE_84
ID_RESERVE_BANK_CODE_85
ID_RESERVE_BANK_CODE_86
ID_RESERVE_BANK_CODE_87
ID_RESERVE_BANK_CODE_88
ID_RESERVE_BANK_CODE_89
ID_RESERVE_BANK_CODE_90
PH_AAIB
PH_ABC
PH_ALLBANK
PH_ANZB
PH_AUB
PH_BBPC
PH_BDBI
PH_BDO
PH_BDONB
PH_BKB
PH_BNSDP
PH_BOANA
PH_BOC
PH_BOCN
PH_BOFL
PH_BOM
PH_BPI
PH_BRBI
PH_CB
PH_CBBI
PH_CBCN
PH_CBI
PH_CBNA
PH_CBS
PH_CIMBBP
PH_CLRB
PH_CMLB
PH_CRBR
PH_CSBI
PH_CTBC
PH_CTBCPH
PH_CUBC
PH_DBOTP
PH_DCDB
PH_DCPP
PH_DMB
PH_DTCHB
PH_DUNGGANUN
PH_EQB
PH_EWB
PH_EWBRB
PH_FCB
PH_GBY
PH_GRB
PH_GXI
PH_HKASBC
PH_HSBCSBP
PH_IBOKM
PH_ICBC
PH_ING
PH_INNB
PH_ISLA
PH_JPMCB
PH_KEB
PH_LBP
PH_LFSP
PH_LPBC
PH_MABUHAY
PH_MAYAB
PH_MAYBANK
PH_MBSMB
PH_METRO
PH_MICB
PH_MLRTRB
PH_MMRB
PH_MUFG
PH_MVSMB
PH_MZHB
PH_NB
PH_OMNIPAY
PH_ONB
PH_PBB
PH_PBCOM
PH_PBOM
PH_PHILTRUST
PH_PMP
PH_PNB
PH_PNBS
PH_PRBC
PH_PRCB
PH_PROSB
PH_PSB
PH_PVB
PH_QCDB
PH_QCRB
PH_RAB
PH_RBOB
PH_RBOD
PH_RBOG
PH_RBOLP
PH_RBOLSK
PH_RBOR
PH_RBOSI
PH_RBOSM
PH_RBTB
PH_RCBC
PH_RCBCS
PH_RSB
PH_SB
PH_SHNB
PH_SMBC
PH_STERLING
PH_SUNSB
PH_TSCB
PH_TYSB
PH_UB
PH_UBE
PH_UCPB
PH_UCPBSB
PH_UMS
PH_UOBP
PH_WDB
PH_YSBP
PH_ZYBI
PH_API
PH_BNRBI
PH_CDBI
PH_CBCI
PH_CSMEBI
PH_SBPI
PH_LSBI
PH_MCC
PH_PALP
PH_CBQP
PH_RBOBC
PH_RBOSAI
PH_SPPI
PH_SPCP
PH_UDBI
PH_TYI
PH_TDBI
PH_ALLBI
PH_RESERVE_BANK_CODE_19
PH_RESERVE_BANK_CODE_20
PH_RESERVE_BANK_CODE_21
PH_RESERVE_BANK_CODE_22
PH_RESERVE_BANK_CODE_23
PH_RESERVE_BANK_CODE_24
PH_RESERVE_BANK_CODE_25
PH_RESERVE_BANK_CODE_26
PH_RESERVE_BANK_CODE_27
PH_RESERVE_BANK_CODE_28
PH_RESERVE_BANK_CODE_29
PH_RESERVE_BANK_CODE_30
PH_RESERVE_BANK_CODE_31
PH_RESERVE_BANK_CODE_32
PH_RESERVE_BANK_CODE_33
PH_RESERVE_BANK_CODE_34
PH_RESERVE_BANK_CODE_35
PH_RESERVE_BANK_CODE_36
PH_RESERVE_BANK_CODE_37
PH_RESERVE_BANK_CODE_38
PH_RESERVE_BANK_CODE_39
PH_RESERVE_BANK_CODE_40
PH_RESERVE_BANK_CODE_41
PH_RESERVE_BANK_CODE_42
PH_RESERVE_BANK_CODE_43
PH_RESERVE_BANK_CODE_44
PH_RESERVE_BANK_CODE_45
PH_RESERVE_BANK_CODE_46
PH_RESERVE_BANK_CODE_47
PH_RESERVE_BANK_CODE_48
PH_RESERVE_BANK_CODE_49
PH_RESERVE_BANK_CODE_50
PH_RESERVE_BANK_CODE_51
PH_RESERVE_BANK_CODE_52
PH_RESERVE_BANK_CODE_53
PH_RESERVE_BANK_CODE_54
PH_RESERVE_BANK_CODE_55
PH_RESERVE_BANK_CODE_56
PH_RESERVE_BANK_CODE_57
PH_RESERVE_BANK_CODE_58
PH_RESERVE_BANK_CODE_59
PH_RESERVE_BANK_CODE_60
PH_RESERVE_BANK_CODE_61
PH_RESERVE_BANK_CODE_62
PH_RESERVE_BANK_CODE_63
PH_RESERVE_BANK_CODE_64
PH_RESERVE_BANK_CODE_65
PH_RESERVE_BANK_CODE_66
PH_RESERVE_BANK_CODE_67
PH_RESERVE_BANK_CODE_68
PH_RESERVE_BANK_CODE_69
PH_RESERVE_BANK_CODE_70
PH_RESERVE_BANK_CODE_71
PH_RESERVE_BANK_CODE_72
PH_RESERVE_BANK_CODE_73
PH_RESERVE_BANK_CODE_74
PH_RESERVE_BANK_CODE_75
PH_RESERVE_BANK_CODE_76
PH_RESERVE_BANK_CODE_77
PH_RESERVE_BANK_CODE_78
PH_RESERVE_BANK_CODE_79
PH_RESERVE_BANK_CODE_80
PH_RESERVE_BANK_CODE_81
PH_RESERVE_BANK_CODE_82
PH_RESERVE_BANK_CODE_83
PH_RESERVE_BANK_CODE_84
PH_RESERVE_BANK_CODE_85
PH_RESERVE_BANK_CODE_86
PH_RESERVE_BANK_CODE_87
PH_RESERVE_BANK_CODE_88
PH_RESERVE_BANK_CODE_89
PH_RESERVE_BANK_CODE_90
PH_RESERVE_BANK_CODE_91
PH_RESERVE_BANK_CODE_92
PH_RESERVE_BANK_CODE_93
PH_RESERVE_BANK_CODE_94
PH_RESERVE_BANK_CODE_95
PH_RESERVE_BANK_CODE_96
PH_RESERVE_BANK_CODE_97
PH_RESERVE_BANK_CODE_98
PH_RESERVE_BANK_CODE_99
PH_RESERVE_BANK_CODE_100
PH_RESERVE_BANK_CODE_101
PH_RESERVE_BANK_CODE_102
PH_RESERVE_BANK_CODE_103
PH_RESERVE_BANK_CODE_104
PH_RESERVE_BANK_CODE_105
PH_RESERVE_BANK_CODE_106
PH_RESERVE_BANK_CODE_107
PH_RESERVE_BANK_CODE_108
PH_RESERVE_BANK_CODE_109
PH_RESERVE_BANK_CODE_110
PH_RESERVE_BANK_CODE_111
PH_RESERVE_BANK_CODE_112
PH_RESERVE_BANK_CODE_113
PH_RESERVE_BANK_CODE_114
PH_RESERVE_BANK_CODE_115
PH_RESERVE_BANK_CODE_116
CurrencyISO4217

Currency following format specified on ISO 4217

Value Description
UNKNOWN_CURRENCY
AFN
EUR
ALL
DZD
USD
AOA
XCD
ARS
AMD
AWG
AUD
AZN
BSD
BHD
BDT
BYR
BZD
XOF
BMD
BTN
BOV
BAM
BWP
NOK
BRL
SGD
BGN
BIF
KHR
XAF
CAD
CVE
KYD
CLP
CNY
COP
KMF
CDF
NZD
CRC
HRK
CUC
CZK
DKK
DJF
DOP
EGP
ERN
ETB
FKP
FJD
XPF
GMD
GEL
GHS
GIP
GTQ
GBP
GNF
GYD
HNL
HKD
HUF
ISK
INR
IDR
IRR
IQD
IMP
ILS
JMD
JPY
JEP
JOD
KZT
KES
KPW
KRW
KWD
KGS
LAK
LBP
LSL
LRD
LYD
CHF
MKD
MGA
MWK
MYR
MVR
MRO
MUR
MXN
MDL
MNT
MAD
MZN
MMK
NAD
NPR
ANG
NIO
NGN
OMR
PKR
PGK
PYG
PEN
PHP
PLN
QAR
RON
RUB
RWF
WST
STD
SAR
RSD
SCR
SLL
SBD
SOS
ZAR
SSP
LKR
SHP
SDG
SRD
SZL
SEK
SYP
TWD
TJS
TZS
THB
TOP
TTD
TND
TRY
TMT
UGX
UAH
ARE
UYU
UZS
VUV
VEF
VND
YER
ZRN
ZMW

Example:

{
  "disbursements": [
    {
      "disbursement_id": "dd09f0e6-a576-4442-a3b4-2bb4adc4cfaf",
      "reference_id": "22082021002001",
      "type": "PAYMENT",
      "source_account": {
        "account_id": "6666dd6d-5d0e-4a65-918c-042f81f9e461",
        "bank": "DUMMY_BANK_CORPORATE",
        "number": "11111111",
        "holder_name": "PT Brankas Teknologi Indonesia",
        "type": "CORPORATE",
        "address": {},
        "bank_title": "Brankas Dummy Bank Corporate"
      },
      "destination_account": {
        "bank": "DUMMY_DESTINATION_BANK",
        "number": "1234000012340000",
        "holder_name": "Dummy Recipient Name",
        "type": "PERSONAL",
        "address": {},
        "bank_title": "Brankas Dummy Destination Bank"
      },
      "destination_amount": {
        "cur": "IDR",
        "num": "1000000"
      },
      "external": {
        "reference_id": "294835"
      },
      "status": "SUCCESS",
      "created": "2021-08-22T16:08:03.390Z",
      "updated": "2021-08-22T16:08:03.390Z",
      "disbursement_request_id": "474da23a-37a0-49af-bb9e-537ab3ef2dba",
      "merchant_txn_id": "merchanttrx001"
    }
  ],
  "total_record": 10
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.
400 Returned when the request body is malformatted or does not match the expected request.
401 Returned when the request does not contains the user’s credentials.
403 Returned when the user does not have permission to access the resource.
500 Returned when an unexpected error occured on the server side.

Retrieve Notification Setting

Retrieve notification setting to configured by merchant.

curl -X GET \
	https://disburse.sandbox.bnk.to/v1/notification-setting \
	-H 'x-api-key: USE_YOUR_API_KEY'

HTTP Request

GET https://disburse.sandbox.bnk.to/v1/notification-setting

Responses

Response body

Name Type Description
events NotificationSettingEvents settings is a list of the notification setting records.
Objects
NotificationSettingEvents
Name Type Description
EVENTDIS001 bool
EVENTDIS002 bool
EVENTDIS003 bool
EVENTDIS004 bool
EVENTDIS005 bool
EVENTDIS006 bool
EVENTDIS007 bool
EVENTDIS008 bool
EVENTDIS009 bool
EVENTDIS010 bool
EVENTDIS011 bool
EVENTDIS012 bool

Example:

{
  "events": {
    "EVENTDIS001": true,
    "EVENTDIS002": true,
    "EVENTDIS009": true,
    "EVENTDIS010": true
  }
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.
400 Returned when the request body is malformatted or does not match the expected request.
401 Returned when the request does not contains the user’s credentials.
403 Returned when the user does not have permission to access the resource.
500 Returned when an unexpected error occured on the server side.

Retrieve source banks

Retrieves the source banks

curl -X GET \
	https://disburse.sandbox.bnk.to/v1/source-banks \
	-H 'x-api-key: USE_YOUR_API_KEY'

HTTP Request

GET https://disburse.sandbox.bnk.to/v1/source-banks

Responses

Response body

Name Type Description
sources []SourceBankQuery country_code is the country code of the source bank
Objects
SourceBankQuery
Name Type Description
bank SourceBankCode bank is the destination bank code identifier of the source bank
title string title is the title of the bank
enabled bool enabled indicates whether the source bank is enabled
country_code CountryCode country_code is the country code of the source bank
supported_channels []string supported_channels is the supported channel for this bank
logo string logo is the location of the bank logo files
Enums
SourceBankCode
Value Description
UNKNOWN_BANK
DUMMY_BANK_CORPORATE
DUMMY_BANK_OAUTH2_CORPORATE
BCA_CORPORATE
BNI_CORPORATE
BRI_CORPORATE
PERMATA_CORPORATE
UNIONBANK_CORPORATE
NETBANK_CORPORATE
BNC_CORPORATE
CountryCode
Value Description
UNKNOWN_COUNTRY_CODE
ID
PH
VN
TH

Example:

{
  "sources": [
    {
      "bank": "SourceBankCode",
      "title": "string",
      "enabled": "bool",
      "country_code": "CountryCode",
      "supported_channels": "[]string",
      "logo": "string"
    }
  ]
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.
400 Returned when the request body is malformatted or does not match the expected request.
401 Returned when the request does not contains the user’s credentials.
403 Returned when the user does not have permission to access the resource.
500 Returned when an unexpected error occured on the server side.

Retrieve statements list.

Retrieve statements list.

curl -X GET \
	https://disburse.sandbox.bnk.to/v1/statements \
	-H 'x-api-key: USE_YOUR_API_KEY'

HTTP Request

GET https://disburse.sandbox.bnk.to/v1/statements

Responses

Response body

Name Type Description
statements []BankStatementQuery BankStatements is the statement list
total_record int32 TotalRecord is the number of record return by database match filters.
Objects
BankStatementQuery
Name Type Description
statement_id string StatementID is unique id generated by the system
org_id string OrgID is organization id of the merchant
source_account_no string SourceAccountNo is the source account number
source_bank_code string SourceBankCode is the source account bank code
period string Period is the period of the statement generated
url string Url is the location of the statement file stored
created_date Timestamp CreatedDate is the date statement created.
created_by string CreatedBy is the username of user who created statement.
source_bank_title string SourceBankTitle is the title account bank
Timestamp
Name Type Description
seconds int64
nanos int32

Example:

{
  "statements": [
    {
      "statement_id": "string",
      "org_id": "string",
      "source_account_no": "string",
      "source_bank_code": "string",
      "period": "string",
      "url": "string",
      "created_date": {
        "seconds": "int64",
        "nanos": "int32"
      },
      "created_by": "string",
      "source_bank_title": "string"
    }
  ],
  "total_record": "int32"
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.
400 Returned when the request body is malformatted or does not match the expected request.
401 Returned when the request does not contains the user’s credentials.
403 Returned when the user does not have permission to access the resource.
500 Returned when an unexpected error occured on the server side.

Update Bank Account

Allows merchants to update bank accounts and bank credentials that have been inserted to the system previously.

curl -X PUT \
	https://disburse.sandbox.bnk.to/v1/bank-accounts \
	-H 'x-api-key: USE_YOUR_API_KEY' \
	-d '{
		"bank_account": {
			"account_id": "string",
			"source_bank": "SourceBankCode",
			"destination_bank": "DestinationBankCode",
			"account_no": "string",
			"holder_name": {
				"first_name": "string",
				"middle_name": "string",
				"last_name": "string"
			},
			"account_type": "AccountType",
			"is_source": "bool",
			"country": "string",
			"address": {
				"line1": "string",
				"line2": "string",
				"city": "string",
				"province": "string",
				"zip_code": "string",
				"country": "string"
			},
			"email_id": "[]string",
			"source_bank_credential": {
				"credential_id": "string",
				"source_account_id": "string",
				"client_id": "string",
				"client_secret": "string",
				"api_id": "string",
				"api_secret": "string",
				"partner_id": "string",
				"username": "string",
				"password": "string",
				"access_token": "string",
				"isOAuth": "bool",
				"access_token_exp": "string",
				"refresh_token": "string"
			},
			"bank_title": "string",
			"country_code": "CountryCode",
			"external_account_id": "string",
			"balance": {
				"cur": "string",
				"num": "string",
				"is_live": "bool",
				"last_sync": {
					"seconds": "int64",
					"nanos": "int32"
				}
			},
			"account_class": "AccountClass",
			"authorized_signatories": "[]string"
		}
	}'

HTTP Request

PUT https://disburse.sandbox.bnk.to/v1/bank-accounts

Body Parameters

Name Type Description
bank_account BankAccountDetails
Objects
BankAccountDetails
Name Type Description
account_id string AccountID is an UUID generated when user add bank account
source_bank SourceBankCode SourceBankCode is bank code for source account.
destination_bank DestinationBankCode DestinationBankCode is bank code for destination account.
account_no string AccountNo is the bank account number.
holder_name FullName HolderName is the name of the owner of the bank account.
account_type AccountType AccountType is type of bank account (personal or corporate).
is_source bool IsSourceAccount determine it a source or destination bank account.
country string Country of the destination account.
address Address Address is the registered address for the destination account.
email_id []string EmailID is the list of email of account holder.
source_bank_credential SourceBankCredential BankCredential is a source bank account credential
bank_title string Bank Title is the bank title
country_code CountryCode CountryCode is the code represent the country of the bank
external_account_id string ExternalAccountID is external account id stored in external system
balance BankAccountBalance Balance is the balance left from specific account
account_class AccountClass AccountClass is the class of specific account (partner or merchant)
authorized_signatories []string AuthorizedSignatories is the list of authorized signatory
FullName
Name Type Description
first_name string FirstName is first name of holder.
middle_name string MiddleName is middle name of holder.
last_name string LastName is last name of holder.
Address
Name Type Description
line1 string Line1 is the first line of the address.
line2 string Line2 is the second line of the address.
city string City is the city this address is situated in.
province string Province is the more specific area this address is situated in.
zip_code string ZipCode of the address.
country string Country of the destination account.
SourceBankCredential
Name Type Description
credential_id string CredentialID is the uuid generated when insert credential to database.
source_account_id string SourceAccountID is the uuid of source account
client_id string ClientID is a client id provide by bank for merchant
client_secret string ClientSecret is a client secret provide by bank for merchant
api_id string ApiID is a api id provide by bank for merchant (applied for BCA)
api_secret string ApiSecret is a ap secret provide by bank for merchant (applied for BCA)
partner_id string PartnerID is a partner id provide by bank for merchant, some bank called it CorporateID
username string Username is a username provided by bank to generate bearer token.
password string Password is a username provided by bank to generate bearer token.
access_token string AccessToken is the access token
isOAuth bool IsOAuth is the auth type
access_token_exp string AccessTokenExp is the access token expired
refresh_token string RefreshToken is the refresh token
BankAccountBalance
Name Type Description
cur string BalanceCur is currency of the account balance
num string BalanceNum is number of amount in the account balance.
is_live bool IsLive is boolean indicate getting the balance from db/bank api.
last_sync Timestamp LastSync is last sync balance with bank api.
Timestamp
Name Type Description
seconds int64
nanos int32
Enums
SourceBankCode
Value Description
UNKNOWN_BANK
DUMMY_BANK_CORPORATE
DUMMY_BANK_OAUTH2_CORPORATE
BCA_CORPORATE
BNI_CORPORATE
BRI_CORPORATE
PERMATA_CORPORATE
UNIONBANK_CORPORATE
NETBANK_CORPORATE
BNC_CORPORATE
DestinationBankCode

You may download the latest Philippines and Indonesia Bank codes here

Value Description
UNKNOWN_DESTINATION_BANK
DUMMY_DESTINATION_BANK
DUMMY_INTERBANK
PARTNER_RESERVE_CODE_1
PARTNER_RESERVE_CODE_2
PARTNER_RESERVE_CODE_3
PARTNER_RESERVE_CODE_4
PARTNER_RESERVE_CODE_5
PARTNER_RESERVE_CODE_6
PARTNER_RESERVE_CODE_7
PARTNER_RESERVE_CODE_8
PARTNER_RESERVE_CODE_9
PARTNER_RESERVE_CODE_10
PARTNER_RESERVE_CODE_11
PARTNER_RESERVE_CODE_12
PARTNER_RESERVE_CODE_13
PARTNER_RESERVE_CODE_14
PARTNER_RESERVE_CODE_15
PARTNER_RESERVE_CODE_16
PARTNER_RESERVE_CODE_17
ID_ACEH_SYR
ID_AMAR
ID_ANTARDAERAH
ID_ANZ
ID_ARTHAGRAHA
ID_BANGKOK
ID_BANTEN_SYR
ID_BCA
ID_BCA_SYR
ID_BCAD
ID_BEK
ID_BI
ID_BISNIS_INTL
ID_BJB
ID_BJB_SYR
ID_BKP
ID_BKP_SYR
ID_BNI
ID_BNI_SYR
ID_BNP_PARIBAS
ID_BOA
ID_BPD_BALI
ID_BPD_BANTEN
ID_BPD_BENGKULU
ID_BRI
ID_BRI_AGRO
ID_BRI_SYR
ID_BSI
ID_BSYR
ID_BTN
ID_BTN_SYR
ID_BTPN
ID_BTPN_SYR
ID_BUMI_ARTA
ID_CAPITAL
ID_CCB
ID_CHASE
ID_CHINA
ID_CIMB
ID_CIMB_SYR
ID_CITI
ID_COMMONWEALTH
ID_CTBC
ID_DANA
ID_DBS
ID_DEU_AG
ID_DINAR
ID_DIY
ID_DKI
ID_DKI_SYR
ID_DNMN
ID_DNMN_SYR
ID_DOKU
ID_FAMA
ID_FINNET
ID_GANESHA
ID_GOPAY
ID_HARDA
ID_HSBC
ID_IBK
ID_ICBC
ID_INA_PERDANA
ID_INDEX_SELINDO
ID_INDIA
ID_JAGO
ID_JAMBI
ID_JAMBI_SYR
ID_JASA_JAKARTA
ID_JATENG_SYR
ID_JATIM
ID_JATIM_SYR
ID_JAWA_TENGAH
ID_JTRUST
ID_KALBAR
ID_KALBAR_SYR
ID_KALSEL
ID_KALSEL_SYR
ID_KALTENG
ID_KALTIM_KALTARA
ID_KALTIM_KALTARA_SYR
ID_KEB_HANA
ID_LAMPUNG
ID_LINK
ID_MALUKU
ID_MANDIRI
ID_MANDIRI_SYR
ID_MANDIRI_TASPEN
ID_MASPION
ID_MAYAPADA
ID_MAYBANK
ID_MAYBANK_SYR
ID_MAYORA
ID_MEGA
ID_MEGA_SYR
ID_MESTIKA_DHARMA
ID_MIZUHO
ID_MNC_INTL
ID_MUAMALAT
ID_MUFG
ID_MULTI_ARTA
ID_NAGARI
ID_NEO
ID_NOBU
ID_NTB
ID_NTT
ID_OCBC
ID_OCBC_SYR
ID_OKE
ID_PAN
ID_PAN_SYR
ID_PAPUA
ID_PAYPRO
ID_PERMATA
ID_PERMATA_SYR
ID_PRIMA_MASTER
ID_QNB
ID_RESONA_PERDANIA
ID_RIAU_KEPRI
ID_SAHABAT_SAMPEORNA
ID_SBI
ID_SEA
ID_SINARMAS
ID_SINARMAS_SYR
ID_STAN
ID_SULSELBAR
ID_SULSELBAR_SYR
ID_SULTENG
ID_SULTRA
ID_SULUT
ID_SUMSEL_BABEL
ID_SUMSEL_BABEL_SYR
ID_SUMUT
ID_SUMUT_SYR
ID_TELKOM
ID_UOB
ID_VICTORIA
ID_VICTORIA_SYR
ID_WOORI_SAUDARA
ID_XLTUNAI
ID_YOG_SYR
ID_RESERVE_BANK_CODE_1
ID_RESERVE_BANK_CODE_2
ID_RESERVE_BANK_CODE_3
ID_RESERVE_BANK_CODE_4
ID_RESERVE_BANK_CODE_5
ID_RESERVE_BANK_CODE_6
ID_RESERVE_BANK_CODE_7
ID_RESERVE_BANK_CODE_8
ID_RESERVE_BANK_CODE_9
ID_RESERVE_BANK_CODE_10
ID_RESERVE_BANK_CODE_11
ID_RESERVE_BANK_CODE_12
ID_RESERVE_BANK_CODE_13
ID_RESERVE_BANK_CODE_14
ID_RESERVE_BANK_CODE_15
ID_RESERVE_BANK_CODE_16
ID_RESERVE_BANK_CODE_17
ID_RESERVE_BANK_CODE_18
ID_RESERVE_BANK_CODE_19
ID_RESERVE_BANK_CODE_20
ID_RESERVE_BANK_CODE_21
ID_RESERVE_BANK_CODE_22
ID_RESERVE_BANK_CODE_23
ID_RESERVE_BANK_CODE_24
ID_RESERVE_BANK_CODE_25
ID_RESERVE_BANK_CODE_26
ID_RESERVE_BANK_CODE_27
ID_RESERVE_BANK_CODE_28
ID_RESERVE_BANK_CODE_29
ID_RESERVE_BANK_CODE_30
ID_RESERVE_BANK_CODE_31
ID_RESERVE_BANK_CODE_32
ID_RESERVE_BANK_CODE_33
ID_RESERVE_BANK_CODE_34
ID_RESERVE_BANK_CODE_35
ID_RESERVE_BANK_CODE_36
ID_RESERVE_BANK_CODE_37
ID_RESERVE_BANK_CODE_38
ID_RESERVE_BANK_CODE_39
ID_RESERVE_BANK_CODE_40
ID_RESERVE_BANK_CODE_41
ID_RESERVE_BANK_CODE_42
ID_RESERVE_BANK_CODE_43
ID_RESERVE_BANK_CODE_44
ID_RESERVE_BANK_CODE_45
ID_RESERVE_BANK_CODE_46
ID_RESERVE_BANK_CODE_47
ID_RESERVE_BANK_CODE_48
ID_RESERVE_BANK_CODE_49
ID_RESERVE_BANK_CODE_50
ID_RESERVE_BANK_CODE_51
ID_RESERVE_BANK_CODE_52
ID_RESERVE_BANK_CODE_53
ID_RESERVE_BANK_CODE_54
ID_RESERVE_BANK_CODE_55
ID_RESERVE_BANK_CODE_56
ID_RESERVE_BANK_CODE_57
ID_RESERVE_BANK_CODE_58
ID_RESERVE_BANK_CODE_59
ID_RESERVE_BANK_CODE_60
ID_RESERVE_BANK_CODE_61
ID_RESERVE_BANK_CODE_62
ID_RESERVE_BANK_CODE_63
ID_RESERVE_BANK_CODE_64
ID_RESERVE_BANK_CODE_65
ID_RESERVE_BANK_CODE_66
ID_RESERVE_BANK_CODE_67
ID_RESERVE_BANK_CODE_68
ID_RESERVE_BANK_CODE_69
ID_RESERVE_BANK_CODE_70
ID_RESERVE_BANK_CODE_71
ID_RESERVE_BANK_CODE_72
ID_RESERVE_BANK_CODE_73
ID_RESERVE_BANK_CODE_74
ID_RESERVE_BANK_CODE_75
ID_RESERVE_BANK_CODE_76
ID_RESERVE_BANK_CODE_77
ID_RESERVE_BANK_CODE_78
ID_RESERVE_BANK_CODE_79
ID_RESERVE_BANK_CODE_80
ID_RESERVE_BANK_CODE_81
ID_RESERVE_BANK_CODE_82
ID_RESERVE_BANK_CODE_83
ID_RESERVE_BANK_CODE_84
ID_RESERVE_BANK_CODE_85
ID_RESERVE_BANK_CODE_86
ID_RESERVE_BANK_CODE_87
ID_RESERVE_BANK_CODE_88
ID_RESERVE_BANK_CODE_89
ID_RESERVE_BANK_CODE_90
PH_AAIB
PH_ABC
PH_ALLBANK
PH_ANZB
PH_AUB
PH_BBPC
PH_BDBI
PH_BDO
PH_BDONB
PH_BKB
PH_BNSDP
PH_BOANA
PH_BOC
PH_BOCN
PH_BOFL
PH_BOM
PH_BPI
PH_BRBI
PH_CB
PH_CBBI
PH_CBCN
PH_CBI
PH_CBNA
PH_CBS
PH_CIMBBP
PH_CLRB
PH_CMLB
PH_CRBR
PH_CSBI
PH_CTBC
PH_CTBCPH
PH_CUBC
PH_DBOTP
PH_DCDB
PH_DCPP
PH_DMB
PH_DTCHB
PH_DUNGGANUN
PH_EQB
PH_EWB
PH_EWBRB
PH_FCB
PH_GBY
PH_GRB
PH_GXI
PH_HKASBC
PH_HSBCSBP
PH_IBOKM
PH_ICBC
PH_ING
PH_INNB
PH_ISLA
PH_JPMCB
PH_KEB
PH_LBP
PH_LFSP
PH_LPBC
PH_MABUHAY
PH_MAYAB
PH_MAYBANK
PH_MBSMB
PH_METRO
PH_MICB
PH_MLRTRB
PH_MMRB
PH_MUFG
PH_MVSMB
PH_MZHB
PH_NB
PH_OMNIPAY
PH_ONB
PH_PBB
PH_PBCOM
PH_PBOM
PH_PHILTRUST
PH_PMP
PH_PNB
PH_PNBS
PH_PRBC
PH_PRCB
PH_PROSB
PH_PSB
PH_PVB
PH_QCDB
PH_QCRB
PH_RAB
PH_RBOB
PH_RBOD
PH_RBOG
PH_RBOLP
PH_RBOLSK
PH_RBOR
PH_RBOSI
PH_RBOSM
PH_RBTB
PH_RCBC
PH_RCBCS
PH_RSB
PH_SB
PH_SHNB
PH_SMBC
PH_STERLING
PH_SUNSB
PH_TSCB
PH_TYSB
PH_UB
PH_UBE
PH_UCPB
PH_UCPBSB
PH_UMS
PH_UOBP
PH_WDB
PH_YSBP
PH_ZYBI
PH_API
PH_BNRBI
PH_CDBI
PH_CBCI
PH_CSMEBI
PH_SBPI
PH_LSBI
PH_MCC
PH_PALP
PH_CBQP
PH_RBOBC
PH_RBOSAI
PH_SPPI
PH_SPCP
PH_UDBI
PH_TYI
PH_TDBI
PH_ALLBI
PH_RESERVE_BANK_CODE_19
PH_RESERVE_BANK_CODE_20
PH_RESERVE_BANK_CODE_21
PH_RESERVE_BANK_CODE_22
PH_RESERVE_BANK_CODE_23
PH_RESERVE_BANK_CODE_24
PH_RESERVE_BANK_CODE_25
PH_RESERVE_BANK_CODE_26
PH_RESERVE_BANK_CODE_27
PH_RESERVE_BANK_CODE_28
PH_RESERVE_BANK_CODE_29
PH_RESERVE_BANK_CODE_30
PH_RESERVE_BANK_CODE_31
PH_RESERVE_BANK_CODE_32
PH_RESERVE_BANK_CODE_33
PH_RESERVE_BANK_CODE_34
PH_RESERVE_BANK_CODE_35
PH_RESERVE_BANK_CODE_36
PH_RESERVE_BANK_CODE_37
PH_RESERVE_BANK_CODE_38
PH_RESERVE_BANK_CODE_39
PH_RESERVE_BANK_CODE_40
PH_RESERVE_BANK_CODE_41
PH_RESERVE_BANK_CODE_42
PH_RESERVE_BANK_CODE_43
PH_RESERVE_BANK_CODE_44
PH_RESERVE_BANK_CODE_45
PH_RESERVE_BANK_CODE_46
PH_RESERVE_BANK_CODE_47
PH_RESERVE_BANK_CODE_48
PH_RESERVE_BANK_CODE_49
PH_RESERVE_BANK_CODE_50
PH_RESERVE_BANK_CODE_51
PH_RESERVE_BANK_CODE_52
PH_RESERVE_BANK_CODE_53
PH_RESERVE_BANK_CODE_54
PH_RESERVE_BANK_CODE_55
PH_RESERVE_BANK_CODE_56
PH_RESERVE_BANK_CODE_57
PH_RESERVE_BANK_CODE_58
PH_RESERVE_BANK_CODE_59
PH_RESERVE_BANK_CODE_60
PH_RESERVE_BANK_CODE_61
PH_RESERVE_BANK_CODE_62
PH_RESERVE_BANK_CODE_63
PH_RESERVE_BANK_CODE_64
PH_RESERVE_BANK_CODE_65
PH_RESERVE_BANK_CODE_66
PH_RESERVE_BANK_CODE_67
PH_RESERVE_BANK_CODE_68
PH_RESERVE_BANK_CODE_69
PH_RESERVE_BANK_CODE_70
PH_RESERVE_BANK_CODE_71
PH_RESERVE_BANK_CODE_72
PH_RESERVE_BANK_CODE_73
PH_RESERVE_BANK_CODE_74
PH_RESERVE_BANK_CODE_75
PH_RESERVE_BANK_CODE_76
PH_RESERVE_BANK_CODE_77
PH_RESERVE_BANK_CODE_78
PH_RESERVE_BANK_CODE_79
PH_RESERVE_BANK_CODE_80
PH_RESERVE_BANK_CODE_81
PH_RESERVE_BANK_CODE_82
PH_RESERVE_BANK_CODE_83
PH_RESERVE_BANK_CODE_84
PH_RESERVE_BANK_CODE_85
PH_RESERVE_BANK_CODE_86
PH_RESERVE_BANK_CODE_87
PH_RESERVE_BANK_CODE_88
PH_RESERVE_BANK_CODE_89
PH_RESERVE_BANK_CODE_90
PH_RESERVE_BANK_CODE_91
PH_RESERVE_BANK_CODE_92
PH_RESERVE_BANK_CODE_93
PH_RESERVE_BANK_CODE_94
PH_RESERVE_BANK_CODE_95
PH_RESERVE_BANK_CODE_96
PH_RESERVE_BANK_CODE_97
PH_RESERVE_BANK_CODE_98
PH_RESERVE_BANK_CODE_99
PH_RESERVE_BANK_CODE_100
PH_RESERVE_BANK_CODE_101
PH_RESERVE_BANK_CODE_102
PH_RESERVE_BANK_CODE_103
PH_RESERVE_BANK_CODE_104
PH_RESERVE_BANK_CODE_105
PH_RESERVE_BANK_CODE_106
PH_RESERVE_BANK_CODE_107
PH_RESERVE_BANK_CODE_108
PH_RESERVE_BANK_CODE_109
PH_RESERVE_BANK_CODE_110
PH_RESERVE_BANK_CODE_111
PH_RESERVE_BANK_CODE_112
PH_RESERVE_BANK_CODE_113
PH_RESERVE_BANK_CODE_114
PH_RESERVE_BANK_CODE_115
PH_RESERVE_BANK_CODE_116
AccountType

AccountType is the type of bank account.

Value Description
UNKNOWN_ACCOUNT_TYPE
PERSONAL
CORPORATE
GOVERNMENT
CountryCode
Value Description
UNKNOWN_COUNTRY_CODE
ID
PH
VN
TH
AccountClass

AccountClass is the class of account

Value Description
UNKNOWN_ACCOUNT_CLASS
PARTNER
MERCHANT

Responses

Response body

Name Type Description
result Result Result is the response from system indicate bank details add.
Objects
Result
Name Type Description
success bool
error []Error
message string
Error
Name Type Description
code string
message string

Example:

{
  "result": {
    "success": "bool",
    "error": [
      {
        "code": "string",
        "message": "string"
      }
    ],
    "message": "string"
  }
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.
400 Returned when the request body is malformatted or does not match the expected request.
401 Returned when the request does not contains the user’s credentials.
403 Returned when the user does not have permission to access the resource.
500 Returned when an unexpected error occured on the server side.

Upsert Callback URL

Allows merchants to register a callback url which allows Brankas to send notification of disbursement status updates for the disbursement created by merchants. Alternatively, you can also submit a callback URL from Brankas dashboard on the settings page.

curl -X PUT \
	https://disburse.sandbox.bnk.to/v1/callback \
	-H 'x-api-key: USE_YOUR_API_KEY' \
	-d '{
		"id": "",
		"description": "test-callback-url",
		"url": "https://www.example.com",
		"status": "ACTIVE"
	}'

HTTP Request

PUT https://disburse.sandbox.bnk.to/v1/callback

Body Parameters

Name Type Description
id string id contains the unique identifier of the callback url (don’t need to provide the id to create a new callback).
description string description for this callback url.
url string url contains the actual callback url value.
status CallbackURLStatus status is the state of this callback url - whether it is still active or not.
Enums
CallbackURLStatus
Value Description
UNKNOWN_URLSTATUS
ACTIVE
INACTIVE
ACTIVE_UNPROXIED

Responses

Response body

Name Type Description
id string id contains the unique identifier of the business information object.

Example:

{
  "id": "32bbd16b-8a26-42d9-8f69-e33fcc882fd8"
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.
400 Returned when the request body is malformatted or does not match the expected request.
401 Returned when the request does not contains the user’s credentials.
403 Returned when the user does not have permission to access the resource.
500 Returned when an unexpected error occured on the server side.

Statement

Brankas Statement endpoints enable fintechs and financial service providers to leverage customer transaction information and deliver highly personalized financial services and applications. You can use Brankas Statement for credit scoring, financial management applications, personalized cross-sell opportunities, and customer verification.

  • Host https://statement.sandbox.bnk.to

API Reference Overview

Retrieve statement recent notifications

Retrieves the recent notifications for a statement

curl -X GET \
	https://statement.sandbox.bnk.to/v1/notifications/{StatementID}/status \
	-H 'x-api-key: USE_YOUR_API_KEY'

HTTP Request

GET https://statement.sandbox.bnk.to/v1/notifications/{StatementID}/status

Query Parameters

Name Type Description
statement_id string StatementID is the unique identifier of the statement.

Responses

Response body

Name Type Description
notifications []StatementNotification Notifications is a list of the notification records.
Objects
StatementNotification
Name Type Description
id string ID contains the unique identifier of the statement notification.
notification_id string NotificationID contains the unique identifier of the notification.
url string URL contains the actual notification value.
statement_status StatementStatus StatementStatus is the status of the statement.
payload string Payload is the json that was sent.
http_response string HttpResponse is the response from site.
http_status string HttpStatus is the status returned from site.
error string Error message in the case the statement retrieval operation was unsuccessful
sent_at Timestamp SentAt is the time the notification was sent.
Timestamp
Name Type Description
seconds int64
nanos int32
Enums
StatementStatus
Value Description
UNKNOWN_StatementStatus Unknown statement status
Status_PENDING The requested statement retrieval is in progress.
FAILED The requested statement couldn’t be retrieved successfully.
COMPLETED The requested statement was successfully retrieved
NOTIFIED The request statement status was successfully notified
Status_RECEIVED The statement request processing is complete.
CANCELLED The statement request was cancelled
INACTIVATED The statement request inactivated upon waiting for user input
PURGED The statement data such as accounts and transactions are purged from brankas system
RECORDS_AVAILABLE Indicates atleast one or more transaction available for statement
INITIATED_Status The statement request is initiated for retrieval via IDP flow
NO_ACCOUNT The statement request was cancelled because of no account

Example:

{
  "notifications": [
    {
      "id": "string",
      "notification_id": "string",
      "url": "string",
      "statement_status": "StatementStatus",
      "payload": "string",
      "http_response": "string",
      "http_status": "string",
      "error": "string",
      "sent_at": {
        "seconds": "int64",
        "nanos": "int32"
      }
    }
  ]
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.

Retrieve notifications

Retrieves the notifications

curl -X GET \
	https://statement.sandbox.bnk.to/v1/notification \
	-H 'x-api-key: USE_YOUR_API_KEY'

HTTP Request

GET https://statement.sandbox.bnk.to/v1/notification

Responses

Response body

Name Type Description
notifications []Notification Notifications is a list of the notification records.
Objects
Notification
Name Type Description
id string ID contains the unique identifier of the notification.
description string Description for this notification.
url string URL contains the actual notification value.
status NotificationStatus Status is the state of this notification - whether it is still active or not.
lastrun string Lastrun holds the result of last notification status
statement_events []StatementEvent StatementEvents are statement retrieval states which will be the basis when posting notification.
balance_events []BalanceEvent BalanceEvents are balance retrieval states which will be the basis when posting notification.
map[string]string Headers consist of list of key/value that need to be added for the notification request
Enums
NotificationStatus
Value Description
UNKNOWN_URLSTATUS
ACTIVE
INACTIVE
ACTIVE_UNPROXIED
StatementEvent

StatementEvent are the possible events during the statement retrieval flow.

Value Description
ALL_EVENT
RECORDS_AVAILABLE_EVENT
COMPLETED_EVENT
INACTIVATED_EVENT
CANCELLED_EVENT
PURGED_EVENT
INCOME_AVAILABLE_EVENT
BalanceEvent

BalanceEvent are the possible events during the balance retrieval flow.

Value Description
ALL_EVENT
IN_PROGRESS_EVENT
SUCCESS_EVENT
INACTIVATED_EVENT
CANCELLED_EVENT
PURGED_EVENT

Example:

{
  "notifications": [
    {
      "id": "string",
      "description": "string",
      "url": "string",
      "status": "NotificationStatus",
      "lastrun": "string",
      "statement_events": "[]StatementEvent",
      "balance_events": "[]BalanceEvent",
      "": "map[string]string"
    }
  ]
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.

Send a statement list request

Retrive the statements list request.

curl -X GET \
	https://statement.sandbox.bnk.to/v1/statements \
	-H 'x-api-key: USE_YOUR_API_KEY'

HTTP Request

GET https://statement.sandbox.bnk.to/v1/statements

Responses

Response body

Name Type Description
statements []Statement Statements are the statements that match the filters of a request.
next_page_token string NextPageToken represents the pagination token to retrieve the next page of results. If the value is “”, it means no further results for the request.
message string Message is any message from the server that are not treated as an error.
total_count int32 TotalCount of the statements matched by the query filters
previous_page_token string PreviousPageToken represents the pagination token to retrieve the previous page of results. If the value is “”, it means no further results for the request.
Objects
Statement
Name Type Description
status StatementStatus Status is the current status of the statement retrieval request
statement_id string StatementID is the unique system generated identifier assigned to this specific statement retrieval request
bank_code BankCode BankCode is the internal code used by the service to target a specific bank for the statement retrieval request.
start_date Timestamp StartDate reflects the timestamp / date of the earliest date up to which the bank provides recorded transaction data, relative to the current date. This differs from bank to bank and can range from 30 to 90 days worth of transaction records from the current date.
end_date Timestamp EndDate reflects the timestamp / date of when the statement retrieval request was initiated
account_statements []AccountStatement AccountStatements is the full list of transactions captured by the statement retrieval request
error string Error message in the case the statement retrieval operation was unsuccessful
request Timestamp Create is the request timestamp.
create Timestamp Create is the creation timestamp.
external_id string ExternalID represent an id that is passed by the api consumer to track the request
channel string Channel represent source channel whether a statement request is initiated from
country string Country is the country code (ID, PH, TH)
is_idp bool IsIDP denotes that the request processed through PIDP
sub_status StatementSubStatus StatementSubStatus denotes the granular status
update Timestamp Update is the updation timestamp.
is_notification_success bool IsNotificationSuccess denotes whether the notification posted is successful or not
site_response string SiteResponse is an optional text response from the bank website.
challenge Challenge Challenge is an optional challange information from the bank website to be used for next 2FA request.
shortcode string shortcode represent a staticlink code to indicate the statement request initiated via static link
user_consent bool UserConsent denotes whether end-user agreed or gave consent for performing statement retrieval
org_id string OrgID is the unique organization identifier.
income Income Income details related to the statement transactions.
bank_type string BankType is the type of the bank whether personal or corporate
code int32 Code is status error code if statement not found
message string Message is error message if statement not found
details []ErrorDetail Details is detailed message if statement not found
status_response StatusResponse StatusResponse contains the code and description about the status for this transaction.
local_time LocalTime LocalTime contains the local time of the dates based on timezone request.
risk_insight bool RiskInsight is a flag that indicates if risk insight is included in a statement.
account_link_id string AccountLinkID is linked credentials used during retrieval.
map[string]bytes AccountPdfs is the list of account statement pdf files indexed by account number.
Timestamp
Name Type Description
seconds int64
nanos int32
AccountStatement
Name Type Description
account Account Account is the bank account information.
transactions []Transaction Transactions is the list of transaction which occured over the period_days.
account_pdfs bytes AccountPdfs is the list of account statement pdf files.
Challenge
Name Type Description
type ChallengeType
data bytes
Income
Name Type Description
overview Overview Overview of income information in a very high level
details []Details Details of income information in very detailed level
account []Account Account is the bank account information.
bank_code BankCode BankCode is the Brankas bank code for the bank that holds the account.
created_at Timestamp CreatedAt is the time when income prediction created in the system
statement_id string StatementID of the income model
income_id string IncomeID is the unique system generated identifier assigned to this specific income request
error string Error is message in the case there was error during retrieval or in request
status IncomeStatus Status is the status of the income
ErrorDetail
Name Type Description
status_code string status_code contains the status code of the request.
status_desc string status_desc contains the description of the given status code of the request.
StatusResponse
Name Type Description
status_code string status_code contains the status code of the request.
status_desc string status_desc contains the description of the given status code of the request.
LocalTime
Name Type Description
start_date string StartDate reflects the timestamp / date of the earliest date up to which the bank provides recorded transaction data, relative to the current date. This differs from bank to bank and can range from 30 to 90 days worth of transaction records from the current date.
end_date string EndDate reflects the timestamp / date of when the statement retrieval request was initiated
create string Create is the creation timestamp.
update string Update is the updation timestamp.
Account
Name Type Description
account_id string AccountID is the bank account firestore document identifier.
type AccountType Type of the relevant bank account. It is an enum indicating whether it is a Savings or Checking account
owner_ids []string OwnerIds is the list of bank credential identifiers that own and have access to this account. The first in the list is the primary owner, and the list cannot be empty.
account_number string AccountNumber is the identifying account number of the bank account in question
nick string Nick is an optional nickname for the account.
balance Amount Balance is the current balance of the relevant bank account as of the current statement retrieval
holder_name string HolderName is the full name of the account holder. The format might change between banks.
bank_code BankCode BankCode is the Brankas bank code for the bank that holds the account.
total_amount_credited Amount TotalAmountCredited is the sum of amount credited with all transactions
total_amount_debited Amount TotalAmountDebited is the sum of amount debited with all transactions
credit_transaction_count int32 CreditTransactionCount denotes number of credit transaction
debit_transaction_count int32 DebitTransactionCount denotes number of debit transaction
holder_address string HolderAddress is the full address of the account holder.
account_metadata []AccountMetadata AccountMetadata is metadata from e-commerce data
Transaction
Name Type Description
transaction_id string TransactionID is the transaction firestore document identifier.
date Timestamp Date is the transaction date in UTC
type TransactionType Type is the transaction’s type, whether it was a CREDIT, DEBIT.
status TransactionStatus Status is the transaction status marked by the bank as pending
amount Amount Amount is the financial value of the transaction
descriptor string Descriptor is the bank statement descriptor attached to the transaction
match_id string MatchID is a reference to related match data.
from Account From is the transaction source account.
to Account To is the transaction destination account.
fields Transaction_Fields
balance Amount Balance is the running balance of the transaction
merchant_type []string MerchantType is the category of the transaction
account_transaction_hash string AccountTransactionHash is the hash for account transaction (account number, date, amount, type,bank code,descriptor)
local_time string LocalTime contains the local time of the date based on timezone request.
confidence string Confidence is a percentage of expense confidence
metadata Metadata Metadata contains additional information of product
error string Error is the message to show in the case when transaction doesn’t exist
Overview
Name Type Description
count_of_days int32 count of days from start date to end date of the statement data
count_of_whole_months int32 count of whole months of the statement data
months_with_income int32 count of months with at least 1 transaction considered as an income
confidence string average confidence score from all transactions with categories considered as income available in the statement
count_of_months int32 count of months of the statement data
persona string profiles of the end user based on their income transactions and pattern
income IncomeOverview Income overview
non_income NonIncomeOverview NonIncome overview
Details
Name Type Description
year string Year of the income details
month string Month of the income details
is_whole_month bool indicates whether the assessment period covers the whole month or not (true/false)
total_amount Amount total amount of all transactions with categories considered as income in the respective month
income_count int32 count of all transactions with categories considered as non income in the respective month
transactions []Transaction list of transactions with categories considered as income in the respective month
income IncomeDetails Income Details
non_income NonIncomeDetails NonIncome Details
Account
Name Type Description
account_number string AccountNumber is the identifying account number of the bank account in question
nick_name string Nick is an optional nickname for the account.
balance Amount Balance is the current balance of the relevant bank account as of the current statement retrieval
holder_name string HolderName is the full name of the account holder. The format might change between banks.
holder_address string HolderAddress is the full address of the account holder.
Amount
Name Type Description
cur CurrencyISO4217 Cur is the currency of the amount using its ISO 4217 code.
num string Num is the actual numeric value of the amount. Note: When there are separators in the currency, we store the decimals as digits in the string. So, PHP 100.00 would be represented as “amount.cur”: “PHP” and “amount.num”: “10000”.
decimal Decimal Decimal is the actual amount value with decimal points
AccountMetadata
Name Type Description
address_name string AddressName is the address identifier
receiver_name string ReceiverName is the name of the receiver for this particular address
address string Address is address
postal_code string PostalCode is postal code for this address
phone string Phone number of the receiver
country string Country is country for this address
address_visit_count int32 AddressVisitCount is how many times address visited
address_visit_dates []string AddressVisitCount is times address visited
address_latitude string AddressLatitude is geometry latitude for address
address_longitude string AddressLongitude is geometry longitude for address
gopay_customer GopayCustomer GopayCustomer is metadata populated from gopay platform.
Transaction_Fields
Name Type Description
name string Name is the Name of the other party.
memo string Memo is the user input on a memo line.
account_no string AccountNo is the other party’s acount number.
company string Company is the virtual account company name.
Metadata
Name Type Description
invoice string Invoice is the invoice number of the transaction
total_order_price Amount TotalOrderPrice is the total price of the transaction
products []ProductMetadata Products contain list of products they bought
order_id string OrderID is the invoice number of the transaction
orders []Order Orders contain list of products they bought
origin Location Origin is the origin location of the Transaction
destination Location Destination is the destination location of the Transaction
IncomeOverview
Name Type Description
months_with_income string count of months with at least 1 transaction considered as an income
total_amount Amount total amount of all transactions with categories considered as income available in the statement
count int32 count of all transactions with categories considered as income available in the statement
confidence string average confidence score from all transactions with categories considered as income available in the statement
monthly Monthly Monthly overview of the income
NonIncomeOverview
Name Type Description
overall_total_amount Amount total amount of all transactions with categories considered as nonincome available in the statement
overall_count int32 count of all transactions with categories considered as non income available in the statement
Amount
Name Type Description
cur CurrencyISO4217 currency
num string amount of the transaction in cents
decimal Decimal Decimal is the actual amount value with decimal points
Transaction
Name Type Description
date Timestamp Date is the transaction date
type string type of the transaction (Credit/debit)
confidence string Likelihood of the transaction to be an income (0-100%)
amount Amount Amount denotes the transaction amount
descriptor string description of the transactions
category string predicted category of the transaction
transaction_hash string TransactionHash contains account transaction hash value
transaction_id string TransactionID contains transaction id
IncomeDetails
Name Type Description
total_amount Amount total amount of all transactions with categories considered as income in the respective month
count int32 count of all transactions with categories considered as income in the respective month
categories []string list of income categories from transactions in the related month
categories_count int32 count of income categories from transactions in the related month
transactions []Transaction list of transactions with categories considered as income in the respective month
NonIncomeDetails
Name Type Description
total_amount Amount total amount of all transactions with categories considered as nonincome in the respective month
count int32 count of all transactions with categories considered as income in the respective month
categories []string list of nonincome categories from transactions in the related month
categories_count int32 count of nonincome categories from transactions in the related month
transactions []Transaction list of transactions with categories considered as nonincome in the respective month
Decimal
Name Type Description
places int32 Places denotes the number of decimal points included with the amount
num string Num is the actual amount value with decimal points It is the decimal representation of the Num field as PHP 100.00 only for Indonesia, Philippine and Thailand
GopayCustomer
Name Type Description
id string ID is identifier from gopay customer.
name string Name is name from gopay customer.
email string Email is email from gopay customer.
phone string Phone is phone from gopay customer.
number string Number is phone number from gopay customer without country code.
signed_up_country string SignedUpCountry is country where user signed up from gopay customer.
country_code string CountryCode is phone country code for gopay customer.
email_verified bool EmailVerified is email verified status.
locale string Locale is device locale set up for gopay.
locale_selection_type string Locale is device selection for locale set up.
facebook_connected bool FacebookConnected is facebook connect status.
chat_id string ChatID is chat identifier for gopay.
chat_token string ChatToken is chat token for gopay.
created_at string CreatedAt is when gopay account created.
locations []Location Locations is frequent locations visited by account.
labelled_locations []Location LabelledLocations is location labeled by certain criteria.
saved_locations []Location SavedLocations is location saved by account on bank or platform.
ProductMetadata
Name Type Description
name string Name is the name of the product
price Amount Price is the price of the product
quantity int32 Quantity is quantity of the product customer bought
total_sub_price Amount TotalSubPrice is the sub price of the product
merchant string Merchant is the merchant who sell the product
Category string Category is the purchase category of the product
Order
Name Type Description
name string Name is the name of the product
price Amount Price is the price of the product
quantity int32 Quantity is quantity of the product customer bought
total_sub_price Amount TotalSubPrice is the sub price of the product
merchant string Merchant is the merchant who sell the product
category string Category is the purchase category of the product
Location
Name Type Description
formatted_address string FormattedAddress is formatted address of this location.
visit_count int32 VisitCount is how many times locatiom visited.
visit_dates []string VisitCount is times location visited.
latitude string Latitude is geometry latitude for location.
longitude string Longitude is geometry longitude for location.
label string Label is the label of location.
address_id string AddressID is bank or platform identifier for respective location. Data available from Gojek API.
place_id string PlaceID is bank or platform identifer for respective location.
address_info string AddressInfo is the address information details of location.
landmark string Landmark is the landmark of location.
created_at Timestamp CreatedAt is the creation date of location on bank or platform.
Monthly
Name Type Description
average_count int32 monthly average count of all transactions with categories considered as income available in the statement
average_amount Amount monthly average amount of all transactions with categories considered as income available in the statement
max_amount Amount monthly max amount of all transactions with categories considered as income available in the statement
min_amount Amount monthly min amount of all transactions with categories considered as income available in the statement
median_amount Amount monthly median amount of all transactions with categories considered as income available in the statement
Decimal
Name Type Description
places int32 Places denotes the number of decimal points included with the amount
num string Num is the actual amount value with decimal points It is the decimal representation of the Num field as PHP 100.00 only for Indonesia, Philippine and Thailand
Enums
StatementStatus
Value Description
UNKNOWN_StatementStatus Unknown statement status
Status_PENDING The requested statement retrieval is in progress.
FAILED The requested statement couldn’t be retrieved successfully.
COMPLETED The requested statement was successfully retrieved
NOTIFIED The request statement status was successfully notified
Status_RECEIVED The statement request processing is complete.
CANCELLED The statement request was cancelled
INACTIVATED The statement request inactivated upon waiting for user input
PURGED The statement data such as accounts and transactions are purged from brankas system
RECORDS_AVAILABLE Indicates atleast one or more transaction available for statement
INITIATED_Status The statement request is initiated for retrieval via IDP flow
NO_ACCOUNT The statement request was cancelled because of no account
BankCode

BankCode is the internal code (enum) used by the service to target a specific bank for the statement retrieval request.

Value Description
UNKNOWN_BANK
MANDIRI_PERSONAL Bank code to retrieve retail bank account transaction data for Bank Mandiri
BCA_PERSONAL Bank code to retrieve retail bank account transaction data for Bank Central Asia (BCA)
BNI_PERSONAL Bank code to retrieve retail bank account transaction data for Bank Negara Indonesia (BNI)
BRI_PERSONAL Bank code to retrieve retail bank account transaction data for Bank Rakyat Indonesia (BRI)
BCA_CORPORATE Bank code to retrieve retail bank account transaction data for Bank Central Asia (BCA)
DUMMY_BANK_PERSONAL Bank code to instruct the statement retrieval service to target the sandboxed Brankas dummy bank for test calls
BDO_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from the Banco De Oro Unibank (BDO)
BPI_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from the Bank of the Philippines Islands (BPI)
BPI_CORPORATE Bank code to retrieve retail bank (corporate) account statements / transaction histories from the Bank of the Philippines Islands (BPI)
PERMATA_PERSONAL Bank code to retrieve ratail bank account statements / transaction histories from PermataBank
KASIKORNBANK_PERSONAL Bank code to retrieve retail bank account transaction data for Kasikornbank.
PNB_PERSONAL Bank code to retrieve retail bank account transaction data for Philippine National Bank
UNIONBANK_PERSONAL Bank code to retrieve retail bank account transaction data for Union Bank
UNIONBANK_CORPORATE Bank code to retrieve retail bank account transaction data for Union Bank
METROBANK_PERSONAL Bank code to retrieve retail bank account transaction data for Metropolitan Bank
RCBC_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from the Rizal Commercial Banking Corporation
DANAMON_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from Danamon Bank
GOPAY_PERSONAL code to retrieve account statements / transaction histories from Gopay
TOKOPEDIA_PERSONAL code to retrieve account statements / transaction histories from tokopedia buyer accounts
TOKOPEDIA_CORPORATE code to retrieve account statements / transaction histories from tokopedia seller accounts
MANDIRI_CORPORATE Bank code to retrieve retail bank account transaction data for Bank Mandiri Corporate
BNI_CORPORATE Bank code to retrieve retail bank account transaction data for for Bank Negara Indonesia Corporate (BNI Corporate)
PERMATA_CORPORATE Bank code to retrieve retail bank account transaction data for for PermataBank Corporate
OVO_PERSONAL code to retrieve account statements / transaction histories from Ovo
OCBC_PERSONAL code to retrieve account statements / transaction histories from OCBC
SHOPEE_CORPORATE code to retrieve account statements / transaction histories from shopee seller account
JAGO_PERSONAL Bank code to retrieve account statements / transaction histories from Jago Bank
SHOPEE_PERSONAL code to retrieve account statements / transaction histories from shopee buyer account
GCASH_PERSONAL code to retrieve account statements / transaction histories from GCASH
LANDBANK_PERSONAL Bank code to retrieve ratail bank account statements / transaction histories from Landbank Personal
SHOPEE_VN_PERSONAL Bank code to retrieve ratail bank account statements / transaction histories from Shopee VN Personal
BRI_CORPORATE code to retrieve account statements / transaction histories from Bank Rakyat Indonesia (BRI) (corporate)
StatementSubStatus
Value Description
UNKNOWN_StatementSubStatus
SubStatus_INITIATED Initiatated a request for PIDP
SubStatus_LOGIN_ERROR Error while logging in to the user internet banking account.
SubStatus_AWAITING_LOGIN Login in progress.
SubStatus_AWAITING_TFA Awaiting TFA authentication to gain access to the user’s online banking account.
SubStatus_COMPLETED The requested statement was successfully retrieved
SubStatus_BLOCKED Blocked
SubStatus_INPROGRESS The requested statement retrieval request is in progress.
SubStatus_INVALID_TFA TFA provided by the user is not correct or expired.
SubStatus_NO_TFA_PROVIDED User didn’t provide a TFA for authentication with the bank.
SubStatus_SYSTEM_UNAVAILABLE System busy or unavailable to process the request
SubStatus_ERROR The requested statement couldn’t be retrieved successfully.
SubStatus_CANCELLED Cancelled
SubStatus_INACTIVATED Inactivated
SubStatus_PURGED Purged
SubStatus_RECORDS_AVAILABLE Indicates atleast one or more transaction available for statement
SubStatus_TFA_OPTIONAL Indicates multiple TFA option available to change
SubStatus_INCOME_AVAILABLE The income data available for the statement
SubStatus_PERMISSION_REQUIRED Permission required
SubStatus_OTP_EXPIRED OTP is expired
SubStatus_WRONG_PDF_FORMAT Given wrong pdf format
ChallengeType

ChallengeType for captcha or OTP challenge

Value Description
TEXT TEXT are challenges that are generally represented as strings.
IMAGE IMAGE are image-based challenges, for example a captcha image.
IN_APP IN_APP are challenges that happens offline and asynchronously outside our control for example, approvals from a user’s mobile device.
SMS SMS are SMS-based challenge codes.
MGENCODE MGENCODE or Mobile Generated Code, are usually challenge codes generated by bank applications.
HYBRID HYBRID are bank-specific challenge types, for example, BCA requires a mix of the different types.
PIN PIN are mostly static pin codes from banks, eg Metrobank’s passcode.
USER_ACTION USER_ACTION require some actions from user, but doesn’t need any information back from user. (ie. user need to click a link sent by sms, but after that we can continue automatically in our scraper) Bankworker will continue automatically without waiting for TFA call.
BankCode

BankCode is the internal code (enum) used by the service to target a specific bank for the statement retrieval request.

Value Description
UNKNOWN_BANK
MANDIRI_PERSONAL Bank code to retrieve retail bank account transaction data for Bank Mandiri
BCA_PERSONAL Bank code to retrieve retail bank account transaction data for Bank Central Asia (BCA)
BNI_PERSONAL Bank code to retrieve retail bank account transaction data for Bank Negara Indonesia (BNI)
BRI_PERSONAL Bank code to retrieve retail bank account transaction data for Bank Rakyat Indonesia (BRI)
BCA_CORPORATE Bank code to retrieve retail bank account transaction data for Bank Central Asia (BCA)
DUMMY_BANK_PERSONAL Bank code to instruct the statement retrieval service to target the sandboxed Brankas dummy bank for test calls
BDO_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from the Banco De Oro Unibank (BDO)
BPI_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from the Bank of the Philippines Islands (BPI)
KASIKORNBANK_PERSONAL Bank code to retrieve retail bank account transaction data for Kasikornbank.
PNB_PERSONAL Bank code to retrieve retail bank account transaction data for Philippine National Bank
UNIONBANK_PERSONAL Bank code to retrieve retail bank account transaction data for Union Bank
UNIONBANK_CORPORATE Bank code to retrieve retail bank account transaction data for Union Bank
METROBANK_PERSONAL Bank code to retrieve retail bank account transaction data for Metropolitan Bank
RCBC_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from the Rizal Commercial Banking Corporation
DANAMON_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from Danamon Bank
GOPAY_PERSONAL code to retrieve account statements / transaction histories from Gopay
TOKOPEDIA_PERSONAL code to retrieve account statements / transaction histories from tokopedia buyer accounts
TOKOPEDIA_CORPORATE code to retrieve account statements / transaction histories from tokopedia seller accounts
MANDIRI_CORPORATE Bank code to retrieve retail bank account transaction data for Bank Mandiri Corporate
BNI_CORPORATE Bank code to retrieve retail bank account transaction data for for Bank Negara Indonesia Corporate (BNI Corporate)
PERMATA_CORPORATE Bank code to retrieve retail bank account transaction data for for PermataBank Corporate
OVO_PERSONAL code to retrieve account statements / transaction histories from Ovo
OCBC_PERSONAL code to retrieve account statements / transaction histories from OCBC
SHOPEE_CORPORATE code to retrieve account statements / transaction histories from shopee seller account
JAGO_PERSONAL Bank code to retrieve account statements / transaction histories from Jago Bank
SHOPEE_PERSONAL code to retrieve account statements / transaction histories from shopee buyer account
IncomeStatus
Value Description
UNKNOWN_IncomeStatus Unknown income status
COMPLETED The requested income was successfully retrieved
FAILED The requested income couldn’t be retrieved successfully.
AccountType

AccountType is the account type enum.

Value Description
UNKNOWN_AccountType Indicates that the bank account type is either undefined or neither a Checking on Saving account
CHECKING Indicates that the bank account is a Checking Account
SAVINGS Indicates that the bank account is a Savings Account
JOINT Indicates that the bank account is a Joint Account
PAYROLL Indicates that the bank account is a Payroll Account
CORPORATE_ACCOUNT Indicates that the bank account is a Corporate Account
INVESTMENT Indicates that the bank account is a Investment Account
TransactionType

TransactionType is the transaction type enum.

Value Description
UNKNOWN_TYPE Unknown transaction type
CREDIT Transactions that credit the user’s account
DEBIT Transactions that debit the user’s account
TransactionStatus

TransactionStatus is the transaction status enum.

Value Description
UNKNOWN_STATUS
SUCCESS
TRANSACTIONSTATUS_PENDING
CurrencyISO4217

CurrencyISO4217 iso is the 3 digit currency that will be used as standard currency type on fast checkout. see: https://en.wikipedia.org/wiki/ISO_4217

Value Description
UNKNOWN_CURRENCY
AFN
EUR
ALL
DZD
USD
AOA
XCD
ARS
AMD
AWG
AUD
AZN
BSD
BHD
BDT
BYR
BZD
XOF
BMD
BTN
BOV
BAM
BWP
NOK
BRL
SGD
BGN
BIF
KHR
XAF
CAD
CVE
KYD
CLP
CNY
COP
KMF
CDF
NZD
CRC
HRK
CUC
CZK
DKK
DJF
DOP
EGP
ERN
ETB
FKP
FJD
XPF
GMD
GEL
GHS
GIP
GTQ
GBP
GNF
GYD
HNL
HKD
HUF
ISK
INR
IDR
IRR
IQD
IMP
ILS
JMD
JPY
JEP
JOD
KZT
KES
KPW
KRW
KWD
KGS
LAK
LBP
LSL
LRD
LYD
CHF
MKD
MGA
MWK
MYR
MVR
MRO
MUR
MXN
MDL
MNT
MAD
MZN
MMK
NAD
NPR
ANG
NIO
NGN
OMR
PKR
PGK
PYG
PEN
PHP
PLN
QAR
RON
RUB
RWF
WST
STD
SAR
RSD
SCR
SLL
SBD
SOS
ZAR
SSP
LKR
SHP
SDG
SRD
SZL
SEK
SYP
TWD
TJS
TZS
THB
TOP
TTD
TND
TRY
TMT
UGX
UAH
ARE
UYU
UZS
VUV
VEF
VND
YER
ZRN
ZMW
CurrencyISO4217

CurrencyISO4217 iso is the 3 digit currency that will be used as standard currency type on fast checkout. see: https://en.wikipedia.org/wiki/ISO_4217

Value Description
UNKNOWN_CURRENCY
AFN
EUR
ALL
DZD
USD
AOA
XCD
ARS
AMD
AWG
AUD
AZN
BSD
BHD
BDT
BYR
BZD
XOF
BMD
BTN
BOV
BAM
BWP
NOK
BRL
SGD
BGN
BIF
KHR
XAF
CAD
CVE
KYD
CLP
CNY
COP
KMF
CDF
NZD
CRC
HRK
CUC
CZK
DKK
DJF
DOP
EGP
ERN
ETB
FKP
FJD
XPF
GMD
GEL
GHS
GIP
GTQ
GBP
GNF
GYD
HNL
HKD
HUF
ISK
INR
IDR
IRR
IQD
IMP
ILS
JMD
JPY
JEP
JOD
KZT
KES
KPW
KRW
KWD
KGS
LAK
LBP
LSL
LRD
LYD
CHF
MKD
MGA
MWK
MYR
MVR
MRO
MUR
MXN
MDL
MNT
MAD
MZN
MMK
NAD
NPR
ANG
NIO
NGN
OMR
PKR
PGK
PYG
PEN
PHP
PLN
QAR
RON
RUB
RWF
WST
STD
SAR
RSD
SCR
SLL
SBD
SOS
ZAR
SSP
LKR
SHP
SDG
SRD
SZL
SEK
SYP
TWD
TJS
TZS
THB
TOP
TTD
TND
TRY
TMT
UGX
UAH
ARE
UYU
UZS
VUV
VEF
VND
YER
ZRN
ZMW

Example:

{
  "statements": [
    {
      "account_statements": [
        {
          "account": {
            "account_number": "xxxxx1234",
            "balance": {
              "cur": "PHP",
              "num": "10000"
            },
            "holder_name": "TEST USER",
            "type": "SAVINGS"
          },
          "transactions": [
            {
              "amount": {
                "cur": "PHP",
                "num": "10000"
              },
              "date": "2020-10-21T04:50:35Z",
              "descriptor": "Payment to merchant X for product Y",
              "status": "Success",
              "type": "DEBIT"
            },
            {
              "amount": {
                "cur": "PHP",
                "num": "10000"
              },
              "date": "2020-10-21T04:50:35Z",
              "descriptor": "Payment to merchant X for product Y",
              "status": "Success",
              "type": "CREDIT"
            }
          ]
        }
      ],
      "bank_code": "DUMMY_BANK_PERSONAL",
      "end_date": "2019-01-21T04:50:35Z",
      "start_date": "2020-10-21T04:50:35Z",
      "statement_id": "123_statement_id",
      "status": "COMPLETED"
    },
    {
      "account_statements": [
        {
          "account": {
            "account_number": "xxxxx5678",
            "balance": {
              "cur": "PHP",
              "num": "10000"
            },
            "holder_name": "TEST USER 2",
            "type": "CHECKINGS"
          },
          "transactions": [
            {
              "amount": {
                "cur": "PHP",
                "num": "10000"
              },
              "date": "2020-10-21T04:50:35Z",
              "descriptor": "Payment to merchant X for product Y",
              "status": "Success",
              "type": "DEBIT"
            },
            {
              "amount": {
                "cur": "PHP",
                "num": "10000"
              },
              "date": "2020-10-21T04:50:35Z",
              "descriptor": "Payment to merchant X for product Y",
              "status": "Success",
              "type": "CREDIT"
            }
          ]
        }
      ],
      "bank_code": "DUMMY_BANK_PERSONAL",
      "end_date": "2019-01-21T04:50:35Z",
      "start_date": "2020-10-21T04:50:35Z",
      "statement_id": "456_statement_id",
      "status": "COMPLETED"
    },
    {
      "account_statements": [
        {
          "account": {
            "account_number": "1234567890",
            "balance": {
              "cur": "IDR",
              "decimal": {
                "num": "25400000.00",
                "places": 2
              },
              "num": "2540000000"
            },
            "credit_transaction_count": 7,
            "debit_transaction_count": 4,
            "holder_name": "TEST USER",
            "total_amount_credited": {
              "cur": "IDR",
              "decimal": {
                "num": "21500000.00",
                "places": 2
              },
              "num": "2150000000"
            },
            "total_amount_debited": {
              "cur": "IDR",
              "decimal": {
                "num": "1736500.00",
                "places": 2
              },
              "num": "173650000"
            },
            "type": "SAVINGS"
          },
          "transactions": [
            {
              "amount": {
                "cur": "IDR",
                "decimal": {
                  "num": "130000.00",
                  "places": 2
                },
                "num": "13000000"
              },
              "balance": {
                "cur": "IDR",
                "decimal": {
                  "num": "5156500.00",
                  "places": 2
                },
                "num": "5156500.00"
              },
              "date": "2021-03-02T17:00:00Z",
              "descriptor": "TOP UP TRANSACTION A",
              "type": "DEBIT"
            },
            {
              "amount": {
                "cur": "IDR",
                "decimal": {
                  "num": "65000.00",
                  "places": 2
                },
                "num": "6500000"
              },
              "balance": {
                "cur": "IDR",
                "decimal": {
                  "num": "5221500.00",
                  "places": 2
                },
                "num": "522150000"
              },
              "date": "2021-03-08T17:00:00Z",
              "descriptor": "FUND IN INTRABANK TRANSFER SAMPLE 1",
              "type": "CREDIT"
            },
            {
              "amount": {
                "cur": "IDR",
                "decimal": {
                  "num": "130000.00",
                  "places": 2
                },
                "num": "13000000"
              },
              "balance": {
                "cur": "IDR",
                "decimal": {
                  "num": "5351500.00",
                  "places": 2
                },
                "num": "535150000"
              },
              "date": "2021-03-21T17:00:00Z",
              "descriptor": "FUND IN INTERBANK TRANSFER SAMPLE 2",
              "type": "CREDIT"
            },
            {
              "amount": {
                "cur": "IDR",
                "decimal": {
                  "num": "10000000.00",
                  "places": 2
                },
                "num": "1000000000"
              },
              "balance": {
                "cur": "IDR",
                "decimal": {
                  "num": "15351500.00",
                  "places": 2
                },
                "num": "1535150000"
              },
              "date": "2021-03-25T17:00:00Z",
              "descriptor": "COMPANY SALARY SAMPLE 1",
              "type": "CREDIT"
            },
            {
              "amount": {
                "cur": "IDR",
                "decimal": {
                  "num": "100000.00",
                  "places": 2
                },
                "num": "10000000"
              },
              "balance": {
                "cur": "IDR",
                "decimal": {
                  "num": "15251500.00",
                  "places": 2
                },
                "num": "1525150000"
              },
              "date": "2021-04-02T17:00:00Z",
              "descriptor": "TRANSFER TO DESTINATION BANK A",
              "type": "DEBIT"
            },
            {
              "amount": {
                "cur": "IDR",
                "decimal": {
                  "num": "6500.00",
                  "places": 2
                },
                "num": "650000"
              },
              "balance": {
                "cur": "IDR",
                "decimal": {
                  "num": "15245000.00",
                  "places": 2
                },
                "num": "1524500000"
              },
              "date": "2021-04-02T17:00:00Z",
              "descriptor": "SWITCHING COST TRANSFER TO DESTINATION BANK A",
              "type": "DEBIT"
            },
            {
              "amount": {
                "cur": "IDR",
                "decimal": {
                  "num": "80000.00",
                  "places": 2
                },
                "num": "8000000"
              },
              "balance": {
                "cur": "IDR",
                "decimal": {
                  "num": "15325000.00",
                  "places": 2
                },
                "num": "1532500000"
              },
              "date": "2021-04-06T17:00:00Z",
              "descriptor": "FUND IN INTRABANK TRANSFER SAMPLE 2",
              "type": "CREDIT"
            },
            {
              "amount": {
                "cur": "IDR",
                "decimal": {
                  "num": "155000.00",
                  "places": 2
                },
                "num": "15500000"
              },
              "balance": {
                "cur": "IDR",
                "decimal": {
                  "num": "15480000.00",
                  "places": 2
                },
                "num": "1548000000"
              },
              "date": "2021-04-12T17:00:00Z",
              "descriptor": "FUND IN INTERBANK TRANSFER SAMPLE 3",
              "type": "CREDIT"
            },
            {
              "amount": {
                "cur": "IDR",
                "decimal": {
                  "num": "10000000.00",
                  "places": 2
                },
                "num": "1000000000"
              },
              "balance": {
                "cur": "IDR",
                "decimal": {
                  "num": "25480000.00",
                  "places": 2
                },
                "num": "2548000000"
              },
              "date": "2021-04-25T17:00:00Z",
              "descriptor": "COMPANY SALARY SAMPLE 2",
              "type": "CREDIT"
            },
            {
              "amount": {
                "cur": "IDR",
                "decimal": {
                  "num": "70000.00",
                  "places": 2
                },
                "num": "7000000"
              },
              "balance": {
                "cur": "IDR",
                "decimal": {
                  "num": "25550000.00",
                  "places": 2
                },
                "num": "2555000000"
              },
              "date": "2021-05-12T17:00:00Z",
              "descriptor": "FUND IN INTERBANK TRANSFER SAMPLE 4",
              "type": "CREDIT"
            },
            {
              "amount": {
                "cur": "IDR",
                "decimal": {
                  "num": "1500000.00",
                  "places": 2
                },
                "num": "150000000"
              },
              "balance": {
                "cur": "IDR",
                "decimal": {
                  "num": "25400000.00",
                  "places": 2
                },
                "num": "2540000000"
              },
              "date": "2021-05-13T17:00:00Z",
              "descriptor": "PAYMENT TO MERCHANT A",
              "type": "DEBIT"
            }
          ]
        }
      ],
      "bank_code": "BCA_PERSONAL",
      "bank_type": "PERSONAL",
      "create": "2021-05-18T11:59:17Z",
      "end_date": "2021-05-18T11:59:31Z",
      "external_id": "test_income_external_id",
      "income": {
        "created_at": "2021-05-18T11:59:31Z",
        "details": [
          {
            "income": {
              "categories_count": 0,
              "count": 0,
              "total_amount": {
                "cur": "IDR",
                "decimal": {
                  "num": "0",
                  "places": 2
                },
                "num": "0"
              }
            },
            "month": "2",
            "non_income": {
              "categories_count": 0,
              "count": 0,
              "total_amount": {
                "cur": "IDR",
                "decimal": {
                  "num": "0",
                  "places": 2
                },
                "num": "0"
              }
            },
            "year": "2021"
          },
          {
            "income": {
              "categories": ["fundin_salary_paycheck"],
              "categories_count": 1,
              "count": 1,
              "total_amount": {
                "cur": "IDR",
                "decimal": {
                  "num": "10000000.00",
                  "places": 2
                },
                "num": "1000000000"
              },
              "transactions": [
                {
                  "amount": {
                    "cur": "IDR",
                    "decimal": {
                      "num": "10000000.00",
                      "places": 2
                    },
                    "num": "1000000000"
                  },
                  "category": "fundin_salary_paycheck",
                  "confidence": "97.30%",
                  "date": "2021-03-25T17:00:00Z",
                  "descriptor": "COMPANY SALARY SAMPLE 1",
                  "type": "CREDIT"
                }
              ]
            },
            "month": "3",
            "non_income": {
              "categories": ["fundin_receive_transfer"],
              "categories_count": 1,
              "count": 2,
              "total_amount": {
                "cur": "IDR",
                "decimal": {
                  "num": "195000.00",
                  "places": 2
                },
                "num": "19500000"
              },
              "transactions": [
                {
                  "amount": {
                    "cur": "IDR",
                    "decimal": {
                      "num": "65000.00",
                      "places": 2
                    },
                    "num": "6500000"
                  },
                  "category": "fundin_receive_transfer",
                  "confidence": "18.0%",
                  "date": "2021-03-08T17:00:00Z",
                  "descriptor": "FUND IN INTRABANK TRANSFER SAMPLE 1",
                  "type": "CREDIT"
                },
                {
                  "amount": {
                    "cur": "IDR",
                    "decimal": {
                      "num": "130000.00",
                      "places": 2
                    },
                    "num": "13000000"
                  },
                  "category": "fundin_receive_transfer",
                  "confidence": "12.48%",
                  "date": "2021-03-21T17:00:00Z",
                  "descriptor": "FUND IN INTERBANK TRANSFER SAMPLE 2",
                  "type": "CREDIT"
                }
              ]
            },
            "year": "2021"
          },
          {
            "income": {
              "categories": ["fundin_salary_paycheck"],
              "categories_count": 1,
              "count": 1,
              "total_amount": {
                "cur": "IDR",
                "decimal": {
                  "num": "10000000.00",
                  "places": 2
                },
                "num": "1000000000"
              },
              "transactions": [
                {
                  "amount": {
                    "cur": "IDR",
                    "decimal": {
                      "num": "10000000.00",
                      "places": 2
                    },
                    "num": "1000000000"
                  },
                  "category": "fundin_salary_paycheck",
                  "confidence": "97.30%",
                  "date": "2021-04-25T17:00:00Z",
                  "descriptor": "COMPANY SALARY SAMPLE 2",
                  "type": "CREDIT"
                }
              ]
            },
            "month": "4",
            "non_income": {
              "categories": ["fundin_receive_transfer"],
              "categories_count": 1,
              "count": 2,
              "total_amount": {
                "cur": "IDR",
                "decimal": {
                  "num": "235000.00",
                  "places": 2
                },
                "num": "23500000"
              },
              "transactions": [
                {
                  "amount": {
                    "cur": "IDR",
                    "decimal": {
                      "num": "80000.00",
                      "places": 2
                    },
                    "num": "8000000"
                  },
                  "category": "fundin_receive_transfer",
                  "confidence": "18.0%",
                  "date": "2021-04-06T17:00:00Z",
                  "descriptor": "FUND IN INTRABANK TRANSFER SAMPLE 2",
                  "type": "CREDIT"
                },
                {
                  "amount": {
                    "cur": "IDR",
                    "decimal": {
                      "num": "155000.00",
                      "places": 2
                    },
                    "num": "15500000"
                  },
                  "category": "fundin_receive_transfer",
                  "confidence": "12.48%",
                  "date": "2021-04-12T17:00:00Z",
                  "descriptor": "FUND IN INTERBANK TRANSFER SAMPLE 3",
                  "type": "CREDIT"
                }
              ]
            },
            "year": "2021"
          },
          {
            "income": {
              "categories": [],
              "categories_count": 0,
              "count": 0,
              "total_amount": {
                "cur": "IDR",
                "decimal": {
                  "num": "0",
                  "places": 2
                },
                "num": "0"
              },
              "transactions": []
            },
            "month": "5",
            "non_income": {
              "categories": ["fundin_receive_transfer"],
              "categories_count": 1,
              "count": 1,
              "total_amount": {
                "cur": "IDR",
                "decimal": {
                  "num": "70000.00",
                  "places": 2
                },
                "num": "7000000"
              },
              "transactions": [
                {
                  "amount": {
                    "cur": "IDR",
                    "decimal": {
                      "num": "70000.00",
                      "places": 2
                    },
                    "num": "7000000"
                  },
                  "category": "fundin_receive_transfer",
                  "confidence": "12.48%",
                  "date": "2021-05-12T17:00:00Z",
                  "descriptor": "FUND IN INTERBANK TRANSFER SAMPLE 4",
                  "type": "CREDIT"
                }
              ]
            },
            "year": "2021"
          }
        ],
        "overview": {
          "count_of_days": 90,
          "count_of_months": 4,
          "count_of_whole_months": 2,
          "income": {
            "confidence": "97.30%",
            "count": 2,
            "monthly": {
              "average_amount": {
                "cur": "IDR",
                "decimal": {
                  "num": "10000000.00",
                  "places": 2
                },
                "num": "1000000000"
              },
              "average_count": 1,
              "max_amount": {
                "cur": "IDR",
                "decimal": {
                  "num": "10000000.00",
                  "places": 2
                },
                "num": "1000000000"
              },
              "median_amount": {
                "cur": "IDR",
                "decimal": {
                  "num": "10000000.00",
                  "places": 2
                },
                "num": "1000000000"
              },
              "min_amount": {
                "cur": "IDR",
                "decimal": {
                  "num": "10000000.00",
                  "places": 2
                },
                "num": "1000000000"
              }
            },
            "months_with_income": "2",
            "total_amount": {
              "cur": "IDR",
              "decimal": {
                "num": "20000000.00",
                "places": 2
              },
              "num": "2000000000"
            }
          },
          "non_income": {
            "overall_count": 5,
            "overall_total_amount": {
              "cur": "IDR",
              "decimal": {
                "num": "500000.00",
                "places": 2
              },
              "num": "50000000"
            }
          },
          "persona": "Salaryman"
        },
        "statement_id": "7dec0e20-bc7d-484d-a80b-d55451bbcdb1"
      },
      "org_id": "3ba5d732-e899-11eb-89bf-f793e8100480",
      "start_date": "2021-02-22T11:59:31Z",
      "statement_id": "7dec0e20-bc7d-484d-a80b-d55451bbcdb1",
      "status": "COMPLETED",
      "status_response": {
        "status_code": "STTDXXX2000",
        "status_desc": "completed"
      },
      "sub_status": "SubStatus_INCOME_AVAILABLE",
      "update": "2021-05-18T11:59:31Z"
    }
  ]
}

Response codes

Status Description
200 A successful response.
404 Returned when the resource is not found.

Send a statement retrieval initiation request

Initiates a statement retrieval request

curl -X POST \
	https://statement.sandbox.bnk.to/v1/statement-init \
	-H 'x-api-key: USE_YOUR_API_KEY' \
	-d '{
		"app_redirect_uri": "http://foo.com",
		"bank_codes": [
			"BDO_PERSONAL",
			"BPI_PERSONAL",
			"PNB_PERSONAL"
		],
		"country": "PH",
		"external_id": "test@domain.com",
		"organization_display_name": "NeoBank"
	}'

HTTP Request

POST https://statement.sandbox.bnk.to/v1/statement-init

Body Parameters

Name Type Description
country string Country is the country code (ID, PH, TH)
bank_codes []BankCode BankCodes used to specify the list of bank to be shown to user
external_id string ExternalID represent an id that is passed by the api consumer to track the request
app_redirect_uri string AppRedirectURI is the URL that end users need to be redirected after the successful statement retrieval operation
organization_display_name string OrganizationDisplayName is a name of the organization that send the request and will be displayed when processing the statement request
app_redirect_error_uri string AppRedirectErrorURI is the URL that end users need to be redirected for the failure on statement retrieval operation
app_redirect_duration string AppRedirectDuration is the time (in seconds) the user should be redirected upon statement retrieval operation finish.
remember_me bool RememberMe shows the remember_me option when performing the statement-retrieval flow if it is set to true, otherwise won’t show remember me option
link_id string LinkID is the identifier that maps to the bank and generated after a credential is stored in browser
auto_consent bool AutoConsent is a flag that skip the consent on PIDP flow and it is disabled by default
corporate bool Corporate flag indicates the flow will be for corporate bank statement retrievals
start_date string StartDate is the start date of the statement request Date/Time ranges should follow the YYYY-MM-DD convention
end_date string EndDate is the end date of the statement request Date/Time ranges should follow the YYYY-MM-DD convention
user_consent bool UserConsent is a flag that indicates if user gave a consent
bank_selected BankCode BankSelected is bank selected by merchant
alternative_data_sources []BankCode AlternativeDataSources used to specify the list of alternative data sources to be shown to user
pdf_upload bool PDFUpload used to identify if client wants to enable PDF parser feature or not
risk_insight bool RiskInsight is a flag that indicates if risk insight is included in a statement.
include_balance bool IncludeBalance is the indicator to include saving the balance details
Enums
BankCode

BankCode is the internal code (enum) used by the service to target a specific bank for the statement retrieval request.

Value Description
UNKNOWN_BANK
MANDIRI_PERSONAL Bank code to retrieve retail bank account transaction data for Bank Mandiri
BCA_PERSONAL Bank code to retrieve retail bank account transaction data for Bank Central Asia (BCA)
BNI_PERSONAL Bank code to retrieve retail bank account transaction data for Bank Negara Indonesia (BNI)
BRI_PERSONAL Bank code to retrieve retail bank account transaction data for Bank Rakyat Indonesia (BRI)
BCA_CORPORATE Bank code to retrieve retail bank account transaction data for Bank Central Asia (BCA)
DUMMY_BANK_PERSONAL Bank code to instruct the statement retrieval service to target the sandboxed Brankas dummy bank for test calls
BDO_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from the Banco De Oro Unibank (BDO)
BPI_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from the Bank of the Philippines Islands (BPI)
BPI_CORPORATE Bank code to retrieve retail bank (corporate) account statements / transaction histories from the Bank of the Philippines Islands (BPI)
PERMATA_PERSONAL Bank code to retrieve ratail bank account statements / transaction histories from PermataBank
KASIKORNBANK_PERSONAL Bank code to retrieve retail bank account transaction data for Kasikornbank.
PNB_PERSONAL Bank code to retrieve retail bank account transaction data for Philippine National Bank
UNIONBANK_PERSONAL Bank code to retrieve retail bank account transaction data for Union Bank
UNIONBANK_CORPORATE Bank code to retrieve retail bank account transaction data for Union Bank
METROBANK_PERSONAL Bank code to retrieve retail bank account transaction data for Metropolitan Bank
RCBC_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from the Rizal Commercial Banking Corporation
DANAMON_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from Danamon Bank
GOPAY_PERSONAL code to retrieve account statements / transaction histories from Gopay
TOKOPEDIA_PERSONAL code to retrieve account statements / transaction histories from tokopedia buyer accounts
TOKOPEDIA_CORPORATE code to retrieve account statements / transaction histories from tokopedia seller accounts
MANDIRI_CORPORATE Bank code to retrieve retail bank account transaction data for Bank Mandiri Corporate
BNI_CORPORATE Bank code to retrieve retail bank account transaction data for for Bank Negara Indonesia Corporate (BNI Corporate)
PERMATA_CORPORATE Bank code to retrieve retail bank account transaction data for for PermataBank Corporate
OVO_PERSONAL code to retrieve account statements / transaction histories from Ovo
OCBC_PERSONAL code to retrieve account statements / transaction histories from OCBC
SHOPEE_CORPORATE code to retrieve account statements / transaction histories from shopee seller account
JAGO_PERSONAL Bank code to retrieve account statements / transaction histories from Jago Bank
SHOPEE_PERSONAL code to retrieve account statements / transaction histories from shopee buyer account
GCASH_PERSONAL code to retrieve account statements / transaction histories from GCASH
LANDBANK_PERSONAL Bank code to retrieve ratail bank account statements / transaction histories from Landbank Personal
SHOPEE_VN_PERSONAL Bank code to retrieve ratail bank account statements / transaction histories from Shopee VN Personal
BRI_CORPORATE code to retrieve account statements / transaction histories from Bank Rakyat Indonesia (BRI) (corporate)

Responses

Response body

Name Type Description
statement_id string StatementID is the unique ID assigned to the statement initiation request
redirect_uri string RedirectURI is the URL that end users need to be redirected to in order to continue the statement-retrieval operation
time_consent_granted string TimeConsentGranted is the timestamp when user grant consent

Example:

{
  "statement_id": "96481b6f-f6f1-4414-badc-8fb1dae6c51c",
  "redirect_uri": "https://pidp-server.bnk.to?app=statement\u0026statement_id=96481b6f-f6f1-4414-badc-8fb1dae6c51c\u0026country=PH\u0026organization_display_name=NeoBank\u0026return_url=http%3A%2F%2Ffoo.com\u0026bank_codes=262,263,406",
  "time_consent_granted": "2021-11-26T05:55:11Z"
}

Response codes

Status Description
200 A successful response.
404 Returned when the resource is not found.

Send the statement delete request

Purge the statement associated with statement_ids and download identifier

curl -X POST \
	https://statement.sandbox.bnk.to/v1/statement-purge \
	-H 'x-api-key: USE_YOUR_API_KEY' \
	-d '{
		"statement_ids": "[]string",
		"download_id": "string",
		"confirm": "bool"
	}'

HTTP Request

POST https://statement.sandbox.bnk.to/v1/statement-purge

Body Parameters

Name Type Description
statement_ids []string StatementIDs are the list of statement ids for which the account and transaction details need to be purged
download_id string DownloadID is the unique identifier that represens a list of statement ids associated when statement detail report downloaded, passing the download_id will delete the statement account and transactions corresponds to the download identifier
confirm bool Confirm denotes that the statement shall be deleted, the flag won’t be required if purge happens by passing the statement_id if the download_id is passed and confirm is set to true the statement ids associated with download id’s will be purged, otherwise the downloaded statements details against the download_id will be deleted.

Responses

Response body

Name Type Description
purged_at Timestamp PurgedAt denotes the time when statement purged
statement_count int32 StatementCount returns the number of statement purged
Objects
Timestamp
Name Type Description
seconds int64
nanos int32

Example:

{
  "purged_at": {
    "seconds": "int64",
    "nanos": "int32"
  },
  "statement_count": "int32"
}

Response codes

Status Description
200 A successful response.
404 Returned when the resource is not found.

Send a static link creation request

Initiates a static link request

curl -X POST \
	https://statement.sandbox.bnk.to/v1/static-link \
	-H 'x-api-key: USE_YOUR_API_KEY' \
	-d '{
		"country": "string",
		"bank_codes": "[]BankCode",
		"app_redirect_uri": "string",
		"organization_display_name": "string",
		"logo_url": "string",
		"expiry_limit": "int32",
		"expires_in": "string",
		"start_date": "string",
		"end_date": "string",
		"alternative_data_sources": "[]BankCode",
		"pdf_upload": "bool",
		"reference_id_label": "string",
		"include_balance": "bool"
	}'

HTTP Request

POST https://statement.sandbox.bnk.to/v1/static-link

Body Parameters

Name Type Description
country string Country is the country code (ID, PH, TH)
bank_codes []BankCode BankCodes used to specify the list of bank to be shown to user
app_redirect_uri string AppRedirectURI is the URL that end users need to be redirected after the successful statement retrieval operation
organization_display_name string OrganizationDisplayName is a name of the organization that send the request and will be displayed when processing the statement request
logo_url string LogoURL represent the logo that should used during the statement retrieval operation
expiry_limit int32 ExpiryLimit denotes the static link shall only be used until the limit/count exceeds, it will be considered as expired after when limit exceeds
expires_in string ExpiresIn denotes duration for link that shall be active, it will be considered as expired after the duration Ex: 60m, 1h, 8h, 24h, 1d, 7d etc
start_date string StartDate is the start date of the statement request Date/Time ranges should follow the YYYY-MM-DD convention
end_date string EndDate is the end date of the statement request Date/Time ranges should follow the YYYY-MM-DD convention
alternative_data_sources []BankCode AlternativeDataSources used to specify the list of alternative data sources to be shown to user
pdf_upload bool PDFUpload used to identify if client wants to enable PDF parser feature or not
reference_id_label string ReferenceIDLabel is the label for reference id/external id that will be shown to user
include_balance bool IncludeBalance is the indicator to include saving the balance details
Enums
BankCode

BankCode is the internal code (enum) used by the service to target a specific bank for the statement retrieval request.

Value Description
UNKNOWN_BANK
MANDIRI_PERSONAL Bank code to retrieve retail bank account transaction data for Bank Mandiri
BCA_PERSONAL Bank code to retrieve retail bank account transaction data for Bank Central Asia (BCA)
BNI_PERSONAL Bank code to retrieve retail bank account transaction data for Bank Negara Indonesia (BNI)
BRI_PERSONAL Bank code to retrieve retail bank account transaction data for Bank Rakyat Indonesia (BRI)
BCA_CORPORATE Bank code to retrieve retail bank account transaction data for Bank Central Asia (BCA)
DUMMY_BANK_PERSONAL Bank code to instruct the statement retrieval service to target the sandboxed Brankas dummy bank for test calls
BDO_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from the Banco De Oro Unibank (BDO)
BPI_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from the Bank of the Philippines Islands (BPI)
BPI_CORPORATE Bank code to retrieve retail bank (corporate) account statements / transaction histories from the Bank of the Philippines Islands (BPI)
PERMATA_PERSONAL Bank code to retrieve ratail bank account statements / transaction histories from PermataBank
KASIKORNBANK_PERSONAL Bank code to retrieve retail bank account transaction data for Kasikornbank.
PNB_PERSONAL Bank code to retrieve retail bank account transaction data for Philippine National Bank
UNIONBANK_PERSONAL Bank code to retrieve retail bank account transaction data for Union Bank
UNIONBANK_CORPORATE Bank code to retrieve retail bank account transaction data for Union Bank
METROBANK_PERSONAL Bank code to retrieve retail bank account transaction data for Metropolitan Bank
RCBC_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from the Rizal Commercial Banking Corporation
DANAMON_PERSONAL Bank code to retrieve retail bank account statements / transaction histories from Danamon Bank
GOPAY_PERSONAL code to retrieve account statements / transaction histories from Gopay
TOKOPEDIA_PERSONAL code to retrieve account statements / transaction histories from tokopedia buyer accounts
TOKOPEDIA_CORPORATE code to retrieve account statements / transaction histories from tokopedia seller accounts
MANDIRI_CORPORATE Bank code to retrieve retail bank account transaction data for Bank Mandiri Corporate
BNI_CORPORATE Bank code to retrieve retail bank account transaction data for for Bank Negara Indonesia Corporate (BNI Corporate)
PERMATA_CORPORATE Bank code to retrieve retail bank account transaction data for for PermataBank Corporate
OVO_PERSONAL code to retrieve account statements / transaction histories from Ovo
OCBC_PERSONAL code to retrieve account statements / transaction histories from OCBC
SHOPEE_CORPORATE code to retrieve account statements / transaction histories from shopee seller account
JAGO_PERSONAL Bank code to retrieve account statements / transaction histories from Jago Bank
SHOPEE_PERSONAL code to retrieve account statements / transaction histories from shopee buyer account
GCASH_PERSONAL code to retrieve account statements / transaction histories from GCASH
LANDBANK_PERSONAL Bank code to retrieve ratail bank account statements / transaction histories from Landbank Personal
SHOPEE_VN_PERSONAL Bank code to retrieve ratail bank account statements / transaction histories from Shopee VN Personal
BRI_CORPORATE code to retrieve account statements / transaction histories from Bank Rakyat Indonesia (BRI) (corporate)

Responses

Response body

Name Type Description
static_link string StaticLink is the static URL that shall be used to initiate the statement-retrieval operation

Example:

{
  "static_link": "string"
}

Response codes

Status Description
200 A successful response.
404 Returned when the resource is not found.

Create or update a notification object

UpsertNotification creates or updates a notification object.

curl -X PUT \
	https://statement.sandbox.bnk.to/v1/notification \
	-H 'x-api-key: USE_YOUR_API_KEY' \
	-d '{
		"id": "string",
		"description": "string",
		"url": "string",
		"status": "NotificationStatus",
		"statement_events": "[]StatementEvent",
		"balance_events": "[]BalanceEvent",
		"": "map[string]string"
	}'

HTTP Request

PUT https://statement.sandbox.bnk.to/v1/notification

Body Parameters

Name Type Description
id string ID contains the unique identifier of the notification.
description string Description for this notification.
url string URL contains the actual notification value.
status NotificationStatus Status is the state of this notification - whether it is still active or not.
statement_events []StatementEvent StatementEvents are statement retrieval states which will be the basis when posting notification.
balance_events []BalanceEvent BalanceEvents are balance retrieval states which will be the basis when posting notification.
map[string]string Headers consist of list of key/value that need to be added for the notification request
Enums
NotificationStatus
Value Description
UNKNOWN_URLSTATUS
ACTIVE
INACTIVE
ACTIVE_UNPROXIED
StatementEvent

StatementEvent are the possible events during the statement retrieval flow.

Value Description
ALL_EVENT
RECORDS_AVAILABLE_EVENT
COMPLETED_EVENT
INACTIVATED_EVENT
CANCELLED_EVENT
PURGED_EVENT
INCOME_AVAILABLE_EVENT
BalanceEvent

BalanceEvent are the possible events during the balance retrieval flow.

Value Description
ALL_EVENT
IN_PROGRESS_EVENT
SUCCESS_EVENT
INACTIVATED_EVENT
CANCELLED_EVENT
PURGED_EVENT

Responses

Response body

Name Type Description
id string ID contains the unique identifier of the business information object.

Example:

{
  "id": "string"
}

Response codes

Status Description
200 Request executed successfully.
404 Returned when the resource is not found.