curl --request GET \
--url https://staging-api.chip-in.asia/api/send/bank_accounts/{id} \
--header 'Authorization: Bearer <token>' \
--header 'checksum: <checksum>' \
--header 'epoch: <epoch>'import requests
url = "https://staging-api.chip-in.asia/api/send/bank_accounts/{id}"
headers = {
"epoch": "<epoch>",
"checksum": "<checksum>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {epoch: '<epoch>', checksum: '<checksum>', Authorization: 'Bearer <token>'}
};
fetch('https://staging-api.chip-in.asia/api/send/bank_accounts/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://staging-api.chip-in.asia/api/send/bank_accounts/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"checksum: <checksum>",
"epoch: <epoch>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://staging-api.chip-in.asia/api/send/bank_accounts/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("epoch", "<epoch>")
req.Header.Add("checksum", "<checksum>")
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://staging-api.chip-in.asia/api/send/bank_accounts/{id}")
.header("epoch", "<epoch>")
.header("checksum", "<checksum>")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://staging-api.chip-in.asia/api/send/bank_accounts/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["epoch"] = '<epoch>'
request["checksum"] = '<checksum>'
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": 1,
"status": "verified",
"account_number": "157380112229",
"bank_code": "CIBBMYKL",
"group_id": null,
"name": "Wan Zulkarnain",
"reference": "VENDOR-EMP-001",
"created_at": "2022-12-19T15:20:42.285Z",
"is_debiting_account": false,
"is_crediting_account": false,
"updated_at": "2022-12-19T15:20:42.285Z",
"deleted_at": null,
"rejection_reason": null
}{
"message": "Bad request",
"code": 400,
"data": {}
}{
"message": "Unauthorized",
"code": 401,
"data": {}
}{
"message": "You are not authorized to perform this action",
"code": 403,
"data": {}
}{
"message": "Record not found",
"code": 404,
"data": {}
}{
"message": "Too many requests. Please try again later.",
"code": 429,
"data": {
"retry_after": 300
}
}Retrieve a bank account
Retrieve details of a recipient bank account that was previously created.
curl --request GET \
--url https://staging-api.chip-in.asia/api/send/bank_accounts/{id} \
--header 'Authorization: Bearer <token>' \
--header 'checksum: <checksum>' \
--header 'epoch: <epoch>'import requests
url = "https://staging-api.chip-in.asia/api/send/bank_accounts/{id}"
headers = {
"epoch": "<epoch>",
"checksum": "<checksum>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {epoch: '<epoch>', checksum: '<checksum>', Authorization: 'Bearer <token>'}
};
fetch('https://staging-api.chip-in.asia/api/send/bank_accounts/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://staging-api.chip-in.asia/api/send/bank_accounts/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"checksum: <checksum>",
"epoch: <epoch>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://staging-api.chip-in.asia/api/send/bank_accounts/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("epoch", "<epoch>")
req.Header.Add("checksum", "<checksum>")
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://staging-api.chip-in.asia/api/send/bank_accounts/{id}")
.header("epoch", "<epoch>")
.header("checksum", "<checksum>")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://staging-api.chip-in.asia/api/send/bank_accounts/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["epoch"] = '<epoch>'
request["checksum"] = '<checksum>'
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": 1,
"status": "verified",
"account_number": "157380112229",
"bank_code": "CIBBMYKL",
"group_id": null,
"name": "Wan Zulkarnain",
"reference": "VENDOR-EMP-001",
"created_at": "2022-12-19T15:20:42.285Z",
"is_debiting_account": false,
"is_crediting_account": false,
"updated_at": "2022-12-19T15:20:42.285Z",
"deleted_at": null,
"rejection_reason": null
}{
"message": "Bad request",
"code": 400,
"data": {}
}{
"message": "Unauthorized",
"code": 401,
"data": {}
}{
"message": "You are not authorized to perform this action",
"code": 403,
"data": {}
}{
"message": "Record not found",
"code": 404,
"data": {}
}{
"message": "Too many requests. Please try again later.",
"code": 429,
"data": {
"retry_after": 300
}
}/api/send. Creating a bank account has its own limit. See Rate limits.bank_code values are listed on Supported banks.Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
Unix epoch timestamp Unix timestamp (seconds).
1619740800
Refer to checksum calculation
Path Parameters
1
Response
Successful response
A recipient bank account registered for payouts.
The number of digits depends on the recipient bank — some banks use a fixed length, others accept a range. See the per-bank list on Supported banks.
5 - 17"157380112222"
Malaysian bank identifier in BIC/SWIFT form. This is the complete set of codes
accepted by POST /send/bank_accounts.
This is not the FPX bank code used for CHIP Collect FPX checkouts
(MB2U0227, ABB0233, PBB0233, …). The two lists identify banks on
different networks and are not interchangeable.
ACDBMYK2: AEON Bank (M) BerhadPHBMMYKL: Affin Bank BerhadAGOBMYKL: AgrobankRJHIMYKL: Al Rajhi BankMFBBMYKL: Alliance Bank Malaysia BerhadARBKMYKL: AmBank Malaysia BerhadBIMBMYKL: Bank Islam Malaysia BerhadBKRMMYKL: Bank Kerjasama Rakyat Malaysia BerhadBMMBMYKL: Bank Muamalat Malaysia BerhadBOFAMY2X: Bank of America (M) BerhadBKCHMYKL: Bank of China (M) BerhadBOTKMYKX: MUFG Bank (Malaysia) BerhadBSNAMYK1: Bank Simpanan Nasional BerhadBNPAMYKL: BNP Paribas Malaysia BerhadBOBEMYK2: BOOST Bank BerhadPCBCMYKL: China Construction Bank (M) BerhadCIBBMYKL: CIMB Bank BerhadCITIMYKL: Citibank BerhadDEUTMYKL: Deutsche Bank (Malaysia) BerhadFNXSMYNB: Finexus Cards Sdn. Bhd.GXSPMYKL: GX Bank BerhadHLBBMYKL: Hong Leong Bank BerhadHBMBMYKL: HSBC Bank Malaysia BerhadICBKMYKL: Industrial and Commercial Bank of China (M) BerhadCHASMYKX: JP Morgan Chase Bank BerhadKFHOMYKL: Kuwait Finance HouseMBBEMYKL: Maybank BerhadAFBQMYKL: MBSB Bank BerhadMHCBMYKA: Mizuho Bank (Malaysia) BerhadOCBCMYKL: OCBC Bank BerhadPBBEMYKL: Public Bank BerhadRHBBMYKL: RHB Bank BerhadSCCHMYKL: RYT BankSCBLMYKX: Standard Chartered Bank Malaysia BerhadSMBCMYKL: Sumitomo Mitsui Banking Corporation (M) BerhadTNGDMYNB: TNG Digital (Touch 'n Go eWallet)UOVBMYKL: United Overseas Bank Berhad (UOB)
ACDBMYK2, PHBMMYKL, AGOBMYKL, RJHIMYKL, MFBBMYKL, ARBKMYKL, BIMBMYKL, BKRMMYKL, BMMBMYKL, BOFAMY2X, BKCHMYKL, BOTKMYKX, BSNAMYK1, BNPAMYKL, BOBEMYK2, PCBCMYKL, CIBBMYKL, CITIMYKL, DEUTMYKL, FNXSMYNB, GXSPMYKL, HLBBMYKL, HBMBMYKL, ICBKMYKL, CHASMYKX, KFHOMYKL, MBBEMYKL, AFBQMYKL, MHCBMYKA, OCBCMYKL, PBBEMYKL, RHBBMYKL, SCCHMYKL, SCBLMYKX, SMBCMYKL, TNGDMYNB, UOVBMYKL "MBBEMYKL"
1 - 65535"Ahmad Razali"
The ID returned in the response must be stored, as it will be required for subsequent operations.
1
pending: The bank account is awaiting verification.verified: The bank account has been verified as valid.rejected: The bank account is invalid.
pending, verified, rejected "verified"
null
Unique value used to prevent duplicate submissions.
1 - 65535"VENDOR-EMP-001"
Object creation time in UTC.
false
false
Object updated time in UTC.
Object deletion time in UTC.
65535null