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
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

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)

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.

API Reference Overview

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

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": "UNKNOWN_BANK",
		"has_client_consent": false,
		"data": {
			"name": "",
			"gender": "",
			"id_card_number": "",
			"email": "",
			"mother_maiden_name": "",
			"date_of_birth": "",
			"birth_place": "",
			"marital_status": "",
			"religion": "",
			"purpose": "",
			"source_of_fund": "",
			"monthly_income": "",
			"monthly_expenses": "",
			"mobile_info": {
				"phone_type": "MOBILE",
				"prefix_phone_number": "62",
				"phone_number": ""
			}
		},
		"corporate_data": {
			"contact_first_name": "",
			"contact_last_name": "",
			"contact_email": "",
			"contact_phone": "",
			"company_name": "ABC Corp."
		},
		"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
corporate_data PreFillCorporateData CorporateData contains the initial information about the corporate
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
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”
mobile_info PhoneInfo Mobile is applicant mobile number
PreFillCorporateData
Name Type Description
contact_first_name string ContactFirstName is the primary contact’s first name
contact_last_name string ContactLastName is the primary contact’s last name
contact_email string ContactEmail is the primary contact’s email
contact_phone PhoneInfo ContactPhone is the primary contact’s phone details
company_name string CompanyName is the name of the primary contact’s employer
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
PhoneInfo
Name Type Description
phone_type PhoneType The type of phone number
prefix_phone_number string The prefix of the phone number
phone_number string The phone number without prefix
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
PH_NETBANK Netbank (A Rural Bank) Inc.
PH_NETBANK_CORP Netbank (A Rural Bank) Inc.
PhoneType
Value Description
UNKNOWN_PHONE_TYPE
HOME
MOBILE
WORK

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
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
next_action NextAction NextAction possible next_action
Enums
ApplicationErrorCode

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

Value Description
NextAction
Value Description
UNKNOWN_NEXT_ACTION
RETRY
RESUBMIT

Example:

{
  "application_id": "UUID-generated",
  "redirect_url": "https://tap...",
  "error": {
    "code": "",
    "message": "",
    "next_action": ""
  }
}

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.

List Application

List Application retrieves all the account opening requests applied under a merchant/client.

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

HTTP Request

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

Responses

Response body

Name Type Description
total_record int32
list_applications []Applications
Objects
Applications
Name Type Description
application_id string ApplicationID contains the uuid for application
full_name string FullName contains full name of the applicant
bank_name string BankName contains selected bank of the application
status Status Status is the current status of the requested application
sub_status SubStatus SubStatus is the additional info relating to the status
reference_no string ReferenceNo contains a unique id from the bank to represent the application
created Timestamp Created records when the application was created
updated Timestamp Updated records when the application was updated
customer_id string CustomerID refers to ID of the applicant in the organization where they belong to
Timestamp
Name Type Description
seconds int64
nanos int32
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

Example:

{
  "total_record": "int32",
  "list_applications": [
    {
      "application_id": "UUID-generated",
      "full_name": "John Doe",
      "bank_name": "PH_NETBANK_CORP",
      "status": "AWAITING_USER_RESPONSE",
      "sub_status": "BASIC_INFO",
      "reference_no": "ref_no",
      "created": {
        "seconds": "int64",
        "nanos": "int32"
      },
      "updated": {
        "seconds": "int64",
        "nanos": "int32"
      },
      "customer_id": "customer_id"
    }
  ]
}

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
PH_NETBANK Netbank (A Rural Bank) Inc.
PH_NETBANK_CORP Netbank (A Rural Bank) Inc.
Listed

Listed describe bank status between enabled and disabled

Value Description
UNKNOWN_LISTED Unknown / Invalid status
ENABLED
DISABLED

Example:

