Skip to content

บัญชีธนาคาร

จัดการบัญชีธนาคารที่เชื่อมต่อกับสาขาของคุณ บัญชีธนาคารกำหนดว่าผู้รับเงินรายใดจะถูกตรวจสอบโดย slip verification API

ดูรายชื่อธนาคาร

ดึงรายชื่อธนาคารทั้งหมดที่รองรับ

http
GET /b2b/banks

Full URL: https://api-partners.easyslip.com/v2/b2b/banks

Permission: bank-account:read

ตัวอย่าง

bash
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}"
javascript
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)

json
{
    "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

ฟิลด์ชนิดคำอธิบาย
codestringรหัสธนาคาร
nameEnstringชื่อธนาคารภาษาอังกฤษ
nameThstringชื่อธนาคารภาษาไทย
shortCodestringชื่อย่อธนาคาร
swiftCodestringรหัส SWIFT
extraVerifyarray | nullตัวเลือกการตรวจสอบเพิ่มเติม, null ถ้าไม่จำเป็น
extraVerify[].valuestringค่าที่ใช้ตอนสร้างบัญชีธนาคาร
extraVerify[].labelstringป้ายแสดงผล

ดูบัญชีธนาคารที่เชื่อมต่อ

http
GET /b2b/branch/bank-accounts

Full URL: https://api-partners.easyslip.com/v2/b2b/branch/bank-accounts

Permission: bank-account:read

ต้องส่ง Header: X-Branch-Key (Branch UUID)

ตัวอย่าง

bash
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}"
javascript
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)

json
{
    "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

ฟิลด์ชนิดคำอธิบาย
idnumberID บัญชีธนาคาร
bankCodestringรหัสธนาคาร (ดู ดูรายชื่อธนาคาร)
bankNumberstringเลขที่บัญชี
nameThstringชื่อเจ้าของบัญชีภาษาไทย
nameEnstringชื่อเจ้าของบัญชีภาษาอังกฤษ
typestringประเภทบัญชี (NATURAL, JURISTIC)
extraVerifystring | nullค่าการตรวจสอบเพิ่มเติม (เช่น MSISDN, NATID), null ถ้าไม่มี
bankobjectข้อมูลธนาคาร
bank.codestringรหัสธนาคาร
bank.nameThstringชื่อธนาคารภาษาไทย
bank.nameEnstringชื่อธนาคารภาษาอังกฤษ
bank.shortCodestringชื่อย่อธนาคาร

เชื่อมต่อบัญชีธนาคารกับสาขา

เชื่อมต่อบัญชีธนาคารที่มีอยู่แล้วหนึ่งรายการหรือมากกว่ากับสาขา

http
POST /b2b/branch/bank-accounts

Full URL: https://api-partners.easyslip.com/v2/b2b/branch/bank-accounts

Permission: bank-account:write

ต้องส่ง Header: X-Branch-Key (Branch UUID)

Request Body

ฟิลด์ชนิดจำเป็นคำอธิบาย
bankAccountIdsnumber[]ใช่Array ของ ID บัญชีธนาคารที่ต้องการเชื่อมต่อ

ตัวอย่าง

bash
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]
  }'
javascript
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)

json
{
    "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."
            }
        ]
    }
}

ยกเลิกการเชื่อมต่อบัญชีธนาคาร

http
DELETE /b2b/branch/bank-accounts/:bankAccountId

Full URL: https://api-partners.easyslip.com/v2/b2b/branch/bank-accounts/:bankAccountId

Permission: bank-account:write

ต้องส่ง Header: X-Branch-Key (Branch UUID)

ตัวอย่าง

bash
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}"
javascript
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)

json
{
    "success": true,
    "data": {
        "unlinked": true,
        "bankAccountId": 1,
        "branchId": 1
    }
}

สร้างบัญชีธนาคารใหม่

สร้างบัญชีธนาคารใหม่ที่สามารถเชื่อมต่อกับสาขาได้

http
POST /b2b/bank-accounts

Full URL: https://api-partners.easyslip.com/v2/b2b/bank-accounts

Permission: bank-account:write

TIP

ใช้ ดูรายชื่อธนาคาร เพื่อตรวจสอบว่าธนาคารใดต้องการ extraVerify ถ้าธนาคารมีตัวเลือก extraVerify จะต้องส่งค่าที่ถูกต้องมาด้วยตอนสร้างบัญชี

Request Body

ฟิลด์ชนิดจำเป็นคำอธิบาย
bankCodestringใช่รหัสธนาคาร (ดู ดูรายชื่อธนาคาร)
bankNumberstringใช่เลขที่บัญชี
nameThstringใช่ชื่อเจ้าของบัญชีภาษาไทย
nameEnstringใช่ชื่อเจ้าของบัญชีภาษาอังกฤษ
typestringใช่ประเภทบัญชี: NATURAL หรือ JURISTIC
extraVerifystringขึ้นอยู่กับธนาคารจำเป็นถ้าธนาคารมีตัวเลือก extraVerify ต้องตรงกับค่า value จาก ดูรายชื่อธนาคาร

