Brankas Brankas

Brankas Direct API v1.0.0

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

  • Host https://direct.bnk.to

  • Base Path v1

Checkout

The Checkout endpoint creates a fund transfer initiation request that the end user can complete via the Brankas Identity Provider service (IdP). 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 IDP 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 IDP.

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

HTTP Request

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

Body Parameters

NameTypeDescription
customerCustomercustomer 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_idstringreference_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.
amountAmountamount 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.
fromAccountInfofrom is the source account information. Make sure the bank code on this field is set, this bank will be used to initiate the transfer. Bank Codes used in this field follow a different convention from the bank codes used for the destination account in the to object. For the full list of supported bank codes, see Source Account Bank Codes in the Bank Codes section.
payment_channelPaymentChannelTypepayment_channel is to be used for inter-bank fund transfers. Allows for the selection of established payment networks, clearing houses, or settlement partners to be used in order to facilitate an inter-bank fund transfer. This field is only required if the fund transfer is an inter-bank fund transfer. Otherwise, if the fund transfer is an intra-bank transfer, this field should be completely omitted.
memostringmemo is a user defined remarks attached to the transfer in the memo line (e.g. RRN).
destination_account_idstringdestination_account_id is the string ID corresponding to the bank information of the recipient.
clientClientclient contains the relevant information about the client who uses the checkout flow.
expiry_date_timeTimestampexpiry_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 equal 2021-05-01T00:00:00Z, this means transaction will be expired at 01 May 2021 00:00. However if it’s empty, transaction will be expired 24 hour after checkout endpoint was hit.
unique_amountUniqueAmountTypeUniqueAmount sets the option for enabling the cents reconciliation workaround logic which modifies the transaction amount in attempt to make it unique for the time period.
Objects
Customer
NameTypeDescription
fnamestringThe end user’s first name.
lnamestringThe end user’s last name.
mnamestringThe end user’s middle name.
emailstringThe customer’s contact email.
mobilestringThe end user’s mobile phone number.
phonestringPhone is the customer’s Landline number.
customer_idstringAn additional user identifier, such as a UUID, that the Brankas client can optionally add to the customer object.
addressAddressAddress is the customer’s address.
InvoiceDetails
NameTypeDescription
line_items[]LineItemLineItems is the list of ordered item details
charges[]ChargeCharges is the list of cost/charge corresponding to each item in LineItems
discount[]DiscountDiscounts is the list of discounts corresponding to each item in LineItems
amountAmountAmount is the overall cost of all orders
Amount
NameTypeDescription
curCurrencyISO4217Cur is the currency.
numstringNum is the numeric value.
AccountInfo
NameTypeDescription
typeAccountInfoTypeThe type of info relating to a bank transfer account.
bank_codeBankCodeBrankas 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. For the full list and details on bank codes, please see the Bank Codes section.
countryCountryISO3166The country where the end user’s bank is based using ISO 3166 Alpha-2 country codes. Currently supports: Indonesia: ID, Philippines: PH, & Thailand: TH.
DestinationAccountInfo
NameTypeDescription
typeAccountInfoTypeType is the account info type.
bank_codeDestinationBankCodeBankCode is a bank code. Only present when type is BANK.
account_numberstringAccountNumber is a bank account number.
identifierstringIdentifier is a unique account ID, profile ID, or the bank account number and is interpreted based on the account info type.
holder_namestringHolderName 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_namestringHolderFirstName is the first name of the account holder.
holder_middle_namestringHolderMiddleName is the middle name of the account holder.
holder_last_namestringHolderLastName is the last name of the account holder.
email_addressstringEmailAddress is the destination user email address.
mobile_country_codestringMobileCountryCode is the mobile country dial code.
mobile_numberstringMobileNumber is the destination user mobile number.
address_line1stringAddressLine1 is the user destination address information.
address_line2stringAddressLine1 is the user destination address additional information.
citystringCity is the user destination residential city.
statestringState is the user destination residential state.
countrystringCountry is the user destination residential country.
Client
NameTypeDescription
display_namestringDisplayName of the client
logo_urlstringLogoURL is the link to the client’s logo
return_urlstringReturnURL is the return path via a redirect after a checkout transaction has been accomplished
fail_urlstringFailURL is the return path via a redirect after a checkout transaction has failed
encrypted_credsstringEncryptedCredential is the encrypted user credentials used to enable the user to skip the log in process
deep_linkboolDeepLink indicates that the client wanted to display remember me feature on login form
header_textstringHeaderText is the text for the header replacing the logo
short_redirect_uriboolShortRedirectURI indicates that the client wanted to have short_redirect_uri generated on the redirect_uri
Timestamp
NameTypeDescription
secondsint64
nanosint32
Address
NameTypeDescription
line1stringLine1 is the customer’s first line of address
line2stringLine2 is the customer’s second line of address
citystringCity is the customer’s city
provincestringProvince is the customer’s province
zip_codestringZipCode is the customer’s postal code
countrystringCountry is the country the customer is located in
LineItem
NameTypeDescription
item_namestringItemName is name of the item
item_idstringItemID is any internal ID the Brankas Client/merchant might have to represent this item
unit_pricestringUnitPrice is the price of a single unit of the item
price_curCurrencyISO4217PriceCur is the currency for the lineitem price following ISO_4217
quantityint32Quantity is the number of items
Charge
NameTypeDescription
charge_typestringChargeType is the type of charge for the corresponding lineitem
charge_amountstringChargeAmount is the amount cost for the corresponding lineitem
charge_curCurrencyISO4217DiscountCur is the currency for the charge following ISO_4217
Discount
NameTypeDescription
discount_typestringDiscountType is the type of discount for the correspondign lineitem
discount_amountstringDiscountAmount is the amount discounted for the corresponding lineitem
discount_curCurrencyISO4217DiscountCur is the currency for the discount following ISO_4217
Enums
PaymentChannelType

