Appearance
🏦 Bank Subscription / Quản lý ngân hàng (theo Postman Collection)
Các API yêu cầu Bearer Token lấy từ /v1/auth/authorize (Basic → Bearer).
🔐 Header chung
Authorization: Bearer <token>
Content-Type: application/json1) Thêm ngân hàng
POST https://api-partner.pay2s.vn/v1/banks
Có nhiều biến thể theo từng ngân hàng / cơ chế: OpenAPI (BIDV, ACB, …) hoặc Pay2S-api (personal/business).
Dưới đây là các body mẫu đúng theo collection.
1.1 OpenAPI – BIDV
json
{
"type": "openapi",
"bankShortName": "BIDV",
"accountNumber": "8810281999",
"cccd": "068095012120",
"merchantId": "VYTEOO1",
"accName": "NGUYEN TRONG VY",
"accMobile": "0708077478",
"accEmail": "[email protected]"
}merchantId: yêu cầu với BIDV (được dùng khi sinh VA: tiền tố 963869 + mã).- Hệ thống sẽ gửi OTP → cần gọi bước Xác nhận OTP bên dưới.
1.2 OpenAPI – ACB
json
{
"type": "openapi",
"bankShortName": "ACB",
"accountNumber": "19354957",
"accName": "NGUYEN TRONG VY",
"accMobile": "0902506099"
}Với ACB, trường
bank_typecó thể mặc định personal (PERS) hoặc business (ORG) ở tầng core – collection mẫu để tối thiểu như trên.
1.3 Pay2S‑api – Personal (Internet Banking)
json
{
"type": "personal",
"bankShortName": "VCB",
"accountNumber": "0123456789",
"username": "internet_banking_user",
"password": "secret"
}Một số bank personal có thể trả về OTP hoặc Hợp lệ tùy quy trình xác minh.
Nếu trả về OTP, tiếp tục gọihttps://api-partner.pay2s.vn/v1/banks/confirm-otp.
2) Xác nhận OTP (Confirm OTP)
POST https://api-partner.pay2s.vn/v1/banks/confirm-otp
2.1 BIDV (OpenAPI)
json
{
"type": "openapi",
"bankShortName": "BIDV",
"accountNumber": "8810281999",
"merchantId": "VYTEOO1", //Cần phải nhập hậu tố cho VA Number
"otp": "016311"
}2.2 ACB hoặc MBBank (OpenAPI)
json
{
"type": "openapi",
"bankShortName": "ACB", //MBB
"accountNumber": "19354957",
"otp": "767523"
}2.3 Pay2S‑api (Personal)
json
{
"type": "personal",
"bankShortName": "BIDV",
"accountNumber": "8810281999",
"username": "bidv_user",
"password": "abc123",
"otp": "767523"
}Trả về Hợp lệ → ngân hàng được kích hoạt. Nếu vẫn OTP → kiểm tra lại mã OTP hoặc thời hạn OTP.
3) Danh sách ngân hàng của user
GET https://api-partner.pay2s.vn/v1/banks
Phản hồi mẫu:
json
{
"status": true,
"message": [
{
"id": 410,
"username": "0123456789",
"name": "NGUYEN VAN A",
"accountNumber": "0123456789",
"vaNumber": "963869789",
"balance": 1000000,
"created_at": "2025-10-14 10:42:11",
"status": 1,
"statusText": "Đang hoạt động",
"bankName": "Asia Commercial Bank"
}
]
}Lưu ý: với BIDV OpenAPI,
vaNumbercó thể hiển thị dạng 963869 + <shortCode>.
4) Bật / Tắt trạng thái ngân hàng
PATCH https://api-partner.pay2s.vn/v1/banks/{id}/status
Phản hồi mẫu:
json
{
"status": true,
"message": "Cập nhật trạng thái ngân hàng thành công.",
"newStatus": 1
}Chỉ bật được khi liên kết đã thành công (không còn trạng thái
hidetreo OTP).
5) Xoá ngân hàng
DELETE https://api-partner.pay2s.vn/v1/banks/{id}
- Một số ngân hàng OpenAPI (ví dụ MBB/ACB khi chưa active) sẽ trả về yêu cầu OTP xoá.
Phản hồi mẫu:
json
{
"status": true,
"message": "Xóa ngân hàng.",
"OTP": 1,
"type": "SMS"
}5.1 Xác nhận xoá (OTP)
POST https://api-partner.pay2s.vn/v1/banks/{id}/delete-confirm
json
{ "otp": "160241" }Phản hồi mẫu:
json
{ "status": true, "message": "Xóa ngân hàng thành công" }6) Thống kê tóm tắt (Summary)
GET https://api-partner.pay2s.vn/v1/banks/summary
Trả về tổng quan số lượng ngân hàng đã liên kết theo từng
bankName/shortBankName, kèm tổng số.
Ví dụ phản hồi rút gọn:
json
{
"status": true,
"bankCounts": [
{ "bankName": "Vietcombank", "shortBankName": "VCB", "count": 2 },
{ "bankName": "BIDV", "shortBankName": "BIDV", "count": 1 }
],
"total": 3
}🧪 cURL mẫu
Thêm BIDV (OpenAPI)
bash
curl -X POST https://api-partner.pay2s.vn/v1/banks -H "Authorization: Bearer <token>" -H "Content-Type: application/json" -d '{
"type": "openapi",
"bankShortName": "BIDV",
"accountNumber": "8810281999",
"cccd": "068095012120",
"merchantId": "VYTEOO1",
"accName": "NGUYEN TRONG VY",
"accMobile": "0708077478",
"accEmail": "[email protected]"
}'Xác nhận OTP BIDV
bash
curl -X POST https://api-partner.pay2s.vn/v1/banks/confirm-otp -H "Authorization: Bearer <token>" -H "Content-Type: application/json" -d '{
"type": "openapi",
"bankShortName": "BIDV",
"accountNumber": "8810281999",
"merchantId": "VYTEOO1",
"otp": "016311"
}'Danh sách ngân hàng
bash
curl -X GET "https://api-partner.pay2s.vn/v1/banks" -H "Authorization: Bearer <token>"Bật/Tắt trạng thái
bash
curl -X PATCH "https://api-partner.pay2s.vn/v1/banks/410/status" -H "Authorization: Bearer <token>"Xoá ngân hàng
bash
curl -X DELETE "https://api-partner.pay2s.vn/v1/banks/410" -H "Authorization: Bearer <token>"Xác nhận xoá (OTP)
bash
curl -X POST "https://api-partner.pay2s.vn/v1/banks/410/delete-confirm" -H "Authorization: Bearer <token>" -H "Content-Type: application/json" -d '{ "otp": "160241" }'Lưu ý
- Body mẫu ở trên được lấy đúng từ Postman collection (BIDV, ACB, personal).
- Với BIDV OpenAPI,
merchantIdlà bắt buộc và VA hiển thị dạng963869<code>. - Nếu API trả về
OTP = 1, bạn phải thực hiện bước Confirm OTP tương ứng.
