ตัวอย่างการเรียกใช้งาน (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"
}
{
"detail": [
{
"loc": [
"string",
0
],
"msg": "string",
"type": "string"
}
]
}
เมื่อการทำรายการสำเร็จ ระบบจะส่ง callback กลับไปที่ URL ที่ได้ตั้งค่าไว้ในระบบ โดยมีโครงสร้างข้อมูลดังนี้
{
"type": "WITHDRAW",
"status": "SUCCESS",
"status_des": "",
"amount": 0,
"txn_ref_id": "",
"txn_ref_order_id": "",
"txn_ref_bank_code": "",
"txn_ref_bank_acc_no": "",
"txn_ref_bank_acc_name": "",
"txn_ref_user_id": "",
"txn_ref1": "",
"txn_ref2": "",
"txn_timestamp": "1970-01-01T00:00:00",
"stm_timestamp": "1970-01-01T00:00:00",
"stm_bank_code": "",
"stm_bank_acc_no": "",
"stm_bank_acc_name": "",
"stm_desc": "",
"stm_ref_id": ""
}
Callback สำหรับรายการสำเร็จและไม่สำเร็จมีข้อมูลเหมือนกัน ต่างกันที่ Status เท่านั้น
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
},
}
)
}
<?php
$baseUrl = "https://yourapi.com"; // ใส่ URL ของ API ที่ต้องการเรียก
$accessToken = "YOUR_ACCESS_TOKEN"; // ใส่ Access Token ของคุณ
$apiKey = "YOUR_API_KEY"; // ใส่ API Key ของคุณ
$signature = "YOUR_BASE64_ENCODED_SIGNATURE"; // ใส่ลายเซ็นที่เข้ารหัส
// ข้อมูลที่ต้องการส่งไปใน body ของ request
$data = [
'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'
];
// ใช้ cURL ในการส่ง HTTP POST request
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "$baseUrl/api/v1/client/create_withdraw");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)); // ส่งข้อมูลในรูปแบบ JSON
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer $accessToken",
"x-api-key: $apiKey",
"x-signature: $signature",
"Content-Type: application/json"
]);
// รับค่าผลลัพธ์จากการเรียก API
$response = curl_exec($ch);
// ปิดการเชื่อมต่อ cURL
curl_close($ch);
// สามารถทำงานกับ response ได้ตามที่ต้องการ
echo $response;
?>