Fund Transfer External v2.0

Starting from 1 November 2023, this product will no longer receive support for development. Users can utilize SNAP BI version of the product here

What is Transfer to Other Banks?

With the growing numbers of private and public banks across the country, your need in banking transfer will be more complicated. Consumers does not only do transaction with one bank, they require fund transfer service, either to the same bank or to other banks.

To simplify the fund transfer process to other banks, business owners can implement API Transfer to Other Banks with BRIAPI. With this APIAPI, you can transfer funds to other banks account easily from your business dashboard, without visiting to BRI branch offices or ATM.

API Information

Title

Other Bank Fund Transfer

Version

v2.0

URL Sandbox

https://partner.api.bri.co.id/sandbox/v2/transfer/external

URL Production

https://partner.api.bri.co.id/v2/transfer/external

Version Control

Doc Version

API Version

Date

Link to document

Description

v1.0

v2.0

1 February 2019

open docs

Initial version

v2.0

v2.0

12 Maret 2021

this page

Added explanation and response code

v2.0

v2.0

12 April 2021

this page

Sandbox URL changes

 

Product Description

Product Overview

This API allows you to transfer funds from your BRI account (only current and savings accounts ) to another bank account. The source account must be your company account.

Flow API

Endpoint

 

A. Account Validation

Endpoint Description

This endpoint is used to validate the destination account which will be used in transaction. Normally, it is called before making fund transfer request to ensure that destination account (especially the account name) is correct.

General Information

HTTP Method

GET

Path

/accounts?bankcode={bankcode}&beneficiaryaccount={beneficiary account}

Format Type

JSON

Authentication

OAuth 2.0 with Access Token

Header Structure

Key

Value

Mandatory

Length

Description

Example

Authorization

Bearer {token}

M

-

Access Token

-

BRI-Timestamp

-

M

-

Timestamp in ISO8601 format

-

BRI-Signature

-

M

64

Signature

-

Query Param Structure

Sample of HTTP request:

GET https://sandbox.partner.api.bri.co.id/v2/transfer/external/accounts?bankcode={{bankcode}&beneficiaryaccount={{beneficiaryaccount}}

Field

Data Type

Mandatory

Length

Description

Example

bankcode

numeric

M

3

Destination bank code

014

beneficiaryaccount

numeric

M

15

destination account

8888123123

Response Structure

Field

Data Type

Mandatory

Length

Description

Example

responseCode

String

M

4

response code

0600

responseDescription

String

M

-

response description

Inquiry success

errorDescription

String

M for error response

-

Error Description

Beneficiary account must be a number

Name

String

M for success response

-

Beneficiary account name

 

Request & Response Payload Sample

Request :

curl --location --request GET 'https://sandbox.partner.api.bri.co.id/v2/transfer/external/accounts?bankcode=014&beneficiaryaccount=8888123123' \
--header 'BRI-Timestamp: 2021-07-07T08:19:34.098Z' \
--header 'BRI-Signature: jhkhdLnEkemAhSf683xxxxxM6qWwCAydQnrry5rB0=' \
--header 'Authorization: Bearer xMbxPT4lxxxxxxbmOH3otgev8SXZX' 

Normal Response:

{
"responseCode":"0600",
"responseDescription":"Inquiry Success",
"Name":"John Doe"
}

Error Response:

{
"responseCode": "0601", 
"responseDescription": "Inquiry can not be processed", 
"errorDescription": "Beneficiary account must be a number" 
}

List of Error/Response Code

Response Code

Response Description

Error Description

Status

Description

0600

Inquiry Success

-

Success

Inquiry Success, and data can be retrieved

0601

Inquiry can not be processed

Beneficiary account must be a number

Failed

-

0602

Inquiry can not be processed

Bank code/beneficiary account must not be empty

Failed

-

0603

Inquiry can not be processed

Bank code must be a number

Failed

-

0604

Inquiry can not be processed

Your IP & key has not been registered

Failed

-

0605

Inquiry can not be processed

This feature cannot be used