PaymentChannelType is the payment rail that will be used to facilitate the inter-bank fund transfer. Allows for the selection of established payment networks, switching service, clearing houses, or settlement partners to be used in order to move fund transfer to the beneficiary bank and bank account.

ValueDescription
ID_LLG
ID_RTGS
PH_PESONETProcess inter-bank fund transfer via the PESONet electronic fund transfer (EFT) Automated Clearing House.
PH_INSTAPAYProcess inter-bank fund transfer via the InstaPay electronic fund transfer (EFT) Automated Clearing House.
PH_PAYNAMICSProcess inter-bank fund transfer via Paynamics settlements service, a Brankas Partner.
ID_BANK_MEGA_IPGProcess inter-bank fund transfer via Bank Mega - IPG settlements service.
ID_SHOPEEProcess intra/inter-bank fund transfer via Shopee Pay QRIS acquirer.
UniqueAmountType

UniqueAmountType for cents reconciliation workaround

ValueDescription
NONENONE will not apply any modification to the transaction amount
ADDADD will apply additional centavos to the transaction amount
SUBTRACTSUBTRACT will deduct centavos to the transaction amount
CurrencyISO4217

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

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

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

ValueDescription
AccountInfoTypeUNKNOWNUnrecognised info type.
ACCOUNTAccount type.
PROFILEProfile type.
BANKBank type.
MSISDNPhone number type.
BankCode
ValueDescription
UNKNOWN_BANK
DUMMY_BANK_PERSONALBrankas Bank. A test bank that you can make sandboxed calls to as part of integration testing.
DUMMY_BANK_BCA_PERSONALBCA dummy bank that can make sandboxed calls as part of integration testing. (DEPRECATED)
MANDIRI_PERSONALID PT. Bank Mandiri (Persero), TBK.
BCA_PERSONALPT. Bank Central Asia, TBK.
BNI_PERSONALPT. Bank Negara Indonesia (Persero), TBK.
BRI_PERSONALPT. Bank Rakyat Indonesia (Persero), TBK.
BCA_CORPORATE
CIMB_PERSONALPT Bank CIMB Niaga Tbk
BDO_PERSONALPH Banco De Oro Unibank, Inc. (BDO).
BPI_PERSONALBank of the Philippine Islands (BPI).
PNB_PERSONALPhilippine National Bank (PNB).
UNIONBANK_PERSONAL
UNIONBANK_CORPORATE
METROBANK_PERSONALThe Metropolitan Bank and Trust Company (Metrobank).
RCBC_PERSONALThe Rizal Commercial Banking Corporation (RCBC).
CLRB_PERSONALCebuana Lhuillier Rural Bank (CLRB).
KOMO_PERSONALKomo / EastWest Rural Bank
EASTWEST_PERSONALEastWest Bank
SCB_PERSONALTH
KASIKORNBANK_PERSONAL
CountryISO3166
ValueDescription
Unknown
ID
PH
TH
DestinationBankCode
ValueDescription
UNKNOWN_DESTINATION_BANK
DUMMY_BANK_DESTINATION
ID_BCA
ID_BCA_SYR
ID_BNI
ID_BNI_SYR
ID_BRI
ID_BRI_SYR
ID_MANDIRI
ID_MANDIRI_SYR
ID_BTN
ID_BTN_SYR
ID_PERMATA
ID_PERMATA_SYR
ID_DNMN
ID_DNMN_SYR
ID_BTPN
ID_BTPN_SYR
ID_OCBC
ID_OCBC_SYR
ID_MAYBANK
ID_MAYBANK_SYR
ID_CIMB
ID_CIMB_SYR
ID_PAN
ID_PAN_SYR
ID_MEGA
ID_MEGA_SYR
ID_BKP
ID_BKP_SYR
ID_DKI
ID_DKI_SYR
ID_BJB
ID_BJB_SYR
ID_JATIM
ID_JATIM_SYR
ID_HSBC
ID_DBS
ID_STAN
ID_UOB
ID_CITI
PH_BDO
PH_BPI
PH_BPIF
PH_METRO
PH_PNB
PH_PNBS
PH_RCBC
PH_RCBCS
PH_SB
PH_SBS
PH_UB
PH_CLRB
PH_GXI
PH_GBY
PH_LBP
PH_PMP
PH_PSB
PH_RSB
PH_CB
PH_CBS
TH_KBANK
DUMMY_INTERBANK_DESTINATION
PH_ALLBANK
PH_SUNSB
PH_STERLING
PH_MBSMB
PH_AUB
PH_BOC
PH_MAYBANK
PH_PBCOM
PH_CTBC
PH_EWB
PH_EQB
PH_OMNIPAY
PH_UCPB
PH_PHILTRUST
PH_WDB
PH_DUNGGANUN
PH_UCPBSB
PH_ISLA
PH_PRBC
PH_PBB
PH_PVB
PH_YSBP
PH_MABUHAY
PH_CTBCPH
PH_ING
PH_QCRB
PH_BDONB
PH_EWBRB
TH_SCB
PH_STAN
PH_HSBC
PH_CITI
PH_BOA
PH_UOB
PH_TOKYO
PH_MICB
PH_DBP
PH_ANZ
PH_KEB_HANA
PH_CHASE
PH_FCB
PH_MIZUHO
PH_DBS
PH_BBL
PH_CHINA
PH_SUMITOMO_MITSUI
PH_SHINHAN
PH_IBK
PH_STARPAY
PH_QUEENBANK
PH_INNOVATIVE_BANK
PH_AAIIB
PH_PRODUCERSSBC
PH_BPI_BANKO
PH_CIMB
PH_BANKFLORIDAPH
PH_GUINOBATAN
PH_HSBCSB
PH_CAMALIG
PH_COUNTRY_BUILDERS
PH_RANGAY_BANK
PH_COINSPH
PH_CARDBANK

