Brankas Account Opening provides Marketplace, p2p, fintech, or any 3rd parties platform to provide account opening services in their platform. This allow 3rd parties user access for saving and credit account by banks. By connecting end-user and Banks, Brankas Account Opening enable access over a growing basket of banks and banks products via a single set of APIs.
Host https://account-opening.sandbox.bnk.to
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": ""
}
}'
POST https://account-opening.sandbox.bnk.to/v1/accounts/create
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.
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
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
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
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
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.
Value
Description
UNKNOWN_PHONE_TYPE
HOME
MOBILE
WORK
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
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
See Link: https://docs.brankas.com/docs/account-opening-error-codes
Value
Description
UNKNOWN_NEXT_ACTION
RETRY
RESUBMIT
Example:
{
"application_id" : "UUID-generated" ,
"redirect_url" : "https://tap..." ,
"error" : {
"code" : "" ,
"message" : "" ,
"next_action" : ""
}
}
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 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'
GET https://account-opening.sandbox.bnk.to/v1/accounts/list
Name
Type
Description
total_record
int32
list_applications
[]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
Name
Type
Description
seconds
int64
nanos
int32
Status describe the status of the application. See Link: https://docs.brankas.com/docs/account-opening-transaction-status
SubStatus describe the sub status of the application. See Link: https://docs.brankas.com/docs/account-opening-transaction-status
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"
}
]
}
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.
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'
GET https://account-opening.sandbox.bnk.to/v1/banks
Name
Type
Description
banks
[]Bank
Banks list of available bank to apply
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
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 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"
}
]
}
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.
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'
GET https://account-opening.sandbox.bnk.to/v1/accounts/status
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
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
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
Status describe the status of the application. See Link: https://docs.brankas.com/docs/account-opening-transaction-status
SubStatus describe the sub status of the application. See Link: https://docs.brankas.com/docs/account-opening-transaction-status
See Link: https://docs.brankas.com/docs/account-opening-error-codes
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"
}
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.
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
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"
}'
POST https://direct.sandbox.bnk.to/v1/checkout
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.
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.
Name
Type
Description
cur
CurrencyISO4217
Cur is the currency.
num
string
Num is the numeric value.
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.
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”
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
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 iso is the 3 digit currency that will be used as standard currency type on fast checkout. View list here .
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.
Value
Description
PH
Philippines
TH
Thailand
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
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"
}
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.
RetrieveBanks returns a list of banks.
curl -X GET \
https://direct.sandbox.bnk.to/v1/banks \
-H 'x-api-key: USE_YOUR_API_KEY'
GET https://direct.sandbox.bnk.to/v1/banks
Name
Type
Description
country
CountryISO3166
Country is the country code (ID, US, SG, …).
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.
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.
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, …).
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.
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.
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.
Value
Description
PH
Philippines
TH
Thailand
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 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"
}
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.
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'
GET https://direct.sandbox.bnk.to/v1/transaction
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
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.
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.
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.
Name
Type
Description
cur
CurrencyISO4217
Cur is the currency.
num
string
Num is the numeric value.
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.
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.
Name
Type
Description
seconds
int64
nanos
int32
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 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 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.
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.
Value
Description
PH
Philippines
TH
Thailand
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 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
}
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.
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"
}'
POST https://direct.sandbox.bnk.to/v1/checkout/settle
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.
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.
Example:
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.
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.
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.
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.
Brankas Disburse API provides services for disbursement operations on the disbursement resource.
Host https://disburse.sandbox.bnk.to
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"
}'
POST https://disburse.sandbox.bnk.to/v1/disbursements/account-inquiry
Name
Type
Description
destination_bank_account
DestinationBankAccountDetails
BankAccount is account information to validate
source_account_id
string
SourceAccountID is the uuid of source account
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.
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.
You may download the latest Philippines and Indonesia Bank codes here
AccountType is the type of bank account.
Value
Description
UNKNOWN_ACCOUNT_TYPE
PERSONAL
CORPORATE
GOVERNMENT
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
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
Name
Type
Description
success
bool
error
[]Error
message
string
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.
Name
Type
Description
error_code
string
message
string
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.
You may download the latest Philippines and Indonesia Bank codes here
AccountType is the type of bank account.
Value
Description
UNKNOWN_ACCOUNT_TYPE
PERSONAL
CORPORATE
GOVERNMENT
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"
}
}
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.
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"
}
]
}'
POST https://disburse.sandbox.bnk.to/v1/bank-accounts
Name
Type
Description
bank_accounts
[]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
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.
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.
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
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.
Name
Type
Description
seconds
int64
nanos
int32
Value
Description
UNKNOWN_BANK
DUMMY_BANK_CORPORATE
DUMMY_BANK_OAUTH2_CORPORATE
UNIONBANK_CORPORATE
NETBANK_CORPORATE
TRAXION_EWALLET
You may download the latest Philippines and Indonesia Bank codes here
AccountType is the type of bank account.
Value
Description
UNKNOWN_ACCOUNT_TYPE
PERSONAL
CORPORATE
GOVERNMENT
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 is the class of account
Value
Description
UNKNOWN_ACCOUNT_CLASS
PARTNER
MERCHANT
Name
Type
Description
bank_accounts
[]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.
Name
Type
Description
success
bool
error
[]Error
message
string
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"
}
}
]
}
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.
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"
}
}
]
}'
POST https://disburse.sandbox.bnk.to/v2/disbursements
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
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
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
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.
Name
Type
Description
cur
CurrencyISO4217
cur is the currency value.
num
string
num is the numeric value.
Name
Type
Description
name
string
Name is the name of the fee
amount
Amount
Amount is the amount of the fee
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
Name
Type
Description
seconds
int64
nanos
int32
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.
Name
Type
Description
error_code
string
message
string
DisbursementType is the type of disbursement.
Value
Description
UNKNOWN_TYPE
CASHBACK
PAYMENT
PAYOUT
REFUND
SALARY
VENDOR_BILL
UTILITY
REPLENISHMENT
DisbursementStatus is the status for disbursement.
Value
Description
UNKNOWN_DISBURSEMENT_STATUS
CREATED
ERROR
SUCCESS
FAILED
PENDING
NOT_PROCESSED
FLAGGED
Value
Description
UNKNOWN_BANK
DUMMY_BANK_CORPORATE
DUMMY_BANK_OAUTH2_CORPORATE
UNIONBANK_CORPORATE
NETBANK_CORPORATE
TRAXION_EWALLET
AccountType is the type of bank account.
Value
Description
UNKNOWN_ACCOUNT_TYPE
PERSONAL
CORPORATE
GOVERNMENT
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
You may download the latest Philippines and Indonesia Bank codes here
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
Name
Type
Description
result
[]DisbursementResult
Result will return a success or error type for the response for each disbursement
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
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
Name
Type
Description
success
bool
error
[]Error
message
string
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
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.
Name
Type
Description
cur
CurrencyISO4217
cur is the currency value.
num
string
num is the numeric value.
Name
Type
Description
name
string
Name is the name of the fee
amount
Amount
Amount is the amount of the fee
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
Name
Type
Description
seconds
int64
nanos
int32
Name
Type
Description
error_code
string
message
string
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.
DisbursementType is the type of disbursement.
Value
Description
UNKNOWN_TYPE
CASHBACK
PAYMENT
PAYOUT
REFUND
SALARY
VENDOR_BILL
UTILITY
REPLENISHMENT
DisbursementStatus is the status for disbursement.
Value
Description
UNKNOWN_DISBURSEMENT_STATUS
CREATED
ERROR
SUCCESS
FAILED
PENDING
NOT_PROCESSED
FLAGGED
Value
Description
UNKNOWN_BANK
DUMMY_BANK_CORPORATE
DUMMY_BANK_OAUTH2_CORPORATE
UNIONBANK_CORPORATE
NETBANK_CORPORATE
TRAXION_EWALLET
AccountType is the type of bank account.
Value
Description
UNKNOWN_ACCOUNT_TYPE
PERSONAL
CORPORATE
GOVERNMENT
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
You may download the latest Philippines and Indonesia Bank codes here
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
}
}
]
}
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 by id.
curl -X DELETE \
https://disburse.sandbox.bnk.to/v1/bank-accounts \
-H 'x-api-key: USE_YOUR_API_KEY'
DELETE https://disburse.sandbox.bnk.to/v1/bank-accounts
Name
Type
Description
result
Result
Result is the response from system indicate bank account deleted.
Name
Type
Description
success
bool
error
[]Error
message
string
Name
Type
Description
error_code
string
message
string
Example:
{
"result" : {
"success" : "bool" ,
"error" : [
{
"error_code" : "string" ,
"message" : "string"
}
],
"message" : "string"
}
}
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.
curl -X GET \
https://disburse.sandbox.bnk.to/v1/download-statement \
-H 'x-api-key: USE_YOUR_API_KEY'
GET https://disburse.sandbox.bnk.to/v1/download-statement
Name
Type
Description
result
Result
Result is the success response for changing the bucket access
Name
Type
Description
success
bool
error
[]Error
message
string
Name
Type
Description
error_code
string
message
string
Example:
{
"result" : {
"success" : "bool" ,
"error" : [
{
"error_code" : "string" ,
"message" : "string"
}
],
"message" : "string"
}
}
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 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'
GET https://disburse.sandbox.bnk.to/v1/bank-accounts
Name
Type
Description
bank_accounts
[]BankAccountDetails
total_record
int32
TotalRecord is the number of record return by database match filters.
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
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.
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.
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
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.
Name
Type
Description
seconds
int64
nanos
int32
Value
Description
UNKNOWN_BANK
DUMMY_BANK_CORPORATE
DUMMY_BANK_OAUTH2_CORPORATE
UNIONBANK_CORPORATE
NETBANK_CORPORATE
TRAXION_EWALLET
You may download the latest Philippines and Indonesia Bank codes here
AccountType is the type of bank account.
Value
Description
UNKNOWN_ACCOUNT_TYPE
PERSONAL
CORPORATE
GOVERNMENT
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 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"
}
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.
Retrieves the beneficiary banks
curl -X GET \
https://disburse.sandbox.bnk.to/v1/beneficiary-banks \
-H 'x-api-key: USE_YOUR_API_KEY'
GET https://disburse.sandbox.bnk.to/v1/beneficiary-banks
Name
Type
Description
beneficiaries
[]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
You may download the latest Philippines and Indonesia Bank codes here
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"
}
]
}
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 to registered by merchant.
curl -X GET \
https://disburse.sandbox.bnk.to/v1/callback \
-H 'x-api-key: USE_YOUR_API_KEY'
GET https://disburse.sandbox.bnk.to/v1/callback
Name
Type
Description
callback_urls
[]CallbackURL
callback_urls is a list of the callback url records.
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.
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"
}
]
}
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 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'
GET https://disburse.sandbox.bnk.to/v1/disbursements
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.
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
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
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.
Name
Type
Description
cur
CurrencyISO4217
cur is the currency value.
num
string
num is the numeric value.
Name
Type
Description
name
string
Name is the name of the fee
amount
Amount
Amount is the amount of the fee
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
Name
Type
Description
seconds
int64
nanos
int32
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.
Name
Type
Description
error_code
string
message
string
DisbursementType is the type of disbursement.
Value
Description
UNKNOWN_TYPE
CASHBACK
PAYMENT
PAYOUT
REFUND
SALARY
VENDOR_BILL
UTILITY
REPLENISHMENT
DisbursementStatus is the status for disbursement.
Value
Description
UNKNOWN_DISBURSEMENT_STATUS
CREATED
ERROR
SUCCESS
FAILED
PENDING
NOT_PROCESSED
FLAGGED
Value
Description
UNKNOWN_BANK
DUMMY_BANK_CORPORATE
DUMMY_BANK_OAUTH2_CORPORATE
UNIONBANK_CORPORATE
NETBANK_CORPORATE
TRAXION_EWALLET
AccountType is the type of bank account.
Value
Description
UNKNOWN_ACCOUNT_TYPE
PERSONAL
CORPORATE
GOVERNMENT
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
You may download the latest Philippines and Indonesia Bank codes here
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
}
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 to configured by merchant.
curl -X GET \
https://disburse.sandbox.bnk.to/v1/notification-setting \
-H 'x-api-key: USE_YOUR_API_KEY'
GET https://disburse.sandbox.bnk.to/v1/notification-setting
Name
Type
Description
events
[]NotificationSettingEvents
settings is a list of the notification setting records.
Value
Description
UNKNOWN_EVENT_TYPE
EVENTDIS001
EVENTDIS002
EVENTDIS003
EVENTDIS004
EVENTDIS005
EVENTDIS006
EVENTDIS007
EVENTDIS008
EVENTDIS009
EVENTDIS010
Example:
{
"events" : [
"EVENTDIS001" ,
"EVENTDIS002" ,
"EVENTDIS009" ,
"EVENTDIS010"
]
}
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.
Retrieves the source banks
curl -X GET \
https://disburse.sandbox.bnk.to/v1/source-banks \
-H 'x-api-key: USE_YOUR_API_KEY'
GET https://disburse.sandbox.bnk.to/v1/source-banks
Name
Type
Description
sources
[]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
Value
Description
UNKNOWN_BANK
DUMMY_BANK_CORPORATE
DUMMY_BANK_OAUTH2_CORPORATE
UNIONBANK_CORPORATE
NETBANK_CORPORATE
TRAXION_EWALLET
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"
}
]
}
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.
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"
}
}'
PUT https://disburse.sandbox.bnk.to/v1/bank-accounts
Name
Type
Description
bank_account
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
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.
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.
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
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.
Name
Type
Description
seconds
int64
nanos
int32
Value
Description
UNKNOWN_BANK
DUMMY_BANK_CORPORATE
DUMMY_BANK_OAUTH2_CORPORATE
UNIONBANK_CORPORATE
NETBANK_CORPORATE
TRAXION_EWALLET
You may download the latest Philippines and Indonesia Bank codes here
AccountType is the type of bank account.
Value
Description
UNKNOWN_ACCOUNT_TYPE
PERSONAL
CORPORATE
GOVERNMENT
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 is the class of account
Value
Description
UNKNOWN_ACCOUNT_CLASS
PARTNER
MERCHANT
Name
Type
Description
result
Result
Result is the response from system indicate bank details add.
Name
Type
Description
success
bool
error
[]Error
message
string
Name
Type
Description
error_code
string
message
string
Example:
{
"result" : {
"success" : "bool" ,
"error" : [
{
"error_code" : "string" ,
"message" : "string"
}
],
"message" : "string"
}
}
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.
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"
}'
PUT https://disburse.sandbox.bnk.to/v1/callback
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.
Value
Description
UNKNOWN_URLSTATUS
ACTIVE
INACTIVE
ACTIVE_UNPROXIED
Name
Type
Description
id
string
id contains the unique identifier of the business information object.
Example:
{
"id" : "32bbd16b-8a26-42d9-8f69-e33fcc882fd8"
}
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.
Host https://disburse-snap.sandbox.prd.asse2.bnk.to
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"
}'
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.
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.
Method
Endpoint
POST
/oauth2/token
Base URL
Usage
https://auth.brankas.com.to
Production Environment
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'
POST https://auth.brankas.com/oauth2/token
Authorization: <computed>
Content-Type: application/x-www-form-urlencoded
Body
Data Type
Mandatory
Description
grant_type
String
Required
Grant Type Requested
scope
String
Required
The scopes requested
{ \
"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"
}
Date: Thu, 27 Jun 2024 13:11:37 GMT
Content-Type: application/json;charset=UTF-8
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 transfers funds from one account to one beneficiary account for the same bank.
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
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"
}
}'
POST https://disburse-snap.prd.asse2.bnk.to
/v1/transfer-intrabank
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))
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
{
"responseCode" : "2001700" ,
"responseMessage" : "Successful" ,
"referenceNo" : "S20240709191858063RQY1M1" ,
"beneficiaryAccountNo" : "0611115813" ,
"transactionDate" : "2024-05-01T17:33:00+07:00" ,
"additionalInfo" : {
"beneficiaryBankCode" : "ID_DUMMY"
}
}
Date: Thu, 27 Jun 2024 13:11:37 GMT
Content-Type: application/json;charset=UTF-8
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 transfers funds from one account to one beneficiary account for the different bank.
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
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"
}
}'
POST https://disburse-snap.prd.asse2.bnk.to
/v1/transfer-interbank
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))
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
{
"responseCode" : "2001800" ,
"responseMessage" : "Successful" ,
"referenceNo" : "S202407101206036974RX5JJ" ,
"beneficiaryAccountNo" : "888801000157508" ,
"additionalInfo" : {}
}
Date: Thu, 27 Jun 2024 13:11:37 GMT
Content-Type: application/json;charset=UTF-8
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
This request is for requesting transaction status.
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
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": {}
}'
POST https://disburse-snap.prd.asse2.bnk.to
/v1/transfer/status
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))
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
{
"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" : {}
}
Date: Thu, 27 Jun 2024 13:11:37 GMT
Content-Type: application/json;charset=UTF-8
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
Brankas Marketplace provide seamless integration of third-party API services with Brankas services
Host https://api.sandbox.brankas.com/marketplace
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'
GET https://api.sandbox.brankas.com/marketplace/v1/transaction
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
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.
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
Name
Type
Description
card_engagement
CardEngagement
spend_type
[]SpendType
spend_summary
[]SpendSummary
category_spend
[]CategorySpend
authorization_declines
[]AuthorizationDeclines
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)
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
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
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
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
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"
}
}
Status
Description
200
Request executed successfully.
404
Returned when the resource is not found.
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'
GET https://api.sandbox.brankas.com/marketplace/v1/transaction-list
Name
Type
Description
transaction_list
[]TransactionListData
list_total
int32
Name
Type
Description
created
string
transaction date
id
string
transaction unique identifier
category
string
source
string
partner name
status
string
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"
}
Status
Description
200
Request executed successfully.
404
Returned when the resource is not found.
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"
}
}'
POST https://api.sandbox.brankas.com/marketplace/v1/transaction-score
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.
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.
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"
}
Status
Description
200
Request executed successfully.
404
Returned when the resource is not found.
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"
}
}'
POST https://api.sandbox.brankas.com/marketplace/v1/transaction-summary
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.
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.
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"
}
Status
Description
200
Request executed successfully.
404
Returned when the resource is not found.
Brankas Statement endpoints enable fintechs and financial service providers to leverage customer transaction information and deliver highly personalized financial services and applications. You can use Brankas Statement for credit scoring, financial management applications, personalized cross-sell opportunities, and customer verification.
Host https://statement.sandbox.bnk.to
DeleteEmailNotification delete email notification configuration object.
curl -X DELETE \
https://statement.sandbox.bnk.to/v1/notification/email/{ ID} \
-H 'x-api-key: USE_YOUR_API_KEY'
DELETE https://statement.sandbox.bnk.to/v1/notification/email/{ID}
Name
Type
Description
id
string
ID contains the unique identifier of the notification.
Example:
Status
Description
200
Request executed successfully.
404
Returned when the resource is not found.
Retrieves the recent notifications for a statement
curl -X GET \
https://statement.sandbox.bnk.to/v1/notifications/{ StatementID} /status \
-H 'x-api-key: USE_YOUR_API_KEY'
GET https://statement.sandbox.bnk.to/v1/notifications/{StatementID}/status
Name
Type
Description
statement_id
string
StatementID is the unique identifier of the statement.
Name
Type
Description
notifications
[]StatementNotification
Notifications is a list of the notification records.
Name
Type
Description
id
string
ID contains the unique identifier of the statement notification.
notification_id
string
NotificationID contains the unique identifier of the notification.
url
string
URL contains the actual notification value.
statement_status
StatementStatus
StatementStatus is the status of the statement.
payload
string
Payload is the json that was sent.
http_response
string
HttpResponse is the response from site.
http_status
string
HttpStatus is the status returned from site.
error
string
Error message in the case the statement retrieval operation was unsuccessful
sent_at
Timestamp
SentAt is the time the notification was sent.
Name
Type
Description
seconds
int64
nanos
int32
Value
Description
UNKNOWN_StatementStatus
Unknown statement status
Status_PENDING
The requested statement retrieval is in progress.
FAILED
The requested statement couldn’t be retrieved successfully.
COMPLETED
The requested statement was successfully retrieved
NOTIFIED
The request statement status was successfully notified
Status_RECEIVED
The statement request processing is complete.
CANCELLED
The statement request was cancelled
INACTIVATED
The statement request inactivated upon waiting for user input
PURGED
The statement data such as accounts and transactions are purged from brankas system
RECORDS_AVAILABLE
Indicates atleast one or more transaction available for statement
INITIATED_Status
The statement request is initiated for retrieval via IDP flow
NO_ACCOUNT
The statement request was cancelled because of no account
RECONCILIATION_COMPLETED
RECONCILIATION_COMPLETED indicates first reconciliation cycle has been successful
RECONCILIATION_NEW_TRANSACTION
RECONCILIATION_NEW_TRANSACTION indicates there are new transactions merged
RECONCILIATION_DISABLED
RECONCILIATION_DISABLED indicates that the reconciliation has been disabled
Example:
{
"notifications" : [
{
"id" : "string" ,
"notification_id" : "string" ,
"url" : "string" ,
"statement_status" : "StatementStatus" ,
"payload" : "string" ,
"http_response" : "string" ,
"http_status" : "string" ,
"error" : "string" ,
"sent_at" : {
"seconds" : "int64" ,
"nanos" : "int32"
}
}
]
}
Status
Description
200
Request executed successfully.
404
Returned when the resource is not found.
Retrieve the ecommerces list request.
curl -X GET \
https://statement.sandbox.bnk.to/v1/ecommerces \
-H 'x-api-key: USE_YOUR_API_KEY'
GET https://statement.sandbox.bnk.to/v1/ecommerces
Name
Type
Description
statements
[]Statement
Statements are the statements that match the filters of a request.
next_page_token
string
NextPageToken represents the pagination token to retrieve the next page of results. If the value is “”, it means no further results for the request.
message
string
Message is any message from the server that are not treated as an error.
total_count
int32
TotalCount of the statements matched by the query filters
previous_page_token
string
PreviousPageToken represents the pagination token to retrieve the previous page of results. If the value is “”, it means no further results for the request.
Name
Type
Description
status
StatementStatus
Status is the current status of the statement retrieval request
statement_id
string
StatementID is the unique system generated identifier assigned to this specific statement retrieval request
bank_code
BankCode
BankCode is the internal code used by the service to target a specific bank for the statement retrieval request.
start_date
Timestamp
StartDate reflects the timestamp / date of the earliest date up to which the bank provides recorded transaction data, relative to the current date. This differs from bank to bank and can range from 30 to 90 days worth of transaction records from the current date.
end_date
Timestamp
EndDate reflects the timestamp / date of when the statement retrieval request was initiated
account_statements
[]AccountStatement
AccountStatements is the full list of transactions captured by the statement retrieval request
error
string
Error message in the case the statement retrieval operation was unsuccessful
request
Timestamp
Create is the request timestamp.
create
Timestamp
Create is the creation timestamp.
external_id
string
ExternalID represent an id that is passed by the api consumer to track the request
channel
string
Channel represent source channel whether a statement request is initiated from
country
string
Country is the country code (ID, PH, TH)
is_idp
bool
IsIDP denotes that the request processed through PIDP
sub_status
StatementSubStatus
StatementSubStatus denotes the granular status
update
Timestamp
Update is the updation timestamp.
is_notification_success
bool
IsNotificationSuccess denotes whether the notification posted is successful or not
site_response
string
SiteResponse is an optional text response from the bank website.
challenge
Challenge
Challenge is an optional challange information from the bank website to be used for next 2FA request.
shortcode
string
shortcode represent a staticlink code to indicate the statement request initiated via static link
user_consent
bool
UserConsent denotes whether end-user agreed or gave consent for performing statement retrieval
org_id
string
OrgID is the unique organization identifier.
income
Income
Income details related to the statement transactions.
bank_type
string
BankType is the type of the bank whether personal or corporate
code
int32
Code is status error code if statement not found
message
string
Message is error message if statement not found
details
[]ErrorDetail
Details is detailed message if statement not found
status_response
StatusResponse
StatusResponse contains the code and description about the status for this transaction.
local_time
LocalTime
LocalTime contains the local time of the dates based on timezone request.
risk_insight
bool
RiskInsight is a flag that indicates if risk insight is included in a statement.
account_link_id
string
AccountLinkID is linked credentials used during retrieval.
reconciliation_id
string
ReconciliationID is a unique parameter to indicate what this retrieval belong to particular reconciliation id
custom_shortcode
string
CustomShortCode represent a staticlink custom code to indicate the statement request initiated via static link
file_id
string
FileID is a unique parameter to indicate which file it belongs
is_static_link
bool
IsStaticLink indicates if the request coming from static link or not
map[string]bytes
AccountPdfs is the list of account statement pdf files indexed by account number.
Name
Type
Description
seconds
int64
nanos
int32
Name
Type
Description
account
Account
Account is the bank account information.
transactions
[]Transaction
Transactions is the list of transaction which occured over the period_days.
account_pdfs
bytes
AccountPdfs is the list of account statement pdf files.
loans
[]Loan
Loans is the list of loans of the account
Name
Type
Description
type
ChallengeType
data
bytes
Name
Type
Description
overview
Overview
Overview of income information in a very high level
details
[]Details
Details of income information in very detailed level
account
[]Account
Account is the bank account information.
bank_code
BankCode
BankCode is the Brankas bank code for the bank that holds the account.
created_at
Timestamp
CreatedAt is the time when income prediction created in the system
statement_id
string
StatementID of the income model
income_id
string
IncomeID is the unique system generated identifier assigned to this specific income request
error
string
Error is message in the case there was error during retrieval or in request
status
IncomeStatus
Status is the status of the income
Name
Type
Description
status_code
string
status_code contains the status code of the request.
status_desc
string
status_desc contains the description of the given status code of the request.
Name
Type
Description
status_code
string
status_code contains the status code of the request.
status_desc
string
status_desc contains the description of the given status code of the request.
Name
Type
Description
start_date
string
StartDate reflects the timestamp / date of the earliest date up to which the bank provides recorded transaction data, relative to the current date. This differs from bank to bank and can range from 30 to 90 days worth of transaction records from the current date.
end_date
string
EndDate reflects the timestamp / date of when the statement retrieval request was initiated
create
string
Create is the creation timestamp.
update
string
Update is the updation timestamp.
Name
Type
Description
account_id
string
AccountID is the bank account firestore document identifier.
type
AccountType
Type of the relevant bank account. It is an enum indicating whether it is a Savings or Checking account
owner_ids
[]string
OwnerIds is the list of bank credential identifiers that own and have access to this account. The first in the list is the primary owner, and the list cannot be empty.
account_number
string
AccountNumber is the identifying account number of the bank account in question
nick
string
Nick is an optional nickname for the account.
balance
Amount
Balance is the current balance of the relevant bank account as of the current statement retrieval
holder_name
string
HolderName is the full name of the account holder. The format might change between banks.
bank_code
BankCode
BankCode is the Brankas bank code for the bank that holds the account.
total_amount_credited
Amount
TotalAmountCredited is the sum of amount credited with all transactions
total_amount_debited
Amount
TotalAmountDebited is the sum of amount debited with all transactions
credit_transaction_count
int32
CreditTransactionCount denotes number of credit transaction
debit_transaction_count
int32
DebitTransactionCount denotes number of debit transaction
holder_address
string
HolderAddress is the full address of the account holder.
account_metadata
[]AccountMetadata
AccountMetadata is metadata from e-commerce data
account_pocket_name
string
AccountPocketName is the name of the account or pocket.
merchant_name
string
MerchantName is the full name of the account holder. The format might change between banks.
Name
Type
Description
transaction_id
string
TransactionID is the transaction firestore document identifier.
date
Timestamp
Date is the transaction date in UTC
type
TransactionType
Type is the transaction’s type, whether it was a CREDIT, DEBIT.
status
TransactionStatus
Status is the transaction status marked by the bank as pending
amount
Amount
Amount is the financial value of the transaction
descriptor
string
Descriptor is the bank statement descriptor attached to the transaction
match_id
string
MatchID is a reference to related match data.
from
Account
From is the transaction source account.
to
Account
To is the transaction destination account.
fields
Transaction_Fields
balance
Amount
Balance is the running balance of the transaction
merchant_type
[]string
MerchantType is the category of the transaction
account_transaction_hash
string
AccountTransactionHash is the hash for account transaction (account number, date, amount, type,bank code,descriptor)
local_time
string
LocalTime contains the local time of the date based on timezone request.
confidence
string
Confidence is a percentage of expense confidence
metadata
Metadata
Metadata contains additional information of product
error
string
Error is the message to show in the case when transaction doesn’t exist
Name
Type
Description
loan_id
string
LoanID is the unique system generated identifier assigned to loan
loan_number
string
LoanNumber is the loan identifier.
loan_type
string
LoanType is the type of loan.
term_of_loan
string
TermOfLoan is the term of loan stated in the bank.
open_date
Timestamp
OpenDate is the loan start date.
due_date
Timestamp
DueDate is the tloan due date.
next_rate_change_date
Timestamp
NextRateChangeDate is the next date for interest change.
interest
Interest
Interest hold information of loan’s interest.
original_principal_amount
Amount
OriginalPrincipalAmount hold loan original amount.
outstanding_principal_amount
Amount
OutstandingPrincipalAmount hold outstanding loan amount.
unpaid_Instalment
UnpaidInstalment
UnpaidInstalment hold the information of the next instalment.
remaining_term
string
RemainingTerm is the remaining month of the loan due date.
instalments
[]Instalment
Instalment hold the information of loan payment.
Name
Type
Description
count_of_days
int32
count of days from start date to end date of the statement data
count_of_whole_months
int32
count of whole months of the statement data
months_with_income
int32
count of months with at least 1 transaction considered as an income
confidence
string
average confidence score from all transactions with categories considered as income available in the statement
count_of_months
int32
count of months of the statement data
persona
string
profiles of the end user based on their income transactions and pattern
income
IncomeOverview
Income overview
non_income
NonIncomeOverview
NonIncome overview
Name
Type
Description
year
string
Year of the income details
month
string
Month of the income details
is_whole_month
bool
indicates whether the assessment period covers the whole month or not (true/false)
total_amount
Amount
total amount of all transactions with categories considered as income in the respective month
income_count
int32
count of all transactions with categories considered as non income in the respective month
transactions
[]Transaction
list of transactions with categories considered as income in the respective month
income
IncomeDetails
Income Details
non_income
NonIncomeDetails
NonIncome Details
Name
Type
Description
account_number
string
AccountNumber is the identifying account number of the bank account in question
nick_name
string
Nick is an optional nickname for the account.
balance
Amount
Balance is the current balance of the relevant bank account as of the current statement retrieval
holder_name
string
HolderName is the full name of the account holder. The format might change between banks.
holder_address
string
HolderAddress is the full address of the account holder.
Name
Type
Description
cur
CurrencyISO4217
Cur is the currency of the amount using its ISO 4217 code.
num
string
Num is the actual numeric value of the amount. Note: When there are separators in the currency, we store the decimals as digits in the string. So, PHP 100.00 would be represented as “amount.cur”: “PHP” and “amount.num”: “10000”.
decimal
Decimal
Decimal is the actual amount value with decimal points
Name
Type
Description
address_name
string
AddressName is the address identifier
receiver_name
string
ReceiverName is the name of the receiver for this particular address
address
string
Address is address
postal_code
string
PostalCode is postal code for this address
phone
string
Phone number of the receiver
country
string
Country is country for this address
address_visit_count
int32
AddressVisitCount is how many times address visited
address_visit_dates
[]string
AddressVisitCount is times address visited
address_latitude
string
AddressLatitude is geometry latitude for address
address_longitude
string
AddressLongitude is geometry longitude for address
gcash_customer
GCashCustomer
GCashCustomer is metadata populated from gcash platform.
Name
Type
Description
name
string
Name is the Name of the other party.
memo
string
Memo is the user input on a memo line.
account_no
string
AccountNo is the other party’s acount number.
company
string
Company is the virtual account company name.
Name
Type
Description
invoice
string
Invoice is the invoice number of the transaction
total_order_price
Amount
TotalOrderPrice is the total price of the transaction
products
[]ProductMetadata
Products contain list of products they bought
order_id
string
OrderID is the invoice number of the transaction
orders
[]Order
Orders contain list of products they bought
origin
Location
Origin is the origin location of the Transaction
destination
Location
Destination is the destination location of the Transaction
service_type
string
ServiceType is the type of the transaction
payment_methods
[]string
Payment methods are the methods that use in the transaction
orderStatus
int32
OrderStatus is integer value of the status transaction
Name
Type
Description
type
InterestType
Type is the interest rate type.
rate
string
Rate is the numeric value.
Name
Type
Description
date
Timestamp
Date is the next instalment date.
amount
Amount
Amount is the next instalment amount.
Name
Type
Description
instalment_id
string
InstalmentID is the unique system generated identifier assigned to loan instalment
date
Timestamp
Date is the transaction date.
payment_date
Timestamp
PaymentDate is the transaction date.
total_paid_amount
Amount
TotalPaidAmount is the total transaction amount.
principal_amount
Amount
PrincipalAmount is the principal instalment amount.
interest_amount
Amount
InterestAmount is the interest instalment amount.
outstanding_principal_amount
Amount
OutstandingPrincipalAmount is the outstanding principal transaction amount.
Name
Type
Description
months_with_income
string
count of months with at least 1 transaction considered as an income
total_amount
Amount
total amount of all transactions with categories considered as income available in the statement
count
int32
count of all transactions with categories considered as income available in the statement
confidence
string
average confidence score from all transactions with categories considered as income available in the statement
monthly
Monthly
Monthly overview of the income
Name
Type
Description
overall_total_amount
Amount
total amount of all transactions with categories considered as nonincome available in the statement
overall_count
int32
count of all transactions with categories considered as non income available in the statement
Name
Type
Description
cur
CurrencyISO4217
currency
num
string
amount of the transaction in cents
decimal
Decimal
Decimal is the actual amount value with decimal points
Name
Type
Description
date
Timestamp
Date is the transaction date
type
string
type of the transaction (Credit/debit)
confidence
string
Likelihood of the transaction to be an income (0-100%)
amount
Amount
Amount denotes the transaction amount
descriptor
string
description of the transactions
category
string
predicted category of the transaction
transaction_hash
string
TransactionHash contains account transaction hash value
transaction_id
string
TransactionID contains transaction id
Name
Type
Description
total_amount
Amount
total amount of all transactions with categories considered as income in the respective month
count
int32
count of all transactions with categories considered as income in the respective month
categories
[]string
list of income categories from transactions in the related month
categories_count
int32
count of income categories from transactions in the related month
transactions
[]Transaction
list of transactions with categories considered as income in the respective month
Name
Type
Description
total_amount
Amount
total amount of all transactions with categories considered as nonincome in the respective month
count
int32
count of all transactions with categories considered as income in the respective month
categories
[]string
list of nonincome categories from transactions in the related month
categories_count
int32
count of nonincome categories from transactions in the related month
transactions
[]Transaction
list of transactions with categories considered as nonincome in the respective month
Name
Type
Description
places
int32
Places denotes the number of decimal points included with the amount
num
string
Num is the actual amount value with decimal points It is the decimal representation of the Num field as PHP 100.00 only for Indonesia, Philippine and Thailand
Name
Type
Description
first_name
string
FirstName is the first name of the customer.
last_name
string
LastName is the last name of the customer.
nick_name
string
NickName is the nick name of the customer.
birth_date
string
BirthDate is the birth date of the customer in YYYY-MM-DD format.
birth_place
string
BirthPlace is the birth place of the customer.
country
string
Country is the country of the customer.
province
string
Province is the province of the customer.
city
string
City is the city of the customer.
nationality
string
Nationality is nationality of the customer.
email
string
Email is the e-mail of the customer.
current_address
GCashAddress
CurrentAddress is the current address of the customer.
parent_address
GCashAddress
ParentAddress is the customer parent address of the customer.
source_of_funds
[]string
SourceOfFunds is the source of funds of the customer.
work_nature
string
WorkNature is the work nature of the customer.
name_of_company_business
string
NameOfCompanyBusiness is the current occupation of the customer.
crn_number
string
CRNNumber is crn number of the customer.
nogovernment_id_reason
string
NoGovernmentIDReason is the reason why the customer does not have a government id.
application_status
string
ApplicationStatus is the current application status of the customer.
Name
Type
Description
name
string
Name is the name of the product
price
Amount
Price is the price of the product
quantity
int32
Quantity is quantity of the product customer bought
total_sub_price
Amount
TotalSubPrice is the sub price of the product
merchant
string
Merchant is the merchant who sell the product
Category
string
Category is the purchase category of the product
id
int64
ID is the unique identifier for the product that we get from bank/ecommerce
Name
Type
Description
name
string
Name is the name of the product
price
Amount
Price is the price of the product
quantity
int32
Quantity is quantity of the product customer bought
total_sub_price
Amount
TotalSubPrice is the sub price of the product
merchant
string
Merchant is the merchant who sell the product
category
string
Category is the purchase category of the product
Name
Type
Description
formatted_address
string
FormattedAddress is formatted address of this location.
visit_count
int32
VisitCount is how many times locatiom visited.
visit_dates
[]string
VisitCount is times location visited.
latitude
string
Latitude is geometry latitude for location.
longitude
string
Longitude is geometry longitude for location.
label
string
Label is the label of location.
address_id
string
AddressID is bank or platform identifier for respective location. Data available from Gojek API.
place_id
string
PlaceID is bank or platform identifer for respective location.
address_info
string
AddressInfo is the address information details of location.
landmark
string
Landmark is the landmark of location.
created_at
Timestamp
CreatedAt is the creation date of location on bank or platform.
types
[]string
Types is the type of location.
post_code
string
PostCode is post code of the address
partial_match
bool
PartialMatch indicates if the result from geocode is partial match
Name
Type
Description
average_count
int32
monthly average count of all transactions with categories considered as income available in the statement
average_amount
Amount
monthly average amount of all transactions with categories considered as income available in the statement
max_amount
Amount
monthly max amount of all transactions with categories considered as income available in the statement
min_amount
Amount
monthly min amount of all transactions with categories considered as income available in the statement
median_amount
Amount
monthly median amount of all transactions with categories considered as income available in the statement
Name
Type
Description
places
int32
Places denotes the number of decimal points included with the amount
num
string
Num is the actual amount value with decimal points It is the decimal representation of the Num field as PHP 100.00 only for Indonesia, Philippine and Thailand
Name
Type
Description
formatted_address
string
FormattedAddress is formatted address of the location.
latitude
string
Latitude is geometry latitude for location.
longitude
string
Longitude is geometry longitude for location.
rank
int32
Rank is an identifier to determine whether the address is home or public place
post_code
string
PostCode is post code of the address
Name
Type
Description
city
string
City is the city of the address.
city_id
string
CityID is the city id of the address.
country
string
Country is the country of the address.
country_id
string
CountryID is the country id of the address.
province
string
Province is the province of the address.
province_id
string
ProvinceID is the province id of the address.
Value
Description
UNKNOWN_StatementStatus
Unknown statement status
Status_PENDING
The requested statement retrieval is in progress.
FAILED
The requested statement couldn’t be retrieved successfully.
COMPLETED
The requested statement was successfully retrieved
NOTIFIED
The request statement status was successfully notified
Status_RECEIVED
The statement request processing is complete.
CANCELLED
The statement request was cancelled
INACTIVATED
The statement request inactivated upon waiting for user input
PURGED
The statement data such as accounts and transactions are purged from brankas system
RECORDS_AVAILABLE
Indicates atleast one or more transaction available for statement
INITIATED_Status
The statement request is initiated for retrieval via IDP flow
NO_ACCOUNT
The statement request was cancelled because of no account
RECONCILIATION_COMPLETED
RECONCILIATION_COMPLETED indicates first reconciliation cycle has been successful
RECONCILIATION_NEW_TRANSACTION
RECONCILIATION_NEW_TRANSACTION indicates there are new transactions merged
RECONCILIATION_DISABLED
RECONCILIATION_DISABLED indicates that the reconciliation has been disabled
BankCode is the internal code (enum) used by the service to target a specific bank for the statement retrieval request.
Value
Description
UNKNOWN_BANK
DUMMY_BANK_PERSONAL
Bank code to instruct the statement retrieval service to target the sandboxed Brankas dummy bank for test calls
BDO_PERSONAL
Bank code to retrieve retail bank account statements / transaction histories from the Banco De Oro Unibank (BDO)
BPI_PERSONAL
Bank code to retrieve retail bank account statements / transaction histories from the Bank of the Philippines Islands (BPI)
BPI_CORPORATE
Bank code to retrieve retail bank (corporate) account statements / transaction histories from the Bank of the Philippines Islands (BPI)
KASIKORNBANK_PERSONAL
Bank code to retrieve retail bank account transaction data for Kasikornbank.
PNB_PERSONAL
Bank code to retrieve retail bank account transaction data for Philippine National Bank
UNIONBANK_PERSONAL
Bank code to retrieve retail bank account transaction data for Union Bank
UNIONBANK_CORPORATE
Bank code to retrieve retail bank account transaction data for Union Bank
METROBANK_PERSONAL
Bank code to retrieve retail bank account transaction data for Metropolitan Bank
RCBC_PERSONAL
Bank code to retrieve retail bank account statements / transaction histories from the Rizal Commercial Banking Corporation
GCASH_PERSONAL
code to retrieve account statements / transaction histories from GCASH
LANDBANK_PERSONAL
Bank code to retrieve ratail bank account statements / transaction histories from Landbank Personal
KOMO_PERSONAL
Bank code to retrieve ratail bank account statements / transaction histories from Komo
VCB_PERSONAL
Bank code to retrieve ratail bank account statements / transaction histories from Vietcombank
MAYA_PERSONAL
Bank code to retrieve retail online payment account transaction data for Pay Maya
Value
Description
UNKNOWN_StatementSubStatus
SubStatus_INITIATED
Initiatated a request for PIDP
SubStatus_LOGIN_ERROR
Error while logging in to the user internet banking account.
SubStatus_AWAITING_LOGIN
Login in progress.
SubStatus_AWAITING_TFA
Awaiting TFA authentication to gain access to the user’s online banking account.
SubStatus_COMPLETED
The requested statement was successfully retrieved
SubStatus_BLOCKED
Blocked
SubStatus_INPROGRESS
The requested statement retrieval request is in progress.
SubStatus_INVALID_TFA
TFA provided by the user is not correct or expired.
SubStatus_NO_TFA_PROVIDED
User didn’t provide a TFA for authentication with the bank.
SubStatus_SYSTEM_UNAVAILABLE
System busy or unavailable to process the request
SubStatus_ERROR
The requested statement couldn’t be retrieved successfully.
SubStatus_CANCELLED
Cancelled
SubStatus_INACTIVATED
Inactivated
SubStatus_PURGED
Purged
SubStatus_RECORDS_AVAILABLE
Indicates atleast one or more transaction available for statement
SubStatus_TFA_OPTIONAL
Indicates multiple TFA option available to change
SubStatus_INCOME_AVAILABLE
The income data available for the statement
SubStatus_PERMISSION_REQUIRED
Permission required
SubStatus_OTP_EXPIRED
OTP is expired
SubStatus_WRONG_PDF_FORMAT
Given wrong pdf format
SubStatus_REFUSE_CONSENT
Refuse waive consent
ChallengeType for captcha or OTP challenge
Value
Description
TEXT
TEXT are challenges that are generally represented as strings.
IMAGE
IMAGE are image-based challenges, for example a captcha image.
IN_APP
IN_APP are challenges that happens offline and asynchronously outside our control for example, approvals from a user’s mobile device.
SMS
SMS are SMS-based challenge codes.
MGENCODE
MGENCODE or Mobile Generated Code, are usually challenge codes generated by bank applications.
HYBRID
HYBRID are bank-specific challenge types
PIN
PIN are mostly static pin codes from banks, eg Metrobank’s passcode.
USER_ACTION
USER_ACTION require some actions from user, but doesn’t need any information back from user. (ie. user need to click a link sent by sms, but after that we can continue automatically in our scraper) Bankworker will continue automatically without waiting for TFA call.
MULTIPLE_TFA
Multiple OTPs needed at the same time
EMAIL_OTP
EMAIL are challenges that will send OTP to user email.
BankCode is the internal code (enum) used by the service to target a specific bank for the statement retrieval request.
Value
Description
UNKNOWN_BANK
DUMMY_BANK_PERSONAL
Bank code to instruct the statement retrieval service to target the sandboxed Brankas dummy bank for test calls
BDO_PERSONAL
Bank code to retrieve retail bank account statements / transaction histories from the Banco De Oro Unibank (BDO)
BPI_PERSONAL
Bank code to retrieve retail bank account statements / transaction histories from the Bank of the Philippines Islands (BPI)
KASIKORNBANK_PERSONAL
Bank code to retrieve retail bank account transaction data for Kasikornbank.
PNB_PERSONAL
Bank code to retrieve retail bank account transaction data for Philippine National Bank
UNIONBANK_PERSONAL
Bank code to retrieve retail bank account transaction data for Union Bank
UNIONBANK_CORPORATE
Bank code to retrieve retail bank account transaction data for Union Bank
METROBANK_PERSONAL
Bank code to retrieve retail bank account transaction data for Metropolitan Bank
RCBC_PERSONAL
Bank code to retrieve retail bank account statements / transaction histories from the Rizal Commercial Banking Corporation
MAYA_PERSONAL
Bank code to retrieve retail online payment account transaction data for Pay Maya
Value
Description
UNKNOWN_IncomeStatus
Unknown income status
COMPLETED
The requested income was successfully retrieved
FAILED
The requested income couldn’t be retrieved successfully.
AccountType is the account type enum.
Value
Description
UNKNOWN_AccountType
Indicates that the bank account type is either undefined or neither a Checking on Saving account
CHECKING
Indicates that the bank account is a Checking Account
SAVINGS
Indicates that the bank account is a Savings Account
JOINT
Indicates that the bank account is a Joint Account
PAYROLL
Indicates that the bank account is a Payroll Account
CORPORATE_ACCOUNT
Indicates that the bank account is a Corporate Account
INVESTMENT
Indicates that the bank account is a Investment Account
CREDIT_CARD
Indicates that the bank account is a Credit Card Account
TransactionType is the transaction type enum.
Value
Description
UNKNOWN_TYPE
Unknown transaction type
CREDIT
Transactions that credit the user’s account
DEBIT
Transactions that debit the user’s account
TransactionStatus is the transaction status enum.
Value
Description
UNKNOWN_STATUS
SUCCESS
TRANSACTIONSTATUS_PENDING
CANCELED
NOT_PAID
READY_TO_SHIP
SENT
RETURNED
DELIVERY_FAILED
CurrencyISO4217 iso is the 3 digit currency that will be used as standard currency type on fast checkout. see: https://en.wikipedia.org/wiki/ISO_4217
Value
Description
UNKNOWN_CURRENCY
AFN
EUR
ALL
DZD
USD
AOA
XCD
ARS
AMD
AWG
AUD
AZN
BSD
BHD
BDT
BYR
BZD
XOF
BMD
BTN
BOV
BAM
BWP
NOK
BRL
SGD
BGN
BIF
KHR
XAF
CAD
CVE
KYD
CLP
CNY
COP
KMF
CDF
NZD
CRC
HRK
CUC
CZK
DKK
DJF
DOP
EGP
ERN
ETB
FKP
FJD
XPF
GMD
GEL
GHS
GIP
GTQ
GBP
GNF
GYD
HNL
HKD
HUF
ISK
INR
IDR
IRR
IQD
IMP
ILS
JMD
JPY
JEP
JOD
KZT
KES
KPW
KRW
KWD
KGS
LAK
LBP
LSL
LRD
LYD
CHF
MKD
MGA
MWK
MYR
MVR
MRO
MUR
MXN
MDL
MNT
MAD
MZN
MMK
NAD
NPR
ANG
NIO
NGN
OMR
PKR
PGK
PYG
PEN
PHP
PLN
QAR
RON
RUB
RWF
WST
STD
SAR
RSD
SCR
SLL
SBD
SOS
ZAR
SSP
LKR
SHP
SDG
SRD
SZL
SEK
SYP
TWD
TJS
TZS
THB
TOP
TTD
TND
TRY
TMT
UGX
UAH
ARE
UYU
UZS
VUV
VEF
VND
YER
ZRN
ZMW
Value
Description
UNKNOWN
PERCENTAGE
CurrencyISO4217 iso is the 3 digit currency that will be used as standard currency type on fast checkout. see: https://en.wikipedia.org/wiki/ISO_4217
Value
Description
UNKNOWN_CURRENCY
AFN
EUR
ALL
DZD
USD
AOA
XCD
ARS
AMD
AWG
AUD
AZN
BSD
BHD
BDT
BYR
BZD
XOF
BMD
BTN
BOV
BAM
BWP
NOK
BRL
SGD
BGN
BIF
KHR
XAF
CAD
CVE
KYD
CLP
CNY
COP
KMF
CDF
NZD
CRC
HRK
CUC
CZK
DKK
DJF
DOP
EGP
ERN
ETB
FKP
FJD
XPF
GMD
GEL
GHS
GIP
GTQ
GBP
GNF
GYD
HNL
HKD
HUF
ISK
INR
IDR
IRR
IQD
IMP
ILS
JMD
JPY
JEP
JOD
KZT
KES
KPW
KRW
KWD
KGS
LAK
LBP
LSL
LRD
LYD
CHF
MKD
MGA
MWK
MYR
MVR
MRO
MUR
MXN
MDL
MNT
MAD
MZN
MMK
NAD
NPR
ANG
NIO
NGN
OMR
PKR
PGK
PYG
PEN
PHP
PLN
QAR
RON
RUB
RWF
WST
STD
SAR
RSD
SCR
SLL
SBD
SOS
ZAR
SSP
LKR
SHP
SDG
SRD
SZL
SEK
SYP
TWD
TJS
TZS
THB
TOP
TTD
TND
TRY
TMT
UGX
UAH
ARE
UYU
UZS
VUV
VEF
VND
YER
ZRN
ZMW
Example:
{
"statements" : [
{
"status" : "StatementStatus" ,
"statement_id" : "string" ,
"bank_code" : "BankCode" ,
"start_date" : {
"seconds" : "int64" ,
"nanos" : "int32"
},
"end_date" : {
"seconds" : "int64" ,
"nanos" : "int32"
},
"account_statements" : [
{
"account" : {
"account_id" : "string" ,
"type" : "AccountType" ,
"owner_ids" : "[]string" ,
"account_number" : "string" ,
"nick" : "string" ,
"balance" : {
"cur" : "CurrencyISO4217" ,
"num" : "string" ,
"decimal" : {
"places" : "int32" ,
"num" : "string"
}
},
"holder_name" : "string" ,
"bank_code" : "BankCode" ,
"total_amount_credited" : {
"cur" : "CurrencyISO4217" ,
"num" : "string" ,
"decimal" : {
"places" : "int32" ,
"num" : "string"
}
},
"total_amount_debited" : {
"cur" : "CurrencyISO4217" ,
"num" : "string" ,
"decimal" : {
"places" : "int32" ,
"num" : "string"
}
},
"credit_transaction_count" : "int32" ,
"debit_transaction_count" : "int32" ,
"holder_address" : "string" ,
"account_metadata" : [
{
"address_name" : "string" ,
"receiver_name" : "string" ,
"address" : "string" ,
"postal_code" : "string" ,
"phone" : "string" ,
"country" : "string" ,
"address_visit_count" : "int32" ,
"address_visit_dates" : "[]string" ,
"address_latitude" : "string" ,
"address_longitude" : "string" ,
"gcash_customer" : {
"first_name" : "string" ,
"last_name" : "string" ,
"nick_name" : "string" ,
"birth_date" : "string" ,
"birth_place" : "string" ,
"country" : "string" ,
"province" : "string" ,
"city" : "string" ,
"nationality" : "string" ,
"email" : "string" ,
"current_address" : {
"city" : "string" ,
"city_id" : "string" ,
"country" : "string" ,
"country_id" : "string" ,
"province" : "string" ,
"province_id" : "string"
},
"parent_address" : {
"city" : "string" ,
"city_id" : "string" ,
"country" : "string" ,
"country_id" : "string" ,
"province" : "string" ,
"province_id" : "string"
},
"source_of_funds" : "[]string" ,
"work_nature" : "string" ,
"name_of_company_business" : "string" ,
"crn_number" : "string" ,
"nogovernment_id_reason" : "string" ,
"application_status" : "string"
}
}
],
"account_pocket_name" : "string" ,
"merchant_name" : "string"
},
"transactions" : [
{
"transaction_id" : "string" ,
"date" : {
"seconds" : "int64" ,
"nanos" : "int32"
},
"type" : "TransactionType" ,
"status" : "TransactionStatus" ,
"amount" : {
"cur" : "CurrencyISO4217" ,
"num" : "string" ,
"decimal" : {
"places" : "int32" ,
"num" : "string"
}
},
"descriptor" : "string" ,
"match_id" : "string" ,
"from" : {
"account_id" : "string" ,
"type" : "AccountType" ,
"owner_ids" : "[]string" ,
"account_number" : "string" ,
"nick" : "string" ,
"balance" : {
"cur" : "CurrencyISO4217" ,
"num" : "string" ,
"decimal" : {
"places" : "int32" ,
"num" : "string"
}
},
"holder_name" : "string" ,
"bank_code" : "BankCode" ,
"total_amount_credited" : {
"cur" : "CurrencyISO4217" ,
"num" : "string" ,
"decimal" : {
"places" : "int32" ,
"num" : "string"
}
},
"total_amount_debited" : {
"cur" : "CurrencyISO4217" ,
"num" : "string" ,
"decimal" : {
"places" : "int32" ,
"num" : "string"
}
},
"credit_transaction_count" : "int32" ,
"debit_transaction_count" : "int32" ,
"holder_address" : "string" ,
"account_metadata" : [
{
"address_name" : "string" ,
"receiver_name" : "string" ,
"address" : "string" ,
"postal_code" : "string" ,
"phone" : "string" ,
"country" : "string" ,
"address_visit_count" : "int32" ,
"address_visit_dates" : "[]string" ,
"address_latitude" : "string" ,
"address_longitude" : "string" ,
"gcash_customer" : {
"first_name" : "string" ,
"last_name" : "string" ,
"nick_name" : "string" ,
"birth_date" : "string" ,
"birth_place" : "string" ,
"country" : "string" ,
"province" : "string" ,
"city" : "string" ,
"nationality" : "string" ,
"email" : "string" ,
"current_address" : {
"city" : "string" ,
"city_id" : "string" ,
"country" : "string" ,
"country_id" : "string" ,
"province" : "string" ,
"province_id" : "string"
},
"parent_address" : {
"city" : "string" ,
"city_id" : "string" ,
"country" : "string" ,
"country_id" : "string" ,
"province" : "string" ,
"province_id" : "string"
},
"source_of_funds" : "[]string" ,
"work_nature" : "string" ,
"name_of_company_business" : "string" ,
"crn_number" : "string" ,
"nogovernment_id_reason" : "string" ,
"application_status" : "string"
}
}
],
"account_pocket_name" : "string" ,
"merchant_name" : "string"
},
"to" : {
"account_id" : "string" ,
"type" : "AccountType" ,
"owner_ids" : "[]string" ,
"account_number" : "string" ,
"nick" : "string" ,
"balance" : {
"cur" : "CurrencyISO4217" ,
"num" : "string" ,
"decimal" : {
"places" : "int32" ,
"num" : "string"
}
},
"holder_name" : "string" ,
"bank_code" : "BankCode" ,
"total_amount_credited" : {
"cur" : "CurrencyISO4217" ,
"num" : "string" ,
"decimal" : {
"places" : "int32" ,
"num" : "string"
}
},
"total_amount_debited" : {
"cur" : "CurrencyISO4217" ,
"num" : "string" ,
"decimal" : {
"places" : "int32" ,
"num" : "string"
}
},
"credit_transaction_count" : "int32" ,
"debit_transaction_count" : "int32" ,
"holder_address" : "string" ,
"account_metadata" : [
{
"address_name" : "string" ,
"receiver_name" : "string" ,
"address" : "string" ,
"postal_code" : "string" ,
"phone" : "string" ,
"country" : "string" ,
"address_visit_count" : "int32" ,
"address_visit_dates" : "[]string" ,
"address_latitude" : "string" ,
"address_longitude" : "string" ,
"gcash_customer" : {
"first_name" : "string" ,
"last_name" : "string" ,
"nick_name" : "string" ,
"birth_date" : "string" ,
"birth_place" : "string" ,
"country" : "string" ,
"province" : "string" ,
"city" : "string" ,
"nationality" : "string" ,
"email" : "string" ,
"current_address" : {
"city" : "string" ,
"city_id" : "string" ,
"country" : "string" ,
"country_id" : "string" ,
"province" : "string" ,
"province_id" : "string"
},
"parent_address" : {
"city" : "string" ,
"city_id" : "string" ,
"country" : "string" ,
"country_id" : "string" ,
"province" : "string" ,
"province_id" : "string"
},
"source_of_funds" : "[]string" ,
"work_nature" : "string" ,
"name_of_company_business" : "string" ,
"crn_number" : "string" ,
"nogovernment_id_reason" : "string" ,
"application_status" : "string"
}
}
],
"account_pocket_name" : "string" ,
"merchant_name" : "string"
},
"fields" : {
"name" : "string" ,
"memo" : "string" ,
"account_no" : "string" ,
"company" : "string"
},
"balance" : {
"cur" : "CurrencyISO4217" ,
"num" : "string" ,
"decimal" : {
"places" : "int32" ,
"num" : "string"
}
},
"merchant_type" : "[]string" ,
"account_transaction_hash" : "string" ,
"local_time" : "string" ,
"confidence" : "string" ,
"metadata" : {
"invoice" : "string" ,
"total_order_price" : {
"cur" : "CurrencyISO4217" ,
"num" : "string" ,
"decimal" : {
"places" : "int32" ,
"num" : "string"
}
},
"products" : [
{
"name" : "string" ,
"price" : {
"cur" : "CurrencyISO4217" ,
"num" : "string" ,
"decimal" : {
"places" : "int32" ,
"num" : "string"
}
},
"quantity" : "int32" ,
"total_sub_price" : {
"cur" : "CurrencyISO4217" ,
"num" : "string" ,
"decimal" : {
"places" : "int32" ,
"num" : "string"
}
},
"merchant" : "string" ,
"Category" : "string" ,
"id" : "int64"
}
],
"order_id" : "string" ,
"orders" : [
{
"name" : "string" ,
"price" : {
"cur" : "CurrencyISO4217" ,
"num" : "string" ,
"decimal" : {
"places" : "int32" ,
"num" : "string"
}
},
"quantity" : "int32" ,
"total_sub_price" : {
"cur" : "CurrencyISO4217" ,
"num" : "string" ,
"decimal" : {
"places" : "int32" ,
"num" : "string"
}
},
"merchant" : "string" ,
"category" : "string"
}
],
"origin" : {
"formatted_address" : "string" ,
"visit_count" : "int32" ,
"visit_dates" : "[]string" ,
"latitude" : "string" ,
"longitude" : "string" ,
"label" : "string" ,
"address_id" : "string" ,
"place_id" : "string" ,
"address_info" : "string" ,
"landmark" : "string" ,
"created_at" : {
"seconds" : "int64" ,
"nanos" : "int32"
},
"types" : "[]string" ,
"post_code" : "string" ,
"partial_match" : "bool"
},
"destination" : {
"formatted_address" : "string" ,
"visit_count" : "int32" ,
"visit_dates" : "[]string" ,
"latitude" : "string" ,
"longitude" : "string" ,
"label" : "string" ,
"address_id" : "string" ,
"place_id" : "string" ,
"address_info" : "string" ,
"landmark" : "string" ,
"created_at" : {
"seconds" : "int64" ,
"nanos" : "int32"
},
"types" : "[]string" ,
"post_code" : "string" ,
"partial_match" : "bool"
},
"service_type" : "string" ,
"payment_methods" : "[]string" ,
"orderStatus" : "int32"
},
"error" : "string"
}
],
"account_pdfs" : "bytes" ,
"loans" : [
{
"loan_id" : "string" ,
"loan_number" : "string" ,
"loan_type" : "string" ,
"term_of_loan" : "string" ,
"open_date" : {
"seconds" : "int64" ,
"nanos" : "int32"
},
"due_date" : {
"seconds" : "int64" ,
"nanos" : "int32"
},
"next_rate_change_date" : {
"seconds" : "int64" ,
"nanos" : "int32"
},
"interest" : {
"type" : "InterestType" ,
"rate" : "string"
},
"original_principal_amount" : {
"cur" : "CurrencyISO4217" ,
"num" : "string" ,
"decimal" : {
"places" : "int32" ,
"num" : "string"
}
},
"outstanding_principal_amount" : {
"cur" : "CurrencyISO4217" ,
"num" : "string" ,
"decimal" : {
"places" : "int32" ,
"num" : "string"
}
},
"unpaid_Instalment" : {
"date" : {
"seconds" : "int64" ,
"nanos" : "int32"
},
"amount" : {
"cur" : "CurrencyISO4217" ,
"num" : "string" ,
"decimal" : {
"places" : "int32" ,
"num" : "string"
}
}
},
"remaining_term" : "string" ,
"instalments" : [
{
"instalment_id" : "string" ,
"date" : {
"seconds" : "int64" ,
"nanos" : "int32"
},
"payment_date" : {
"seconds" : "int64" ,
"nanos" : "int32"
},
"total_paid_amount" : {
"cur" : "CurrencyISO4217" ,
"num" : "string" ,
"decimal" : {
"places" : "int32" ,
"num" : "string"
}
},
"principal_amount" : {
"cur" : "CurrencyISO4217" ,
"num" : "string" ,
"decimal" : {
"places" : "int32" ,
"num" : "string"
}
},
"interest_amount" : {
"cur" : "CurrencyISO4217" ,
"num" : "string" ,
"decimal" : {
"places" : "int32" ,
"num" : "string"
}
},
"outstanding_principal_amount" : {
"cur" : "CurrencyISO4217" ,
"num" : "string" ,
"decimal" : {
"places" : "int32" ,
"num" : "string"
}
}
}
]
}
]
}
],
"error" : "string" ,
"request" : {
"seconds" : "int64" ,
"nanos" : "int32"
},
"create" : {
"seconds" : "int64" ,
"nanos" : "int32"
},
"external_id" : "string" ,
"channel" : "string" ,
"country" : "string" ,
"is_idp" : "bool" ,
"sub_status" : "StatementSubStatus" ,
"update" : {
"seconds" : "int64" ,
"nanos" : "int32"
},
"is_notification_success" : "bool" ,
"site_response" : "string" ,
"challenge" : {
"type" : "ChallengeType" ,
"data" : "bytes"
},
"shortcode" : "string" ,
"user_consent" : "bool" ,
"org_id" : "string" ,
"income" : {
"overview" : {
"count_of_days" : "int32" ,
"count_of_whole_months" : "int32" ,
"months_with_income" : "int32" ,
"confidence" : "string" ,
"count_of_months" : "int32" ,
"persona" : "string" ,
"income" : {
"months_with_income" : "string" ,
"total_amount" : {
"cur" : "CurrencyISO4217" ,
"num" : "string" ,
"decimal" : {
"places" : "int32" ,
"num" : "string"
}
},
"count" : "int32" ,
"confidence" : "string" ,
"monthly" : {
"average_count" : "int32" ,
"average_amount" : {
"cur" : "CurrencyISO4217" ,
"num" : "string" ,
"decimal" : {
"places" : "int32" ,
"num" : "string"
}
},
"max_amount" : {
"cur" : "CurrencyISO4217" ,
"num" : "string" ,
"decimal" : {
"places" : "int32" ,
"num" : "string"
}
},
"min_amount" : {
"cur" : "CurrencyISO4217" ,
"num" : "string" ,
"decimal" : {
"places" : "int32" ,
"num" : "string"
}
},
"median_amount" : {
"cur" : "CurrencyISO4217" ,
"num" : "string" ,
"decimal" : {
"places" : "int32" ,
"num" : "string"
}
}
}
},
"non_income" : {
"overall_total_amount" : {
"cur" : "CurrencyISO4217" ,
"num" : "string" ,
"decimal" : {
"places" : "int32" ,
"num" : "string"
}
},
"overall_count" : "int32"
}
},
"details" : [
{
"year" : "string" ,
"month" : "string" ,
"is_whole_month" : "bool" ,
"total_amount" : {
"cur" : "CurrencyISO4217" ,
"num" : "string" ,
"decimal" : {
"places" : "int32" ,
"num" : "string"
}
},
"income_count" : "int32" ,
"transactions" : [
{
"date" : {
"seconds" : "int64" ,
"nanos" : "int32"
},
"type" : "string" ,
"confidence" : "string" ,
"amount" : {
"cur" : "CurrencyISO4217" ,
"num" : "string" ,
"decimal" : {
"places" : "int32" ,
"num" : "string"
}
},
"descriptor" : "string" ,
"category" : "string" ,
"transaction_hash" : "string" ,
"transaction_id" : "string"
}
],
"income" : {
"total_amount" : {
"cur" : "CurrencyISO4217" ,
"num" : "string" ,
"decimal" : {
"places" : "int32" ,
"num" : "string"
}
},
"count" : "int32" ,
"categories" : "[]string" ,
"categories_count" : "int32" ,
"transactions" : [
{
"date" : {
"seconds" : "int64" ,
"nanos" : "int32"
},
"type" : "string" ,
"confidence" : "string" ,
"amount" : {
"cur" : "CurrencyISO4217" ,
"num" : "string" ,
"decimal" : {
"places" : "int32" ,
"num" : "string"
}
},
"descriptor" : "string" ,
"category" : "string" ,
"transaction_hash" : "string" ,
"transaction_id" : "string"
}
]
},
"non_income" : {
"total_amount" : {
"cur" : "CurrencyISO4217" ,
"num" : "string" ,
"decimal" : {
"places" : "int32" ,
"num" : "string"
}
},
"count" : "int32" ,
"categories" : "[]string" ,
"categories_count" : "int32" ,
"transactions" : [
{
"date" : {
"seconds" : "int64" ,
"nanos" : "int32"
},
"type" : "string" ,
"confidence" : "string" ,
"amount" : {
"cur" : "CurrencyISO4217" ,
"num" : "string" ,
"decimal" : {
"places" : "int32" ,
"num" : "string"
}
},
"descriptor" : "string" ,
"category" : "string" ,
"transaction_hash" : "string" ,
"transaction_id" : "string"
}
]
}
}
],
"account" : [
{
"account_number" : "string" ,
"nick_name" : "string" ,
"balance" : {
"cur" : "CurrencyISO4217" ,
"num" : "string" ,
"decimal" : {
"places" : "int32" ,
"num" : "string"
}
},
"holder_name" : "string" ,
"holder_address" : "string"
}
],
"bank_code" : "BankCode" ,
"created_at" : {
"seconds" : "int64" ,
"nanos" : "int32"
},
"statement_id" : "string" ,
"income_id" : "string" ,
"error" : "string" ,
"status" : "IncomeStatus"
},
"bank_type" : "string" ,
"code" : "int32" ,
"message" : "string" ,
"details" : [
{
"status_code" : "string" ,
"status_desc" : "string"
}
],
"status_response" : {
"status_code" : "string" ,
"status_desc" : "string"
},
"local_time" : {
"start_date" : "string" ,
"end_date" : "string" ,
"create" : "string" ,
"update" : "string"
},
"risk_insight" : "bool" ,
"account_link_id" : "string" ,
"reconciliation_id" : "string" ,
"custom_shortcode" : "string" ,
"file_id" : "string" ,
"is_static_link" : "bool" ,
"" : "map[string]bytes"
}
],
"next_page_token" : "string" ,
"message" : "string" ,
"total_count" : "int32" ,
"previous_page_token" : "string"
}
Status
Description
200
A successful response.
404
Returned when the resource is not found.
Retrieves the email notifications
curl -X GET \
https://statement.sandbox.bnk.to/v1/notification/email \
-H 'x-api-key: USE_YOUR_API_KEY'
GET https://statement.sandbox.bnk.to/v1/notification/email
Name
Type
Description
email_notifications
[]EmailNotification
EmailNotifications is a list of the email notification records.
Name
Type
Description
id
string
ID contains the unique identifier of the notification.
description
string
Description for this notification.
status
NotificationStatus
Status is the state status of the emails
emails
[]string
Emails are emails list used to send email CSV of the retrieved statement
Value
Description
UNKNOWN_URLSTATUS
ACTIVE
INACTIVE
ACTIVE_UNPROXIED
Example:
{
"email_notifications" : [
{
"id" : "string" ,
"description" : "string" ,
"status" : "NotificationStatus" ,
"emails" : "[]string"
}
]
}
Status
Description
200
Request executed successfully.
404
Returned when the resource is not found.
Retrieves the notifications
curl -X GET \
https://statement.sandbox.bnk.to/v1/notification \
-H 'x-api-key: USE_YOUR_API_KEY'
GET https://statement.sandbox.bnk.to/v1/notification
Name
Type
Description
notifications
[]Notification
Notifications is a list of the notification records.
Name
Type
Description
id
string
ID contains the unique identifier of the notification.
description
string
Description for this notification.
url
string
URL contains the actual notification value.
status
NotificationStatus
Status is the state of this notification - whether it is still active or not.
lastrun
string
Lastrun holds the result of last notification status
statement_events
[]StatementEvent
StatementEvents are statement retrieval states which will be the basis when posting notification.
balance_events
[]BalanceEvent
BalanceEvents are balance retrieval states which will be the basis when posting notification.
map[string]string
Headers consist of list of key/value that need to be added for the notification request
Value
Description
UNKNOWN_URLSTATUS
ACTIVE
INACTIVE
ACTIVE_UNPROXIED
StatementEvent are the possible events during the statement retrieval flow.
Value
Description
ALL_EVENT
RECORDS_AVAILABLE_EVENT
COMPLETED_EVENT
INACTIVATED_EVENT
CANCELLED_EVENT
PURGED_EVENT
INCOME_AVAILABLE_EVENT
BalanceEvent are the possible events during the balance retrieval flow.
Value
Description
ALL_EVENT
IN_PROGRESS_EVENT
SUCCESS_EVENT
INACTIVATED_EVENT
CANCELLED_EVENT
PURGED_EVENT
Example:
{
"notifications" : [
{
"id" : "string" ,
"description" : "string" ,
"url" : "string" ,
"status" : "NotificationStatus" ,
"lastrun" : "string" ,
"statement_events" : "[]StatementEvent" ,
"balance_events" : "[]BalanceEvent" ,
"" : "map[string]string"
}
]
}
Status
Description
200
Request executed successfully.
404
Returned when the resource is not found.
Initiates a statement retrieval request.
curl -X POST \
https://statement.sandbox.bnk.to/v1/statement-retrieval \
-H 'x-api-key: USE_YOUR_API_KEY' \
-d '{
"bank_code": "DUMMY_BANK_PERSONAL",
"credential": {
"identifier": "user+1@domain.com"
}
}'
POST https://statement.sandbox.bnk.to/v1/statement-retrieval
Name
Type
Description
bank_code
BankCode
BankCode is the internal code (enum) used by the service to target a specific bank for the statement retrieval request
credential
Credential
Credential is the user internet banking account credentials or StatementService token id.
period_days
int32
PeriodDays is the filter to search transactions that occurred over a given period. note: the behaviour of the search is depends upon each bank site.
start_date
string
StartDate is the start date of the statement request Date/Time ranges should follow the - YYYY-MM-DD ( 2000-12-21 ) - YYYY-MM-DDTHH:MM:SS ( 2000-12-21 12:00:00 ) if using this format, the timezone should be supplied.
end_date
string
EndDate is the end date of the statement request Date/Time ranges should follow the - YYYY-MM-DD ( 2000-12-21 ) - YYYY-MM-DDTHH:MM:SS ( 2000-12-21 12:00:00 ) if using this format, the timezone should be supplied.
account_number
string
AccountNumber is the bank account number
api_credential
APICredential
APICredential are the credentials to access the bank API
external_id
string
ExternalID is an optional param. It’s a unique value provided by a 3rd party platform, which enables Brankas to associate it with statement retrieval requests.
channel
string
Channel is an optional param. The parameter value identifies the Channel via API call is initiated. Possible Values: WEB,MOBILE
org_id
string
OrgID is an optional param. It contains the unique organization identifier.
client_key_id
string
ClientKeyId is an identifier that specifies the respective key that need to be used in order to decrypt the credentials. The key must’ve been generated/uploaded already in order to know what the key identifier is. If the key is empty, that denotes the client credentials are in plain text if the key_id has a value, that denotes the client credentials are encrypted, and that will be decrypted before using the same.
remember_me
bool
RememberMe is the indicator to save credential for the next retrieval process
link_id
string
LinkId denotes an unique identifier reference the bank and user credentials that was already linked using remember_me feature, by providing valid link_id the system uses the credentials and bank which was linked earlier.
risk_insight
bool
RiskInsight is a flag that indicates if risk insight is included in a statement.
include_balance
bool
IncludeBalance is the indicator to include saving the balance details
timezone
Timezone
Timezone allows the dates to be in different timezone. required if start/end date want in specific timestamp.
org_id_override
string
OrgIDOverride is used to override the org id upon statement retrieval request this will be used for reconciliation that use admin token and need to override the org id based on the customer org id can only be used with admin token
reconciliation_id
string
ReconciliationID is a unique parameter to indicate what this retrieval belong to particular reconciliation id can only be used with admin token
parent_statement_id
string
ParentStatementID is a parameter to indicate what this retrieval belong to particular statement id used for reconciliation
is_recon
bool
IsRecon is parameter that can be used to indicate that this is reconciliation request
pdf_upload
bool
PDFUpload used to identify if client wants to enable PDF parser feature or not
account_verification
bool
AccountVerification indicates if its account details request only
map[string]string
AdditionalFields are list of key value pair which is optional. This can be used to pass bank specific fields that differs from bank to bank
Name
Type
Description
credential_type
CredentialType
CredentialType is the type of the credential the identifier matches, e.g email
identifier
string
Identifier is the unique identifier for the credential (ie, a phone number, email, token, etc).
secret
string
Secret is the secret to exchange for validating the credential. If type is TOKEN, this can be empty
corporate_code
string
CorporateCode is the code that the corporate own to access their corporate account
Name
Type
Description
corporate_id
string
CorporateID is the banks unique id for the organization. if the bank provides a partner_id, then it should be used instead.
identifier
string
Identifier is the unique identifier for the credential
secret
string
Secret is the secret for the credential
BankCode is the internal code (enum) used by the service to target a specific bank for the statement retrieval request.
Value
Description
UNKNOWN_BANK
DUMMY_BANK_PERSONAL
Bank code to instruct the statement retrieval service to target the sandboxed Brankas dummy bank for test calls
BDO_PERSONAL
Bank code to retrieve retail bank account statements / transaction histories from the Banco De Oro Unibank (BDO)
BPI_PERSONAL
Bank code to retrieve retail bank account statements / transaction histories from the Bank of the Philippines Islands (BPI)
BPI_CORPORATE
Bank code to retrieve retail bank (corporate) account statements / transaction histories from the Bank of the Philippines Islands (BPI)
KASIKORNBANK_PERSONAL
Bank code to retrieve retail bank account transaction data for Kasikornbank.
PNB_PERSONAL
Bank code to retrieve retail bank account transaction data for Philippine National Bank
UNIONBANK_PERSONAL
Bank code to retrieve retail bank account transaction data for Union Bank
UNIONBANK_CORPORATE
Bank code to retrieve retail bank account transaction data for Union Bank
METROBANK_PERSONAL
Bank code to retrieve retail bank account transaction data for Metropolitan Bank
RCBC_PERSONAL
Bank code to retrieve retail bank account statements / transaction histories from the Rizal Commercial Banking Corporation
GCASH_PERSONAL
code to retrieve account statements / transaction histories from GCASH
LANDBANK_PERSONAL
Bank code to retrieve ratail bank account statements / transaction histories from Landbank Personal
KOMO_PERSONAL
Bank code to retrieve ratail bank account statements / transaction histories from Komo
VCB_PERSONAL
Bank code to retrieve ratail bank account statements / transaction histories from Vietcombank
MAYA_PERSONAL
Bank code to retrieve retail online payment account transaction data for Pay Maya
Timezone is the timezone for different countries.
Value
Description
UNKNOWN_TIMEZONE
ID_WESTERN
ID_CENTRAL
ID_EASTERN
PH_TZ
TH_TZ
UTC
CredentialType is the credential type.
Value
Description
EMAIL
Type_MSISDN
TOKEN
CLIENT_CREDENTIAL
EMPTY
PHONE_NUMBER
MAGIC_LINK
OTP
Name
Type
Description
statement_id
string
StatementId is the unique system generated identifier assigned to this specific statement retrieval request. Once a statement has been retrieved and stored, it can then be queried later on from storage by using this as the identifier
status
InitialStatementStatus
Status is the current retrieval status
site_response
string
SiteResponse is any relevant text returned by the target bank’s online banking portal as part of the statement retrieval request
challenge
Challenge
Challenge is an optional challange information from the bank website to be used for next 2FA request.
link_id
string
LinkId denotes an unique identifier reference the bank and user credentials that was already linked using remember_me feature, by providing valid link_id the system uses the credentials and bank which was linked earlier.
Name
Type
Description
type
ChallengeType
data
bytes
Value
Description
UNKNOWN_InitialStatementStatus
Unknown statement retireval status
RECEIVED
The statement request processing is complete.
PENDING
The statement request is currently being processed / retrieved
TFA_AWAIT
Awaiting TFA authentication to gain access to the user’s online banking account
LOGIN_ERROR
An error occurred while attempting to log into the user’s online banking account as part of the statement retrieval process
INITIATED
The statement request is initiated for retrieval via IDP flow
ERROR
An error occurred while attempting to retrieve statement
ChallengeType for captcha or OTP challenge
Value
Description
TEXT
TEXT are challenges that are generally represented as strings.
IMAGE
IMAGE are image-based challenges, for example a captcha image.
IN_APP
IN_APP are challenges that happens offline and asynchronously outside our control for example, approvals from a user’s mobile device.
SMS
SMS are SMS-based challenge codes.
MGENCODE
MGENCODE or Mobile Generated Code, are usually challenge codes generated by bank applications.
HYBRID
HYBRID are bank-specific challenge types
PIN
PIN are mostly static pin codes from banks, eg Metrobank’s passcode.
USER_ACTION
USER_ACTION require some actions from user, but doesn’t need any information back from user. (ie. user need to click a link sent by sms, but after that we can continue automatically in our scraper) Bankworker will continue automatically without waiting for TFA call.
MULTIPLE_TFA
Multiple OTPs needed at the same time
EMAIL_OTP
EMAIL are challenges that will send OTP to user email.
Example:
{
"site_response" : "Your request is currently being processed" ,
"statement_id" : "123_statement_id" ,
"status" : "PENDING"
}
Status
Description
200
A successful response.
404
Returned when the resource is not found.
Retrieve the statements list request.
curl -X GET \
https://statement.sandbox.bnk.to/v1/statements \
-H 'x-api-key: USE_YOUR_API_KEY'
GET https://statement.sandbox.bnk.to/v1/statements
Name
Type
Description
statements
[]Statement
Statements are the statements that match the filters of a request.
next_page_token
string
NextPageToken represents the pagination token to retrieve the next page of results. If the value is “”, it means no further results for the request.
message
string
Message is any message from the server that are not treated as an error.
total_count
int32
TotalCount of the statements matched by the query filters
previous_page_token
string
PreviousPageToken represents the pagination token to retrieve the previous page of results. If the value is “”, it means no further results for the request.
Name
Type
Description
status
StatementStatus
Status is the current status of the statement retrieval request
statement_id
string
StatementID is the unique system generated identifier assigned to this specific statement retrieval request
bank_code
BankCode
BankCode is the internal code used by the service to target a specific bank for the statement retrieval request.
start_date
Timestamp
StartDate reflects the timestamp / date of the earliest date up to which the bank provides recorded transaction data, relative to the current date. This differs from bank to bank and can range from 30 to 90 days worth of transaction records from the current date.
end_date
Timestamp
EndDate reflects the timestamp / date of when the statement retrieval request was initiated
account_statements
[]AccountStatement
AccountStatements is the full list of transactions captured by the statement retrieval request
error
string
Error message in the case the statement retrieval operation was unsuccessful
request
Timestamp
Create is the request timestamp.
create
Timestamp
Create is the creation timestamp.
external_id
string
ExternalID represent an id that is passed by the api consumer to track the request
channel
string
Channel represent source channel whether a statement request is initiated from
country
string
Country is the country code (ID, PH, TH)
is_idp
bool
IsIDP denotes that the request processed through PIDP
sub_status
StatementSubStatus
StatementSubStatus denotes the granular status
update
Timestamp
Update is the updation timestamp.
is_notification_success
bool
IsNotificationSuccess denotes whether the notification posted is successful or not
site_response
string
SiteResponse is an optional text response from the bank website.
challenge
Challenge
Challenge is an optional challange information from the bank website to be used for next 2FA request.
shortcode
string
shortcode represent a staticlink code to indicate the statement request initiated via static link
user_consent
bool
UserConsent denotes whether end-user agreed or gave consent for performing statement retrieval
org_id
string
OrgID is the unique organization identifier.
income
Income
Income details related to the statement transactions.
bank_type
string
BankType is the type of the bank whether personal or corporate
code
int32
Code is status error code if statement not found
message
string
Message is error message if statement not found
details
[]ErrorDetail
Details is detailed message if statement not found
status_response
StatusResponse
StatusResponse contains the code and description about the status for this transaction.
local_time
LocalTime
LocalTime contains the local time of the dates based on timezone request.
risk_insight
bool
RiskInsight is a flag that indicates if risk insight is included in a statement.
account_link_id
string
AccountLinkID is linked credentials used during retrieval.
reconciliation_id
string
ReconciliationID is a unique parameter to indicate what this retrieval belong to particular reconciliation id
custom_shortcode
string
CustomShortCode represent a staticlink custom code to indicate the statement request initiated via static link
file_id
string
FileID is a unique parameter to indicate which file it belongs
is_static_link
bool
IsStaticLink indicates if the request coming from static link or not
map[string]bytes
AccountPdfs is the list of account statement pdf files indexed by account number.
Name
Type
Description
seconds
int64
nanos
int32
Name
Type
Description
account
Account
Account is the bank account information.
transactions
[]Transaction
Transactions is the list of transaction which occured over the period_days.
account_pdfs
bytes
AccountPdfs is the list of account statement pdf files.
loans
[]Loan
Loans is the list of loans of the account
Name
Type
Description
type
ChallengeType
data
bytes
Name
Type
Description
overview
Overview
Overview of income information in a very high level
details
[]Details
Details of income information in very detailed level
account
[]Account
Account is the bank account information.
bank_code
BankCode
BankCode is the Brankas bank code for the bank that holds the account.
created_at
Timestamp
CreatedAt is the time when income prediction created in the system
statement_id
string
StatementID of the income model
income_id
string
IncomeID is the unique system generated identifier assigned to this specific income request
error
string
Error is message in the case there was error during retrieval or in request
status
IncomeStatus
Status is the status of the income
Name
Type
Description
status_code
string
status_code contains the status code of the request.
status_desc
string
status_desc contains the description of the given status code of the request.
Name
Type
Description
status_code
string
status_code contains the status code of the request.
status_desc
string
status_desc contains the description of the given status code of the request.
Name
Type
Description
start_date
string
StartDate reflects the timestamp / date of the earliest date up to which the bank provides recorded transaction data, relative to the current date. This differs from bank to bank and can range from 30 to 90 days worth of transaction records from the current date.
end_date
string
EndDate reflects the timestamp / date of when the statement retrieval request was initiated
create
string
Create is the creation timestamp.
update
string
Update is the updation timestamp.
Name
Type
Description
account_id
string
AccountID is the bank account firestore document identifier.
type
AccountType
Type of the relevant bank account. It is an enum indicating whether it is a Savings or Checking account
owner_ids
[]string
OwnerIds is the list of bank credential identifiers that own and have access to this account. The first in the list is the primary owner, and the list cannot be empty.
account_number
string
AccountNumber is the identifying account number of the bank account in question
nick
string
Nick is an optional nickname for the account.
balance
Amount
Balance is the current balance of the relevant bank account as of the current statement retrieval
holder_name
string
HolderName is the full name of the account holder. The format might change between banks.
bank_code
BankCode
BankCode is the Brankas bank code for the bank that holds the account.
total_amount_credited
Amount
TotalAmountCredited is the sum of amount credited with all transactions
total_amount_debited
Amount
TotalAmountDebited is the sum of amount debited with all transactions
credit_transaction_count
int32
CreditTransactionCount denotes number of credit transaction
debit_transaction_count
int32
DebitTransactionCount denotes number of debit transaction
holder_address
string
HolderAddress is the full address of the account holder.
account_metadata
[]AccountMetadata
AccountMetadata is metadata from e-commerce data
account_pocket_name
string
AccountPocketName is the name of the account or pocket.
merchant_name
string
MerchantName is the full name of the account holder. The format might change between banks.
Name
Type
Description
transaction_id
string
TransactionID is the transaction firestore document identifier.
date
Timestamp
Date is the transaction date in UTC
type
TransactionType
Type is the transaction’s type, whether it was a CREDIT, DEBIT.
status
TransactionStatus
Status is the transaction status marked by the bank as pending
amount
Amount
Amount is the financial value of the transaction
descriptor
string
Descriptor is the bank statement descriptor attached to the transaction
match_id
string
MatchID is a reference to related match data.
from
Account
From is the transaction source account.
to
Account
To is the transaction destination account.
fields
Transaction_Fields
balance
Amount
Balance is the running balance of the transaction
merchant_type
[]string
MerchantType is the category of the transaction
account_transaction_hash
string
AccountTransactionHash is the hash for account transaction (account number, date, amount, type,bank code,descriptor)
local_time
string
LocalTime contains the local time of the date based on timezone request.
confidence
string
Confidence is a percentage of expense confidence
metadata
Metadata
Metadata contains additional information of product
error
string
Error is the message to show in the case when transaction doesn’t exist
Name
Type
Description
loan_id
string
LoanID is the unique system generated identifier assigned to loan
loan_number
string
LoanNumber is the loan identifier.
loan_type
string
LoanType is the type of loan.
term_of_loan
string
TermOfLoan is the term of loan stated in the bank.
open_date
Timestamp
OpenDate is the loan start date.
due_date
Timestamp
DueDate is the tloan due date.
next_rate_change_date
Timestamp
NextRateChangeDate is the next date for interest change.
interest
Interest
Interest hold information of loan’s interest.
original_principal_amount
Amount
OriginalPrincipalAmount hold loan original amount.
outstanding_principal_amount
Amount
OutstandingPrincipalAmount hold outstanding loan amount.
unpaid_Instalment
UnpaidInstalment
UnpaidInstalment hold the information of the next instalment.
remaining_term
string
RemainingTerm is the remaining month of the loan due date.
instalments
[]Instalment
Instalment hold the information of loan payment.
Name
Type
Description
count_of_days
int32
count of days from start date to end date of the statement data
count_of_whole_months
int32
count of whole months of the statement data
months_with_income
int32
count of months with at least 1 transaction considered as an income
confidence
string
average confidence score from all transactions with categories considered as income available in the statement
count_of_months
int32
count of months of the statement data
persona
string
profiles of the end user based on their income transactions and pattern
income
IncomeOverview
Income overview
non_income
NonIncomeOverview
NonIncome overview
Name
Type
Description
year
string
Year of the income details
month
string
Month of the income details
is_whole_month
bool
indicates whether the assessment period covers the whole month or not (true/false)
total_amount
Amount
total amount of all transactions with categories considered as income in the respective month
income_count
int32
count of all transactions with categories considered as non income in the respective month
transactions
[]Transaction
list of transactions with categories considered as income in the respective month
income
IncomeDetails
Income Details
non_income
NonIncomeDetails
NonIncome Details
Name
Type
Description
account_number
string
AccountNumber is the identifying account number of the bank account in question
nick_name
string
Nick is an optional nickname for the account.
balance
Amount
Balance is the current balance of the relevant bank account as of the current statement retrieval
holder_name
string
HolderName is the full name of the account holder. The format might change between banks.
holder_address
string
HolderAddress is the full address of the account holder.
Name
Type
Description
cur
CurrencyISO4217
Cur is the currency of the amount using its ISO 4217 code.
num
string
Num is the actual numeric value of the amount. Note: When there are separators in the currency, we store the decimals as digits in the string. So, PHP 100.00 would be represented as “amount.cur”: “PHP” and “amount.num”: “10000”.
decimal
Decimal
Decimal is the actual amount value with decimal points
Name
Type
Description
address_name
string
AddressName is the address identifier
receiver_name
string
ReceiverName is the name of the receiver for this particular address
address
string
Address is address
postal_code
string
PostalCode is postal code for this address
phone
string
Phone number of the receiver
country
string
Country is country for this address
address_visit_count
int32
AddressVisitCount is how many times address visited
address_visit_dates
[]string
AddressVisitCount is times address visited
address_latitude
string
AddressLatitude is geometry latitude for address
address_longitude
string
AddressLongitude is geometry longitude for address
gcash_customer
GCashCustomer
GCashCustomer is metadata populated from gcash platform.
Name
Type
Description
name
string
Name is the Name of the other party.
memo
string
Memo is the user input on a memo line.
account_no
string
AccountNo is the other party’s acount number.
company
string
Company is the virtual account company name.
Name
Type
Description
invoice
string
Invoice is the invoice number of the transaction
total_order_price
Amount
TotalOrderPrice is the total price of the transaction
products
[]ProductMetadata
Products contain list of products they bought
order_id
string
OrderID is the invoice number of the transaction
orders
[]Order
Orders contain list of products they bought
origin
Location
Origin is the origin location of the Transaction
destination
Location
Destination is the destination location of the Transaction
service_type
string
ServiceType is the type of the transaction
payment_methods
[]string
Payment methods are the methods that use in the transaction
orderStatus
int32
OrderStatus is integer value of the status transaction
Name
Type
Description
type
InterestType
Type is the interest rate type.
rate
string
Rate is the numeric value.
Name
Type
Description
date
Timestamp
Date is the next instalment date.
amount
Amount
Amount is the next instalment amount.
Name
Type
Description
instalment_id
string
InstalmentID is the unique system generated identifier assigned to loan instalment
date
Timestamp
Date is the transaction date.
payment_date
Timestamp
PaymentDate is the transaction date.
total_paid_amount
Amount
TotalPaidAmount is the total transaction amount.
principal_amount
Amount
PrincipalAmount is the principal instalment amount.
interest_amount
Amount
InterestAmount is the interest instalment amount.
outstanding_principal_amount
Amount
OutstandingPrincipalAmount is the outstanding principal transaction amount.
Name
Type
Description
months_with_income
string
count of months with at least 1 transaction considered as an income
total_amount
Amount
total amount of all transactions with categories considered as income available in the statement
count
int32
count of all transactions with categories considered as income available in the statement
confidence
string
average confidence score from all transactions with categories considered as income available in the statement
monthly
Monthly
Monthly overview of the income
Name
Type
Description
overall_total_amount
Amount
total amount of all transactions with categories considered as nonincome available in the statement
overall_count
int32
count of all transactions with categories considered as non income available in the statement
Name
Type
Description
cur
CurrencyISO4217
currency
num
string
amount of the transaction in cents
decimal
Decimal
Decimal is the actual amount value with decimal points
Name
Type
Description
date
Timestamp
Date is the transaction date
type
string
type of the transaction (Credit/debit)
confidence
string
Likelihood of the transaction to be an income (0-100%)
amount
Amount
Amount denotes the transaction amount
descriptor
string
description of the transactions
category
string
predicted category of the transaction
transaction_hash
string
TransactionHash contains account transaction hash value
transaction_id
string
TransactionID contains transaction id
Name
Type
Description
total_amount
Amount
total amount of all transactions with categories considered as income in the respective month
count
int32
count of all transactions with categories considered as income in the respective month
categories
[]string
list of income categories from transactions in the related month
categories_count
int32
count of income categories from transactions in the related month
transactions
[]Transaction
list of transactions with categories considered as income in the respective month
Name
Type
Description
total_amount
Amount
total amount of all transactions with categories considered as nonincome in the respective month
count
int32
count of all transactions with categories considered as income in the respective month
categories
[]string
list of nonincome categories from transactions in the related month
categories_count
int32
count of nonincome categories from transactions in the related month
transactions
[]Transaction
list of transactions with categories considered as nonincome in the respective month
Name
Type
Description
places
int32
Places denotes the number of decimal points included with the amount
num
string
Num is the actual amount value with decimal points It is the decimal representation of the Num field as PHP 100.00 only for Indonesia, Philippine and Thailand
Name
Type
Description
first_name
string
FirstName is the first name of the customer.
last_name
string
LastName is the last name of the customer.
nick_name
string
NickName is the nick name of the customer.
birth_date
string
BirthDate is the birth date of the customer in YYYY-MM-DD format.
birth_place
string
BirthPlace is the birth place of the customer.
country
string
Country is the country of the customer.
province
string
Province is the province of the customer.
city
string
City is the city of the customer.
nationality
string
Nationality is nationality of the customer.
email
string
Email is the e-mail of the customer.
current_address
GCashAddress
CurrentAddress is the current address of the customer.
parent_address
GCashAddress
ParentAddress is the customer parent address of the customer.
source_of_funds
[]string
SourceOfFunds is the source of funds of the customer.
work_nature
string
WorkNature is the work nature of the customer.
name_of_company_business
string
NameOfCompanyBusiness is the current occupation of the customer.
crn_number
string
CRNNumber is crn number of the customer.
nogovernment_id_reason
string
NoGovernmentIDReason is the reason why the customer does not have a government id.
application_status
string
ApplicationStatus is the current application status of the customer.
Name
Type
Description
name
string
Name is the name of the product
price
Amount
Price is the price of the product
quantity
int32
Quantity is quantity of the product customer bought
total_sub_price
Amount
TotalSubPrice is the sub price of the product
merchant
string
Merchant is the merchant who sell the product
Category
string
Category is the purchase category of the product
id
int64
ID is the unique identifier for the product that we get from bank/ecommerce
Name
Type
Description
name
string
Name is the name of the product
price
Amount
Price is the price of the product
quantity
int32
Quantity is quantity of the product customer bought
total_sub_price
Amount
TotalSubPrice is the sub price of the product
merchant
string
Merchant is the merchant who sell the product
category
string
Category is the purchase category of the product
Name
Type
Description
formatted_address
string
FormattedAddress is formatted address of this location.
visit_count
int32
VisitCount is how many times locatiom visited.
visit_dates
[]string
VisitCount is times location visited.
latitude
string
Latitude is geometry latitude for location.
longitude
string
Longitude is geometry longitude for location.
label
string
Label is the label of location.
address_id
string
AddressID is bank or platform identifier for respective location. Data available from Gojek API.
place_id
string
PlaceID is bank or platform identifer for respective location.
address_info
string
AddressInfo is the address information details of location.
landmark
string
Landmark is the landmark of location.
created_at
Timestamp
CreatedAt is the creation date of location on bank or platform.
types
[]string
Types is the type of location.
post_code
string
PostCode is post code of the address
partial_match
bool
PartialMatch indicates if the result from geocode is partial match
Name
Type
Description
average_count
int32
monthly average count of all transactions with categories considered as income available in the statement
average_amount
Amount
monthly average amount of all transactions with categories considered as income available in the statement
max_amount
Amount
monthly max amount of all transactions with categories considered as income available in the statement
min_amount
Amount
monthly min amount of all transactions with categories considered as income available in the statement
median_amount
Amount
monthly median amount of all transactions with categories considered as income available in the statement
Name
Type
Description
places
int32
Places denotes the number of decimal points included with the amount
num
string
Num is the actual amount value with decimal points It is the decimal representation of the Num field as PHP 100.00 only for Indonesia, Philippine and Thailand
Name
Type
Description
formatted_address
string
FormattedAddress is formatted address of the location.
latitude
string
Latitude is geometry latitude for location.
longitude
string
Longitude is geometry longitude for location.
rank
int32
Rank is an identifier to determine whether the address is home or public place
post_code
string
PostCode is post code of the address
Name
Type
Description
city
string
City is the city of the address.
city_id
string
CityID is the city id of the address.
country
string
Country is the country of the address.
country_id
string
CountryID is the country id of the address.
province
string
Province is the province of the address.
province_id
string
ProvinceID is the province id of the address.
Value
Description
UNKNOWN_StatementStatus
Unknown statement status
Status_PENDING
The requested statement retrieval is in progress.
FAILED
The requested statement couldn’t be retrieved successfully.
COMPLETED
The requested statement was successfully retrieved
NOTIFIED
The request statement status was successfully notified
Status_RECEIVED
The statement request processing is complete.
CANCELLED
The statement request was cancelled
INACTIVATED
The statement request inactivated upon waiting for user input
PURGED
The statement data such as accounts and transactions are purged from brankas system
RECORDS_AVAILABLE
Indicates atleast one or more transaction available for statement
INITIATED_Status
The statement request is initiated for retrieval via IDP flow
NO_ACCOUNT
The statement request was cancelled because of no account
RECONCILIATION_COMPLETED
RECONCILIATION_COMPLETED indicates first reconciliation cycle has been successful
RECONCILIATION_NEW_TRANSACTION
RECONCILIATION_NEW_TRANSACTION indicates there are new transactions merged
RECONCILIATION_DISABLED
RECONCILIATION_DISABLED indicates that the reconciliation has been disabled
BankCode is the internal code (enum) used by the service to target a specific bank for the statement retrieval request.
Value
Description
UNKNOWN_BANK
DUMMY_BANK_PERSONAL
Bank code to instruct the statement retrieval service to target the sandboxed Brankas dummy bank for test calls
BDO_PERSONAL
Bank code to retrieve retail bank account statements / transaction histories from the Banco De Oro Unibank (BDO)
BPI_PERSONAL
Bank code to retrieve retail bank account statements / transaction histories from the Bank of the Philippines Islands (BPI)
BPI_CORPORATE
Bank code to retrieve retail bank (corporate) account statements / transaction histories from the Bank of the Philippines Islands (BPI)
KASIKORNBANK_PERSONAL
Bank code to retrieve retail bank account transaction data for Kasikornbank.
PNB_PERSONAL
Bank code to retrieve retail bank account transaction data for Philippine National Bank
UNIONBANK_PERSONAL
Bank code to retrieve retail bank account transaction data for Union Bank
UNIONBANK_CORPORATE
Bank code to retrieve retail bank account transaction data for Union Bank
METROBANK_PERSONAL
Bank code to retrieve retail bank account transaction data for Metropolitan Bank
RCBC_PERSONAL
Bank code to retrieve retail bank account statements / transaction histories from the Rizal Commercial Banking Corporation
GCASH_PERSONAL
code to retrieve account statements / transaction histories from GCASH
LANDBANK_PERSONAL
Bank code to retrieve ratail bank account statements / transaction histories from Landbank Personal
KOMO_PERSONAL
Bank code to retrieve ratail bank account statements / transaction histories from Komo
VCB_PERSONAL
Bank code to retrieve ratail bank account statements / transaction histories from Vietcombank
MAYA_PERSONAL
Bank code to retrieve retail online payment account transaction data for Pay Maya
Value
Description
UNKNOWN_StatementSubStatus
SubStatus_INITIATED
Initiatated a request for PIDP
SubStatus_LOGIN_ERROR
Error while logging in to the user internet banking account.
SubStatus_AWAITING_LOGIN
Login in progress.
SubStatus_AWAITING_TFA
Awaiting TFA authentication to gain access to the user’s online banking account.
SubStatus_COMPLETED
The requested statement was successfully retrieved
SubStatus_BLOCKED
Blocked
SubStatus_INPROGRESS
The requested statement retrieval request is in progress.
SubStatus_INVALID_TFA
TFA provided by the user is not correct or expired.
SubStatus_NO_TFA_PROVIDED
User didn’t provide a TFA for authentication with the bank.
SubStatus_SYSTEM_UNAVAILABLE
System busy or unavailable to process the request
SubStatus_ERROR
The requested statement couldn’t be retrieved successfully.
SubStatus_CANCELLED
Cancelled
SubStatus_INACTIVATED
Inactivated
SubStatus_PURGED
Purged
SubStatus_RECORDS_AVAILABLE
Indicates atleast one or more transaction available for statement
SubStatus_TFA_OPTIONAL
Indicates multiple TFA option available to change
SubStatus_INCOME_AVAILABLE
The income data available for the statement
SubStatus_PERMISSION_REQUIRED
Permission required
SubStatus_OTP_EXPIRED
OTP is expired
SubStatus_WRONG_PDF_FORMAT
Given wrong pdf format
SubStatus_REFUSE_CONSENT
Refuse waive consent
ChallengeType for captcha or OTP challenge
Value
Description
TEXT
TEXT are challenges that are generally represented as strings.
IMAGE
IMAGE are image-based challenges, for example a captcha image.
IN_APP
IN_APP are challenges that happens offline and asynchronously outside our control for example, approvals from a user’s mobile device.
SMS
SMS are SMS-based challenge codes.
MGENCODE
MGENCODE or Mobile Generated Code, are usually challenge codes generated by bank applications.
HYBRID
HYBRID are bank-specific challenge types
PIN
PIN are mostly static pin codes from banks, eg Metrobank’s passcode.
USER_ACTION
USER_ACTION require some actions from user, but doesn’t need any information back from user. (ie. user need to click a link sent by sms, but after that we can continue automatically in our scraper) Bankworker will continue automatically without waiting for TFA call.
MULTIPLE_TFA
Multiple OTPs needed at the same time
EMAIL_OTP
EMAIL are challenges that will send OTP to user email.
BankCode is the internal code (enum) used by the service to target a specific bank for the statement retrieval request.
Value
Description
UNKNOWN_BANK
DUMMY_BANK_PERSONAL
Bank code to instruct the statement retrieval service to target the sandboxed Brankas dummy bank for test calls
BDO_PERSONAL
Bank code to retrieve retail bank account statements / transaction histories from the Banco De Oro Unibank (BDO)
BPI_PERSONAL
Bank code to retrieve retail bank account statements / transaction histories from the Bank of the Philippines Islands (BPI)
KASIKORNBANK_PERSONAL
Bank code to retrieve retail bank account transaction data for Kasikornbank.
PNB_PERSONAL
Bank code to retrieve retail bank account transaction data for Philippine National Bank
UNIONBANK_PERSONAL
Bank code to retrieve retail bank account transaction data for Union Bank
UNIONBANK_CORPORATE
Bank code to retrieve retail bank account transaction data for Union Bank
METROBANK_PERSONAL
Bank code to retrieve retail bank account transaction data for Metropolitan Bank
RCBC_PERSONAL
Bank code to retrieve retail bank account statements / transaction histories from the Rizal Commercial Banking Corporation
MAYA_PERSONAL
Bank code to retrieve retail online payment account transaction data for Pay Maya
Value
Description
UNKNOWN_IncomeStatus
Unknown income status
COMPLETED
The requested income was successfully retrieved
FAILED
The requested income couldn’t be retrieved successfully.
AccountType is the account type enum.
Value
Description
UNKNOWN_AccountType
Indicates that the bank account type is either undefined or neither a Checking on Saving account
CHECKING
Indicates that the bank account is a Checking Account
SAVINGS
Indicates that the bank account is a Savings Account
JOINT
Indicates that the bank account is a Joint Account
PAYROLL
Indicates that the bank account is a Payroll Account
CORPORATE_ACCOUNT
Indicates that the bank account is a Corporate Account
INVESTMENT
Indicates that the bank account is a Investment Account
CREDIT_CARD
Indicates that the bank account is a Credit Card Account
TransactionType is the transaction type enum.
Value
Description
UNKNOWN_TYPE
Unknown transaction type
CREDIT
Transactions that credit the user’s account
DEBIT
Transactions that debit the user’s account
TransactionStatus is the transaction status enum.
Value
Description
UNKNOWN_STATUS
SUCCESS
TRANSACTIONSTATUS_PENDING
CANCELED
NOT_PAID
READY_TO_SHIP
SENT
RETURNED
DELIVERY_FAILED
CurrencyISO4217 iso is the 3 digit currency that will be used as standard currency type on fast checkout. see: https://en.wikipedia.org/wiki/ISO_4217
Value
Description
UNKNOWN_CURRENCY
AFN
EUR
ALL
DZD
USD
AOA
XCD
ARS
AMD
AWG
AUD
AZN
BSD
BHD
BDT
BYR
BZD
XOF
BMD
BTN
BOV
BAM
BWP
NOK
BRL
SGD
BGN
BIF
KHR
XAF
CAD
CVE
KYD
CLP
CNY
COP
KMF
CDF
NZD
CRC
HRK
CUC
CZK
DKK
DJF
DOP
EGP
ERN
ETB
FKP
FJD
XPF
GMD
GEL
GHS
GIP
GTQ
GBP
GNF
GYD
HNL
HKD
HUF
ISK
INR
IDR
IRR
IQD
IMP
ILS
JMD
JPY
JEP
JOD
KZT
KES
KPW
KRW
KWD
KGS
LAK
LBP
LSL
LRD
LYD
CHF
MKD
MGA
MWK
MYR
MVR
MRO
MUR
MXN
MDL
MNT
MAD
MZN
MMK
NAD
NPR
ANG
NIO
NGN
OMR
PKR
PGK
PYG
PEN
PHP
PLN
QAR
RON
RUB
RWF
WST
STD
SAR
RSD
SCR
SLL
SBD
SOS
ZAR
SSP
LKR
SHP
SDG
SRD
SZL
SEK
SYP
TWD
TJS
TZS
THB
TOP
TTD
TND
TRY
TMT
UGX
UAH
ARE
UYU
UZS
VUV
VEF
VND
YER
ZRN
ZMW
Value
Description
UNKNOWN
PERCENTAGE
CurrencyISO4217 iso is the 3 digit currency that will be used as standard currency type on fast checkout. see: https://en.wikipedia.org/wiki/ISO_4217
Value
Description
UNKNOWN_CURRENCY
AFN
EUR
ALL
DZD
USD
AOA
XCD
ARS
AMD
AWG
AUD
AZN
BSD
BHD
BDT
BYR
BZD
XOF
BMD
BTN
BOV
BAM
BWP
NOK
BRL
SGD
BGN
BIF
KHR
XAF
CAD
CVE
KYD
CLP
CNY
COP
KMF
CDF
NZD
CRC
HRK
CUC
CZK
DKK
DJF
DOP
EGP
ERN
ETB
FKP
FJD
XPF
GMD
GEL
GHS
GIP
GTQ
GBP
GNF
GYD
HNL
HKD
HUF
ISK
INR
IDR
IRR
IQD
IMP
ILS
JMD
JPY
JEP
JOD
KZT
KES
KPW
KRW
KWD
KGS
LAK
LBP
LSL
LRD
LYD
CHF
MKD
MGA
MWK
MYR
MVR
MRO
MUR
MXN
MDL
MNT
MAD
MZN
MMK
NAD
NPR
ANG
NIO
NGN
OMR
PKR
PGK
PYG
PEN
PHP
PLN
QAR
RON
RUB
RWF
WST
STD
SAR
RSD
SCR
SLL
SBD
SOS
ZAR
SSP
LKR
SHP
SDG
SRD
SZL
SEK
SYP
TWD
TJS
TZS
THB
TOP
TTD
TND
TRY
TMT
UGX
UAH
ARE
UYU
UZS
VUV
VEF
VND
YER
ZRN
ZMW
Example:
{
"statements" : [
{
"account_statements" : [
{
"account" : {
"account_number" : "xxxxx1234" ,
"balance" : {
"cur" : "PHP" ,
"num" : "10000"
},
"holder_name" : "TEST USER" ,
"type" : "SAVINGS"
},
"transactions" : [
{
"amount" : {
"cur" : "PHP" ,
"num" : "10000"
},
"date" : "2020-10-21T04:50:35Z" ,
"descriptor" : "Payment to merchant X for product Y" ,
"status" : "Success" ,
"type" : "DEBIT"
},
{
"amount" : {
"cur" : "PHP" ,
"num" : "10000"
},
"date" : "2020-10-21T04:50:35Z" ,
"descriptor" : "Payment to merchant X for product Y" ,
"status" : "Success" ,
"type" : "CREDIT"
}
]
}
],
"bank_code" : "DUMMY_BANK_PERSONAL" ,
"end_date" : "2019-01-21T04:50:35Z" ,
"start_date" : "2020-10-21T04:50:35Z" ,
"statement_id" : "123_statement_id" ,
"status" : "COMPLETED"
},
{
"account_statements" : [
{
"account" : {
"account_number" : "xxxxx5678" ,
"balance" : {
"cur" : "PHP" ,
"num" : "10000"
},
"holder_name" : "TEST USER 2" ,
"type" : "CHECKINGS"
},
"transactions" : [
{
"amount" : {
"cur" : "PHP" ,
"num" : "10000"
},
"date" : "2020-10-21T04:50:35Z" ,
"descriptor" : "Payment to merchant X for product Y" ,
"status" : "Success" ,
"type" : "DEBIT"
},
{
"amount" : {
"cur" : "PHP" ,
"num" : "10000"
},
"date" : "2020-10-21T04:50:35Z" ,
"descriptor" : "Payment to merchant X for product Y" ,
"status" : "Success" ,
"type" : "CREDIT"
}
]
}
],
"bank_code" : "DUMMY_BANK_PERSONAL" ,
"end_date" : "2019-01-21T04:50:35Z" ,
"start_date" : "2020-10-21T04:50:35Z" ,
"statement_id" : "456_statement_id" ,
"status" : "COMPLETED"
},
{
"account_statements" : [
{
"account" : {
"account_number" : "1234567890" ,
"balance" : {
"cur" : "IDR" ,
"decimal" : {
"num" : "25400000.00" ,
"places" : 2
},
"num" : "2540000000"
},
"credit_transaction_count" : 7 ,
"debit_transaction_count" : 4 ,
"holder_name" : "TEST USER" ,
"total_amount_credited" : {
"cur" : "IDR" ,
"decimal" : {
"num" : "21500000.00" ,
"places" : 2
},
"num" : "2150000000"
},
"total_amount_debited" : {
"cur" : "IDR" ,
"decimal" : {
"num" : "1736500.00" ,
"places" : 2
},
"num" : "173650000"
},
"type" : "SAVINGS"
},
"transactions" : [
{
"amount" : {
"cur" : "IDR" ,
"decimal" : {
"num" : "130000.00" ,
"places" : 2
},
"num" : "13000000"
},
"balance" : {
"cur" : "IDR" ,
"decimal" : {
"num" : "5156500.00" ,
"places" : 2
},
"num" : "5156500.00"
},
"date" : "2021-03-02T17:00:00Z" ,
"descriptor" : "TOP UP TRANSACTION A" ,
"type" : "DEBIT"
},
{
"amount" : {
"cur" : "IDR" ,
"decimal" : {
"num" : "65000.00" ,
"places" : 2
},
"num" : "6500000"
},
"balance" : {
"cur" : "IDR" ,
"decimal" : {
"num" : "5221500.00" ,
"places" : 2
},
"num" : "522150000"
},
"date" : "2021-03-08T17:00:00Z" ,
"descriptor" : "FUND IN INTRABANK TRANSFER SAMPLE 1" ,
"type" : "CREDIT"
},
{
"amount" : {
"cur" : "IDR" ,
"decimal" : {
"num" : "130000.00" ,
"places" : 2
},
"num" : "13000000"
},
"balance" : {
"cur" : "IDR" ,
"decimal" : {
"num" : "5351500.00" ,
"places" : 2
},
"num" : "535150000"
},
"date" : "2021-03-21T17:00:00Z" ,
"descriptor" : "FUND IN INTERBANK TRANSFER SAMPLE 2" ,
"type" : "CREDIT"
},
{
"amount" : {
"cur" : "IDR" ,
"decimal" : {
"num" : "10000000.00" ,
"places" : 2
},
"num" : "1000000000"
},
"balance" : {
"cur" : "IDR" ,
"decimal" : {
"num" : "15351500.00" ,
"places" : 2
},
"num" : "1535150000"
},
"date" : "2021-03-25T17:00:00Z" ,
"descriptor" : "COMPANY SALARY SAMPLE 1" ,
"type" : "CREDIT"
},
{
"amount" : {
"cur" : "IDR" ,
"decimal" : {
"num" : "100000.00" ,
"places" : 2
},
"num" : "10000000"
},
"balance" : {
"cur" : "IDR" ,
"decimal" : {
"num" : "15251500.00" ,
"places" : 2
},
"num" : "1525150000"
},
"date" : "2021-04-02T17:00:00Z" ,
"descriptor" : "TRANSFER TO DESTINATION BANK A" ,
"type" : "DEBIT"
},
{
"amount" : {
"cur" : "IDR" ,
"decimal" : {
"num" : "6500.00" ,
"places" : 2
},
"num" : "650000"
},
"balance" : {
"cur" : "IDR" ,
"decimal" : {
"num" : "15245000.00" ,
"places" : 2
},
"num" : "1524500000"
},
"date" : "2021-04-02T17:00:00Z" ,
"descriptor" : "SWITCHING COST TRANSFER TO DESTINATION BANK A" ,
"type" : "DEBIT"
},
{
"amount" : {
"cur" : "IDR" ,
"decimal" : {
"num" : "80000.00" ,
"places" : 2
},
"num" : "8000000"
},
"balance" : {
"cur" : "IDR" ,
"decimal" : {
"num" : "15325000.00" ,
"places" : 2
},
"num" : "1532500000"
},
"date" : "2021-04-06T17:00:00Z" ,
"descriptor" : "FUND IN INTRABANK TRANSFER SAMPLE 2" ,
"type" : "CREDIT"
},
{
"amount" : {
"cur" : "IDR" ,
"decimal" : {
"num" : "155000.00" ,
"places" : 2
},
"num" : "15500000"
},
"balance" : {
"cur" : "IDR" ,
"decimal" : {
"num" : "15480000.00" ,
"places" : 2
},
"num" : "1548000000"
},
"date" : "2021-04-12T17:00:00Z" ,
"descriptor" : "FUND IN INTERBANK TRANSFER SAMPLE 3" ,
"type" : "CREDIT"
},
{
"amount" : {
"cur" : "IDR" ,
"decimal" : {
"num" : "10000000.00" ,
"places" : 2
},
"num" : "1000000000"
},
"balance" : {
"cur" : "IDR" ,
"decimal" : {
"num" : "25480000.00" ,
"places" : 2
},
"num" : "2548000000"
},
"date" : "2021-04-25T17:00:00Z" ,
"descriptor" : "COMPANY SALARY SAMPLE 2" ,
"type" : "CREDIT"
},
{
"amount" : {
"cur" : "IDR" ,
"decimal" : {
"num" : "70000.00" ,
"places" : 2
},
"num" : "7000000"
},
"balance" : {
"cur" : "IDR" ,
"decimal" : {
"num" : "25550000.00" ,
"places" : 2
},
"num" : "2555000000"
},
"date" : "2021-05-12T17:00:00Z" ,
"descriptor" : "FUND IN INTERBANK TRANSFER SAMPLE 4" ,
"type" : "CREDIT"
},
{
"amount" : {
"cur" : "IDR" ,
"decimal" : {
"num" : "1500000.00" ,
"places" : 2
},
"num" : "150000000"
},
"balance" : {
"cur" : "IDR" ,
"decimal" : {
"num" : "25400000.00" ,
"places" : 2
},
"num" : "2540000000"
},
"date" : "2021-05-13T17:00:00Z" ,
"descriptor" : "PAYMENT TO MERCHANT A" ,
"type" : "DEBIT"
}
]
}
],
"bank_code" : "BANK_ID_PERSONAL" ,
"bank_type" : "PERSONAL" ,
"create" : "2021-05-18T11:59:17Z" ,
"end_date" : "2021-05-18T11:59:31Z" ,
"external_id" : "test_income_external_id" ,
"income" : {
"created_at" : "2021-05-18T11:59:31Z" ,
"details" : [
{
"income" : {
"categories_count" : 0 ,
"count" : 0 ,
"total_amount" : {
"cur" : "IDR" ,
"decimal" : {
"num" : "0" ,
"places" : 2
},
"num" : "0"
}
},
"month" : "2" ,
"non_income" : {
"categories_count" : 0 ,
"count" : 0 ,
"total_amount" : {
"cur" : "IDR" ,
"decimal" : {
"num" : "0" ,
"places" : 2
},
"num" : "0"
}
},
"year" : "2021"
},
{
"income" : {
"categories" : [
"fundin_salary_paycheck"
],
"categories_count" : 1 ,
"count" : 1 ,
"total_amount" : {
"cur" : "IDR" ,
"decimal" : {
"num" : "10000000.00" ,
"places" : 2
},
"num" : "1000000000"
},
"transactions" : [
{
"amount" : {
"cur" : "IDR" ,
"decimal" : {
"num" : "10000000.00" ,
"places" : 2
},
"num" : "1000000000"
},
"category" : "fundin_salary_paycheck" ,
"confidence" : "97.30%" ,
"date" : "2021-03-25T17:00:00Z" ,
"descriptor" : "COMPANY SALARY SAMPLE 1" ,
"type" : "CREDIT"
}
]
},
"month" : "3" ,
"non_income" : {
"categories" : [
"fundin_receive_transfer"
],
"categories_count" : 1 ,
"count" : 2 ,
"total_amount" : {
"cur" : "IDR" ,
"decimal" : {
"num" : "195000.00" ,
"places" : 2
},
"num" : "19500000"
},
"transactions" : [
{
"amount" : {
"cur" : "IDR" ,
"decimal" : {
"num" : "65000.00" ,
"places" : 2
},
"num" : "6500000"
},
"category" : "fundin_receive_transfer" ,
"confidence" : "18.0%" ,
"date" : "2021-03-08T17:00:00Z" ,
"descriptor" : "FUND IN INTRABANK TRANSFER SAMPLE 1" ,
"type" : "CREDIT"
},
{
"amount" : {
"cur" : "IDR" ,
"decimal" : {
"num" : "130000.00" ,
"places" : 2
},
"num" : "13000000"
},
"category" : "fundin_receive_transfer" ,
"confidence" : "12.48%" ,
"date" : "2021-03-21T17:00:00Z" ,
"descriptor" : "FUND IN INTERBANK TRANSFER SAMPLE 2" ,
"type" : "CREDIT"
}
]
},
"year" : "2021"
},
{
"income" : {
"categories" : [
"fundin_salary_paycheck"
],
"categories_count" : 1 ,
"count" : 1 ,
"total_amount" : {
"cur" : "IDR" ,
"decimal" : {
"num" : "10000000.00" ,
"places" : 2
},
"num" : "1000000000"
},
"transactions" : [
{
"amount" : {
"cur" : "IDR" ,
"decimal" : {
"num" : "10000000.00" ,
"places" : 2
},
"num" : "1000000000"
},
"category" : "fundin_salary_paycheck" ,
"confidence" : "97.30%" ,
"date" : "2021-04-25T17:00:00Z" ,
"descriptor" : "COMPANY SALARY SAMPLE 2" ,
"type" : "CREDIT"
}
]
},
"month" : "4" ,
"non_income" : {
"categories" : [
"fundin_receive_transfer"
],
"categories_count" : 1 ,
"count" : 2 ,
"total_amount" : {
"cur" : "IDR" ,
"decimal" : {
"num" : "235000.00" ,
"places" : 2
},
"num" : "23500000"
},
"transactions" : [
{
"amount" : {
"cur" : "IDR" ,
"decimal" : {
"num" : "80000.00" ,
"places" : 2
},
"num" : "8000000"
},
"category" : "fundin_receive_transfer" ,
"confidence" : "18.0%" ,
"date" : "2021-04-06T17:00:00Z" ,
"descriptor" : "FUND IN INTRABANK TRANSFER SAMPLE 2" ,
"type" : "CREDIT"
},
{
"amount" : {
"cur" : "IDR" ,
"decimal" : {
"num" : "155000.00" ,
"places" : 2
},
"num" : "15500000"
},
"category" : "fundin_receive_transfer" ,
"confidence" : "12.48%" ,
"date" : "2021-04-12T17:00:00Z" ,
"descriptor" : "FUND IN INTERBANK TRANSFER SAMPLE 3" ,
"type" : "CREDIT"
}
]
},
"year" : "2021"
},
{
"income" : {
"categories" : [],
"categories_count" : 0 ,
"count" : 0 ,
"total_amount" : {
"cur" : "IDR" ,
"decimal" : {
"num" : "0" ,
"places" : 2
},
"num" : "0"
},
"transactions" : []
},
"month" : "5" ,
"non_income" : {
"categories" : [
"fundin_receive_transfer"
],
"categories_count" : 1 ,
"count" : 1 ,
"total_amount" : {
"cur" : "IDR" ,
"decimal" : {
"num" : "70000.00" ,
"places" : 2
},
"num" : "7000000"
},
"transactions" : [
{
"amount" : {
"cur" : "IDR" ,
"decimal" : {
"num" : "70000.00" ,
"places" : 2
},
"num" : "7000000"
},
"category" : "fundin_receive_transfer" ,
"confidence" : "12.48%" ,
"date" : "2021-05-12T17:00:00Z" ,
"descriptor" : "FUND IN INTERBANK TRANSFER SAMPLE 4" ,
"type" : "CREDIT"
}
]
},
"year" : "2021"
}
],
"overview" : {
"count_of_days" : 90 ,
"count_of_months" : 4 ,
"count_of_whole_months" : 2 ,
"income" : {
"confidence" : "97.30%" ,
"count" : 2 ,
"monthly" : {
"average_amount" : {
"cur" : "IDR" ,
"decimal" : {
"num" : "10000000.00" ,
"places" : 2
},
"num" : "1000000000"
},
"average_count" : 1 ,
"max_amount" : {
"cur" : "IDR" ,
"decimal" : {
"num" : "10000000.00" ,
"places" : 2
},
"num" : "1000000000"
},
"median_amount" : {
"cur" : "IDR" ,
"decimal" : {
"num" : "10000000.00" ,
"places" : 2
},
"num" : "1000000000"
},
"min_amount" : {
"cur" : "IDR" ,
"decimal" : {
"num" : "10000000.00" ,
"places" : 2
},
"num" : "1000000000"
}
},
"months_with_income" : "2" ,
"total_amount" : {
"cur" : "IDR" ,
"decimal" : {
"num" : "20000000.00" ,
"places" : 2
},
"num" : "2000000000"
}
},
"non_income" : {
"overall_count" : 5 ,
"overall_total_amount" : {
"cur" : "IDR" ,
"decimal" : {
"num" : "500000.00" ,
"places" : 2
},
"num" : "50000000"
}
},
"persona" : "Salaryman"
},
"statement_id" : "7dec0e20-bc7d-484d-a80b-d55451bbcdb1"
},
"org_id" : "3ba5d732-e899-11eb-89bf-f793e8100480" ,
"start_date" : "2021-02-22T11:59:31Z" ,
"statement_id" : "7dec0e20-bc7d-484d-a80b-d55451bbcdb1" ,
"status" : "COMPLETED" ,
"status_response" : {
"status_code" : "STTDXXX2000" ,
"status_desc" : "completed"
},
"sub_status" : "SubStatus_INCOME_AVAILABLE" ,
"update" : "2021-05-18T11:59:31Z"
}
]
}
Status
Description
200
A successful response.
404
Returned when the resource is not found.
Send an email to BD / Sales team to inform them there is a customer who wants to get whitelisted to be able to see more expense / income data
curl -X POST \
https://statement.sandbox.bnk.to/v1/whitelist-request \
-H 'x-api-key: USE_YOUR_API_KEY' \
-d '{
"company_name": "string",
"company_email": "string",
"company_country": "CountryISO3166",
"product": "string"
}'
POST https://statement.sandbox.bnk.to/v1/whitelist-request
Name
Type
Description
company_name
string
CompanyName is use to describe the company name
company_email
string
CompanyEmail is use to provide the company email
company_country
CountryISO3166
CompanyCountry is country where the company resides
product
string
Product is use to determine which product is customer interest in
Value
Description
ID
Indonesia
PH
Philippines
TH
Thailand
VN
Vietnam
ALL_COUNTRY
ALL_COUNTRY
Example:
Status
Description
200
Request executed successfully.
404
Returned when the resource is not found.
Send two factor authentication request.
curl -X POST \
https://statement.sandbox.bnk.to/v1/tfa \
-H 'x-api-key: USE_YOUR_API_KEY' \
-d '{
"purpose": "BankCredentialLogin",
"purpose_id": "123_transfer_id",
"token": "123456",
"transfer_id": "string",
"option": "OptionalChallengeType",
"multiple": [
{
"type": "OptionalChallengeType",
"code": "string"
}
],
"credential": {
"identifier": "string",
"secret": "string"
}
}'
POST https://statement.sandbox.bnk.to/v1/tfa
Name
Type
Description
purpose
TFAPurpose
Purpose defines what this TFA code should be used for.
purpose_id
string
purpose_id is the identifier for the object that this TFA token will be used for. For example, if purpose==BankCredentialLogin, purpose_id will be a bankcredential_id.
token
string
Token is the actual TFA / OTP code string the end user needs to submit.
transfer_id
string
transfer_id is the identifier of the transfer transaction.
option
OptionalChallengeType
Option to change OTP generator, ex: SMS, MGENCODE
multiple
[]MultipleCode
Multiple contains several tokens if multiple TFA code is needed.
credential
TFACredential
Credential is the user internet banking account credentials.
Name
Type
Description
type
OptionalChallengeType
code
string
Name
Type
Description
identifier
string
Identifier is the unique identifier for the credential (ie, a phone number, email, token, etc).
secret
string
Secret is the secret to exchange for validating the credential.
TFAPurpose is the usage of the TFA code supplied in the TFAService request
Value
Description
UnknownPurpose
Unknown Purpose
BankCredentialLogin
Used to login to a bank account
FundTransferAuthentication
Used to perform login for fund transfer
ResendTwoFactorAuthentication
Used to request resend TFA
BankCredentialLoginAndVerificationLink
Used to request login otp and the verification link
LinkVerificationOtp
Used to enter OTP for GCash Verify Link
FundTransferMpinAuthentication
Used to perform GCash fund transfer by sending Mpin
OptionalChallengeType for change OTP generators
Value
Description
OPTION_UNKNOWN
default to unknown, when there is no option set
OPTION_SMS
SMS are SMS-based challenge codes.
OPTION_MGENCODE
MGENCODE or Mobile Generated Code, are usually challenge codes generated by bank applications.
OPTION_PIN
Name
Type
Description
status
Status
Status defines the result of the request, indicating whether or not the TFA token was successfully submitted to the relevant bank or if the operation resulted in an error.
auth_status
AuthStatus
AuthStatus defines the result of submitting the TFA code with the bank, indicating whether the challenge succeeded or failed.
status_msg
string
StatusMsg is the bank-specific response to a failed TFA challenge, qualifying the cause of the failure (such as an invalid or incomplete TFA code)
Status is the possible statuses for a TFA operation
Value
Description
UNKNOWN_Status
Unknown operation occuring
TFA_ERROR
Error during operation
TFA_SUCCESS
Successful operation
PROCESSING
Processing
AuthStatus is the possible response status’ for a TFA operation
Value
Description
UNKNOWN_AuthStatus
Unknown Status
INCOMPLETE
Incomplete TFA
COMPLETE
Successful TFA
Example:
{
"auth_status" : "COMPLETE" ,
"status" : "SUCCESS"
}
Status
Description
200
Request executed successfully.
404
Returned when the resource is not found.
Initiates a statement retrieval request
curl -X POST \
https://statement.sandbox.bnk.to/v1/statement-init \
-H 'x-api-key: USE_YOUR_API_KEY' \
-d '{
"app_redirect_uri": "http://foo.com",
"bank_codes": [
"BDO_PERSONAL",
"BPI_PERSONAL",
"PNB_PERSONAL"
],
"country": "PH",
"external_id": "test@domain.com",
"organization_display_name": "NeoBank"
}'
POST https://statement.sandbox.bnk.to/v1/statement-init
Name
Type
Description
country
string
Country is the country code (ID, PH, TH)
bank_codes
[]BankCode
BankCodes used to specify the list of bank to be shown to user
external_id
string
ExternalID represent an id that is passed by the api consumer to track the request
app_redirect_uri
string
AppRedirectURI is the URL that end users need to be redirected after the successful statement retrieval operation
organization_display_name
string
OrganizationDisplayName is a name of the organization that send the request and will be displayed when processing the statement request
app_redirect_error_uri
string
AppRedirectErrorURI is the URL that end users need to be redirected for the failure on statement retrieval operation
app_redirect_duration
string
AppRedirectDuration is the time (in seconds) the user should be redirected upon statement retrieval operation finish.
remember_me
bool
RememberMe shows the remember_me option when performing the statement-retrieval flow if it is set to true, otherwise won’t show remember me option
link_id
string
LinkID is the identifier that maps to the bank and generated after a credential is stored in browser
auto_consent
bool
AutoConsent is a flag that skip the consent on PIDP flow and it is disabled by default
corporate
bool
Corporate flag indicates the flow will be for corporate bank statement retrievals
start_date
string
StartDate is the start date of the statement request Date/Time ranges should follow the - YYYY-MM-DD ( 2000-12-21 ) - YYYY-MM-DDTHH:MM:SS ( 2000-12-21 12:00:00 ) if using this format, the timezone should be supplied.
end_date
string
EndDate is the end date of the statement request Date/Time ranges should follow the - YYYY-MM-DD ( 2000-12-21 ) - YYYY-MM-DDTHH:MM:SS ( 2000-12-21 12:00:00 ) if using this format, the timezone should be supplied.
user_consent
bool
UserConsent is a flag that indicates if user gave a consent
bank_selected
BankCode
BankSelected is bank selected by merchant
alternative_data_sources
[]BankCode
AlternativeDataSources used to specify the list of alternative data sources to be shown to user
pdf_upload
bool
PDFUpload used to identify if client wants to enable PDF parser feature or not
risk_insight
bool
RiskInsight is a flag that indicates if risk insight is included in a statement.
include_balance
bool
IncludeBalance is the indicator to include saving the balance details
timezone
Timezone
Timezone allows the dates to be in different timezone. required if start/end date want in specific timestamp.
logo_url
string
LogoURL represent the logo that should used during the statement retrieval operation
account_verification
bool
AccountVerification indicates if its account details request only
multi_retrieval
bool
MultiRetrieval flag indicates the flow will be for multi retrieval
request_id
string
RequestID is unique identifier per session that we can use for multi retrieval
without_banks
bool
WithoutBanks flag indicates it will only return alternative data sources AlternativeDataSources is mandatory if the flag set to true
is_summary
bool
IsSummary indicates that it is statement retrieval for summary request
BankCode is the internal code (enum) used by the service to target a specific bank for the statement retrieval request.
Value
Description
UNKNOWN_BANK
DUMMY_BANK_PERSONAL
Bank code to instruct the statement retrieval service to target the sandboxed Brankas dummy bank for test calls
BDO_PERSONAL
Bank code to retrieve retail bank account statements / transaction histories from the Banco De Oro Unibank (BDO)
BPI_PERSONAL
Bank code to retrieve retail bank account statements / transaction histories from the Bank of the Philippines Islands (BPI)
BPI_CORPORATE
Bank code to retrieve retail bank (corporate) account statements / transaction histories from the Bank of the Philippines Islands (BPI)
KASIKORNBANK_PERSONAL
Bank code to retrieve retail bank account transaction data for Kasikornbank.
PNB_PERSONAL
Bank code to retrieve retail bank account transaction data for Philippine National Bank
UNIONBANK_PERSONAL
Bank code to retrieve retail bank account transaction data for Union Bank
UNIONBANK_CORPORATE
Bank code to retrieve retail bank account transaction data for Union Bank
METROBANK_PERSONAL
Bank code to retrieve retail bank account transaction data for Metropolitan Bank
RCBC_PERSONAL
Bank code to retrieve retail bank account statements / transaction histories from the Rizal Commercial Banking Corporation
GCASH_PERSONAL
code to retrieve account statements / transaction histories from GCASH
LANDBANK_PERSONAL
Bank code to retrieve ratail bank account statements / transaction histories from Landbank Personal
KOMO_PERSONAL
Bank code to retrieve ratail bank account statements / transaction histories from Komo
VCB_PERSONAL
Bank code to retrieve ratail bank account statements / transaction histories from Vietcombank
MAYA_PERSONAL
Bank code to retrieve retail online payment account transaction data for Pay Maya
Timezone is the timezone for different countries.
Value
Description
UNKNOWN_TIMEZONE
ID_WESTERN
ID_CENTRAL
ID_EASTERN
PH_TZ
TH_TZ
UTC
Name
Type
Description
statement_id
string
StatementID is the unique ID assigned to the statement initiation request
redirect_uri
string
RedirectURI is the URL that end users need to be redirected to in order to continue the statement-retrieval operation
time_consent_granted
string
TimeConsentGranted is the timestamp when user grant consent
request_id
string
RequestID is unique identifier per session that we can use for multi retrieval
Example:
{
"statement_id" : "96481b6f-f6f1-4414-badc-8fb1dae6c51c" ,
"redirect_uri" : "https://pidp-server.bnk.to?app=statement\u0026statement_id=96481b6f-f6f1-4414-badc-8fb1dae6c51c\u0026country=PH\u0026organization_display_name=NeoBank\u0026return_url=http%3A%2F%2Ffoo.com\u0026bank_codes=262,263,406" ,
"time_consent_granted" : "2021-11-26T05:55:11Z" ,
"request_id" : "string"
}
Status
Description
200
A successful response.
404
Returned when the resource is not found.
Initiates a statement multi retrieval request
curl -X POST \
https://statement.sandbox.bnk.to/v1/statement-init-multiretrieval \
-H 'x-api-key: USE_YOUR_API_KEY' \
-d '{
"country": "PH",
"request_id": "00000000-0000-0000-00000000"
}'
POST https://statement.sandbox.bnk.to/v1/statement-init-multiretrieval
Name
Type
Description
request_id
string
RequestID is unique identifier per session that we can use for multi retrieval
Name
Type
Description
statement_id
string
StatementID is the unique ID assigned to the statement initiation request
redirect_uri
string
RedirectURI is the URL that end users need to be redirected to in order to continue the statement-retrieval operation
time_consent_granted
string
TimeConsentGranted is the timestamp when user grant consent
request_id
string
RequestID is unique identifier per session that we can use for multi retrieval
Example:
{
"statement_id" : "96481b6f-f6f1-4414-badc-8fb1dae6c51c" ,
"redirect_uri" : "https://pidp-server.bnk.to?app=statement\u0026statement_id=96481b6f-f6f1-4414-badc-8fb1dae6c51c\u0026country=PH\u0026organization_display_name=NeoBank\u0026return_url=http%3A%2F%2Ffoo.com\u0026bank_codes=262,263,406" ,
"time_consent_granted" : "2021-11-26T05:55:11Z" ,
"request_id" : "string"
}
Status
Description
200
A successful response.
404
Returned when the resource is not found.
Purge the statement associated with statement_ids and download identifier
curl -X POST \
https://statement.sandbox.bnk.to/v1/statement-purge \
-H 'x-api-key: USE_YOUR_API_KEY' \
-d '{
"statement_ids": "[]string",
"download_id": "string",
"confirm": "bool"
}'
POST https://statement.sandbox.bnk.to/v1/statement-purge
Name
Type
Description
statement_ids
[]string
StatementIDs are the list of statement ids for which the account and transaction details need to be purged
download_id
string
DownloadID is the unique identifier that represens a list of statement ids associated when statement detail report downloaded, passing the download_id will delete the statement account and transactions corresponds to the download identifier
confirm
bool
Confirm denotes that the statement shall be deleted, the flag won’t be required if purge happens by passing the statement_id if the download_id is passed and confirm is set to true the statement ids associated with download id’s will be purged, otherwise the downloaded statements details against the download_id will be deleted.
Name
Type
Description
purged_at
Timestamp
PurgedAt denotes the time when statement purged
statement_count
int32
StatementCount returns the number of statement purged
Name
Type
Description
seconds
int64
nanos
int32
Example:
{
"purged_at" : {
"seconds" : "int64" ,
"nanos" : "int32"
},
"statement_count" : "int32"
}
Status
Description
200
A successful response.
404
Returned when the resource is not found.
Initiates a static link request
curl -X POST \
https://statement.sandbox.bnk.to/v1/static-link \
-H 'x-api-key: USE_YOUR_API_KEY' \
-d '{
"country": "string",
"bank_codes": "[]BankCode",
"app_redirect_uri": "string",
"organization_display_name": "string",
"logo_url": "string",
"expiry_limit": "int32",
"expires_in": "string",
"start_date": "string",
"end_date": "string",
"alternative_data_sources": "[]BankCode",
"pdf_upload": "bool",
"reference_id_label": "string",
"hide_brankas_logo": "bool",
"hide_brankas_text": "bool",
"custom_shortcode": "string"
}'
POST https://statement.sandbox.bnk.to/v1/static-link
Name
Type
Description
country
string
Country is the country code (ID, PH, TH)
bank_codes
[]BankCode
BankCodes used to specify the list of bank to be shown to user
app_redirect_uri
string
AppRedirectURI is the URL that end users need to be redirected after the successful statement retrieval operation
organization_display_name
string
OrganizationDisplayName is a name of the organization that send the request and will be displayed when processing the statement request
logo_url
string
LogoURL represent the logo that should used during the statement retrieval operation
expiry_limit
int32
ExpiryLimit denotes the static link shall only be used until the limit/count exceeds, it will be considered as expired after when limit exceeds
expires_in
string
ExpiresIn denotes date for link that shall be active, it will be considered as expired after the duration Date/Time ranges should follow the YYYY-MM-DD convention
start_date
string
StartDate is the start date of the statement request Date/Time ranges should follow the YYYY-MM-DD convention
end_date
string
EndDate is the end date of the statement request Date/Time ranges should follow the YYYY-MM-DD convention
alternative_data_sources
[]BankCode
AlternativeDataSources used to specify the list of alternative data sources to be shown to user
pdf_upload
bool
PDFUpload used to identify if client wants to enable PDF parser feature or not
reference_id_label
string
ReferenceIDLabel is the label for reference id/external id that will be shown to user
hide_brankas_logo
bool
HideBrankasLogo used to hide brankas logo on consent page
hide_brankas_text
bool
HideBrankasText used to hide brankas text on consent page
custom_shortcode
string
CustomShortCode is a customized code that represent a staticlink to indicate the statement request initiated via static link
BankCode is the internal code (enum) used by the service to target a specific bank for the statement retrieval request.
Value
Description
UNKNOWN_BANK
DUMMY_BANK_PERSONAL
Bank code to instruct the statement retrieval service to target the sandboxed Brankas dummy bank for test calls
BDO_PERSONAL
Bank code to retrieve retail bank account statements / transaction histories from the Banco De Oro Unibank (BDO)
BPI_PERSONAL
Bank code to retrieve retail bank account statements / transaction histories from the Bank of the Philippines Islands (BPI)
BPI_CORPORATE
Bank code to retrieve retail bank (corporate) account statements / transaction histories from the Bank of the Philippines Islands (BPI)
KASIKORNBANK_PERSONAL
Bank code to retrieve retail bank account transaction data for Kasikornbank.
PNB_PERSONAL
Bank code to retrieve retail bank account transaction data for Philippine National Bank
UNIONBANK_PERSONAL
Bank code to retrieve retail bank account transaction data for Union Bank
UNIONBANK_CORPORATE
Bank code to retrieve retail bank account transaction data for Union Bank
METROBANK_PERSONAL
Bank code to retrieve retail bank account transaction data for Metropolitan Bank
RCBC_PERSONAL
Bank code to retrieve retail bank account statements / transaction histories from the Rizal Commercial Banking Corporation
GCASH_PERSONAL
code to retrieve account statements / transaction histories from GCASH
LANDBANK_PERSONAL
Bank code to retrieve ratail bank account statements / transaction histories from Landbank Personal
KOMO_PERSONAL
Bank code to retrieve ratail bank account statements / transaction histories from Komo
VCB_PERSONAL
Bank code to retrieve ratail bank account statements / transaction histories from Vietcombank
MAYA_PERSONAL
Bank code to retrieve retail online payment account transaction data for Pay Maya
Name
Type
Description
static_link
string
StaticLink is the static URL that shall be used to initiate the statement-retrieval operation
Example:
{
"static_link" : "string"
}
Status
Description
200
A successful response.
404
Returned when the resource is not found.
UpsertEmailNotification creates or updates an email notification object.
curl -X PUT \
https://statement.sandbox.bnk.to/v1/notification/email \
-H 'x-api-key: USE_YOUR_API_KEY' \
-d '{
"id": "string",
"description": "string",
"status": "NotificationStatus",
"emails": "[]string"
}'
PUT https://statement.sandbox.bnk.to/v1/notification/email
Name
Type
Description
id
string
ID contains the unique identifier of the notification.
description
string
Description for this notification.
status
NotificationStatus
Status is the state of this notification - whether it is still active or not.
emails
[]string
Emails are emails list used to send email CSV of the retrieved statement
Value
Description
UNKNOWN_URLSTATUS
ACTIVE
INACTIVE
ACTIVE_UNPROXIED
Name
Type
Description
id
string
ID contains the unique identifier of the business information object.
Example:
Status
Description
200
Request executed successfully.
404
Returned when the resource is not found.
UpsertNotification creates or updates a notification object.
curl -X PUT \
https://statement.sandbox.bnk.to/v1/notification \
-H 'x-api-key: USE_YOUR_API_KEY' \
-d '{
"id": "string",
"description": "string",
"url": "string",
"status": "NotificationStatus",
"statement_events": "[]StatementEvent",
"balance_events": "[]BalanceEvent",
"": "map[string]string"
}'
PUT https://statement.sandbox.bnk.to/v1/notification
Name
Type
Description
id
string
ID contains the unique identifier of the notification.
description
string
Description for this notification.
url
string
URL contains the actual notification value.
status
NotificationStatus
Status is the state of this notification - whether it is still active or not.
statement_events
[]StatementEvent
StatementEvents are statement retrieval states which will be the basis when posting notification.
balance_events
[]BalanceEvent
BalanceEvents are balance retrieval states which will be the basis when posting notification.
map[string]string
Headers consist of list of key/value that need to be added for the notification request
Value
Description
UNKNOWN_URLSTATUS
ACTIVE
INACTIVE
ACTIVE_UNPROXIED
StatementEvent are the possible events during the statement retrieval flow.
Value
Description
ALL_EVENT
RECORDS_AVAILABLE_EVENT
COMPLETED_EVENT
INACTIVATED_EVENT
CANCELLED_EVENT
PURGED_EVENT
INCOME_AVAILABLE_EVENT
BalanceEvent are the possible events during the balance retrieval flow.
Value
Description
ALL_EVENT
IN_PROGRESS_EVENT
SUCCESS_EVENT
INACTIVATED_EVENT
CANCELLED_EVENT
PURGED_EVENT
Name
Type
Description
id
string
ID contains the unique identifier of the business information object.
Example:
Status
Description
200
Request executed successfully.
404
Returned when the resource is not found.
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.
curl -X GET \
https://status.bnk.to/v1/status \
-H 'x-api-key: USE_YOUR_API_KEY'
GET https://status.bnk.to/v1/status
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
Name
Type
Description
institutions
[]Institution
List of all institutions
Name
Type
Description
product
Product
name
string
institution_code
InstitutionCode
status
Status
country
string
product_status
Status
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 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 is the enum used to identify the status of the product/institution
Value
Description
ENABLED
DISABLED
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.