Verify bank account
Sandbox https://test.lintaspay.xyz/pay-out/verify-bank-account · Production https://lintaspay.xyz/pay-out/verify-bank-account
Checks that an account exists and returns the holder's name, so you can confirm it before paying out.
mchOrderNo can never be reused, whatever the outcome. Fees are billed monthly.
Request
Headers
| Header | Required | Value |
|---|---|---|
Content-Type | required | application/json |
Authorization | required | LINTASPAY-SHA256withRSA app_id=…,nonce=…,timestamp=…,sign=… — see Signing requests |
lintaspay-request-id | required | Unique request id, [A-Za-z0-9_-], max 64 |
Body parameters
| Name | Type | Required | Description |
|---|---|---|---|
mchOrderNo | string | required | Unique order number, max 64. Never reusable, whatever the outcome. Max length 64. Example: V202610140001 |
accountNo | string | required | Bank: 1–30 digits. VA: 12–28 digits. E-wallet: phone number starting 08 / 8 / 628 / 6208. Example: 1234567891011 |
bankId | string | required | Bank id from /data/bank-list.Example: 1 |
accountType | string | optional | 1 bank (default), 2 VA, 3 e-wallet.Example: 1 |
Example
{
"mchOrderNo": "V202610140001",
"accountNo": "1234567891011",
"bankId": "1",
"accountType": "1"
}Response
HTTP 200 with the envelope {"code", "message", "data"}. code = 0 means success; otherwise data is null and code is an error code. Authentication failures return HTTP 401 (403 for a blocked IP, 429 when rate-limited). Always verify the response signature.
data fields
| Name | Type | Description |
|---|---|---|
merchantId | integer | Example: 100001 |
merchantOrderNo | string | Example: V202610140001 |
orderNo | string | Example: LPVER2026101410300512AB34CD56EF |
amount | string | Always "0".Example: 0 |
orderFee | string | Fee for this verification (billed monthly). Example: 1000.00 |
orderStatus | integer | 2 VERIFIED (accountName is the real holder name), 3 UNVERIFIED (accountName empty).Example: 2 |
accountNo | string | Example: 1234567891011 |
accountName | string | Example: SITI RAHAYU |
Examples
{
"code": 0,
"message": "success",
"data": {
"merchantId": 100001,
"merchantOrderNo": "V202610140001",
"orderNo": "LPVER2026101410300512AB34CD56EF",
"amount": "0",
"orderFee": "1000.00",
"orderStatus": 2,
"accountNo": "1234567891011",
"accountName": "SITI RAHAYU"
}
}{
"code": 10011304,
"message": "Signature verification failed",
"data": null
}Code samples
URL_PATH=/pay-out/verify-bank-account
BODY='{"mchOrderNo":"V202610140001","accountNo":"1234567891011","bankId":"1","accountType":"1"}'
AUTH="app_id=$APP_ID,nonce=$(openssl rand -hex 16),timestamp=$(date +%s)000"
SIGN=$(printf '%s\nPOST\n%s\n%s\n' "$AUTH" "$URL_PATH" "$BODY" \
| openssl dgst -sha256 -sign merchant_private_key.pem | base64 | tr -d '\n')
curl -sS -X POST "https://test.lintaspay.xyz$URL_PATH" \
-H 'Content-Type: application/json' \
-H "Authorization: LINTASPAY-SHA256withRSA $AUTH,sign=$SIGN" \
-H "lintaspay-request-id: $(openssl rand -hex 16)" \
-d "$BODY"// call() is defined on the Signing requests page
const res = await call('/pay-out/verify-bank-account', {
"mchOrderNo": "V202610140001",
"accountNo": "1234567891011",
"bankId": "1",
"accountType": "1"
});
if (res.code !== 0) throw new Error(`${res.code} ${res.message}`);
console.log(res.data);# call() is defined on the Signing requests page
res = call("/pay-out/verify-bank-account", {
"mchOrderNo": "V202610140001",
"accountNo": "1234567891011",
"bankId": "1",
"accountType": "1"
})
if res["code"] != 0:
raise RuntimeError(f"{res['code']} {res['message']}")
print(res["data"])<?php
// api_call() is defined on the Signing requests page
$res = api_call('/pay-out/verify-bank-account', json_decode('{"mchOrderNo":"V202610140001","accountNo":"1234567891011","bankId":"1","accountType":"1"}', true));
if ($res['code'] !== 0) {
throw new RuntimeException($res['code'] . ' ' . $res['message']);
}
print_r($res['data']);// ApiClient is defined on the Signing requests page
ApiClient client = new ApiClient();
String body = "{\"mchOrderNo\":\"V202610140001\",\"accountNo\":\"1234567891011\",\"bankId\":\"1\",\"accountType\":\"1\"}";
String res = client.call("/pay-out/verify-bank-account", body);
System.out.println(res);