Responses

Response body

NameTypeDescription
transaction_idstringtransaction_id is the unique identifier assigned to the fund transfer request.
redirect_uristringredirect_uri is the URL that end users need to be redirected to in order to authorize the fund transfer and complete the transaction.
bank_interaction_methods[]BankInteractionMethodbank_interaction_methods are the available methods to interact with the bank.
short_redirect_uristringshort_redirect_uri is the shortened version of the redirect_uri.
Enums
BankInteractionMethod

BankInteractionMethod are the possible methods to interact with a bank.

ValueDescription
UNKNOWN_INTERACTION_METHODUnknown bank interaction method.
SCRAPERScraper is a bank interaction method, which scrapes actual web pages.
APIAPI is a bank interaction method, which uses endpoints to interact with banks and handles account selection phase on bank side.
QRCODEQRCode uses the qrcode generated by the bank itself to fulfill the fund transfer.
APIWithAccountSelectionAPI With Account Selection is a bank interaction method, which uses API to interact but handles the account selection phase on brankas side.

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",
  "bank_interaction_methods": [
    "SCRAPER"
  ],
  "short_redirect_uri": "https://direct.your-subdomain.bnk.to/tap/XXXXXXXX"
}

Response codes

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

Retrieve the transfers

RetrieveTransfer returns the details of a fund transfer request. By specifying the transfer_id of the relevant transaction as a query parameter, only the record specific to that transfer will be retrieved. If no transfer_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.bnk.to/v1/transfer \
	-H 'Authorization: Bearer USE_YOUR_TOKEN'

