Create Withdraw

API Withdraw นี้ช่วยให้ผู้ใช้สามารถเริ่มต้นธุรกรรมการถอนเงินจากบัญชี โดยมีการระบุรายละเอียดต่างๆ เช่น จำนวนเงินที่จะถอน บัญชีปลายทาง และข้อมูลที่จำเป็นอื่นๆ เพื่อดำเนินการธุรกรรมให้สำเร็จ

‼️‼️รายการถอน ห้ามตั้งเวลาหมดอายุรายการ ให้รีเช็คสถานะรายการด้วยการ Resend Callback เท่านั้น และห้ามยิง Retry โดยเด็ดขาด‼️‼️

รายละเอียด Endpoint

POST /api/v1/client/create_withdraw

Headers

Name
Value

Authorization

Bearer YOUR_SECRET_TOKEN

x-api-key

YOUR_API_KEY

x-signature

YOUR_BASE64_ENCODED_SIGNATURE

Body

{
  "amount":0,
  "dest_bank_acc_no": "",
  "dest_bank_acc_name": "",
  "dest_bank_code": "",
  "withdraw_code": "",
  "callback_url": "",
  "order_id": ""
}
Fields
Type
Required
Description

amount

number

Required

จำนวนเงินที่ต้องการฝาก มีรูปแบบเป็นตัวเลขพร้อมทศนิยม 2 ตำแหน่ง (ไม่มี comma) เช่น 1000.00 หมายเหตุ: ในบางกรณีระบบอาจปรับค่าเล็กน้อยเพื่อใช้จับคู่กับ QR Code

dest_bank_acc_no

string

Required

เลขบัญชีผู้ถอน

dest_bank_ac_name

string

Required

ชื่อบัญชีผู้ถอน

dest_bank_code

string

Required

รหัสธนาคารของผู้ถอน

withdraw_code

string

Optional

รหัส Pin Code ที่ใส่ยืนยันรายการเมื่อรายการถอนมียอดถอนมากกว่าขั้นต่ำ

callback_url

string

Optional

URL สำหรับรับ Callback หากต้องการเปลี่ยนเฉพาะคำสั่งนี้ หากไม่ระบุ ระบบจะใช้ค่าเริ่มต้นที่ตั้งไว้ในหน้า Profile ของร้านค้า

order_id

string

Optional

ของรายการร้านค้า


ตัวอย่างการเรียกใช้งาน (Request Example)

curl -X POST https://baseUrl/api/v1/client/create_withdraw
-H "Authorization: Bearer YOUR_SECRET_TOKEN" \
-H "x-api-key: YOUR_API_KEY" \
-H "x-signature: YOUR_BASE64_ENCODED_SIGNATURE" \
-H "Content-Type: application/json" \
-d '{
  "amount": 500,
  "dest_bank_acc_no": "9876543210",
  "dest_bank_acc_name": "John Doe",
  "dest_bank_code": "004",
  "withdraw_code": "635124",
  "callback_url": "https://yourcallbackurl.com",
  "order_id": "123e4567-426614174000"
}'

การตอบกลับจาก API (Response Example)

{
  "status": "string",
  "ref_id": "string",
  "dest_bank_code": "string",
  "dest_bank_acc_no": "string",
  "dest_bank_acc_name": "string",
  "amount": 0,
  "withdraw_time": "string"
}

Callback Response

เมื่อทำการเรียก API เพื่อสร้างการถอนเงิน/client/create_withdrawระบบจะส่งข้อมูลการถอนกลับไปที่ URL callback ที่คุณได้ตั้งค่าไว้ในระบบ

เมื่อการทำรายการสำเร็จ ระบบจะส่ง callback กลับไปที่ URL ที่ได้ตั้งค่าไว้ในระบบ โดยมีโครงสร้างข้อมูลดังนี้

{
  "type": "WITHDRAW",
  "status": "", //AUTO_SUCCESS ,FAILED
  "status_desc": "",
  "amount": 0,
  "mdr_amount": 0,
  "stm_desc": "",
  "stm_ref_id": "",
  "stm_bank_code": "",
  "stm_bank_acc_no": "",
  "stm_bank_acc_name": "",
  "stm_timestamp": "",
  "txn_ref_id": "",
  "txn_ref_user_id": "",
  "txn_ref1": "",
  "txn_ref2": "",
  "txn_ref_order_id": "",
  "txn_ref_bank_code": "",
  "txn_ref_bank_acc_no": "",
  "txn_ref_bank_acc_name_en": "",
  "txn_ref_bank_acc_name_th": "",
  "txn_timestamp": "",
}  
Status
Description

PROCESSING

กำลังดำเนินการ

AUTO_SUCCESS

ถอนสำเร็จ

PENDING_CONFIRM

รอร้านค้ายืนยันรายการด้วย Withdraw Code(Pin)

FAILED

ถอนล้มเหลว รหัสธนาคารของผู้ถอน

Callback สำหรับรายการสำเร็จและไม่สำเร็จมีข้อมูลเหมือนกัน ต่างกันที่ Status เท่านั้น


JaveScript Example

const axios = require('axios')

try {
  const { data } = await axios.post(
    `${baseUrl}/api/v1/client/create_withdraw`,
    {
      amount: 500, // จำนวนเงินที่ต้องการถอน
      dest_bank_acc_no: "9876543210", // หมายเลขบัญชีธนาคารปลายทาง
      dest_bank_acc_name: "John Doe", // ชื่อเจ้าของบัญชีปลายทาง
      dest_bank_code: "004", // รหัสธนาคารปลายทาง (ตัวอย่างคือรหัสธนาคารกรุงเทพ)
      withdraw_code: "635124", // รหัสการถอน (ที่ระบบจะใช้ตรวจสอบ)
      callback_url: "https://yourcallbackurl.com", // URL ที่จะรับข้อมูลเมื่อการทำรายการเสร็จสิ้น
      order_id: "123e4567-426614174000" // รหัสคำสั่งถอนที่ไม่ซ้ำ
    },
    {
      headers: { // การตั้งค่าหัวข้อต่างๆ ที่จำเป็นในการส่งคำขอ
        Authorization: 'Bearer YOUR_ACCESS_TOKEN', // ใส่ Access Token ของคุณที่ได้รับ
        'x-api-key': 'YOUR_API_KEY', // ใส่ API Key ของคุณที่ได้รับ
        'x-signature': 'YOUR_BASE64_ENCODED_SIGNATURE', // ใส่ลายเซ็นที่เข้ารหัส
        'Content-Type': 'application/json' // ระบุว่า Content-Type เป็น JSON
      },
    }
  )
} 

Last updated