Fund Transfer External v2.0-2

Fund Transfer Eksternal v2.0

API Information

Title

Other Bank Fund Transfer

Version

v2

URL Sandbox

https://sandbox.partner.api.bri.co.id/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

v2

1 February 2019

open docs

Initial version

v2

v2

12 Maret 2021

this page

Added explanation and response code

v2

v2

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

Account Validation

Description

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

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

-

Content-Type

application/json

M

-

-

-

Query Param Structure

Sample of HTTP request:

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

-

Destination account name

-

Request & Response Payload Sample

Request :

               curl -x GET 'https://partner.api.bri.co.id/sandbox/v2/transfer/external
               /accounts?bankcode= {{bankcode}&beneficiaryaccount={{beneficiaryaccount}}' \
               -H 'Authorization: Bearer {{TOKEN}}' \
               -H 'BRI-Signature: {{SIGNATURE}}' \ 
               -H 'BRI-Timestamp: {{TIMESTAMP}}'
                

Normal Response:

               {
                   "responseCode":"0600",
                   "responseDescription":"Inquiry Success",
                   "Name":"Dummy Account"
                }
                 

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 was successful, data was successfully obtained

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

-

Transfer

Description

This endpoint is used to request transfer from a BRI account (current or savings account) to other bank account. The maximum amount of total transactions and daily transactions will be determined 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

Destination account name. The value in it must exactly match the name obtained from the Account Validation endpoint.

"DUMMY NAME PRM"

amount

String

M

-

Nominal Format ##.##

10000.00 (sepuluh ribu)

Response Structure

Field

Data Type

Mandatory

Length

Description

Example

Response Code

String

M

Response Code

0700

 

Response Description

String

M

Response Description

Payment Success

 

Error Description

String

M

Error description

Payment data must not be empty

 

JournalSeq

String

M

Journal sequence

3289331

 

Request & Response Payload Sample

Request :

                        curl -X POST 'https://partner.api.bri.co.id/sandbox/v2/transfer/external' \
                        -H 'Authorization: Bearer {{TOKEN}}' \
                        -H 'X-BRI-Signature: {{SIGNATURE}}' \
                        -H 'BRI-Timestamp: {{TIMESTAMP}}' \
                        -H 'Content-Type: application/json' \
                        -d '{
                           "noReferral": "20180212002",
                            "bankCode": "014",
                            "sourceAccount":"888801000003301",
                            "beneficiaryAccount":"12345678",
                            "beneficiaryAccountName":"Dummy Account Name",
                            "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

NOTE: For a response code other than SUCCESS case, please use the 3 columns 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.

NOTE : Above, the response code in the Account Validation endpoint reappears. This is because, in the Transfer endpoint, our system accesses the Account Validation to validate the name of the destination account. If the names don't match, an error will be sent.

List Bank Code

Endpoint Explanation

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:

GET https://partner.api.bri.co.id/sandbox/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 -x GET 'https://partner.api.bri.co.id/sandbox/v2/transfer/external/accounts' \
                    -H 'Authorization: Bearer {{TOKEN}}' \
                    -H 'BRI-Signature: {{SIGNATURE}}' \ 
                    -H 'BRI-Timestamp: {{TIMESTAMP}}'        
                       
                    

Normal Response :

                    {
                        "responseCode": "00",
                        "responseDescription": "SUCCESS",
                        "errorDescription": "",
                        "Data" : [
                            {
                            "BankCode" : "008",
                            "BankName" : "BANK MANDIRI"
                            },
                            {
                            "BankCode" : "009",
                            "BankName" : "BANK BNI"
                            }
                        ]
                    }
                    

Additional Notes:

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