HTTP Request

GET https://direct.bnk.to/v1/transfer

Responses

Response body

NameTypeDescription
transfers[]Transfertransfers are the transfers that match the filters of a request.
next_pageint32next_page is the number of the next page that can be returned. if it is 0, there are no more pages available.
total_countint32total_count of the transactions matched by the query filters
Objects
Transfer
NameTypeDescription
statusStatusstatus indicates the current status of the transfer.
fromAccountInfofrom is the source account information. Make sure the bank code on this field is set, this bank will be used to initiate the transfer.
toDestinationAccountInfoto is the destination account information.
amountAmountamount is the transaction amount to be transferred from the source account to the destination account.
user_memostringuser_memo is a user defined remarks attached to the transfer in the memo line (e.g. RRN).
bank_memostringbank_memo is a bank-supplied memo line (e.g. confirmation number, payment reference code, or transaction ID of the fund transfer).
createdTimestampcreated is a timestamp when the transfer transaction was initiated.
completedTimestampcompleted is a timestamp when the transfer transaction was fully processed.
payment_channelstringpayment channel is the desired payment channel to be used for inter-bank fund transfers. Allows for the selection of established payment networks, clearing houses, or settlement partners to be used in order to facilitate an inter-bank fund transfer.
settlementSettlementsettlement displays initial confirmation details for inter-bank fund transfer transactions from settlement partners and clearing services, indicating that the fund transfer has been received by the service and that the settlement will be carried out.
customerCustomercustomer is the end user’s identifying and contact information that allows transactions to be attributed to a specific end user.
transfer_idstringtransfer_id is the internal transfer transaction identifier.
updatedTimestampupdated is the timestamp when the transfer was modified.
reference_idstringreference_id is the client identifier for an invoice object.
bank_ref_codestringbank_ref_code is the code assigned by bank to track the transaction.
org_idstringorg_id is the unique organization identifier.
consent_grantedboolconsent_granted is the flag that represents if the user gave the system its consent.
additional_detailsAdditionalDetailsadditional_details contains the additional optional information related to the transaction.
bank_interaction_methodBankInteractionMethodbank_interaction_method is the selected method to interact with the bank.
expiry_date_timeTimestampexpiry_date_time is the expiry time of the created invoice.
status_codestringstatus_code indicates the current status code of the transfer.
status_descstringstatus_desc indicates the accompanying description of the given status code of the transfer.
orig_amountAmountOrigAmount is the original transfer amount.
AccountInfo
NameTypeDescription
typeAccountInfoTypeThe type of info relating to a bank transfer account.
bank_codeBankCodeBrankas 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. For the full list and details on bank codes, please see the Bank Codes section.
countryCountryISO3166The country where the end user’s bank is based using ISO 3166 Alpha-2 country codes. Currently supports: Indonesia: ID, Philippines: PH, & Thailand: TH.
DestinationAccountInfo
NameTypeDescription
typeAccountInfoTypeType is the account info type.
bank_codeDestinationBankCodeBankCode is a bank code. Only present when type is BANK.
account_numberstringAccountNumber is a bank account number.
identifierstringIdentifier is a unique account ID, profile ID, or the bank account number and is interpreted based on the account info type.
holder_namestringHolderName 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_namestringHolderFirstName is the first name of the account holder.
holder_middle_namestringHolderMiddleName is the middle name of the account holder.
holder_last_namestringHolderLastName is the last name of the account holder.
email_addressstringEmailAddress is the destination user email address.
mobile_country_codestringMobileCountryCode is the mobile country dial code.
mobile_numberstringMobileNumber is the destination user mobile number.
address_line1stringAddressLine1 is the user destination address information.
address_line2stringAddressLine1 is the user destination address additional information.
citystringCity is the user destination residential city.
statestringState is the user destination residential state.
countrystringCountry is the user destination residential country.
Amount
NameTypeDescription
curCurrencyISO4217Cur is the currency.
numstringNum is the numeric value.
Timestamp
NameTypeDescription
secondsint64
nanosint32
Settlement
NameTypeDescription
settlement_idstringID represents the settlement ticket/request on the settlement partner’s system.
settlement_response_idstringResponseID is the ID that a settlements partner attaches to each settlement status update POST from their systems
settlement_response_codeSettlementResponseCodeSettlementResponseCode is the response code sent by a settlements partner indicating the status of the settlement item.
settlement_response_statusstringStatus the human-readable status of the response code.
settlement_timestampTimestampTimestamp is the ID that a settlement partner attaches to each settlement status update POST from their systems
Customer
NameTypeDescription
fnamestringThe end user’s first name.
lnamestringThe end user’s last name.
mnamestringThe end user’s middle name.
emailstringThe customer’s contact email.
mobilestringThe end user’s mobile phone number.
phonestringPhone is the customer’s Landline number.
customer_idstringAn additional user identifier, such as a UUID, that the Brankas client can optionally add to the customer object.
addressAddressAddress is the customer’s address.
AdditionalDetails
NameTypeDescription
qr_codestringQRCodeRawData contains the raw text data that will be used to recreate the QRCode.
account_alias_idstringAccountAliasID is the alternative identifier of the destination account.
to_address_line1stringToAddressLine1 is the user destination address information.
to_address_line2stringToAddressLine1 is the user destination address additional information.
to_citystringToCity is the user destination residential city.
to_statestringToState is the user destination residential state.
to_countrystringToCountry is the user destination residential country.
terms_of_use_versionstringTermsOfUseVersion is the version number of the terms of use document that the user interacted unto.
privacy_policy_versionstringPrivacyPolicyVersion is the version number of the privacy policy document that the user interacted unto.
user_id_hashstringUserIdHash 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_hashstringUserAccessHash 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_hashstringUserAccountHash 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
viaViaVia indicates fund transfer rail used for the transfer
bank_feeAmountBankFee 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_identifierstringSettlementIdentifier contains the primary identifier used by the settlement partner for this type of bank.
settlement_identifier_aliasstringSettlementIdentifierAlias contains the alias or secondary identifier used by the settlement partner for this type of bank.
Address
NameTypeDescription
line1stringLine1 is the customer’s first line of address
line2stringLine2 is the customer’s second line of address
citystringCity is the customer’s city
provincestringProvince is the customer’s province
zip_codestringZipCode is the customer’s postal code
countrystringCountry is the country the customer is located in
Enums
Status

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

