BIDV Bank API

Accept BIDV Bank Transfers With ApiPay

Connect BIDV with ApiPay to create payment requests, receive real-time transaction notifications, and manage payments in the Dashboard.

ApiPay - BIDV Bank API
ApiPay payment interface for BIDV integration

Advanced security

Payment data is encrypted, fully authenticated, and access is managed per API account.

Instant payments

As soon as a customer transfers money, ApiPay sends a transaction event for your system to process.

Clear API

Consistent REST APIs, readable payloads, and ready documentation help technical teams move quickly.

Multi-bank support

Expand from one existing account to multiple banks without changing your payment workflow.

Flexible webhooks

Receive transaction-level webhooks for reconciliation, order updates, or automatic service activation.

Management dashboard

Track linked accounts, payment requests, revenue, and processing status in one place.

Before you connect

A BIDV account that can receive domestic bank transfers.

Merchant or business account information if your payment flow requires it.

An ApiPay account with access key and secret key for API calls.

Connect bank

Connect BIDV in Dashboard > Banks, then use the generated bankPublicId when creating payment requests through the API.

Open the ApiPay Dashboard and go to Banks.
Choose BIDV, enter account details, and complete verification.
Copy bankPublicId after the connection succeeds.
Sample API for BIDV

Create a payment request with BIDV

JavaScriptCreate payment request
const auth = Buffer.from('${ACCESS_KEY}:${SECRET_KEY}').toString('base64');

const response = await fetch('https://app.apipay.vn/v1/client/payment-requests', {
  method: 'POST',
  headers: {
    Authorization: `Bearer ${auth}`,
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({
    bankPublicId: 'bidv_public_id',
    amount: 1200000,
    content: 'ORDER-BIDV-001',
  }),
});

const {data} = await response.json();
console.log(data.qrUrl, data.payUrl);
PythonREST API example
import base64
import requests

token = base64.b64encode(b'your_access_key:your_secret_key').decode()

response = requests.post(
    'https://app.apipay.vn/v1/client/payment-requests',
    headers={
        'Authorization': f'Bearer {token}',
        'Content-Type': 'application/json',
    },
    json={
        'bankPublicId': 'bidv_public_id',
        'amount': 1200000,
        'content': 'ORDER-BIDV-001',
    },
    timeout=30,
)

payload = response.json()['data']
print(payload['payUrl'])
FAQ

Frequently asked questions

Ready to integrate?

Start with BIDV today

Create a free account, connect your bank in the Dashboard, and put bank-transfer payments into production without replacing your current system.