ตัวอย่าง

bash
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"
  }'
javascript
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)

json
{
    "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

ฟิลด์ชนิดคำอธิบาย
idnumberID บัญชีธนาคาร
bankCodestringรหัสธนาคาร
bankNumberstringเลขที่บัญชี
nameThstringชื่อเจ้าของบัญชีภาษาไทย
nameEnstringชื่อเจ้าของบัญชีภาษาอังกฤษ
typestringประเภทบัญชี (NATURAL, JURISTIC)
extraVerifystring | nullค่าการตรวจสอบเพิ่มเติม, null ถ้าไม่มี
bankobjectข้อมูลธนาคาร
bank.codestringรหัสธนาคาร
bank.nameThstringชื่อธนาคารภาษาไทย
bank.nameEnstringชื่อธนาคารภาษาอังกฤษ
bank.shortCodestringชื่อย่อธนาคาร

แก้ไขบัญชีธนาคาร

แก้ไขข้อมูลบัญชีธนาคารที่มีอยู่ ฟิลด์ที่ไม่ได้ส่งจะคงค่าเดิม

http
PATCH /b2b/bank-accounts/:bankAccountId

Full URL: https://api-partners.easyslip.com/v2/b2b/bank-accounts/:bankAccountId

Permission: bank-account:write

TIP

หากเปลี่ยน bankCode ไปยังธนาคารที่ต้องการ extraVerify ต้องส่ง extraVerify ที่ถูกต้องมาด้วย หากเปลี่ยนไปยังธนาคารที่ไม่ต้องการ extraVerify ระบบจะล้างค่า extraVerify ให้อัตโนมัติ

Request Body

ฟิลด์ชนิดจำเป็นคำอธิบาย
bankCodestringไม่รหัสธนาคารใหม่ (ดู ดูรายชื่อธนาคาร)
bankNumberstringไม่เลขที่บัญชีใหม่
nameThstringไม่ชื่อเจ้าของบัญชีภาษาไทย
nameEnstringไม่ชื่อเจ้าของบัญชีภาษาอังกฤษ
typestringไม่ประเภทบัญชี: NATURAL หรือ JURISTIC
extraVerifystring | nullขึ้นอยู่กับธนาคารค่าการตรวจสอบเพิ่มเติม ส่ง null เพื่อล้างค่า

ต้องระบุอย่างน้อย 1 ฟิลด์

ตัวอย่าง

bash
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"
  }'
javascript
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)

json
{
    "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)

json
{
    "success": false,
    "error": {
        "code": "NO_UPDATE_DATA",
        "message": "กรุณาระบุข้อมูลที่ต้องการแก้ไขอย่างน้อย 1 รายการ"
    }
}

ลบบัญชีธนาคาร

ลบบัญชีธนาคารออกจากระบบ การลบจะยกเลิกการเชื่อมต่อกับทุกสาขาโดยอัตโนมัติ

http
DELETE /b2b/bank-accounts/:bankAccountId

Full URL: https://api-partners.easyslip.com/v2/b2b/bank-accounts/:bankAccountId

Permission: bank-account:write

WARNING

การลบบัญชีธนาคารจะยกเลิกการเชื่อมต่อกับทุกสาขาโดยอัตโนมัติ ไม่สามารถยกเลิกการดำเนินการนี้ได้

ตัวอย่าง

bash
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}"
javascript
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)

json
{
    "success": true,
    "data": null,
    "message": "ลบบัญชีธนาคารสำเร็จ"
}

Error Responses

ไม่พบธนาคาร (404)

json
{
    "success": false,
    "error": {
        "code": "BANK_NOT_FOUND",
        "message": "Bank not found"
    }
}

ไม่พบบัญชีธนาคาร (404)

json
{
    "success": false,
    "error": {
        "code": "BANK_ACCOUNT_NOT_FOUND",
        "message": "Bank account not found"
    }
}

ต้องระบุ Extra Verify (400)

เกิดขึ้นเมื่อธนาคารต้องการ extraVerify แต่ไม่ได้ส่งมา

json
{
    "success": false,
    "error": {
        "code": "EXTRA_VERIFY_REQUIRED",
        "message": "Extra verification is required for this bank"
    }
}

Extra Verify ไม่ถูกต้อง (400)

เกิดขึ้นเมื่อค่า extraVerify ไม่ตรงกับตัวเลือกของธนาคาร

json
{
    "success": false,
    "error": {
        "code": "EXTRA_VERIFY_INVALID",
        "message": "Invalid extra verification value"
    }
}

Bank Slip Verification API for Thai Banking