ValueDescription
PENDINGPending operation.
AWAITING_TFAAwaiting TFA authentication.
SUCCESSSuccessful operation.
ERRORError during operation.
LOGIN_ERRORLogin Error.
INVOICE_CREATEDCheckout invoice created.
AWAITING_LOGINLogin in progress.
AWAITING_LOGIN_TFAAwaiting login TFA Authentication.
AWAITING_ACCOUNT_SELECTAwaiting account selection.
AWAITING_TRANSFER_TFAAwaiting transfer TFA Authentication.
IN_PROGRESSTransfer is in progress.
EXPIREDTransaction Expired.
FLAGGEDTransaction Flagged - receiver needs to do manual verification and settlement.
CANCELLEDTransaction Cancelled - sender cancelled the transaction.
DENIEDTransaction Denied - sender denied the consent.
FAILEDTransaction Failed - receiver was not able to receive the funds.
BankInteractionMethod

BankInteractionMethod are the possible methods to interact with a bank.

ValueDescription
UNKNOWN_INTERACTION_METHODUnknown bank interaction method.
SCRAPERScraper is a bank interaction method, which scrapes actual web pages.
APIAPI is a bank interaction method, which uses endpoints to interact with banks and handles account selection phase on bank side.
QRCODEQRCode uses the qrcode generated by the bank itself to fulfill the fund transfer.
APIWithAccountSelectionAPI With Account Selection is a bank interaction method, which uses API to interact but handles the account selection phase on brankas side.
AccountInfoType

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