Failed

-

0607

Inquiry can not be processed

Connection lost

Failed

-

0608

Inquiry can not be processed

Transaction timeout

Failed

-

0609

Inquiry can not be processed

Beneficiary account not found

Failed

-

0613

Inquiry can not be processed

Connection lost

Failed

-

Any error response not listed in the BRIAPI response list is considered pending and requires further investigation

B. Transfer

Endpoint Description

This endpoint is used to request fund transfer from BRI account (current or saving account only) to other bank account. There is maximum total transaction limit and daily limit that will be set by BRI.

General Information

HTTP Method

POST

Path

/external

Format Type

JSON

Authentication

OAuth 2.0 with Access Token

Header Structure

Key

Value

Mandatory

Length

Description

Example

Authorization

Bearer {token}

M

-

Access Token

-

BRI-Timestamp

-

M

-

Timestamp in ISO8601 format

-

BRI-Signature

-

M

64

Signature

-

Content-Type

application/json

M

-

-

-

Request Structure

Field

Data Type

Mandatory

Length

Description

Example

noReferral

String

M

20

Unique reference number

20180212002

bankCode

Numeric

M

3

Destination bank code

014

sourceAccount

String

M

15

source account

888801000003301

beneficiaryAccount

String

M

15

Beneficiary Account

8888123123

beneficiaryAccountName

String

M

40

Beneficiary account name. The name itself should has the same value with the name that is retrieved from account validation. deskripsi field amount menjadi Amount format

John Doe

amount

String

M

-

Nominal Format ##.##

10000.00 (ten thousand)

Response Structure

Field

Data Type

Mandatory

Length

Description

Example

responseCode

String

M

-

Response Code

0700

responseDescription

String

M

-

Response Description

Payment Success

errorDescription

String

M

-

Error description

Payment data must not be empty

journalSeq

String

M

-

Journal sequence

3289331

Request & Response Payload Sample

Request :


curl --location --request POST 'https://sandbox.partner.api.bri.co.id/v2/transfer/external' \
--header 'Content-Type: application/json' \
--header 'BRI-Timestamp: 2021-07-07T08:23:21.275Z' \
--header 'BRI-Signature: VeLehqlexxxxxxxWRhibH+l6EwLIWASYTsK8Xkz5dzc=' \
--header 'Authorization: Bearer xMbxxxxxxxtlbmOH3otgev8SXZX' \
--data-raw '{
    "noReferral": "22222222",
    "bankCode": "014",
    "sourceAccount":"888801000003301",
    "beneficiaryAccount":"12345678",
    "beneficiaryAccountName":"John Doe";
    "amount":"1000.00"
}'

Normal Response :

{
"responseCode":"0700",
"responseDescription":"Payment Success",
"errorDescription":"",
"JournalSeq":"3289331"
}

Error Response :

{
"responseCode":"0701",
"responseDescription":"Payment can not be processed",
"errorDescription":"Source account/beneficiary account must be a number"
}

List of Error/Response Code

For case response codes other than SUCCESS, use the 3 fields Response Code, Response Description and Error Description to identify the transaction status FAILED or PENDING

Response Code

Response Description

Error Description

Status

Description

0700

Payment success

 

Success

Use this to indicate a successful transaction.

0601

Payment can not be processed

Beneficiary account must be a number 

Failed

-

0602

Payment can not be processed

Bank code/beneficiary account must not be empty 

Failed

-

0603

Payment can not be processed

Bank code must be a number

Failed

-

0604

Payment can not be processed

Your IP & key has not been registered

Failed

-

0605

Payment can not be processed

This feature cannot be used

Failed

-

0606 

Payment can not be processed

Transaction failed during standing mode

Failed

-

0607 

Payment can not be processed

Connection lost

Failed

-

0608 

Payment can not be processed

Transaction timeout 

Failed

-

0610 

Payment can not be processed

Transaction timeout 

Pending / Need To Check

Please check the bank statement to see the transfer status.

0611

Payment can not be processed