{
  "banks": [
    {
      "code": "DUMMY_BANK",
      "name": "DUMMY BANK",
      "logo_url": "https://storage.googleapis.com/brankas-account-opening-logos/DUMMY_BANK/DUMMY_BANK_Logo.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
reference_no string ReferenceNo contains a unique id from the bank to represent the application
webview_redirect_url string WebviewRedirectURL is the URL to continue the account opening process in the Bank UI
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
next_action NextAction NextAction possible next_action
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
NextAction
Value Description
UNKNOWN_NEXT_ACTION
RETRY
RESUBMIT

Example:

{
  "status_details": [
    {
      "application_id": "UUID-generated",
      "status": "BANK_PROCESSING",
      "sub_status": "GOVT_ID_CHECK"
    }
  ],
  "error": {
    "code": "",
    "message": "",
    "next_action": ""
  },
  "vkyc_link": "https://example.com",
  "reference_no": "",
  "webview_redirect_url": "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.

Direct

Brankas Direct provides Fintechs, Corporates and SMEs with an API-driven payment solution that allows users 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.staging.bnk.to/v1/checkout' \
--header 'Content-Type: application/json' \
--header 'x-api-key: USE_YOUR_API_KEY' \
--data-raw '{
  "customer": {
    "fname": "John",
    "lname": "Johnson",
    "mname": "Joseph",
    "email": "john.johnson@domain.com",
    "mobile": "+639093538300",
    "phone": "++63288783333",
    "customer_id": "4f30b317-f98b-4454-bc05-7c4a2e48ec0d",
    "address": {
      "line1": "1, Yuichengo Tower",
      "line2": "GF",
      "city": "Makati",
      "province": "Metro Manila",
      "zip_code": "6819",
      "country": "PH"
    }
  },
  "reference_id": "d94hd94hbn3293sw",
  "amount": {
    "cur": "PHP",
    "num": "2410350"
  },
  "from": {
    "country": "PH"
  },
  "memo": "Thank you",
  "destination_account_id": "22f72f8c-099b-11ed-a9b5-42010aec000d",
  "client": {
    "display_name": "WorldPay",
    "logo_url": "https://example.com/logo.svg",
    "return_url": "https://example.com/success",
    "fail_url": "https://example.com/error",
    "deep_link": true,
    "short_redirect_uri": true
  },
  "expiry_date_time": "2025-12-30T00:00:00Z"
}'

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.
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.
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.
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.
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”
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
Enums
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.

BankCode
Value Description
DUMMY_BANK_PERSONAL Brankas Bank. A test bank that you can make sandboxed calls to as part of integration testing.
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
PH Philippines
TH Thailand
DestinationBankCode
Value Description
PH_BDO Banco De Oro Unibank
PH_BPI BPI / BPI Family Savings Bank
PH_METRO Metrobank
PH_PNB Philippine National Bank
PH_RCBC Rizal Commercial Banking Corporation
PH_SB Security Bank Corporation (SBC)
PH_UB UnionBank of the Philippines
PH_GXI Gcash
PH_LBP Land Bank of the Philippines
PH_EWB EastWest Bank
PH_EWBRB Komo / EastWest Rural Bank
PH_NETBANK Netbank (A Rural Bank) Inc

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
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
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.
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.
Enums
BankCode
Value Description
DUMMY_BANK_PERSONAL Brankas Bank. A test bank that you can make sandboxed calls to as part of integration testing.
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
PH Philippines
TH Thailand
DestinationBankCode
Value Description
PH_BDO Banco De Oro Unibank
PH_BPI BPI / BPI Family Savings Bank
PH_METRO Metrobank
PH_PNB Philippine National Bank
PH_RCBC Rizal Commercial Banking Corporation
PH_SB Security Bank Corporation (SBC)
PH_UB UnionBank of the Philippines
PH_GXI Gcash
PH_LBP Land Bank of the Philippines
PH_EWB EastWest Bank
PH_EWBRB Komo / EastWest Rural Bank
PH_NETBANK Netbank (A Rural Bank) Inc
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
Status

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

Status Value Description
2 SUCCESS Successful operation.
3 ERROR Error during operation.
4 LOGIN_ERROR Login Error.
5 INVOICE_CREATED Checkout invoice created.
7 AWAITING_LOGIN_TFA Awaiting login TFA Authentication.
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.
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
PH Philippines
TH Thailand
DestinationBankCode
Value Description
PH_BDO Banco De Oro Unibank
PH_BPI BPI / BPI Family Savings Bank
PH_METRO Metrobank
PH_PNB Philippine National Bank
PH_RCBC Rizal Commercial Banking Corporation
PH_SB Security Bank Corporation (SBC)
PH_UB UnionBank of the Philippines
PH_GXI Gcash
PH_LBP Land Bank of the Philippines
PH_EWB EastWest Bank
PH_EWBRB Komo / EastWest Rural Bank
PH_NETBANK Netbank (A Rural Bank) Inc
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": "DUMMY_BANK_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
2 SUCCESS Successful operation.
3 ERROR Error during operation.
4 LOGIN_ERROR Login Error.
5 INVOICE_CREATED Checkout invoice created.
7 AWAITING_LOGIN_TFA Awaiting login TFA Authentication.
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, 11, 12, 13, 14 and 15.
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
2 SUCCESS Successful operation.
3 ERROR Error during operation.
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 CountryCode Country of the destination account.
Enums
DestinationBankCode

You may download the latest Philippines and Indonesia Bank codes here

AccountType

AccountType is the type of bank account.

Value Description
UNKNOWN_ACCOUNT_TYPE
PERSONAL
CORPORATE
GOVERNMENT
CountryCode
Value Description
UNKNOWN_COUNTRY_CODE Unknown Country Code
AF Afghanistan
AL Albania
DZ Algeria
AS American Samoa
AD Andorra
AO Angola
AI Anguilla
AQ Antarctica
AG Antigua and Barbuda
AR Argentina
AM Armenia
AW Aruba
AU Australia
AT Austria
AZ Azerbaijan
BS Bahamas (the)
BH Bahrain
BD Bangladesh
BB Barbados
BY Belarus
BE Belgium
BZ Belize
BJ Benin
BM Bermuda
BT Bhutan
BO Bolivia (Plurinational State of)
BQ Bonaire, Sint Eustatius and Saba
BA Bosnia and Herzegovina
BW Botswana
BV Bouvet Island
BR Brazil
IO British Indian Ocean Territory (the)
BN Brunei Darussalam
BG Bulgaria
BF Burkina Faso
BI Burundi
CV Cabo Verde
KH Cambodia
CM Cameroon
CA Canada
KY Cayman Islands (the)
CF Central African Republic (the)
TD Chad
CL Chile
CN China
CX Christmas Island
CC Cocos (Keeling) Islands (the)
CO Colombia
KM Comoros (the)
CD Congo (the Democratic Republic of the)
CG Congo (the)
CK Cook Islands (the)
CR Costa Rica
HR Croatia
CU Cuba
CW Curacao
CY Cyprus
CZ Czechia
CI Cote d’Ivoire
DK Denmark
DJ Djibouti
DM Dominica
DO Dominican Republic (the)
EC Ecuador
EG Egypt
SV El Salvador
GQ Equatorial Guinea
ER Eritrea
EE Estonia
SZ Eswatini
ET Ethiopia
FK Falkland Islands (the) [Malvinas]
FO Faroe Islands (the)
FJ Fiji
FI Finland
FR France
GF French Guiana
PF French Polynesia
TF French Southern Territories (the)
GA Gabon
GM Gambia (the)
GE Georgia
DE Germany
GH Ghana
GI Gibraltar
GR Greece
GL Greenland
GD Grenada
GP Guadeloupe
GU Guam
GT Guatemala
GG Guernsey
GN Guinea
GW Guinea-Bissau
GY Guyana
HT Haiti
HM Heard Island and McDonald Islands
VA Holy See (the)
HN Honduras
HK Hong Kong
HU Hungary
IS Iceland
IN India
ID Indonesia
IR Iran (Islamic Republic of)
IQ Iraq
IE Ireland
IM Isle of Man
IL Israel
IT Italy
JM Jamaica
JP Japan
JE Jersey
JO Jordan
KZ Kazakhstan
KE Kenya
KI Kiribati
KP Korea (the Democratic People’s Republic of)
KR Korea (the Republic of)
KW Kuwait
KG Kyrgyzstan
LA Lao People’s Democratic Republic (the)
LV Latvia
LB Lebanon
LS Lesotho
LR Liberia
LY Libya
LI Liechtenstein
LT Lithuania
LU Luxembourg
MO Macao
MG Madagascar
MW Malawi
MY Malaysia
MV Maldives
ML Mali
MT Malta
MH Marshall Islands (the)
MQ Martinique
MR Mauritania
MU Mauritius
YT Mayotte
MX Mexico
FM Micronesia (Federated States of)
MD Moldova (the Republic of)
MC Monaco
MN Mongolia
ME Montenegro
MS Montserrat
MA Morocco
MZ Mozambique
MM Myanmar
NA Namibia
NR Nauru
NP Nepal
NL Netherlands (the)
NC New Caledonia
NZ New Zealand
NI Nicaragua
NE Niger (the)
NG Nigeria
NU Niue
NF Norfolk Island
MP Northern Mariana Islands (the)
NO Norway
OM Oman
PK Pakistan
PW Palau
PS Palestine, State of
PA Panama
PG Papua New Guinea
PY Paraguay
PE Peru
PH Philippines (the)
PN Pitcairn
PL Poland
PT Portugal
PR Puerto Rico
QA Qatar
MK Republic of North Macedonia
RO Romania
RU Russian Federation (the)
RW Rwanda
RE Reunion
BL Saint Barthelemy
SH Saint Helena, Ascension and Tristan da Cunha
KN Saint Kitts and Nevis
LC Saint Lucia
MF Saint Martin (French part)
PM Saint Pierre and Miquelon
VC Saint Vincent and the Grenadines
WS Samoa
SM San Marino
ST Sao Tome and Principe
SA Saudi Arabia
SN Senegal
RS Serbia
SC Seychelles
SL Sierra Leone
SG Singapore
SX Sint Maarten (Dutch part)
SK Slovakia
SI Slovenia
SB Solomon Islands
SO Somalia
ZA South Africa
GS South Georgia and the South Sandwich Islands
SS South Sudan
ES Spain
LK Sri Lanka
SD Sudan (the)
SR Suriname
SJ Svalbard and Jan Mayen
SE Sweden
CH Switzerland
SY Syrian Arab Republic
TW Taiwan (Province of China)
TJ Tajikistan
TZ Tanzania, United Republic of
TH Thailand
TL Timor-Leste
TG Togo
TK Tokelau
TO Tonga
TT Trinidad and Tobago
TN Tunisia
TR Turkey
TM Turkmenistan
TC Turks and Caicos Islands (the)
TV Tuvalu
UG Uganda
UA Ukraine
AE United Arab Emirates (the)
GB United Kingdom of Great Britain and Northern Ireland (the)
UM United States Minor Outlying Islands (the)
US United States of America (the)
UY Uruguay
UZ Uzbekistan
VU Vanuatu
VE Venezuela (Bolivarian Republic of)
VN Viet Nam
VG Virgin Islands (British)
VI Virgin Islands (U.S.)
WF Wallis and Futuna
EH Western Sahara
YE Yemen
ZM Zambia
ZW Zimbabwe
AX Aland Islands
Ph Philippines
Id Indonesia
Philippines Philippines
philippines Philippines
Indonesia Indonesia
indonesia Indonesia

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
error_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 CountryCode Country of the destination account.
Enums
DestinationBankCode

You may download the latest Philippines and Indonesia Bank codes here

AccountType

AccountType is the type of bank account.

Value Description
UNKNOWN_ACCOUNT_TYPE
PERSONAL
CORPORATE
GOVERNMENT
CountryCode
Value Description
UNKNOWN_COUNTRY_CODE Unknown Country Code
AF Afghanistan
AL Albania
DZ Algeria
AS American Samoa
AD Andorra
AO Angola
AI Anguilla
AQ Antarctica
AG Antigua and Barbuda
AR Argentina
AM Armenia
AW Aruba
AU Australia
AT Austria
AZ Azerbaijan
BS Bahamas (the)
BH Bahrain
BD Bangladesh
BB Barbados
BY Belarus
BE Belgium
BZ Belize
BJ Benin
BM Bermuda
BT Bhutan
BO Bolivia (Plurinational State of)
BQ Bonaire, Sint Eustatius and Saba
BA Bosnia and Herzegovina
BW Botswana
BV Bouvet Island
BR Brazil
IO British Indian Ocean Territory (the)
BN Brunei Darussalam
BG Bulgaria
BF Burkina Faso
BI Burundi
CV Cabo Verde
KH Cambodia
CM Cameroon
CA Canada
KY Cayman Islands (the)
CF Central African Republic (the)
TD Chad
CL Chile
CN China
CX Christmas Island
CC Cocos (Keeling) Islands (the)
CO Colombia
KM Comoros (the)
CD Congo (the Democratic Republic of the)
CG Congo (the)
CK Cook Islands (the)
CR Costa Rica
HR Croatia
CU Cuba
CW Curacao
CY Cyprus
CZ Czechia
CI Cote d’Ivoire
DK Denmark
DJ Djibouti
DM Dominica
DO Dominican Republic (the)
EC Ecuador
EG Egypt
SV El Salvador
GQ Equatorial Guinea
ER Eritrea
EE Estonia
SZ Eswatini
ET Ethiopia
FK Falkland Islands (the) [Malvinas]
FO Faroe Islands (the)
FJ Fiji
FI Finland
FR France
GF French Guiana
PF French Polynesia
TF French Southern Territories (the)
GA Gabon
GM Gambia (the)
GE Georgia
DE Germany
GH Ghana
GI Gibraltar
GR Greece
GL Greenland
GD Grenada
GP Guadeloupe
GU Guam
GT Guatemala
GG Guernsey
GN Guinea
GW Guinea-Bissau
GY Guyana
HT Haiti
HM Heard Island and McDonald Islands
VA Holy See (the)
HN Honduras
HK Hong Kong
HU Hungary
IS Iceland
IN India
ID Indonesia
IR Iran (Islamic Republic of)
IQ Iraq
IE Ireland
IM Isle of Man
IL Israel
IT Italy
JM Jamaica
JP Japan
JE Jersey
JO Jordan
KZ Kazakhstan
KE Kenya
KI Kiribati
KP Korea (the Democratic People’s Republic of)
KR Korea (the Republic of)
KW Kuwait
KG Kyrgyzstan
LA Lao People’s Democratic Republic (the)
LV Latvia
LB Lebanon
LS Lesotho
LR Liberia
LY Libya
LI Liechtenstein
LT Lithuania
LU Luxembourg
MO Macao
MG Madagascar
MW Malawi
MY Malaysia
MV Maldives
ML Mali
MT Malta
MH Marshall Islands (the)
MQ Martinique
MR Mauritania
MU Mauritius
YT Mayotte
MX Mexico
FM Micronesia (Federated States of)
MD Moldova (the Republic of)
MC Monaco
MN Mongolia
ME Montenegro
MS Montserrat
MA Morocco
MZ Mozambique
MM Myanmar
NA Namibia
NR Nauru
NP Nepal
NL Netherlands (the)
NC New Caledonia
NZ New Zealand
NI Nicaragua
NE Niger (the)
NG Nigeria
NU Niue
NF Norfolk Island
MP Northern Mariana Islands (the)
NO Norway
OM Oman
PK Pakistan
PW Palau
PS Palestine, State of
PA Panama
PG Papua New Guinea
PY Paraguay
PE Peru
PH Philippines (the)
PN Pitcairn
PL Poland
PT Portugal
PR Puerto Rico
QA Qatar
MK Republic of North Macedonia
RO Romania
RU Russian Federation (the)
RW Rwanda
RE Reunion
BL Saint Barthelemy
SH Saint Helena, Ascension and Tristan da Cunha
KN Saint Kitts and Nevis
LC Saint Lucia
MF Saint Martin (French part)
PM Saint Pierre and Miquelon
VC Saint Vincent and the Grenadines
WS Samoa
SM San Marino
ST Sao Tome and Principe
SA Saudi Arabia
SN Senegal
RS Serbia
SC Seychelles
SL Sierra Leone
SG Singapore
SX Sint Maarten (Dutch part)
SK Slovakia
SI Slovenia
SB Solomon Islands
SO Somalia
ZA South Africa
GS South Georgia and the South Sandwich Islands
SS South Sudan
ES Spain
LK Sri Lanka
SD Sudan (the)
SR Suriname
SJ Svalbard and Jan Mayen
SE Sweden
CH Switzerland
SY Syrian Arab Republic
TW Taiwan (Province of China)
TJ Tajikistan
TZ Tanzania, United Republic of
TH Thailand
TL Timor-Leste
TG Togo
TK Tokelau
TO Tonga
TT Trinidad and Tobago
TN Tunisia
TR Turkey
TM Turkmenistan
TC Turks and Caicos Islands (the)
TV Tuvalu
UG Uganda
UA Ukraine
AE United Arab Emirates (the)
GB United Kingdom of Great Britain and Northern Ireland (the)
UM United States Minor Outlying Islands (the)
US United States of America (the)
UY Uruguay
UZ Uzbekistan
VU Vanuatu
VE Venezuela (Bolivarian Republic of)
VN Viet Nam
VG Virgin Islands (British)
VI Virgin Islands (U.S.)
WF Wallis and Futuna
EH Western Sahara
YE Yemen
ZM Zambia
ZW Zimbabwe
AX Aland Islands
Ph Philippines
Id Indonesia
Philippines Philippines
philippines Philippines
Indonesia Indonesia
indonesia Indonesia

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": "CountryCode",
				"address": {
					"line1": "string",
					"line2": "string",
					"city": "string",
					"province": "string",
					"zip_code": "string",
					"country": "CountryCode"
				},
				"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 CountryCode 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 CountryCode 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
api_secret string ApiSecret is a ap secret provide by bank for merchant
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
UNIONBANK_CORPORATE
NETBANK_CORPORATE
TRAXION_EWALLET
DestinationBankCode

You may download the latest Philippines and Indonesia Bank codes here

AccountType

AccountType is the type of bank account.

Value Description
UNKNOWN_ACCOUNT_TYPE
PERSONAL
CORPORATE
GOVERNMENT
CountryCode
Value Description
UNKNOWN_COUNTRY_CODE Unknown Country Code
AF Afghanistan
AL Albania
DZ Algeria
AS American Samoa
AD Andorra
AO Angola
AI Anguilla
AQ Antarctica
AG Antigua and Barbuda
AR Argentina
AM Armenia
AW Aruba
AU Australia
AT Austria
AZ Azerbaijan
BS Bahamas (the)
BH Bahrain
BD Bangladesh
BB Barbados
BY Belarus
BE Belgium
BZ Belize
BJ Benin
BM Bermuda
BT Bhutan
BO Bolivia (Plurinational State of)
BQ Bonaire, Sint Eustatius and Saba
BA Bosnia and Herzegovina
BW Botswana
BV Bouvet Island
BR Brazil
IO British Indian Ocean Territory (the)
BN Brunei Darussalam
BG Bulgaria
BF Burkina Faso
BI Burundi
CV Cabo Verde
KH Cambodia
CM Cameroon
CA Canada
KY Cayman Islands (the)
CF Central African Republic (the)
TD Chad
CL Chile
CN China
CX Christmas Island
CC Cocos (Keeling) Islands (the)
CO Colombia
KM Comoros (the)
CD Congo (the Democratic Republic of the)
CG Congo (the)
CK Cook Islands (the)
CR Costa Rica
HR Croatia
CU Cuba
CW Curacao
CY Cyprus
CZ Czechia
CI Cote d’Ivoire
DK Denmark
DJ Djibouti
DM Dominica
DO Dominican Republic (the)
EC Ecuador
EG Egypt
SV El Salvador
GQ Equatorial Guinea
ER Eritrea
EE Estonia
SZ Eswatini
ET Ethiopia
FK Falkland Islands (the) [Malvinas]
FO Faroe Islands (the)
FJ Fiji
FI Finland
FR France
GF French Guiana
PF French Polynesia
TF French Southern Territories (the)
GA Gabon
GM Gambia (the)
GE Georgia
DE Germany
GH Ghana
GI Gibraltar
GR Greece
GL Greenland
GD Grenada
GP Guadeloupe
GU Guam
GT Guatemala
GG Guernsey
GN Guinea
GW Guinea-Bissau
GY Guyana
HT Haiti
HM Heard Island and McDonald Islands
VA Holy See (the)
HN Honduras
HK Hong Kong
HU Hungary
IS Iceland
IN India
ID Indonesia
IR Iran (Islamic Republic of)
IQ Iraq
IE Ireland
IM Isle of Man
IL Israel
IT Italy
JM Jamaica
JP Japan
JE Jersey
JO Jordan
KZ Kazakhstan
KE Kenya
KI Kiribati
KP Korea (the Democratic People’s Republic of)
KR Korea (the Republic of)
KW Kuwait
KG Kyrgyzstan
LA Lao People’s Democratic Republic (the)
LV Latvia
LB Lebanon
LS Lesotho
LR Liberia
LY Libya
LI Liechtenstein
LT Lithuania
LU Luxembourg
MO Macao
MG Madagascar
MW Malawi
MY Malaysia
MV Maldives
ML Mali
MT Malta
MH Marshall Islands (the)
MQ Martinique
MR Mauritania
MU Mauritius
YT Mayotte
MX Mexico
FM Micronesia (Federated States of)
MD Moldova (the Republic of)
MC Monaco
MN Mongolia
ME Montenegro
MS Montserrat
MA Morocco
MZ Mozambique
MM Myanmar
NA Namibia
NR Nauru
NP Nepal
NL Netherlands (the)
NC New Caledonia
NZ New Zealand
NI Nicaragua
NE Niger (the)
NG Nigeria
NU Niue
NF Norfolk Island
MP Northern Mariana Islands (the)
NO Norway
OM Oman
PK Pakistan
PW Palau
PS Palestine, State of
PA Panama
PG Papua New Guinea
PY Paraguay
PE Peru
PH Philippines (the)
PN Pitcairn
PL Poland
PT Portugal
PR Puerto Rico
QA Qatar
MK Republic of North Macedonia
RO Romania
RU Russian Federation (the)
RW Rwanda
RE Reunion
BL Saint Barthelemy
SH Saint Helena, Ascension and Tristan da Cunha
KN Saint Kitts and Nevis
LC Saint Lucia
MF Saint Martin (French part)
PM Saint Pierre and Miquelon
VC Saint Vincent and the Grenadines
WS Samoa
SM San Marino
ST Sao Tome and Principe
SA Saudi Arabia
SN Senegal
RS Serbia
SC Seychelles
SL Sierra Leone
SG Singapore
SX Sint Maarten (Dutch part)
SK Slovakia
SI Slovenia
SB Solomon Islands
SO Somalia
ZA South Africa
GS South Georgia and the South Sandwich Islands
SS South Sudan
ES Spain
LK Sri Lanka
SD Sudan (the)
SR Suriname
SJ Svalbard and Jan Mayen
SE Sweden
CH Switzerland
SY Syrian Arab Republic
TW Taiwan (Province of China)
TJ Tajikistan
TZ Tanzania, United Republic of
TH Thailand
TL Timor-Leste
TG Togo
TK Tokelau
TO Tonga
TT Trinidad and Tobago
TN Tunisia
TR Turkey
TM Turkmenistan
TC Turks and Caicos Islands (the)
TV Tuvalu
UG Uganda
UA Ukraine
AE United Arab Emirates (the)
GB United Kingdom of Great Britain and Northern Ireland (the)
UM United States Minor Outlying Islands (the)
US United States of America (the)
UY Uruguay
UZ Uzbekistan
VU Vanuatu
VE Venezuela (Bolivarian Republic of)
VN Viet Nam
VG Virgin Islands (British)
VI Virgin Islands (U.S.)
WF Wallis and Futuna
EH Western Sahara
YE Yemen
ZM Zambia
ZW Zimbabwe
AX Aland Islands
Ph Philippines
Id Indonesia
Philippines Philippines
philippines Philippines
Indonesia Indonesia
indonesia Indonesia
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
error_code string
message string

Example:

{
  "bank_accounts": [
    {
      "account_id": "string",
      "credential_id": "string",
      "result": {
        "success": "bool",
        "error": [
          {
            "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 CountryCode Country of the destination account.
Error
Name Type Description
error_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
FLAGGED
SourceBankCode
Value Description
UNKNOWN_BANK
DUMMY_BANK_CORPORATE
DUMMY_BANK_OAUTH2_CORPORATE
UNIONBANK_CORPORATE
NETBANK_CORPORATE
TRAXION_EWALLET
AccountType

AccountType is the type of bank account.

Value Description
UNKNOWN_ACCOUNT_TYPE
PERSONAL
CORPORATE
GOVERNMENT
CountryCode
Value Description
UNKNOWN_COUNTRY_CODE Unknown Country Code
AF Afghanistan
AL Albania
DZ Algeria
AS American Samoa
AD Andorra
AO Angola
AI Anguilla
AQ Antarctica
AG Antigua and Barbuda
AR Argentina
AM Armenia
AW Aruba
AU Australia
AT Austria
AZ Azerbaijan
BS Bahamas (the)
BH Bahrain
BD Bangladesh
BB Barbados
BY Belarus
BE Belgium
BZ Belize
BJ Benin
BM Bermuda
BT Bhutan
BO Bolivia (Plurinational State of)
BQ Bonaire, Sint Eustatius and Saba
BA Bosnia and Herzegovina
BW Botswana
BV Bouvet Island
BR Brazil
IO British Indian Ocean Territory (the)
BN Brunei Darussalam
BG Bulgaria
BF Burkina Faso
BI Burundi
CV Cabo Verde
KH Cambodia
CM Cameroon
CA Canada
KY Cayman Islands (the)
CF Central African Republic (the)
TD Chad
CL Chile
CN China
CX Christmas Island
CC Cocos (Keeling) Islands (the)
CO Colombia
KM Comoros (the)
CD Congo (the Democratic Republic of the)
CG Congo (the)
CK Cook Islands (the)
CR Costa Rica
HR Croatia
CU Cuba
CW Curacao
CY Cyprus
CZ Czechia
CI Cote d’Ivoire
DK Denmark
DJ Djibouti
DM Dominica
DO Dominican Republic (the)
EC Ecuador
EG Egypt
SV El Salvador
GQ Equatorial Guinea
ER Eritrea
EE Estonia
SZ Eswatini
ET Ethiopia
FK Falkland Islands (the) [Malvinas]
FO Faroe Islands (the)
FJ Fiji
FI Finland
FR France
GF French Guiana
PF French Polynesia
TF French Southern Territories (the)
GA Gabon
GM Gambia (the)
GE Georgia
DE Germany
GH Ghana
GI Gibraltar
GR Greece
GL Greenland
GD Grenada
GP Guadeloupe
GU Guam
GT Guatemala
GG Guernsey
GN Guinea
GW Guinea-Bissau
GY Guyana
HT Haiti
HM Heard Island and McDonald Islands
VA Holy See (the)
HN Honduras
HK Hong Kong
HU Hungary
IS Iceland
IN India
ID Indonesia
IR Iran (Islamic Republic of)
IQ Iraq
IE Ireland
IM Isle of Man
IL Israel
IT Italy
JM Jamaica
JP Japan
JE Jersey
JO Jordan
KZ Kazakhstan
KE Kenya
KI Kiribati
KP Korea (the Democratic People’s Republic of)
KR Korea (the Republic of)
KW Kuwait
KG Kyrgyzstan
LA Lao People’s Democratic Republic (the)
LV Latvia
LB Lebanon
LS Lesotho
LR Liberia
LY Libya
LI Liechtenstein
LT Lithuania
LU Luxembourg
MO Macao
MG Madagascar
MW Malawi
MY Malaysia
MV Maldives
ML Mali
MT Malta
MH Marshall Islands (the)
MQ Martinique
MR Mauritania
MU Mauritius
YT Mayotte
MX Mexico
FM Micronesia (Federated States of)
MD Moldova (the Republic of)
MC Monaco
MN Mongolia
ME Montenegro
MS Montserrat
MA Morocco
MZ Mozambique
MM Myanmar
NA Namibia
NR Nauru
NP Nepal
NL Netherlands (the)
NC New Caledonia
NZ New Zealand
NI Nicaragua
NE Niger (the)
NG Nigeria
NU Niue
NF Norfolk Island
MP Northern Mariana Islands (the)
NO Norway
OM Oman
PK Pakistan
PW Palau
PS Palestine, State of
PA Panama
PG Papua New Guinea
PY Paraguay
PE Peru
PH Philippines (the)
PN Pitcairn
PL Poland
PT Portugal
PR Puerto Rico
QA Qatar
MK Republic of North Macedonia
RO Romania
RU Russian Federation (the)
RW Rwanda
RE Reunion
BL Saint Barthelemy
SH Saint Helena, Ascension and Tristan da Cunha
KN Saint Kitts and Nevis
LC Saint Lucia
MF Saint Martin (French part)
PM Saint Pierre and Miquelon
VC Saint Vincent and the Grenadines
WS Samoa
SM San Marino
ST Sao Tome and Principe
SA Saudi Arabia
SN Senegal
RS Serbia
SC Seychelles
SL Sierra Leone
SG Singapore
SX Sint Maarten (Dutch part)
SK Slovakia
SI Slovenia
SB Solomon Islands
SO Somalia
ZA South Africa
GS South Georgia and the South Sandwich Islands
SS South Sudan
ES Spain
LK Sri Lanka
SD Sudan (the)
SR Suriname
SJ Svalbard and Jan Mayen
SE Sweden
CH Switzerland
SY Syrian Arab Republic
TW Taiwan (Province of China)
TJ Tajikistan
TZ Tanzania, United Republic of
TH Thailand
TL Timor-Leste
TG Togo
TK Tokelau
TO Tonga
TT Trinidad and Tobago
TN Tunisia
TR Turkey
TM Turkmenistan
TC Turks and Caicos Islands (the)
TV Tuvalu
UG Uganda
UA Ukraine
AE United Arab Emirates (the)
GB United Kingdom of Great Britain and Northern Ireland (the)
UM United States Minor Outlying Islands (the)
US United States of America (the)
UY Uruguay
UZ Uzbekistan
VU Vanuatu
VE Venezuela (Bolivarian Republic of)
VN Viet Nam
VG Virgin Islands (British)
VI Virgin Islands (U.S.)
WF Wallis and Futuna
EH Western Sahara
YE Yemen
ZM Zambia
ZW Zimbabwe
AX Aland Islands
Ph Philippines
Id Indonesia
Philippines Philippines
philippines Philippines
Indonesia Indonesia
indonesia Indonesia
DestinationBankCode

You may download the latest Philippines and Indonesia Bank codes here

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

*this object is used to determine the final outcome of a transaction

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
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
error_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 CountryCode 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
FLAGGED
SourceBankCode
Value Description
UNKNOWN_BANK
DUMMY_BANK_CORPORATE
DUMMY_BANK_OAUTH2_CORPORATE
UNIONBANK_CORPORATE
NETBANK_CORPORATE
TRAXION_EWALLET
AccountType

AccountType is the type of bank account.

Value Description
UNKNOWN_ACCOUNT_TYPE
PERSONAL
CORPORATE
GOVERNMENT
CountryCode
Value Description
UNKNOWN_COUNTRY_CODE Unknown Country Code
AF Afghanistan
AL Albania
DZ Algeria
AS American Samoa
AD Andorra
AO Angola
AI Anguilla
AQ Antarctica
AG Antigua and Barbuda
AR Argentina
AM Armenia
AW Aruba
AU Australia
AT Austria
AZ Azerbaijan
BS Bahamas (the)
BH Bahrain
BD Bangladesh
BB Barbados
BY Belarus
BE Belgium
BZ Belize
BJ Benin
BM Bermuda
BT Bhutan
BO Bolivia (Plurinational State of)
BQ Bonaire, Sint Eustatius and Saba
BA Bosnia and Herzegovina
BW Botswana
BV Bouvet Island
BR Brazil
IO British Indian Ocean Territory (the)
BN Brunei Darussalam
BG Bulgaria
BF Burkina Faso
BI Burundi
CV Cabo Verde
KH Cambodia
CM Cameroon
CA Canada
KY Cayman Islands (the)
CF Central African Republic (the)
TD Chad
CL Chile
CN China
CX Christmas Island
CC Cocos (Keeling) Islands (the)
CO Colombia
KM Comoros (the)
CD Congo (the Democratic Republic of the)
CG Congo (the)
CK Cook Islands (the)
CR Costa Rica
HR Croatia
CU Cuba
CW Curacao
CY Cyprus
CZ Czechia
CI Cote d’Ivoire
DK Denmark
DJ Djibouti
DM Dominica
DO Dominican Republic (the)
EC Ecuador
EG Egypt
SV El Salvador
GQ Equatorial Guinea
ER Eritrea
EE Estonia
SZ Eswatini
ET Ethiopia
FK Falkland Islands (the) [Malvinas]
FO Faroe Islands (the)
FJ Fiji
FI Finland
FR France
GF French Guiana
PF French Polynesia
TF French Southern Territories (the)
GA Gabon
GM Gambia (the)
GE Georgia
DE Germany
GH Ghana
GI Gibraltar
GR Greece
GL Greenland
GD Grenada
GP Guadeloupe
GU Guam
GT Guatemala
GG Guernsey
GN Guinea
GW Guinea-Bissau
GY Guyana
HT Haiti
HM Heard Island and McDonald Islands
VA Holy See (the)
HN Honduras
HK Hong Kong
HU Hungary
IS Iceland
IN India
ID Indonesia
IR Iran (Islamic Republic of)
IQ Iraq
IE Ireland
IM Isle of Man
IL Israel
IT Italy
JM Jamaica
JP Japan
JE Jersey
JO Jordan
KZ Kazakhstan
KE Kenya
KI Kiribati
KP Korea (the Democratic People’s Republic of)
KR Korea (the Republic of)
KW Kuwait
KG Kyrgyzstan
LA Lao People’s Democratic Republic (the)
LV Latvia
LB Lebanon
LS Lesotho
LR Liberia
LY Libya
LI Liechtenstein
LT Lithuania
LU Luxembourg
MO Macao
MG Madagascar
MW Malawi
MY Malaysia
MV Maldives
ML Mali
MT Malta
MH Marshall Islands (the)
MQ Martinique
MR Mauritania
MU Mauritius
YT Mayotte
MX Mexico
FM Micronesia (Federated States of)
MD Moldova (the Republic of)
MC Monaco
MN Mongolia
ME Montenegro
MS Montserrat
MA Morocco
MZ Mozambique
MM Myanmar
NA Namibia
NR Nauru
NP Nepal
NL Netherlands (the)
NC New Caledonia
NZ New Zealand
NI Nicaragua
NE Niger (the)
NG Nigeria
NU Niue
NF Norfolk Island
MP Northern Mariana Islands (the)
NO Norway
OM Oman
PK Pakistan
PW Palau
PS Palestine, State of
PA Panama
PG Papua New Guinea
PY Paraguay
PE Peru
PH Philippines (the)
PN Pitcairn
PL Poland
PT Portugal
PR Puerto Rico
QA Qatar
MK Republic of North Macedonia
RO Romania
RU Russian Federation (the)
RW Rwanda
RE Reunion
BL Saint Barthelemy
SH Saint Helena, Ascension and Tristan da Cunha
KN Saint Kitts and Nevis
LC Saint Lucia
MF Saint Martin (French part)
PM Saint Pierre and Miquelon
VC Saint Vincent and the Grenadines
WS Samoa
SM San Marino
ST Sao Tome and Principe
SA Saudi Arabia
SN Senegal
RS Serbia
SC Seychelles
SL Sierra Leone
SG Singapore
SX Sint Maarten (Dutch part)
SK Slovakia
SI Slovenia
SB Solomon Islands
SO Somalia
ZA South Africa
GS South Georgia and the South Sandwich Islands
SS South Sudan
ES Spain
LK Sri Lanka
SD Sudan (the)
SR Suriname
SJ Svalbard and Jan Mayen
SE Sweden
CH Switzerland
SY Syrian Arab Republic
TW Taiwan (Province of China)
TJ Tajikistan
TZ Tanzania, United Republic of
TH Thailand
TL Timor-Leste
TG Togo
TK Tokelau
TO Tonga
TT Trinidad and Tobago
TN Tunisia
TR Turkey
TM Turkmenistan
TC Turks and Caicos Islands (the)
TV Tuvalu
UG Uganda
UA Ukraine
AE United Arab Emirates (the)
GB United Kingdom of Great Britain and Northern Ireland (the)
UM United States Minor Outlying Islands (the)
US United States of America (the)
UY Uruguay
UZ Uzbekistan
VU Vanuatu
VE Venezuela (Bolivarian Republic of)
VN Viet Nam
VG Virgin Islands (British)
VI Virgin Islands (U.S.)
WF Wallis and Futuna
EH Western Sahara
YE Yemen
ZM Zambia
ZW Zimbabwe
AX Aland Islands
Ph Philippines
Id Indonesia
Philippines Philippines
philippines Philippines
Indonesia Indonesia
indonesia Indonesia
DestinationBankCode

You may download the latest Philippines and Indonesia Bank codes here

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
error_code string
message string

Example:

{
  "result": {
    "success": "bool",
    "error": [
      {
        "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
error_code string
message string

Example:

{
  "result": {
    "success": "bool",
    "error": [
      {
        "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 CountryCode 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 CountryCode 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
api_secret string ApiSecret is a ap secret provide by bank for merchant
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
UNIONBANK_CORPORATE
NETBANK_CORPORATE
TRAXION_EWALLET
DestinationBankCode

You may download the latest Philippines and Indonesia Bank codes here

AccountType

AccountType is the type of bank account.

Value Description
UNKNOWN_ACCOUNT_TYPE
PERSONAL
CORPORATE
GOVERNMENT
CountryCode
Value Description
UNKNOWN_COUNTRY_CODE Unknown Country Code
AF Afghanistan
AL Albania
DZ Algeria
AS American Samoa
AD Andorra
AO Angola
AI Anguilla
AQ Antarctica
AG Antigua and Barbuda
AR Argentina
AM Armenia
AW Aruba
AU Australia
AT Austria
AZ Azerbaijan
BS Bahamas (the)
BH Bahrain
BD Bangladesh
BB Barbados
BY Belarus
BE Belgium
BZ Belize
BJ Benin
BM Bermuda
BT Bhutan
BO Bolivia (Plurinational State of)
BQ Bonaire, Sint Eustatius and Saba
BA Bosnia and Herzegovina
BW Botswana
BV Bouvet Island
BR Brazil
IO British Indian Ocean Territory (the)
BN Brunei Darussalam
BG Bulgaria
BF Burkina Faso
BI Burundi
CV Cabo Verde
KH Cambodia
CM Cameroon
CA Canada
KY Cayman Islands (the)
CF Central African Republic (the)
TD Chad
CL Chile
CN China
CX Christmas Island
CC Cocos (Keeling) Islands (the)
CO Colombia
KM Comoros (the)
CD Congo (the Democratic Republic of the)
CG Congo (the)
CK Cook Islands (the)
CR Costa Rica
HR Croatia
CU Cuba
CW Curacao
CY Cyprus
CZ Czechia
CI Cote d’Ivoire
DK Denmark
DJ Djibouti
DM Dominica
DO Dominican Republic (the)
EC Ecuador
EG Egypt
SV El Salvador
GQ Equatorial Guinea
ER Eritrea
EE Estonia
SZ Eswatini
ET Ethiopia
FK Falkland Islands (the) [Malvinas]
FO Faroe Islands (the)
FJ Fiji
FI Finland
FR France
GF French Guiana
PF French Polynesia
TF French Southern Territories (the)
GA Gabon
GM Gambia (the)
GE Georgia
DE Germany
GH Ghana
GI Gibraltar
GR Greece
GL Greenland
GD Grenada
GP Guadeloupe
GU Guam
GT Guatemala
GG Guernsey
GN Guinea
GW Guinea-Bissau
GY Guyana
HT Haiti
HM Heard Island and McDonald Islands
VA Holy See (the)
HN Honduras
HK Hong Kong
HU Hungary
IS Iceland
IN India
ID Indonesia
IR Iran (Islamic Republic of)
IQ Iraq
IE Ireland
IM Isle of Man
IL Israel
IT Italy
JM Jamaica
JP Japan
JE Jersey
JO Jordan
KZ Kazakhstan
KE Kenya
KI Kiribati
KP Korea (the Democratic People’s Republic of)
KR Korea (the Republic of)
KW Kuwait
KG Kyrgyzstan
LA Lao People’s Democratic Republic (the)
LV Latvia
LB Lebanon
LS Lesotho
LR Liberia
LY Libya
LI Liechtenstein
LT Lithuania
LU Luxembourg
MO Macao
MG Madagascar
MW Malawi
MY Malaysia
MV Maldives
ML Mali
MT Malta
MH Marshall Islands (the)
MQ Martinique
MR Mauritania
MU Mauritius
YT Mayotte
MX Mexico
FM Micronesia (Federated States of)
MD Moldova (the Republic of)
MC Monaco
MN Mongolia
ME Montenegro
MS Montserrat
MA Morocco
MZ Mozambique
MM Myanmar
NA Namibia
NR Nauru
NP Nepal
NL Netherlands (the)
NC New Caledonia
NZ New Zealand
NI Nicaragua
NE Niger (the)
NG Nigeria
NU Niue
NF Norfolk Island
MP Northern Mariana Islands (the)
NO Norway
OM Oman
PK Pakistan
PW Palau
PS Palestine, State of
PA Panama
PG Papua New Guinea
PY Paraguay
PE Peru
PH Philippines (the)
PN Pitcairn
PL Poland
PT Portugal
PR Puerto Rico
QA Qatar
MK Republic of North Macedonia
RO Romania
RU Russian Federation (the)
RW Rwanda
RE Reunion
BL Saint Barthelemy
SH Saint Helena, Ascension and Tristan da Cunha
KN Saint Kitts and Nevis
LC Saint Lucia
MF Saint Martin (French part)
PM Saint Pierre and Miquelon
VC Saint Vincent and the Grenadines
WS Samoa
SM San Marino
ST Sao Tome and Principe
SA Saudi Arabia
SN Senegal
RS Serbia
SC Seychelles
SL Sierra Leone
SG Singapore
SX Sint Maarten (Dutch part)
SK Slovakia
SI Slovenia
SB Solomon Islands
SO Somalia
ZA South Africa
GS South Georgia and the South Sandwich Islands
SS South Sudan
ES Spain
LK Sri Lanka
SD Sudan (the)
SR Suriname
SJ Svalbard and Jan Mayen
SE Sweden
CH Switzerland
SY Syrian Arab Republic
TW Taiwan (Province of China)
TJ Tajikistan
TZ Tanzania, United Republic of
TH Thailand
TL Timor-Leste
TG Togo
TK Tokelau
TO Tonga
TT Trinidad and Tobago
TN Tunisia
TR Turkey
TM Turkmenistan
TC Turks and Caicos Islands (the)
TV Tuvalu
UG Uganda
UA Ukraine
AE United Arab Emirates (the)
GB United Kingdom of Great Britain and Northern Ireland (the)
UM United States Minor Outlying Islands (the)
US United States of America (the)
UY Uruguay
UZ Uzbekistan
VU Vanuatu
VE Venezuela (Bolivarian Republic of)
VN Viet Nam
VG Virgin Islands (British)
VI Virgin Islands (U.S.)
WF Wallis and Futuna
EH Western Sahara
YE Yemen
ZM Zambia
ZW Zimbabwe
AX Aland Islands
Ph Philippines
Id Indonesia
Philippines Philippines
philippines Philippines
Indonesia Indonesia
indonesia Indonesia
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": "CountryCode",
      "address": {
        "line1": "string",
        "line2": "string",
        "city": "string",
        "province": "string",
        "zip_code": "string",
        "country": "CountryCode"
      },
      "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
Objects
BeneficiaryBankQuery
Name Type Description
bank_code DestinationBankCode BankCode is the destination bank code identifier of the beneficiary bank
title string Title is the title of the bank
active bool Active indicates whether the bank is active
country_code CountryCode CountryCode is the country code of the banks
supported_channels []string SupportedChannels is the supported channel for this bank
Enums
DestinationBankCode

You may download the latest Philippines and Indonesia Bank codes here

CountryCode
Value Description
UNKNOWN_COUNTRY_CODE Unknown Country Code
AF Afghanistan
AL Albania
DZ Algeria
AS American Samoa
AD Andorra
AO Angola
AI Anguilla
AQ Antarctica
AG Antigua and Barbuda
AR Argentina
AM Armenia
AW Aruba
AU Australia
AT Austria
AZ Azerbaijan
BS Bahamas (the)
BH Bahrain
BD Bangladesh
BB Barbados
BY Belarus
BE Belgium
BZ Belize
BJ Benin
BM Bermuda
BT Bhutan
BO Bolivia (Plurinational State of)
BQ Bonaire, Sint Eustatius and Saba
BA Bosnia and Herzegovina
BW Botswana
BV Bouvet Island
BR Brazil
IO British Indian Ocean Territory (the)
BN Brunei Darussalam
BG Bulgaria
BF Burkina Faso
BI Burundi
CV Cabo Verde
KH Cambodia
CM Cameroon
CA Canada
KY Cayman Islands (the)
CF Central African Republic (the)
TD Chad
CL Chile
CN China
CX Christmas Island
CC Cocos (Keeling) Islands (the)
CO Colombia
KM Comoros (the)
CD Congo (the Democratic Republic of the)
CG Congo (the)
CK Cook Islands (the)
CR Costa Rica
HR Croatia
CU Cuba
CW Curacao
CY Cyprus
CZ Czechia
CI Cote d’Ivoire
DK Denmark
DJ Djibouti
DM Dominica
DO Dominican Republic (the)
EC Ecuador
EG Egypt
SV El Salvador
GQ Equatorial Guinea
ER Eritrea
EE Estonia
SZ Eswatini
ET Ethiopia
FK Falkland Islands (the) [Malvinas]
FO Faroe Islands (the)
FJ Fiji
FI Finland
FR France
GF French Guiana
PF French Polynesia
TF French Southern Territories (the)
GA Gabon
GM Gambia (the)
GE Georgia
DE Germany
GH Ghana
GI Gibraltar
GR Greece
GL Greenland
GD Grenada
GP Guadeloupe
GU Guam
GT Guatemala
GG Guernsey
GN Guinea
GW Guinea-Bissau
GY Guyana
HT Haiti
HM Heard Island and McDonald Islands
VA Holy See (the)
HN Honduras
HK Hong Kong
HU Hungary
IS Iceland
IN India
ID Indonesia
IR Iran (Islamic Republic of)
IQ Iraq
IE Ireland
IM Isle of Man
IL Israel
IT Italy
JM Jamaica
JP Japan
JE Jersey
JO Jordan
KZ Kazakhstan
KE Kenya
KI Kiribati
KP Korea (the Democratic People’s Republic of)
KR Korea (the Republic of)
KW Kuwait
KG Kyrgyzstan
LA Lao People’s Democratic Republic (the)
LV Latvia
LB Lebanon
LS Lesotho
LR Liberia
LY Libya
LI Liechtenstein
LT Lithuania
LU Luxembourg
MO Macao
MG Madagascar
MW Malawi
MY Malaysia
MV Maldives
ML Mali
MT Malta
MH Marshall Islands (the)
MQ Martinique
MR Mauritania
MU Mauritius
YT Mayotte
MX Mexico
FM Micronesia (Federated States of)
MD Moldova (the Republic of)
MC Monaco
MN Mongolia
ME Montenegro
MS Montserrat
MA Morocco
MZ Mozambique
MM Myanmar
NA Namibia
NR Nauru
NP Nepal
NL Netherlands (the)
NC New Caledonia
NZ New Zealand
NI Nicaragua
NE Niger (the)
NG Nigeria
NU Niue
NF Norfolk Island
MP Northern Mariana Islands (the)
NO Norway
OM Oman
PK Pakistan
PW Palau
PS Palestine, State of
PA Panama
PG Papua New Guinea
PY Paraguay
PE Peru
PH Philippines (the)
PN Pitcairn
PL Poland
PT Portugal
PR Puerto Rico
QA Qatar
MK Republic of North Macedonia
RO Romania
RU Russian Federation (the)
RW Rwanda
RE Reunion
BL Saint Barthelemy
SH Saint Helena, Ascension and Tristan da Cunha
KN Saint Kitts and Nevis
LC Saint Lucia
MF Saint Martin (French part)
PM Saint Pierre and Miquelon
VC Saint Vincent and the Grenadines
WS Samoa
SM San Marino
ST Sao Tome and Principe
SA Saudi Arabia
SN Senegal
RS Serbia
SC Seychelles
SL Sierra Leone
SG Singapore
SX Sint Maarten (Dutch part)
SK Slovakia
SI Slovenia
SB Solomon Islands
SO Somalia
ZA South Africa
GS South Georgia and the South Sandwich Islands
SS South Sudan
ES Spain
LK Sri Lanka
SD Sudan (the)
SR Suriname
SJ Svalbard and Jan Mayen
SE Sweden
CH Switzerland
SY Syrian Arab Republic
TW Taiwan (Province of China)
TJ Tajikistan
TZ Tanzania, United Republic of
TH Thailand
TL Timor-Leste
TG Togo
TK Tokelau
TO Tonga
TT Trinidad and Tobago
TN Tunisia
TR Turkey
TM Turkmenistan
TC Turks and Caicos Islands (the)
TV Tuvalu
UG Uganda
UA Ukraine
AE United Arab Emirates (the)
GB United Kingdom of Great Britain and Northern Ireland (the)
UM United States Minor Outlying Islands (the)
US United States of America (the)
UY Uruguay
UZ Uzbekistan
VU Vanuatu
VE Venezuela (Bolivarian Republic of)
VN Viet Nam
VG Virgin Islands (British)
VI Virgin Islands (U.S.)
WF Wallis and Futuna
EH Western Sahara
YE Yemen
ZM Zambia
ZW Zimbabwe
AX Aland Islands
Ph Philippines
Id Indonesia
Philippines Philippines
philippines Philippines
Indonesia Indonesia
indonesia Indonesia

Example:

{
  "beneficiaries": [
    {
      "bank_code": "DestinationBankCode",
      "title": "string",
      "active": "bool",
      "country_code": "CountryCode",
      "supported_channels": "[]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 CountryCode Country of the destination account.
Error
Name Type Description
error_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
FLAGGED
SourceBankCode
Value Description
UNKNOWN_BANK
DUMMY_BANK_CORPORATE
DUMMY_BANK_OAUTH2_CORPORATE
UNIONBANK_CORPORATE
NETBANK_CORPORATE
TRAXION_EWALLET
AccountType

AccountType is the type of bank account.

Value Description
UNKNOWN_ACCOUNT_TYPE
PERSONAL
CORPORATE
GOVERNMENT
CountryCode
Value Description
UNKNOWN_COUNTRY_CODE Unknown Country Code
AF Afghanistan
AL Albania
DZ Algeria
AS American Samoa
AD Andorra
AO Angola
AI Anguilla
AQ Antarctica
AG Antigua and Barbuda
AR Argentina
AM Armenia
AW Aruba
AU Australia
AT Austria
AZ Azerbaijan
BS Bahamas (the)
BH Bahrain
BD Bangladesh
BB Barbados
BY Belarus
BE Belgium
BZ Belize
BJ Benin
BM Bermuda
BT Bhutan
BO Bolivia (Plurinational State of)
BQ Bonaire, Sint Eustatius and Saba
BA Bosnia and Herzegovina
BW Botswana
BV Bouvet Island
BR Brazil
IO British Indian Ocean Territory (the)
BN Brunei Darussalam
BG Bulgaria
BF Burkina Faso
BI Burundi
CV Cabo Verde
KH Cambodia
CM Cameroon
CA Canada
KY Cayman Islands (the)
CF Central African Republic (the)
TD Chad
CL Chile
CN China
CX Christmas Island
CC Cocos (Keeling) Islands (the)
CO Colombia
KM Comoros (the)
CD Congo (the Democratic Republic of the)
CG Congo (the)
CK Cook Islands (the)
CR Costa Rica
HR Croatia
CU Cuba
CW Curacao
CY Cyprus
CZ Czechia
CI Cote d’Ivoire
DK Denmark
DJ Djibouti
DM Dominica
DO Dominican Republic (the)
EC Ecuador
EG Egypt
SV El Salvador
GQ Equatorial Guinea
ER Eritrea
EE Estonia
SZ Eswatini
ET Ethiopia
FK Falkland Islands (the) [Malvinas]
FO Faroe Islands (the)
FJ Fiji
FI Finland
FR France
GF French Guiana
PF French Polynesia
TF French Southern Territories (the)
GA Gabon
GM Gambia (the)
GE Georgia
DE Germany
GH Ghana
GI Gibraltar
GR Greece
GL Greenland
GD Grenada
GP Guadeloupe
GU Guam
GT Guatemala
GG Guernsey
GN Guinea
GW Guinea-Bissau
GY Guyana
HT Haiti
HM Heard Island and McDonald Islands
VA Holy See (the)
HN Honduras
HK Hong Kong
HU Hungary
IS Iceland
IN India
ID Indonesia
IR Iran (Islamic Republic of)
IQ Iraq
IE Ireland
IM Isle of Man
IL Israel
IT Italy
JM Jamaica
JP Japan
JE Jersey
JO Jordan
KZ Kazakhstan
KE Kenya
KI Kiribati
KP Korea (the Democratic People’s Republic of)
KR Korea (the Republic of)
KW Kuwait
KG Kyrgyzstan
LA Lao People’s Democratic Republic (the)
LV Latvia
LB Lebanon
LS Lesotho
LR Liberia
LY Libya
LI Liechtenstein
LT Lithuania
LU Luxembourg
MO Macao
MG Madagascar
MW Malawi
MY Malaysia
MV Maldives
ML Mali
MT Malta
MH Marshall Islands (the)
MQ Martinique
MR Mauritania
MU Mauritius
YT Mayotte
MX Mexico
FM Micronesia (Federated States of)
MD Moldova (the Republic of)
MC Monaco
MN Mongolia
ME Montenegro
MS Montserrat
MA Morocco
MZ Mozambique
MM Myanmar
NA Namibia
NR Nauru
NP Nepal
NL Netherlands (the)
NC New Caledonia
NZ New Zealand
NI Nicaragua
NE Niger (the)
NG Nigeria
NU Niue
NF Norfolk Island
MP Northern Mariana Islands (the)
NO Norway
OM Oman
PK Pakistan
PW Palau
PS Palestine, State of
PA Panama
PG Papua New Guinea
PY Paraguay
PE Peru
PH Philippines (the)
PN Pitcairn
PL Poland
PT Portugal
PR Puerto Rico
QA Qatar
MK Republic of North Macedonia
RO Romania
RU Russian Federation (the)
RW Rwanda
RE Reunion
BL Saint Barthelemy
SH Saint Helena, Ascension and Tristan da Cunha
KN Saint Kitts and Nevis
LC Saint Lucia
MF Saint Martin (French part)
PM Saint Pierre and Miquelon
VC Saint Vincent and the Grenadines
WS Samoa
SM San Marino
ST Sao Tome and Principe
SA Saudi Arabia
SN Senegal
RS Serbia
SC Seychelles
SL Sierra Leone
SG Singapore
SX Sint Maarten (Dutch part)
SK Slovakia
SI Slovenia
SB Solomon Islands
SO Somalia
ZA South Africa
GS South Georgia and the South Sandwich Islands
SS South Sudan
ES Spain
LK Sri Lanka
SD Sudan (the)
SR Suriname
SJ Svalbard and Jan Mayen
SE Sweden
CH Switzerland
SY Syrian Arab Republic
TW Taiwan (Province of China)
TJ Tajikistan
TZ Tanzania, United Republic of
TH Thailand
TL Timor-Leste
TG Togo
TK Tokelau
TO Tonga
TT Trinidad and Tobago
TN Tunisia
TR Turkey
TM Turkmenistan
TC Turks and Caicos Islands (the)
TV Tuvalu
UG Uganda
UA Ukraine
AE United Arab Emirates (the)
GB United Kingdom of Great Britain and Northern Ireland (the)
UM United States Minor Outlying Islands (the)
US United States of America (the)
UY Uruguay
UZ Uzbekistan
VU Vanuatu
VE Venezuela (Bolivarian Republic of)
VN Viet Nam
VG Virgin Islands (British)
VI Virgin Islands (U.S.)
WF Wallis and Futuna
EH Western Sahara
YE Yemen
ZM Zambia
ZW Zimbabwe
AX Aland Islands
Ph Philippines
Id Indonesia
Philippines Philippines
philippines Philippines
Indonesia Indonesia
indonesia Indonesia
DestinationBankCode

You may download the latest Philippines and Indonesia Bank codes here

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.
Enums
NotificationSettingEvents
Value Description
UNKNOWN_EVENT_TYPE
EVENTDIS001
EVENTDIS002
EVENTDIS003
EVENTDIS004
EVENTDIS005
EVENTDIS006
EVENTDIS007
EVENTDIS008
EVENTDIS009
EVENTDIS010

Example:

{
  "events": [
    "EVENTDIS001",
    "EVENTDIS002",
    "EVENTDIS009",
    "EVENTDIS010"
  ]
}

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
Objects
SourceBankQuery
Name Type Description
bank_code SourceBankCode BankCode is the source bank code identifier of the source bank
title string Title is the title of the bank
active bool Active indicates whether the bank is active
country_code CountryCode CountryCode is the country code of the banks
supported_channels []string SupportedChannels is the supported channel for this bank
logo string Logo is a url path for logo of the bank
Enums
SourceBankCode
Value Description
UNKNOWN_BANK
DUMMY_BANK_CORPORATE
DUMMY_BANK_OAUTH2_CORPORATE
UNIONBANK_CORPORATE
NETBANK_CORPORATE
TRAXION_EWALLET
CountryCode
Value Description
UNKNOWN_COUNTRY_CODE Unknown Country Code
AF Afghanistan
AL Albania
DZ Algeria
AS American Samoa
AD Andorra
AO Angola
AI Anguilla
AQ Antarctica
AG Antigua and Barbuda
AR Argentina
AM Armenia
AW Aruba
AU Australia
AT Austria
AZ Azerbaijan
BS Bahamas (the)
BH Bahrain
BD Bangladesh
BB Barbados
BY Belarus
BE Belgium
BZ Belize
BJ Benin
BM Bermuda
BT Bhutan
BO Bolivia (Plurinational State of)
BQ Bonaire, Sint Eustatius and Saba
BA Bosnia and Herzegovina
BW Botswana
BV Bouvet Island
BR Brazil
IO British Indian Ocean Territory (the)
BN Brunei Darussalam
BG Bulgaria
BF Burkina Faso
BI Burundi
CV Cabo Verde
KH Cambodia
CM Cameroon
CA Canada
KY Cayman Islands (the)
CF Central African Republic (the)
TD Chad
CL Chile
CN China
CX Christmas Island
CC Cocos (Keeling) Islands (the)
CO Colombia
KM Comoros (the)
CD Congo (the Democratic Republic of the)
CG Congo (the)
CK Cook Islands (the)
CR Costa Rica
HR Croatia
CU Cuba
CW Curacao
CY Cyprus
CZ Czechia
CI Cote d’Ivoire
DK Denmark
DJ Djibouti
DM Dominica
DO Dominican Republic (the)
EC Ecuador
EG Egypt
SV El Salvador
GQ Equatorial Guinea
ER Eritrea
EE Estonia
SZ Eswatini
ET Ethiopia
FK Falkland Islands (the) [Malvinas]
FO Faroe Islands (the)
FJ Fiji
FI Finland
FR France
GF French Guiana
PF French Polynesia
TF French Southern Territories (the)
GA Gabon
GM Gambia (the)
GE Georgia
DE Germany
GH Ghana
GI Gibraltar
GR Greece
GL Greenland
GD Grenada
GP Guadeloupe
GU Guam
GT Guatemala
GG Guernsey
GN Guinea
GW Guinea-Bissau
GY Guyana
HT Haiti
HM Heard Island and McDonald Islands
VA Holy See (the)
HN Honduras
HK Hong Kong
HU Hungary
IS Iceland
IN India
ID Indonesia
IR Iran (Islamic Republic of)
IQ Iraq
IE Ireland
IM Isle of Man
IL Israel
IT Italy
JM Jamaica
JP Japan
JE Jersey
JO Jordan
KZ Kazakhstan
KE Kenya
KI Kiribati
KP Korea (the Democratic People’s Republic of)
KR Korea (the Republic of)
KW Kuwait
KG Kyrgyzstan
LA Lao People’s Democratic Republic (the)
LV Latvia
LB Lebanon
LS Lesotho
LR Liberia
LY Libya
LI Liechtenstein
LT Lithuania
LU Luxembourg
MO Macao
MG Madagascar
MW Malawi
MY Malaysia
MV Maldives
ML Mali
MT Malta
MH Marshall Islands (the)
MQ Martinique
MR Mauritania
MU Mauritius
YT Mayotte
MX Mexico
FM Micronesia (Federated States of)
MD Moldova (the Republic of)
MC Monaco
MN Mongolia
ME Montenegro
MS Montserrat
MA Morocco
MZ Mozambique
MM Myanmar
NA Namibia
NR Nauru
NP Nepal
NL Netherlands (the)
NC New Caledonia
NZ New Zealand
NI Nicaragua
NE Niger (the)
NG Nigeria
NU Niue
NF Norfolk Island
MP Northern Mariana Islands (the)
NO Norway
OM Oman
PK Pakistan
PW Palau
PS Palestine, State of
PA Panama
PG Papua New Guinea
PY Paraguay
PE Peru
PH Philippines (the)
PN Pitcairn
PL Poland
PT Portugal
PR Puerto Rico
QA Qatar
MK Republic of North Macedonia
RO Romania
RU Russian Federation (the)
RW Rwanda
RE Reunion
BL Saint Barthelemy
SH Saint Helena, Ascension and Tristan da Cunha
KN Saint Kitts and Nevis
LC Saint Lucia
MF Saint Martin (French part)
PM Saint Pierre and Miquelon
VC Saint Vincent and the Grenadines
WS Samoa
SM San Marino
ST Sao Tome and Principe
SA Saudi Arabia
SN Senegal
RS Serbia
SC Seychelles
SL Sierra Leone
SG Singapore
SX Sint Maarten (Dutch part)
SK Slovakia
SI Slovenia
SB Solomon Islands
SO Somalia
ZA South Africa
GS South Georgia and the South Sandwich Islands
SS South Sudan
ES Spain
LK Sri Lanka
SD Sudan (the)
SR Suriname
SJ Svalbard and Jan Mayen
SE Sweden
CH Switzerland
SY Syrian Arab Republic
TW Taiwan (Province of China)
TJ Tajikistan
TZ Tanzania, United Republic of
TH Thailand
TL Timor-Leste
TG Togo
TK Tokelau
TO Tonga
TT Trinidad and Tobago
TN Tunisia
TR Turkey
TM Turkmenistan
TC Turks and Caicos Islands (the)
TV Tuvalu
UG Uganda
UA Ukraine
AE United Arab Emirates (the)
GB United Kingdom of Great Britain and Northern Ireland (the)
UM United States Minor Outlying Islands (the)
US United States of America (the)
UY Uruguay
UZ Uzbekistan
VU Vanuatu
VE Venezuela (Bolivarian Republic of)
VN Viet Nam
VG Virgin Islands (British)
VI Virgin Islands (U.S.)
WF Wallis and Futuna
EH Western Sahara
YE Yemen
ZM Zambia
ZW Zimbabwe
AX Aland Islands
Ph Philippines
Id Indonesia
Philippines Philippines
philippines Philippines
Indonesia Indonesia
indonesia Indonesia

Example:

{
  "sources": [
    {
      "bank_code": "SourceBankCode",
      "title": "string",
      "active": "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.

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": "CountryCode",
			"address": {
				"line1": "string",
				"line2": "string",
				"city": "string",
				"province": "string",
				"zip_code": "string",
				"country": "CountryCode"
			},
			"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 CountryCode 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 CountryCode 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
api_secret string ApiSecret is a ap secret provide by bank for merchant
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
UNIONBANK_CORPORATE
NETBANK_CORPORATE
TRAXION_EWALLET
DestinationBankCode

You may download the latest Philippines and Indonesia Bank codes here

AccountType

AccountType is the type of bank account.

Value Description
UNKNOWN_ACCOUNT_TYPE
PERSONAL
CORPORATE
GOVERNMENT
CountryCode
Value Description
UNKNOWN_COUNTRY_CODE Unknown Country Code
AF Afghanistan
AL Albania
DZ Algeria
AS American Samoa
AD Andorra
AO Angola
AI Anguilla
AQ Antarctica
AG Antigua and Barbuda
AR Argentina
AM Armenia
AW Aruba
AU Australia
AT Austria
AZ Azerbaijan
BS Bahamas (the)
BH Bahrain
BD Bangladesh
BB Barbados
BY Belarus
BE Belgium
BZ Belize
BJ Benin
BM Bermuda
BT Bhutan
BO Bolivia (Plurinational State of)
BQ Bonaire, Sint Eustatius and Saba
BA Bosnia and Herzegovina
BW Botswana
BV Bouvet Island
BR Brazil
IO British Indian Ocean Territory (the)
BN Brunei Darussalam
BG Bulgaria
BF Burkina Faso
BI Burundi
CV Cabo Verde
KH Cambodia
CM Cameroon
CA Canada
KY Cayman Islands (the)
CF Central African Republic (the)
TD Chad
CL Chile
CN China
CX Christmas Island
CC Cocos (Keeling) Islands (the)
CO Colombia
KM Comoros (the)
CD Congo (the Democratic Republic of the)
CG Congo (the)
CK Cook Islands (the)
CR Costa Rica
HR Croatia
CU Cuba
CW Curacao
CY Cyprus
CZ Czechia
CI Cote d’Ivoire
DK Denmark
DJ Djibouti
DM Dominica
DO Dominican Republic (the)
EC Ecuador
EG Egypt
SV El Salvador
GQ Equatorial Guinea
ER Eritrea
EE Estonia
SZ Eswatini
ET Ethiopia
FK Falkland Islands (the) [Malvinas]
FO Faroe Islands (the)
FJ Fiji
FI Finland
FR France
GF French Guiana
PF French Polynesia
TF French Southern Territories (the)
GA Gabon
GM Gambia (the)
GE Georgia
DE Germany
GH Ghana
GI Gibraltar
GR Greece
GL Greenland
GD Grenada
GP Guadeloupe
GU Guam
GT Guatemala
GG Guernsey
GN Guinea
GW Guinea-Bissau
GY Guyana
HT Haiti
HM Heard Island and McDonald Islands
VA Holy See (the)
HN Honduras
HK Hong Kong
HU Hungary
IS Iceland
IN India
ID Indonesia
IR Iran (Islamic Republic of)
IQ Iraq
IE Ireland
IM Isle of Man
IL Israel
IT Italy
JM Jamaica
JP Japan
JE Jersey
JO Jordan
KZ Kazakhstan
KE Kenya
KI Kiribati
KP Korea (the Democratic People’s Republic of)
KR Korea (the Republic of)
KW Kuwait
KG Kyrgyzstan
LA Lao People’s Democratic Republic (the)
LV Latvia
LB Lebanon
LS Lesotho
LR Liberia
LY Libya
LI Liechtenstein
LT Lithuania
LU Luxembourg
MO Macao
MG Madagascar
MW Malawi
MY Malaysia
MV Maldives
ML Mali
MT Malta
MH Marshall Islands (the)
MQ Martinique
MR Mauritania
MU Mauritius
YT Mayotte
MX Mexico
FM Micronesia (Federated States of)
MD Moldova (the Republic of)
MC Monaco
MN Mongolia
ME Montenegro
MS Montserrat
MA Morocco
MZ Mozambique
MM Myanmar
NA Namibia
NR Nauru
NP Nepal
NL Netherlands (the)
NC New Caledonia
NZ New Zealand
NI Nicaragua
NE Niger (the)
NG Nigeria
NU Niue
NF Norfolk Island
MP Northern Mariana Islands (the)
NO Norway
OM Oman
PK Pakistan
PW Palau
PS Palestine, State of
PA Panama
PG Papua New Guinea
PY Paraguay
PE Peru
PH Philippines (the)
PN Pitcairn
PL Poland
PT Portugal
PR Puerto Rico
QA Qatar
MK Republic of North Macedonia
RO Romania
RU Russian Federation (the)
RW Rwanda
RE Reunion
BL Saint Barthelemy
SH Saint Helena, Ascension and Tristan da Cunha
KN Saint Kitts and Nevis
LC Saint Lucia
MF Saint Martin (French part)
PM Saint Pierre and Miquelon
VC Saint Vincent and the Grenadines
WS Samoa
SM San Marino
ST Sao Tome and Principe
SA Saudi Arabia
SN Senegal
RS Serbia
SC Seychelles
SL Sierra Leone
SG Singapore
SX Sint Maarten (Dutch part)
SK Slovakia
SI Slovenia
SB Solomon Islands
SO Somalia
ZA South Africa
GS South Georgia and the South Sandwich Islands
SS South Sudan
ES Spain
LK Sri Lanka
SD Sudan (the)
SR Suriname
SJ Svalbard and Jan Mayen
SE Sweden
CH Switzerland
SY Syrian Arab Republic
TW Taiwan (Province of China)
TJ Tajikistan
TZ Tanzania, United Republic of
TH Thailand
TL Timor-Leste
TG Togo
TK Tokelau
TO Tonga
TT Trinidad and Tobago
TN Tunisia
TR Turkey
TM Turkmenistan
TC Turks and Caicos Islands (the)
TV Tuvalu
UG Uganda
UA Ukraine
AE United Arab Emirates (the)
GB United Kingdom of Great Britain and Northern Ireland (the)
UM United States Minor Outlying Islands (the)
US United States of America (the)
UY Uruguay
UZ Uzbekistan
VU Vanuatu
VE Venezuela (Bolivarian Republic of)
VN Viet Nam
VG Virgin Islands (British)
VI Virgin Islands (U.S.)
WF Wallis and Futuna
EH Western Sahara
YE Yemen
ZM Zambia
ZW Zimbabwe
AX Aland Islands
Ph Philippines
Id Indonesia
Philippines Philippines
philippines Philippines
Indonesia Indonesia
indonesia Indonesia
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
error_code string
message string

Example:

{
  "result": {
    "success": "bool",
    "error": [
      {
        "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.

Disburse Snap API

  • Host https://disburse-snap.sandbox.prd.asse2.bnk.to

API Reference Overview

curl -X POST \
	https://disburse-snap.sandbox.prd.asse2.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"
	}'

Onboarding Steps

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

Assuming the client already has access to the Brankas dashboard and live access, below are the steps for accessing the Snap API:

  • Generating API Keys via Brankas Dashboard, this generated key will be used as a X-API-KEY in the header request.
  • Generating client_id and client_password will be done by Brankas team upon onboarding been done. They will be used to generate access token.

Access Token

This request is a prerequisite for the others. All API requests must have an OAuth2 Bearer Token, which is obtained from the response to this request.

URL
Method Endpoint
POST /oauth2/token
Base URL Usage
https://auth.brankas.com.to Production Environment
Authorization
  • Type: Basic Auth
    • Username: <your_client_id>
    • Password: <your_client_password>
curl -X POST \
  https://auth.brankas.com/oauth2/token \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -H 'Authorization: ••••••' \
  -d 'grant_type=client_credentials' \
  -d 'scope=https://auth.bnk.to/snap.write https://auth.bnk.to/snap.read'

Request

POST https://auth.brankas.com/oauth2/token

Headers
  • Authorization: <computed>
  • Content-Type: application/x-www-form-urlencoded
Body
Body Data Type Mandatory Description
grant_type String Required Grant Type Requested
scope String Required The scopes requested

Response

{ \
  "access_token":  "eyJhbGciOiJSUzXXNiIsImtpZCI6ImEwY2QwY2ZjLTU0MjAtNDA1My1iY2FjLTFmZjhkYTVkMDRjNCIsInR5cCI6IkpX",
  "expires_in": 3598,
  "scope": "https://auth.bnk.to/snap.write https://auth.bnk.to/snap.read https://auth.bnk.to/snap.admin.read",
  "token_type": "bearer"
}
Headers
  • Date: Thu, 27 Jun 2024 13:11:37 GMT
  • Content-Type: application/json;charset=UTF-8
Body
Parameter Data Type Mandatory Description
access_token String Required Contains the actual access token you need to use to call protected APIs.
scope String Required The scopes allowed to this token.
token_type String Required Type of this access token.

Intrabank Transfer

Intrabank transfers funds from one account to one beneficiary account for the same bank.

URL
Method Endpoint
POST /v1/transfer-intrabank
Base URL Usage
https://disburse-snap.sandbox.prd.asse2.bnk.to UAT Environment
https://disburse-snap.prd.asse2.bnk.to Production Environment
Authorization
  • Type: Bearer Token + Api Key
curl -X POST \
  'https://disburse-snap.prd.asse2.bnk.to
/v1/transfer-intrabank' \
  -H 'X-TIMESTAMP: 2024-07-03T08:37:51+00:00' \
  -H 'X-SIGNATURE: Ok4T1JnXyCbsWwhpHy3pcYCijPOY7e2pQFNmF3MBgtkM8fXowNbC/MJ3dbnWFD8G3o5ZfnAxw4Dt98gus+vf5A==' \
  -H 'X-PARTNER-ID: <your_client_id>' \
  -H 'X-EXTERNAL-ID: <your_client_id>' \
  -H 'CHANNEL-ID: fceda' \
  -H 'Authorization: Bearer ••••••' \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: ••••••' \
  -d '{
        "partnerReferenceNo": "1719995870133",
        "amount": {
          "value": "10000.00",
          "currency": "IDR"
        },
        "beneficiaryAccountNo": "9808419049",
        "beneficiaryEmail": "testing-disbursement@brankas.com",
        "currency": "IDR",
        "customerReference": "12345",
        "feeType": "Transfer",
        "remark": "Test disb API",
        "sourceAccountNo": "f58fc39f-4fa1-486f-b461-e56fc6c5478b",
        "transactionDate": "2024-05-01T17:33:00+07:00",
        "additionalInfo": {
          "beneficiaryBankCode": "ID_DUMMY"
        }
      }'

Request

POST https://disburse-snap.prd.asse2.bnk.to /v1/transfer-intrabank

Headers
  • Authorization: <token>
  • x-api-key: <your_api_key>
  • Content-type: application/json
  • X-TIMESTAMP: Date time of the request
  • X-PARTNER-ID: <your_client_id>
  • X-EXTERNAL-ID: <your_client_id>
  • X-Signature: Using the stringToSign format httpMethod + "|" + endpointUrl + "|" + accessToken + "|" + timestamp + "|" + hex(sha256(requestBody))
Body
Parameter Data Type Mandatory Description
partnerReferenceNo String (64) Required Transaction identifier on service consumer system
amount Object Required
value String (16,2) Required Net amount of the transaction. If it’s IDR then value includes 2 decimal digits e.g. IDR 10.000,- will be placed with 10000.00
currency String (3) Required Currency
beneficiaryAccountNo String (34) Required Contains destination bank account number.
beneficiaryEmail String (50) Optional Beneficiary Email
currency String (3) Optional Currency Type
customerReference String (30) Optional Reference Number / No Referral / Transaction ID
feeType String (25) Optional Holds the type of the transaction fee
remark String (50) Optional Description/remark of the transaction
sourceAccountNo String (36) Required Brankas source account ID
transactionDate String (25) Required Transaction date ISO 8601
additionalInfo Object Required
beneficiaryBankCode String Required Brankas destination bank code

Response

{
  "responseCode": "2001700",
  "responseMessage": "Successful",
  "referenceNo": "S20240709191858063RQY1M1",
  "beneficiaryAccountNo": "0611115813",
  "transactionDate": "2024-05-01T17:33:00+07:00",
  "additionalInfo": {
    "beneficiaryBankCode": "ID_DUMMY"
  }
}
Headers
  • Date: Thu, 27 Jun 2024 13:11:37 GMT
  • Content-Type: application/json;charset=UTF-8
Body
Field Name Data Type Mandatory Description
responseCode String Required Response code
responseMessage String Required Response description
referenceNo String Required Transaction identifier on service provider system
partnerReferenceNo String Optional Transaction identifier on service consumer system
beneficiaryAccountNo String (34) Required Contains destination bank account number.
currency String (3) Optional Currency Type
customerReference String (30) Optional Reference Number / No Referral / Transaction ID
sourceAccountNo String (36) Required Brankas source account ID
transactionDate String (25) Required Transaction date ISO 8601
additionalInfo Object Required Additional Information
beneficiaryBankCode String Required Brankas destination bank code

Interbank Transfer

Interbank transfers funds from one account to one beneficiary account for the different bank.

URL
Method Endpoint
POST /v1/transfer-interbank
Base URL Usage
https://disburse-snap.sandbox.prd.asse2.bnk.to UAT Environment
https://disburse-snap.prd.asse2.bnk.to Production Environment
Authorization
  • Type: Bearer Token + Api Key
curl -X POST 'https://disburse-snap.prd.asse2.bnk.to
/v1/transfer-interbank' \
-H 'X-TIMESTAMP: 2024-07-03T08:37:51+00:00' \
-H 'X-SIGNATURE: Ok4T1JnXyCbsWwhpHy3pcYCijPOY7e2pQFNmF3MBgtkM8fXowNbC/MJ3dbnWFD8G3o5ZfnAxw4Dt98gus+vf5A==' \
-H 'X-PARTNER-ID: <your_client_id>' \
-H 'X-EXTERNAL-ID: <your_client_id>' \
-H 'CHANNEL-ID: fceda' \
-H 'Authorization: Bearer ••••••' \
-H 'Content-Type: application/json' \
-H 'x-api-key: ••••••' \
-d '{
  "partnerReferenceNo": "1720587954160",
  "amount": {
    "value": "10000.00",
    "currency": "IDR"
  },
  "beneficiaryAccountName": "brankas",
  "beneficiaryAccountNo": "888801000157508",
  "beneficiaryAddress": "BSD Revenue Tower",
  "beneficiaryBankCode": "ID_DUMMY_BANK",
  "beneficiaryBankName": "Dummy Bank",
  "beneficiaryEmail": "testing-disbursement@brankas.com",
  "currency": "IDR",
  "customerReference": "12345",
  "sourceAccountNo": "f58fc39f-4fa1-486f-b461-e56fc6c5478b",
  "transactionDate": "2024-05-01T17:33:00+07:00",
  "feeType": "Transfer",
  "remark": "Test disb API",
  "additionalInfo": {
    "deviceId": "123123123",
    "channel": "Mobile Phone",
    "type": "PAYMENT"
  }
}'

Request

POST https://disburse-snap.prd.asse2.bnk.to /v1/transfer-interbank

Headers
  • Authorization: <token>
  • x-api-key: <your_api_key>
  • Content-type: application/json
  • X-TIMESTAMP: Date time of the request
  • X-PARTNER-ID: <your_client_id>
  • X-EXTERNAL-ID: <your_client_id>
  • X-Signature: Using the stringToSign format httpMethod + "|" + endpointUrl + "|" + accessToken + "|" + timestamp + "|" + hex(sha256(requestBody))
Body
Parameter Data Type Mandatory Description
partnerReferenceNo String (64) Required Transaction identifier on service consumer system
amount Object Required
value String (16,2) Required Net amount of the transaction. If it’s IDR then value includes 2 decimal digits e.g. IDR 10.000,- will be placed with 10000.00
currency String (3) Required Currency
beneficiaryAccountName String (100) Required Contains the name of destination bank account.
beneficiaryAccountNo String (34) Required Contains destination bank account number.
beneficiaryAddress String (100) Optional Contains the address of beneficiary account
beneficiaryBankCode String Required Brankas destination bank code
beneficiaryBankName String Optional The name of destination bank
beneficiaryEmail String (50) Optional Beneficiary Email
currency String (3) Optional Currency Type
customerReference String (30) Optional Reference Number / No Referral / Transaction ID
sourceAccountNo String (36) Required Brankas source account ID
transactionDate String (25) Required Transaction date ISO 8601
feeType String (25) Optional Holds the type of the transaction fee
remark String (50) Optional Description/remark of the transaction
additionalInfo Object Optional Additional Information

Response

{
  "responseCode": "2001800",
  "responseMessage": "Successful",
  "referenceNo": "S202407101206036974RX5JJ",
  "beneficiaryAccountNo": "888801000157508",
  "additionalInfo": {}
}
Headers
  • Date: Thu, 27 Jun 2024 13:11:37 GMT
  • Content-Type: application/json;charset=UTF-8
Body
Field Name Data Type Mandatory Description
responseCode String Required Response code
responseMessage String Required Response description
referenceNo String Required Transaction identifier on service provider system
partnerReferenceNo String Optional Transaction identifier on service consumer system
amount Object Optional
value String (16,2) Required Net amount of the transaction. If it’s IDR then value includes 2 decimal digits e.g. IDR 10.000,- will be placed with 10000.00
currency String (3) Required Currency
beneficiaryAccountNo String (34) Required Contains destination bank account number.
beneficiaryBankCode String Required Brankas destination bank code
sourceAccountNo String (36) Required Brankas source account ID
additionalInfo Object Optional Additional information

Transaction Status Inquiry

This request is for requesting transaction status.

URL
Method Endpoint
POST /v1/transfer/status
Base URL Usage
https://disburse-snap.sandbox.prd.asse2.bnk.to UAT Environment
https://disburse-snap.prd.asse2.bnk.to Production Environment
Authorization
  • Type: Bearer Token + Api Key
curl -X POST 'https://disburse-snap.prd.asse2.bnk.to
/v1/transfer/status' \
-H 'X-TIMESTAMP: 2024-07-03T08:37:51+00:00' \
-H 'X-SIGNATURE: Ok4T1JnXyCbsWwhpHy3pcYCijPOY7e2pQFNmF3MBgtkM8fXowNbC/MJ3dbnWFD8G3o5ZfnAxw4Dt98gus+vf5A==' \
-H 'X-PARTNER-ID: <your_client_id>' \
-H 'X-EXTERNAL-ID: <your_client_id>' \
-H 'CHANNEL-ID: fceda' \
-H 'Authorization: Bearer ••••••' \
-H 'Content-Type: application/json' \
-H 'x-api-key: ••••••' \
-d '{
  "originalPartnerReferenceNo": "",
  "originalReferenceNo": "S202407101206036974RX5JJ",
  "originalExternalId": "",
  "serviceCode": "17",
  "transactionDate": "",
  "amount": {
    "value": "",
    "currency": "IDR"
  },
  "additionalInfo": {}
}'

Request

POST https://disburse-snap.prd.asse2.bnk.to /v1/transfer/status

Headers
  • Authorization: <token>
  • x-api-key: <your_api_key>
  • Content-type: application/json
  • X-TIMESTAMP: Date time of the request
  • X-PARTNER-ID: <your_client_id>
  • X-EXTERNAL-ID: <your_client_id>
  • X-Signature: Using the stringToSign format httpMethod + "|" + endpointUrl + "|" + accessToken + "|" + timestamp + "|" + hex(sha256(requestBody))
Body
Parameter Data Type Mandatory Description
originalPartnerReferenceNo String Optional Original transaction identifier on service consumer system
originalReferenceNo String Required Reference ID of this transaction
originalExternalId String Optional Original External-ID on header message
serviceCode String Required Transaction type indicator (service code of the original transaction request)
transactionDate String Optional Transaction date ISO 8601
amount Object Optional
value String (16,2) Optional Net amount of the transaction. If it’s IDR then value includes 2 decimal digits e.g. IDR 10.000,- will be placed with 10000.00
currency String (3) Required Currency
additionalInfo Object Optional Additional Information

Response

{
  "responseCode": "2003600",
  "responseMessage": "Successful",
  "originalReferenceNo": "S202407101206036974RX5JJ",
  "originalPartnerReferenceNo": "1720587954160",
  "serviceCode": "20",
  "transactionDate": "2024-07-10T05:06:03Z",
  "amount": {
    "value": "1000000",
    "currency": "IDR"
  },
  "beneficiaryAccountNo": "***********7508",
  "beneficiaryBankCode": "ID_DUMMY_BANK",
  "currency": "IDR",
  "referenceNumber": "S202407101206036974RX5JJ",
  "sourceAccountNo": "0611102380",
  "latestTransactionStatus": "00",
  "transactionStatusDesc": "success",
  "additionalInfo": {}
}
Headers
  • Date: Thu, 27 Jun 2024 13:11:37 GMT
  • Content-Type: application/json;charset=UTF-8
Body
Parameter Data Type Mandatory Description
responseCode String Required Response Code indicating the status of the API request.
responseMessage String Required Corresponding message for the response code
originalReferenceNo String Required Reference Number of this transaction
originalPartnerReferenceNo String Optional Original transaction identifier on service consumer system
serviceCode String Required Transaction type indicator (service code of the original transaction request)
transactionDate String Optional Transaction date ISO 8601
amount Object Optional
value String (16,2) Optional Net amount of the transaction. If it’s IDR then value includes 2 decimal digits e.g. IDR 10.000,- will be placed with 10000.00
currency String (3) Required Currency
beneficiaryAccountNo String Required Contains destination bank account number.
beneficiaryBankCode String Required Brankas destination bank code
currency String (3) Required Currency
referenceNumber String Optional Reference Number of this transaction
sourceAccountNo String Required Brankas source account ID
latestTransactionStatus String Required 00 - Success
01 - Initiated
02 - Paying
03 - Pending
04 - Refunded
05 - Canceled
06 - Failed
07 - Not found
transactionStatusDesc String Optional Description status transaction
additionalInfo Object Optional Additional Information

Marketplace

Brankas Marketplace provide seamless integration of third-party API services with Brankas services

  • Host https://api.sandbox.brankas.com/marketplace

API Reference Overview

  • Base Path ``

Marketplace Transaction

Allows merchant to view Transaction Score or Transaction Summary data

curl -X GET \
	https://api.sandbox.brankas.com/marketplace/v1/transaction \
	-H 'x-api-key: USE_YOUR_API_KEY'

HTTP Request

GET https://api.sandbox.brankas.com/marketplace/v1/transaction

Responses

Response body

Name Type Description
transaction_id string transaction_id is the unique identifier assigned to the transaction request generated by Brankas.
transaction_date string transaction_date is the date of marketplace transaction.
transaction_status string transaction_status is the status of marketplace transaction.
reference_id string reference_id is a reference from the merchant to uniquely identify a marketplace transaction.
client Client client contains the relevant information about the client/merchant.
message string message is the returned information
visa_score VCTScore visa_score contains cardholder’s credit score information.
visa_spend_profile CardholderSpendProfile visa_spend_profile contains card spending aggregated data
score CreditScore score contains credit score information from Brankas partner
Objects
Client
Name Type Description
display_name string display_name is the name of client/merchant.
return_url string return_url is the webhook url of client/merchant.
logo_url string logo_url is the representation image for client/merchant.
VCTScore
Name Type Description
value string actual TUS (transaction underwriting score)
date string date when the score was updated
card_type string Debit / Credit
country_code string numerical code representing country code
model_version string version of how Visa generating the VUIS-C score
CardholderSpendProfile
Name Type Description
card_engagement CardEngagement
spend_type []SpendType
spend_summary []SpendSummary
category_spend []CategorySpend
authorization_declines []AuthorizationDeclines
CreditScore
Name Type Description
partner string partner is the vendor that owns the credit score API
value string value is the partner credit score value
version string version is the partner credit score API version
date string date is the date the credit score was recorded by the partner (VISA)
card_type string card_type value is either credit or debit (VISA)
country_code string country_code is the numerical representation of a country (VISA)
CardEngagement
Name Type Description
month_on_book string # of months since 1st transaction
last_transaction_date string when was the last time customer transact
active_months string number of active months in the last 12 months
SpendType
Name Type Description
spend_volume string value of transaction in this spend category within the time period
time_period string n-month duration of spending from the last API-refreshed date
category_type string CNP: online & without card transaction within the time period
ATM: atm withdrawals within the time period
CASH_OR_XBORDER: card & atm transactions outside country of issuance within the time period
SpendSummary
Name Type Description
spend_volume string total value of transaction within the time period
number_of_transactions string total number of transaction within the time period
time_period string n-month duration of spending from the last API-refreshed date
CategorySpend
Name Type Description
spend_volume string value of transaction in this category within the time period
number_of_transactions string number of transaction in this category within the time period
category_type string FOOD_AND_GROCERY
FUEL
HEALTH_CARE
TRAVEL
TELECOM_UTILITIES_INSURANCE
RESTAURANT_QSR
time_period string n-month duration of spending from the last API-refreshed date
AuthorizationDeclines
Name Type Description
number_of_declines string number of declined transaction within the time period
category_type string TOTAL: total number of declines
INSUFFICIENT_FUNDS: number of declines due to insufficient funds
time_period string n-month duration of spending from the last API-refreshed date

Example:

{
  "transaction_id": "string",
  "transaction_date": "string",
  "transaction_status": "string",
  "reference_id": "string",
  "client": {
    "display_name": "string",
    "return_url": "string",
    "logo_url": "string"
  },
  "message": "string",
  "visa_score": {
    "value": "string",
    "date": "string",
    "card_type": "string",
    "country_code": "string",
    "model_version": "string"
  },
  "visa_spend_profile": {
    "card_engagement": {
      "month_on_book": "string",
      "last_transaction_date": "string",
      "active_months": "string"
    },
    "spend_type": [
      {
        "spend_volume": "string",
        "time_period": "string",
        "category_type": "string"
      }
    ],
    "spend_summary": [
      {
        "spend_volume": "string",
        "number_of_transactions": "string",
        "time_period": "string"
      }
    ],
    "category_spend": [
      {
        "spend_volume": "string",
        "number_of_transactions": "string",
        "category_type": "string",
        "time_period": "string"
      }
    ],
    "authorization_declines": [
      {
        "number_of_declines": "string",
        "category_type": "string",
        "time_period": "string"
      }
    ]
  },
  "score": {
    "partner": "string",
    "value": "string",
    "version": "string",
    "date": "string",
    "card_type": "string",
    "country_code": "string"
  }
}

Response codes

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

Marketplace Transaction

Lists all transactions of a merchant

curl -X GET \
	https://api.sandbox.brankas.com/marketplace/v1/transaction-list \
	-H 'x-api-key: USE_YOUR_API_KEY'

HTTP Request

GET https://api.sandbox.brankas.com/marketplace/v1/transaction-list

Responses

Response body

Name Type Description
transaction_list []TransactionListData
list_total int32
Objects
TransactionListData
Name Type Description
created string transaction date
id string transaction unique identifier
category string
source string partner name
status string
Timestamp
Name Type Description
seconds int64
nanos int32

Example:

{
  "transaction_list": [
    {
      "created": {
        "seconds": "int64",
        "nanos": "int32"
      },
      "id": "string",
      "category": "string",
      "source": "string",
      "status": "string"
    }
  ],
  "list_total": "int32"
}

Response codes

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

Marketplace Transaction Score

Allows merchant to retrieve Credit Transaction Score of clients

curl -X POST \
	https://api.sandbox.brankas.com/marketplace/v1/transaction-score \
	-H 'x-api-key: USE_YOUR_API_KEY' \
	-d '{
		"reference_id": "string",
		"client": {
			"display_name": "string",
			"return_url": "string",
			"logo_url": "string"
		}
	}'

HTTP Request

POST https://api.sandbox.brankas.com/marketplace/v1/transaction-score

Body Parameters

Name Type Description
reference_id string reference_id is a reference from the merchant to uniquely identify a marketplace transaction.
client Client client contains the relevant information about the client/merchant.
Objects
Client
Name Type Description
display_name string display_name is the name of client/merchant.
return_url string return_url is the webhook url of client/merchant.
logo_url string logo_url is the representation image for client/merchant.

Responses

Response body

Name Type Description
transaction_id string transaction_id is the unique identifier assigned to the transaction request generated by Brankas.
redirect_uri string redirect_uri is the tap url for process payment next step.

Example:

{
  "transaction_id": "string",
  "redirect_uri": "string"
}

Response codes

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

Marketplace Transaction Summary

Allows merchant to retrieve Cardholder Spend Summary of clients

curl -X POST \
	https://api.sandbox.brankas.com/marketplace/v1/transaction-summary \
	-H 'x-api-key: USE_YOUR_API_KEY' \
	-d '{
		"reference_id": "string",
		"client": {
			"display_name": "string",
			"return_url": "string",
			"logo_url": "string"
		}
	}'

HTTP Request

POST https://api.sandbox.brankas.com/marketplace/v1/transaction-summary

Body Parameters

Name Type Description
reference_id string reference_id is a reference from the merchant to uniquely identify a marketplace transaction.
client Client client contains the relevant information about the client/merchant.
Objects
Client
Name Type Description
display_name string display_name is the name of client/merchant.
return_url string return_url is the webhook url of client/merchant.
logo_url string logo_url is the representation image for client/merchant.

Responses

Response body

Name Type Description
transaction_id string transaction_id is the unique identifier assigned to the transaction request generated by Brankas.
redirect_uri string redirect_uri is the tap url for process payment next step.

Example:

{
  "transaction_id": "string",
  "redirect_uri": "string"
}

Response codes

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

Status

Status API will return product status and institution status that are available in Brankas. Product status represents our API availability. When a product is disabled, although institutions are enabled, connections are non-available. Institution status (status) represents the Institution’s availability. When an institution is disabled, availability is highly dependent on the institution itself.

API Reference Overview

  • Host https://status.bnk.to

  • Base Path /v1/status

Get status

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

HTTP Request

GET https://status.bnk.to/v1/status

Filters

Filter Function Country Product Institution
Show Product Status null null PRODUCT
Show All Country, Product, and Institutions’
status that is available in Brankas
null null null
Show Institutions’ status, filtered by Country
and Product and Institution name
PH STATEMENT BPI_PERSONAL

Responses

Response body

Name Type Description
institutions []Institution List of all institutions
Objects
Institution
Name Type Description
product Product
name string
institution_code InstitutionCode
status Status
country string
product_status Status
Enums
Product

Product is the enum used to identify the product service

Value Description
DIRECT
DISBURSE
STATEMENT

Example:

{
  "institutions": [
    {
      "product": "DIRECT",
      "institution_code": "PRODUCT",
      "product_status": "ENABLED",
	  "country": "PH"
    },
  ]
}
InstitutionCode

InstitutionCode is the enum used to identify and target a specific institution for the status API

Country Value Description
PRODUCT Represents Brankas product
PH BDO_PERSONAL Banco De Oro Unibank, Inc.
PH BPI_PERSONAL Bank of the Philippine Islands
PH BPI_CORPORATE Bank of the Philippines Islands (Corporate)
PH GCASH_PERSONAL GCash
PH LANDBANK_PERSONAL Land Bank of the Philippines
PH METROBANK_PERSONAL The Metropolitan Bank and Trust Company
PH NETBANK_PERSONAL Netbank (A Rural Bank) Inc.
PH PNB_PERSONAL Philippine National Bank
PH RCBC_PERSONAL The Rizal Commercial Banking Corporation
PH UNIONBANK_PERSONAL Union Bank of the Philippines
VN VCB_PERSONAL Vietcombank

Example:

{
  "institutions": [
    {
      "product": "DIRECT",
      "name": "BPI / BPI Family Savings Bank",
      "institution_code": "BPI_PERSONAL",
      "status": "ENABLED",
	  "country": "PH"
    },
  ]
}
Status

Status is the enum used to identify the status of the product/institution

Value Description
ENABLED
DISABLED

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 contain 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.