บัญชีธนาคาร
จัดการบัญชีธนาคารที่เชื่อมต่อกับสาขาของคุณ บัญชีธนาคารกำหนดว่าผู้รับเงินรายใดจะถูกตรวจสอบโดย slip verification API
ดูรายชื่อธนาคาร
ดึงรายชื่อธนาคารทั้งหมดที่รองรับ
GET /b2b/banksFull URL: https://api-partners.easyslip.com/v2/b2b/banks
Permission: bank-account:read
ตัวอย่าง
curl -X GET https://api-partners.easyslip.com/v2/b2b/banks \
-H "X-API-Key: ${API_KEY}" \
-H "X-Timestamp: ${TIMESTAMP}" \
-H "X-Nonce: ${NONCE}" \
-H "X-Signature: ${SIGNATURE}"const headers = signRequest({
method: 'GET',
path: '/b2b/banks',
body: null,
apiKey: 'your_api_key',
secretKey: 'your_secret_key',
})
const response = await fetch('https://api-partners.easyslip.com/v2/b2b/banks', { headers })
const result = await response.json()Success Response (200)
{
"success": true,
"data": [
{
"code": "002",
"nameEn": "Bangkok Bank",
"nameTh": "ธนาคารกรุงเทพ",
"shortCode": "BBL",
"swiftCode": "BKKBTHBK",
"extraVerify": [
{ "value": "NAME", "label": "ตรวจจาก ชื่อบัญชี อย่างเดียว (ไม่แนะนำ)" },
{ "value": "NUMBER", "label": "ตรวจจาก เลขบัญชี อย่างเดียว" },
{ "value": "NAME_NUMBER", "label": "ตรวจจาก เลขบัญชีและชื่อบัญชีธนาคาร" }
]
},
{
"code": "PROMPTPAY",
"nameEn": "PromptPay",
"nameTh": "พร้อมเพย์",
"shortCode": "PROMPTPAY",
"swiftCode": "PROMPTPAY",
"extraVerify": [
{ "value": "MSISDN", "label": "เบอร์โทรศัพท์" },
{ "value": "NATID", "label": "เลขบัตรประชาชน" },
{ "value": "EWALLETID", "label": "E-Wallet ID" }
]
},
{
"code": "KSHOP",
"nameEn": "KShop",
"nameTh": "เคช็อป",
"shortCode": "KSHOP",
"swiftCode": "KSHOP",
"extraVerify": null
}
]
}ฟิลด์ใน Response
| ฟิลด์ | ชนิด | คำอธิบาย |
|---|---|---|
code | string | รหัสธนาคาร |
nameEn | string | ชื่อธนาคารภาษาอังกฤษ |
nameTh | string | ชื่อธนาคารภาษาไทย |
shortCode | string | ชื่อย่อธนาคาร |
swiftCode | string | รหัส SWIFT |
extraVerify | array | null | ตัวเลือกการตรวจสอบเพิ่มเติม, null ถ้าไม่จำเป็น |
extraVerify[].value | string | ค่าที่ใช้ตอนสร้างบัญชีธนาคาร |
extraVerify[].label | string | ป้ายแสดงผล |
ดูบัญชีธนาคารที่เชื่อมต่อ
GET /b2b/branch/bank-accountsFull URL: https://api-partners.easyslip.com/v2/b2b/branch/bank-accounts
Permission: bank-account:read
ต้องส่ง Header: X-Branch-Key (Branch UUID)
ตัวอย่าง
curl -X GET https://api-partners.easyslip.com/v2/b2b/branch/bank-accounts \
-H "X-API-Key: ${API_KEY}" \
-H "X-Branch-Key: ${BRANCH_KEY}" \
-H "X-Timestamp: ${TIMESTAMP}" \
-H "X-Nonce: ${NONCE}" \
-H "X-Signature: ${SIGNATURE}"const headers = signRequest({
method: 'GET',
path: '/b2b/branch/bank-accounts',
body: null,
apiKey: 'your_api_key',
secretKey: 'your_secret_key',
})
headers['X-Branch-Key'] = 'your_branch_key'
const response = await fetch('https://api-partners.easyslip.com/v2/b2b/branch/bank-accounts', { headers })
const result = await response.json()Success Response (200)
{
"success": true,
"data": [
{
"id": 1,
"bankCode": "004",
"bankNumber": "123-4-56789-0",
"nameTh": "บริษัท อีซี่สลิป จำกัด",
"nameEn": "EasySlip Co., Ltd.",
"type": "NATURAL",
"extraVerify": "NAME_NUMBER",
"bank": {
"code": "004",
"nameTh": "ธนาคารกสิกรไทย",
"nameEn": "Kasikorn Bank",
"shortCode": "KBANK"
}
},
{
"id": 2,
"bankCode": "PROMPTPAY",
"bankNumber": "0812345678",
"nameTh": "บริษัท อีซี่สลิป จำกัด",
"nameEn": "EasySlip Co., Ltd.",
"type": "JURISTIC",
"extraVerify": "MSISDN",
"bank": {
"code": "PROMPTPAY",
"nameTh": "พร้อมเพย์",
"nameEn": "PromptPay",
"shortCode": "PROMPTPAY"
}
}
]
}ฟิลด์ใน Response
| ฟิลด์ | ชนิด | คำอธิบาย |
|---|---|---|
id | number | ID บัญชีธนาคาร |
bankCode | string | รหัสธนาคาร (ดู ดูรายชื่อธนาคาร) |
bankNumber | string | เลขที่บัญชี |
nameTh | string | ชื่อเจ้าของบัญชีภาษาไทย |
nameEn | string | ชื่อเจ้าของบัญชีภาษาอังกฤษ |
type | string | ประเภทบัญชี (NATURAL, JURISTIC) |
extraVerify | string | null | ค่าการตรวจสอบเพิ่มเติม (เช่น MSISDN, NATID), null ถ้าไม่มี |
bank | object | ข้อมูลธนาคาร |
bank.code | string | รหัสธนาคาร |
bank.nameTh | string | ชื่อธนาคารภาษาไทย |
bank.nameEn | string | ชื่อธนาคารภาษาอังกฤษ |
bank.shortCode | string | ชื่อย่อธนาคาร |
เชื่อมต่อบัญชีธนาคารกับสาขา
เชื่อมต่อบัญชีธนาคารที่มีอยู่แล้วหนึ่งรายการหรือมากกว่ากับสาขา
POST /b2b/branch/bank-accountsFull URL: https://api-partners.easyslip.com/v2/b2b/branch/bank-accounts
Permission: bank-account:write
ต้องส่ง Header: X-Branch-Key (Branch UUID)
Request Body
| ฟิลด์ | ชนิด | จำเป็น | คำอธิบาย |
|---|---|---|---|
bankAccountIds | number[] | ใช่ | Array ของ ID บัญชีธนาคารที่ต้องการเชื่อมต่อ |
ตัวอย่าง
curl -X POST https://api-partners.easyslip.com/v2/b2b/branch/bank-accounts \
-H "Content-Type: application/json" \
-H "X-API-Key: ${API_KEY}" \
-H "X-Branch-Key: ${BRANCH_KEY}" \
-H "X-Timestamp: ${TIMESTAMP}" \
-H "X-Nonce: ${NONCE}" \
-H "X-Signature: ${SIGNATURE}" \
-d '{
"bankAccountIds": [1, 2]
}'const body = {
bankAccountIds: [1, 2],
}
const headers = signRequest({
method: 'POST',
path: '/b2b/branch/bank-accounts',
body,
apiKey: 'your_api_key',
secretKey: 'your_secret_key',
})
headers['X-Branch-Key'] = 'your_branch_key'
const response = await fetch('https://api-partners.easyslip.com/v2/b2b/branch/bank-accounts', {
method: 'POST',
headers,
body: JSON.stringify(body),
})
const result = await response.json()Success Response (200)
{
"success": true,
"data": {
"linked": 2,
"bankAccounts": [
{
"id": 1,
"bankCode": "014",
"bankNumber": "987-6-54321-0",
"nameTh": "บริษัท อีซี่สลิป จำกัด",
"nameEn": "EasySlip Co., Ltd."
},
{
"id": 2,
"bankCode": "025",
"bankNumber": "456-7-89012-3",
"nameTh": "บริษัท อีซี่สลิป จำกัด",
"nameEn": "EasySlip Co., Ltd."
}
]
}
}ยกเลิกการเชื่อมต่อบัญชีธนาคาร
DELETE /b2b/branch/bank-accounts/:bankAccountIdFull URL: https://api-partners.easyslip.com/v2/b2b/branch/bank-accounts/:bankAccountId
Permission: bank-account:write
ต้องส่ง Header: X-Branch-Key (Branch UUID)
ตัวอย่าง
curl -X DELETE https://api-partners.easyslip.com/v2/b2b/branch/bank-accounts/1 \
-H "X-API-Key: ${API_KEY}" \
-H "X-Branch-Key: ${BRANCH_KEY}" \
-H "X-Timestamp: ${TIMESTAMP}" \
-H "X-Nonce: ${NONCE}" \
-H "X-Signature: ${SIGNATURE}"const headers = signRequest({
method: 'DELETE',
path: '/b2b/branch/bank-accounts/1',
body: null,
apiKey: 'your_api_key',
secretKey: 'your_secret_key',
})
headers['X-Branch-Key'] = 'your_branch_key'
const response = await fetch(
'https://api-partners.easyslip.com/v2/b2b/branch/bank-accounts/1',
{ method: 'DELETE', headers }
)
const result = await response.json()Success Response (200)
{
"success": true,
"data": {
"unlinked": true,
"bankAccountId": 1,
"branchId": 1
}
}สร้างบัญชีธนาคารใหม่
สร้างบัญชีธนาคารใหม่ที่สามารถเชื่อมต่อกับสาขาได้
POST /b2b/bank-accountsFull URL: https://api-partners.easyslip.com/v2/b2b/bank-accounts
Permission: bank-account:write
TIP
ใช้ ดูรายชื่อธนาคาร เพื่อตรวจสอบว่าธนาคารใดต้องการ extraVerify ถ้าธนาคารมีตัวเลือก extraVerify จะต้องส่งค่าที่ถูกต้องมาด้วยตอนสร้างบัญชี
Request Body
| ฟิลด์ | ชนิด | จำเป็น | คำอธิบาย |
|---|---|---|---|
bankCode | string | ใช่ | รหัสธนาคาร (ดู ดูรายชื่อธนาคาร) |
bankNumber | string | ใช่ | เลขที่บัญชี |
nameTh | string | ใช่ | ชื่อเจ้าของบัญชีภาษาไทย |
nameEn | string | ใช่ | ชื่อเจ้าของบัญชีภาษาอังกฤษ |
type | string | ใช่ | ประเภทบัญชี: NATURAL หรือ JURISTIC |
extraVerify | string | ขึ้นอยู่กับธนาคาร | จำเป็นถ้าธนาคารมีตัวเลือก extraVerify ต้องตรงกับค่า value จาก ดูรายชื่อธนาคาร |
ตัวอย่าง
curl -X POST https://api-partners.easyslip.com/v2/b2b/bank-accounts \
-H "Content-Type: application/json" \
-H "X-API-Key: ${API_KEY}" \
-H "X-Timestamp: ${TIMESTAMP}" \
-H "X-Nonce: ${NONCE}" \
-H "X-Signature: ${SIGNATURE}" \
-d '{
"bankCode": "002",
"bankNumber": "111-2-33444-5",
"nameTh": "บริษัท ตัวอย่าง จำกัด",
"nameEn": "Example Co., Ltd.",
"type": "NATURAL",
"extraVerify": "NAME_NUMBER"
}'const body = {
bankCode: '002',
bankNumber: '111-2-33444-5',
nameTh: 'บริษัท ตัวอย่าง จำกัด',
nameEn: 'Example Co., Ltd.',
type: 'NATURAL',
extraVerify: 'NAME_NUMBER',
}
const headers = signRequest({
method: 'POST',
path: '/b2b/bank-accounts',
body,
apiKey: 'your_api_key',
secretKey: 'your_secret_key',
})
const response = await fetch('https://api-partners.easyslip.com/v2/b2b/bank-accounts', {
method: 'POST',
headers,
body: JSON.stringify(body),
})
const result = await response.json()Success Response (201)
{
"success": true,
"data": {
"id": 3,
"bankCode": "002",
"bankNumber": "111-2-33444-5",
"nameTh": "บริษัท ตัวอย่าง จำกัด",
"nameEn": "Example Co., Ltd.",
"type": "NATURAL",
"extraVerify": "NAME_NUMBER",
"bank": {
"code": "002",
"nameTh": "ธนาคารกรุงเทพ",
"nameEn": "Bangkok Bank",
"shortCode": "BBL"
}
}
}ฟิลด์ใน Response
| ฟิลด์ | ชนิด | คำอธิบาย |
|---|---|---|
id | number | ID บัญชีธนาคาร |
bankCode | string | รหัสธนาคาร |
bankNumber | string | เลขที่บัญชี |
nameTh | string | ชื่อเจ้าของบัญชีภาษาไทย |
nameEn | string | ชื่อเจ้าของบัญชีภาษาอังกฤษ |
type | string | ประเภทบัญชี (NATURAL, JURISTIC) |
extraVerify | string | null | ค่าการตรวจสอบเพิ่มเติม, null ถ้าไม่มี |
bank | object | ข้อมูลธนาคาร |
bank.code | string | รหัสธนาคาร |
bank.nameTh | string | ชื่อธนาคารภาษาไทย |
bank.nameEn | string | ชื่อธนาคารภาษาอังกฤษ |
bank.shortCode | string | ชื่อย่อธนาคาร |
แก้ไขบัญชีธนาคาร
แก้ไขข้อมูลบัญชีธนาคารที่มีอยู่ ฟิลด์ที่ไม่ได้ส่งจะคงค่าเดิม
PATCH /b2b/bank-accounts/:bankAccountIdFull URL: https://api-partners.easyslip.com/v2/b2b/bank-accounts/:bankAccountId
Permission: bank-account:write
TIP
หากเปลี่ยน bankCode ไปยังธนาคารที่ต้องการ extraVerify ต้องส่ง extraVerify ที่ถูกต้องมาด้วย หากเปลี่ยนไปยังธนาคารที่ไม่ต้องการ extraVerify ระบบจะล้างค่า extraVerify ให้อัตโนมัติ
Request Body
| ฟิลด์ | ชนิด | จำเป็น | คำอธิบาย |
|---|---|---|---|
bankCode | string | ไม่ | รหัสธนาคารใหม่ (ดู ดูรายชื่อธนาคาร) |
bankNumber | string | ไม่ | เลขที่บัญชีใหม่ |
nameTh | string | ไม่ | ชื่อเจ้าของบัญชีภาษาไทย |
nameEn | string | ไม่ | ชื่อเจ้าของบัญชีภาษาอังกฤษ |
type | string | ไม่ | ประเภทบัญชี: NATURAL หรือ JURISTIC |
extraVerify | string | null | ขึ้นอยู่กับธนาคาร | ค่าการตรวจสอบเพิ่มเติม ส่ง null เพื่อล้างค่า |
ต้องระบุอย่างน้อย 1 ฟิลด์
ตัวอย่าง
curl -X PATCH https://api-partners.easyslip.com/v2/b2b/bank-accounts/3 \
-H "Content-Type: application/json" \
-H "X-API-Key: ${API_KEY}" \
-H "X-Timestamp: ${TIMESTAMP}" \
-H "X-Nonce: ${NONCE}" \
-H "X-Signature: ${SIGNATURE}" \
-d '{
"nameTh": "บริษัท ตัวอย่างใหม่ จำกัด",
"nameEn": "New Example Co., Ltd.",
"extraVerify": "NAME_NUMBER"
}'const body = {
nameTh: 'บริษัท ตัวอย่างใหม่ จำกัด',
nameEn: 'New Example Co., Ltd.',
extraVerify: 'NAME_NUMBER',
}
const headers = signRequest({
method: 'PATCH',
path: '/b2b/bank-accounts/3',
body,
apiKey: 'your_api_key',
secretKey: 'your_secret_key',
})
const response = await fetch('https://api-partners.easyslip.com/v2/b2b/bank-accounts/3', {
method: 'PATCH',
headers,
body: JSON.stringify(body),
})
const result = await response.json()Success Response (200)
{
"success": true,
"data": {
"id": 3,
"bankCode": "002",
"bankNumber": "111-2-33444-5",
"nameTh": "บริษัท ตัวอย่างใหม่ จำกัด",
"nameEn": "New Example Co., Ltd.",
"type": "NATURAL",
"extraVerify": "NAME_NUMBER",
"bank": {
"code": "002",
"nameTh": "ธนาคารกรุงเทพ",
"nameEn": "Bangkok Bank",
"shortCode": "BBL"
}
},
"message": "แก้ไขบัญชีธนาคารสำเร็จ"
}Error เพิ่มเติม
ไม่ระบุข้อมูลที่ต้องการแก้ไข (400)
{
"success": false,
"error": {
"code": "NO_UPDATE_DATA",
"message": "กรุณาระบุข้อมูลที่ต้องการแก้ไขอย่างน้อย 1 รายการ"
}
}ลบบัญชีธนาคาร
ลบบัญชีธนาคารออกจากระบบ การลบจะยกเลิกการเชื่อมต่อกับทุกสาขาโดยอัตโนมัติ
DELETE /b2b/bank-accounts/:bankAccountIdFull URL: https://api-partners.easyslip.com/v2/b2b/bank-accounts/:bankAccountId
Permission: bank-account:write
WARNING
การลบบัญชีธนาคารจะยกเลิกการเชื่อมต่อกับทุกสาขาโดยอัตโนมัติ ไม่สามารถยกเลิกการดำเนินการนี้ได้
ตัวอย่าง
curl -X DELETE https://api-partners.easyslip.com/v2/b2b/bank-accounts/3 \
-H "X-API-Key: ${API_KEY}" \
-H "X-Timestamp: ${TIMESTAMP}" \
-H "X-Nonce: ${NONCE}" \
-H "X-Signature: ${SIGNATURE}"const headers = signRequest({
method: 'DELETE',
path: '/b2b/bank-accounts/3',
body: null,
apiKey: 'your_api_key',
secretKey: 'your_secret_key',
})
const response = await fetch(
'https://api-partners.easyslip.com/v2/b2b/bank-accounts/3',
{ method: 'DELETE', headers }
)
const result = await response.json()Success Response (200)
{
"success": true,
"data": null,
"message": "ลบบัญชีธนาคารสำเร็จ"
}Error Responses
ไม่พบธนาคาร (404)
{
"success": false,
"error": {
"code": "BANK_NOT_FOUND",
"message": "Bank not found"
}
}ไม่พบบัญชีธนาคาร (404)
{
"success": false,
"error": {
"code": "BANK_ACCOUNT_NOT_FOUND",
"message": "Bank account not found"
}
}ต้องระบุ Extra Verify (400)
เกิดขึ้นเมื่อธนาคารต้องการ extraVerify แต่ไม่ได้ส่งมา
{
"success": false,
"error": {
"code": "EXTRA_VERIFY_REQUIRED",
"message": "Extra verification is required for this bank"
}
}Extra Verify ไม่ถูกต้อง (400)
เกิดขึ้นเมื่อค่า extraVerify ไม่ตรงกับตัวเลือกของธนาคาร
{
"success": false,
"error": {
"code": "EXTRA_VERIFY_INVALID",
"message": "Invalid extra verification value"
}
}