Duplicate sequence transaction

Failed

-

0612

Payment can not be processed

Debit account number not found

Failed

-

0613

Payment can not be processed

Connection lost

Failed

-

0614

Payment can not be processed

Insufficient Balance

Failed

-

0615

Payment can not be processed

Duplicate sequence transaction

Failed

-

0616

Payment can not be processed

Transaction exceeds the limit

Failed

-

0617

Payment can not be processed

Brinets connection is lost

Failed

-

0618

Payment can not be processed

Close account number

Failed

-

0619

Payment can not be processed

Passive account number

Failed

-

0620

Payment can not be processed

Transaction is being processed

Pending / Need To Check

Please check the bank statement to see the transfer status.

0701

Payment can not be processed

Source account/beneficiary account must be a number 

Failed

-

0702

Payment can not be processed

Payment data must not be empty 

Failed

-

0703

Payment can not be processed

Amount must be a number

Failed

-

0704

Payment can not be processed

Amount must be more than 0

Failed

-

0705

Payment can not be processed

Reference number is already used 

Failed

-

0706

Payment can not be processed

Bank code must be a number

Failed

-

0707

Payment can not be processed

Connection lost, didn't get any response. Please try again

Failed

-

0708

Payment can not be processed

Incorrect beneficiary account name

Failed

-

0709

Payment can not be processed

Invalid length source account

Failed

-

0788

Payment can not be processed

Transaction is being processed

Pending / Need To Check

Please check the bank statement to see the transfer status.

81

Throw an exception

(*All error description)

Pending / Need To Check

Please check the bank statement to see the transfer status.

Get HTML Error or HTTP Error

Pending / Need To Check

Please check the bank statement to see the transfer status.

Get No Response (Null)

Pending / Need To Check

Please check the bank statement to see the transfer status.

Get response (response code, response desc, error desc) that not listed above

Pending / Need To Check

Set the transaction to Pending / Need To Check, and contact our team.

Any error response not listed in the BRIAPI response list is considered pending and requires further investigation
NOTE: In the list above, you will see response codes in account validation endpoint appears again. It is normal, because in Transfer endpoint, our core system call account validation to validate the beneficiary account name. If the name is invalid or not match, we will send the error.

C. List Bank Code

Endpoint Description

This endpoint is used to get a list of available bank codes

General Information

HTTP Method

GET

Path

/external/accounts

Tipe Format

JSON

Authentication

OAuth 2.0 with Access Token

Query Param Structure

Sample HTTP request:

GEThttps://sandbox.partner.api.bri.co.id/v2/transfer/external/accounts

Response Structure

Field

Data Type

Mandatory

Length

Description

Example

responseCode

String

M

4

response code

0600

responseDescription

String

M

-

response description

Inquiry success

errorDescription

String

M

-

Error Description

Beneficiary account must be a number

Data

String

M

-

the data contains a list of bank codes and bank names

"Data" : [ { "BankCode" : "008", "BankName" : "BANK MANDIRI" }, { "BankCode" : "009", "BankName" : "BANK BNI" } ]

Request & Response Payload Sample

Request :


curl --location --request GET 'https://sandbox.partner.api.bri.co.id/v2/transfer/external/accounts' \
--header 'BRI-Timestamp: 2021-07-13T09:39:47.674Z' \
--header 'BRI-Signature: COBQovNoz4zNBdahRS5E43590Hkk8ldlJWXKXCNwLeg=' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--header 'Authorization: Bearer GwkfOMbySQHkgqLfYmwjw3oGautp'

Normal Response :

{
"responseCode": "00",
"responseDescription": "Get list other bank success",
    "errorDescription": "",
    "Data": [
        {
            "BankCode": "008",
            "Bankname": "BANK MANDIRI"
        },
        {
            "BankCode": "009",
            "Bankname": "BANK BNI"
        }
    ]
}
Any error response not listed in the BRIAPI response list is considered pending and requires further investigation

Additional Notes:

In this product we do not provide a "Check Status" endpoint.