ValueDescription
AccountInfoTypeUNKNOWNUnrecognised info type.
ACCOUNTAccount type.
PROFILEProfile type.
BANKBank type.
MSISDNPhone number type.
BankCode
ValueDescription
UNKNOWN_BANK
DUMMY_BANK_PERSONALBrankas Bank. A test bank that you can make sandboxed calls to as part of integration testing.
DUMMY_BANK_BCA_PERSONALBCA dummy bank that can make sandboxed calls as part of integration testing. (DEPRECATED)
MANDIRI_PERSONALID PT. Bank Mandiri (Persero), TBK.
BCA_PERSONALPT. Bank Central Asia, TBK.
BNI_PERSONALPT. Bank Negara Indonesia (Persero), TBK.
BRI_PERSONALPT. Bank Rakyat Indonesia (Persero), TBK.
BCA_CORPORATE
CIMB_PERSONALPT Bank CIMB Niaga Tbk
BDO_PERSONALPH Banco De Oro Unibank, Inc. (BDO).
BPI_PERSONALBank of the Philippine Islands (BPI).
PNB_PERSONALPhilippine National Bank (PNB).
UNIONBANK_PERSONAL
UNIONBANK_CORPORATE
METROBANK_PERSONALThe Metropolitan Bank and Trust Company (Metrobank).
RCBC_PERSONALThe Rizal Commercial Banking Corporation (RCBC).
CLRB_PERSONALCebuana Lhuillier Rural Bank (CLRB).
KOMO_PERSONALKomo / EastWest Rural Bank
EASTWEST_PERSONALEastWest Bank
SCB_PERSONALTH
KASIKORNBANK_PERSONAL
CountryISO3166
ValueDescription
Unknown
ID
PH
TH
DestinationBankCode
ValueDescription
UNKNOWN_DESTINATION_BANK
DUMMY_BANK_DESTINATION
ID_BCA
ID_BCA_SYR
ID_BNI
ID_BNI_SYR
ID_BRI
ID_BRI_SYR
ID_MANDIRI
ID_MANDIRI_SYR
ID_BTN
ID_BTN_SYR
ID_PERMATA
ID_PERMATA_SYR
ID_DNMN
ID_DNMN_SYR
ID_BTPN
ID_BTPN_SYR
ID_OCBC
ID_OCBC_SYR
ID_MAYBANK
ID_MAYBANK_SYR
ID_CIMB
ID_CIMB_SYR
ID_PAN
ID_PAN_SYR
ID_MEGA
ID_MEGA_SYR
ID_BKP
ID_BKP_SYR
ID_DKI
ID_DKI_SYR
ID_BJB
ID_BJB_SYR
ID_JATIM
ID_JATIM_SYR
ID_HSBC
ID_DBS
ID_STAN
ID_UOB
ID_CITI
PH_BDO
PH_BPI
PH_BPIF
PH_METRO
PH_PNB
PH_PNBS
PH_RCBC
PH_RCBCS
PH_SB
PH_SBS
PH_UB
PH_CLRB
PH_GXI
PH_GBY
PH_LBP
PH_PMP
PH_PSB
PH_RSB
PH_CB
PH_CBS
TH_KBANK
DUMMY_INTERBANK_DESTINATION
PH_ALLBANK
PH_SUNSB
PH_STERLING
PH_MBSMB
PH_AUB
PH_BOC
PH_MAYBANK
PH_PBCOM
PH_CTBC
PH_EWB
PH_EQB
PH_OMNIPAY
PH_UCPB
PH_PHILTRUST
PH_WDB
PH_DUNGGANUN
PH_UCPBSB
PH_ISLA
PH_PRBC
PH_PBB
PH_PVB
PH_YSBP
PH_MABUHAY
PH_CTBCPH
PH_ING
PH_QCRB
PH_BDONB
PH_EWBRB
TH_SCB
PH_STAN
PH_HSBC
PH_CITI
PH_BOA
PH_UOB
PH_TOKYO
PH_MICB
PH_DBP
PH_ANZ
PH_KEB_HANA
PH_CHASE
PH_FCB
PH_MIZUHO
PH_DBS
PH_BBL
PH_CHINA
PH_SUMITOMO_MITSUI
PH_SHINHAN
PH_IBK
PH_STARPAY
PH_QUEENBANK
PH_INNOVATIVE_BANK
PH_AAIIB
PH_PRODUCERSSBC
PH_BPI_BANKO
PH_CIMB
PH_BANKFLORIDAPH
PH_GUINOBATAN
PH_HSBCSB
PH_CAMALIG
PH_COUNTRY_BUILDERS
PH_RANGAY_BANK
PH_COINSPH
PH_CARDBANK
CurrencyISO4217

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

