MSB Bank API

Accept MSB Transfers With ApiPay

Connect your MSB personal, business, or household business account to ApiPay to receive bank transfers automatically, send real-time webhooks, and manage payment requests from one interface.

ApiPay - MSB Bank API
ApiPay payment interface for MSB 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

An active MSB personal, business, or household business account that can receive domestic bank transfers.

Every MSB account type requires manual activation by ApiPay.

Business accounts must enable MSB Merchant at a bank branch before linking.

Do not edit the referral code. Each account can be linked only once.

The account holder or business name, account number, linked phone number, and CCCD / tax code.

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

Connect bank

Connect MSB in Dashboard > Banks. Personal, business, and household business accounts are all submitted for manual activation.

Open the ApiPay Dashboard and go to Banks.
Choose MSB and the account type, enter the account details and ID/tax code, and leave the referral code unchanged.
Submit the activation request. ApiPay verifies and activates the account within 24 hours, then copy bankPublicId for payment requests.
Sample API for MSB

Create a payment request with MSB

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: 'msb_public_id',
    amount: 500000,
    content: 'ORDER-MSB-001',
  }),
});

const {data} = await response.json();
console.log(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': 'msb_public_id',
        'amount': 500000,
        'content': 'ORDER-MSB-001',
    },
    timeout=30,
)

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

Frequently asked questions

Ready to integrate?

Start with MSB today

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