ValueDescription
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
SettlementResponseCode
ValueDescription
UNKNOWN_CODE
GR001
GR011
GR032
GR036
GR092
RM021
RM022
RM036
Via

Via is the fund transfer rail enum.

ValueDescription
UNKNOWN_Via
INTRABANK
IDONLINE
IDLLG
IDRTGS
PHINSTAPAY
PHPESONET

Example:

{
  "transfers": [
    {
      "status": "SUCCESS",
      "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": "IDR",
        "num": "10000"
      },
      "user_memo": "A note sent via email to customer",
      "bank_memo": "PC-20190807-40266526",
      "created": "2019-08-30T04:31:02.395149Z",
      "completed": "2019-08-30T04:33:53.124922Z",
      "payment_channel": "PH_PAYNAMICS",
      "settlement": {
        "settlement_id": "DMY_BBANK-20190807-40266526",
        "settlement_response_id": "107341390436731840",
        "num": "GR001",
        "settlement_status": "Transaction Successful",
        "settlement_timestamp": "2020-04-02 14:23:39 +08:00"
      },
      "customer": {
        "fname": "John",
        "lname": "Johnson",
        "mname": "Joseph",
        "customer_id": "4f30b317-f98b-4454-bc05-7c4a2e48ec0d",
        "email": "john.johnson@domain.com",
        "mobile": "+62-283-5559-907"
      },
      "transfer_id": "f6355a01-e32b-426e-b2af-85366d305743",
      "updated": {
        "seconds": "int64",
        "nanos": "int32"
      },
      "reference_id": "9005376336",
      "bank_ref_code": "string",
      "org_id": "5338cfca-7ff4-11eb-a920-476c005dcafe",
      "consent_granted": true,
      "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"
        }
      },
      "bank_interaction_method": [
        "SCRAPER"
      ],
      "expiry_date_time": "2021-05-01T00:00:00Z",
      "status_code": "DIRDXXX2000",
      "status_desc": "generic success",
      "orig_amount": {
        "cur": "IDR",
        "num": "10000"
      }
    }
  ],
  "next_page": 2,
  "total_count": 25
}

Response codes

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