ข้ามไปยังเนื้อหาหลัก

Boost

รับชำระเงินจากผู้ใช้ Boost กว่า 9 ล้านคนในมาเลเซีย กระเป๋าเงินดิจิทัลที่เกิดในประเทศชั้นนำที่มีการแทรกซึมของร้านค้าอย่างลึกและการรับรู้แบรนด์ในท้องถิ่นที่แข็งแกร่ง

ภาพรวม

Boost เป็นกระเป๋าเงินดิจิทัลที่เกิดในมาเลเซียที่ใหญ่ที่สุดด้วยผู้ใช้มากกว่า 9 ล้านคนและจุดสัมผัสร้านค้ามากกว่า 180,000 แห่ง ก่อตั้งเป็นกิจการร่วมค้าระหว่าง Axiata Group และ RHB ธนาคาร Boost ได้กลายเป็น e-wallet ที่ได้รับการยอมรับอย่างแพร่หลายที่สุดในมาเลเซีย โดยเฉพาะอย่างยิ่งที่แข็งแกร่งในหมู่วัยทำงานและผู้บริโภคในเมือง

คุณสมบัติหลัก:

  • ผู้ใช้ 9+ ล้านคน - e-wallet ในประเทศที่ได้รับความนิยมมากที่สุดของมาเลเซีย
  • ร้านค้า 180,000+ แห่ง - เครือข่ายการยอมรับที่กว้างที่สุดในมาเลเซีย
  • ยืนยันทันที - ประมวลผลการชำระเงินแบบเรียลไทม์
  • การชำระเงิน QR และแอป - รองรับวิธีการชำระเงินหลายแบบ
  • โปรแกรมรางวัล - คืนเงินและคะแนนสะสม
  • พร้อมใช้งาน 24/7 - ทำงานได้ทุกเวลารวมถึงวันหยุด

ภูมิภาคที่รองรับ

ภูมิภาคสกุลเงินจำนวนขั้นต่ำจำนวนสูงสุดวงเงินรายวัน
มาเลเซียMYRRM1.00RM10,000RM30,000*

*วงเงินรายวันอาจแตกต่างกันตามระดับการยืนยันตัวตนของลูกค้า

ระดับการยืนยันตัวตน

ระดับวงเงินรายวันวงเงินรายเดือนข้อกำหนด
พื้นฐาน (ไม่ยืนยัน)RM1,500RM3,000เฉพาะหมายเลขโทรศัพท์
ยืนยันแล้วRM30,000RM100,000การยืนยันบัตรประชาชน/พาสปอร์ต

วิธีการทำงาน

ประสบการณ์ของลูกค้า:

  1. ลูกค้าเลือก "Boost" ที่หน้าชำระเงิน
  2. เปลี่ยนเส้นทางไปยังหน้าชำระเงิน Boost
  3. เปิดแอป Boost (deep link บนมือถือ)
  4. ตรวจสอบรายละเอียดธุรกรรม
  5. ยืนยันตัวตนด้วย PIN 6 หลักหรือไบโอเมตริกส์
  6. ยืนยันการชำระเงิน
  7. ได้รับคืนเงิน/รางวัล (หากมีสิทธิ์)
  8. กลับสู่เว็บไซต์ร้านค้า

เวลาในการทำรายการโดยเฉลี่ย: 1-2 นาที

ตัวอย่างขั้นตอนการชำระเงิน

ขั้นตอนการชำระเงินบนมือถือ - แอป Boost:

ขั้นตอนการชำระเงินบนมือถือ - แอป Boost

เมื่อลูกค้าเข้าสู่ระบบแอป Boost อยู่แล้ว:

  • ❶ เลือก Boost - ลูกค้าเลือก Boost ที่หน้าชำระเงิน
  • ❷ เปลี่ยนเส้นทางไปยัง Boost - deep link เปิดแอป Boost โดยอัตโนมัติ
  • ❸ ตรวจสอบการชำระเงิน - รายละเอียดธุรกรรมแสดงในแอป
  • ❹ ตรวจสอบร้านค้า - แสดงชื่อร้านค้าและจำนวนเงิน
  • ❺ ยืนยันตัวตน - ใส่ PIN 6 หลักหรือใช้ไบโอเมตริกส์ (ลายนิ้วมือ/Face ID)
  • ❻ เสร็จสิ้น - ประมวลผลการชำระเงิน รับคืนเงิน/รางวัล กลับสู่ร้านค้า

ขั้นตอนการชำระเงินบนมือถือ - วิธีการลงชื่อเข้าใช้:

ขั้นตอนการชำระเงินบนมือถือ - วิธีการลงชื่อเข้าใช้

ขั้นตอนทางเลือกสำหรับลูกค้าที่ไม่ได้เข้าสู่ระบบแอป Boost:

  • ❶ เลือก Boost - ลูกค้าเริ่มการชำระเงิน Boost
  • ❷ ใส่หมายเลขมือถือ - ป้อนหมายเลขโทรศัพท์ที่ลงทะเบียน Boost
  • ❸ ส่ง OTP - รับรหัสยืนยัน 6 หลักทาง SMS
  • ❹ ใส่ OTP - ลูกค้าใส่ OTP เพื่อยืนยันตัวตน
  • ❺ ตรวจสอบ & ยืนยัน - แสดงรายละเอียดการชำระเงิน ยืนยันตัวตนด้วย PIN
  • ❻ การชำระเงินสำเร็จ - ธุรกรรมเสร็จสิ้น เครดิตรางวัล

ขั้นตอนการชำระเงินบนเดสก์ท็อป:

ขั้นตอนการชำระเงินบนเดสก์ท็อป

ขั้นตอน QR code สำหรับเบราว์เซอร์เดสก์ท็อป:

  • ❶ เริ่มการชำระเงิน - ลูกค้าคลิก "ชำระด้วย Boost"
  • ❷ สร้าง QR - ระบบสร้าง QR code ของ Boost ที่ไม่ซ้ำกัน
  • ❸ แสดง QR - QR code แสดงบนหน้าจอเดสก์ท็อป
  • ❹ เปิดแอป Boost - ลูกค้าเปิด Boost บนอุปกรณ์มือถือ
  • ❺ สแกน QR - ใช้เครื่องสแกนในแอปเพื่อแคปเจอร์ QR code
  • ❻ ตรวจสอบรายละเอียด - ข้อมูลการชำระเงินแสดงในแอป
  • ❼ ยืนยัน & เสร็จสิ้น - ยืนยันตัวตนด้วย PIN/ไบโอเมตริกส์ ประมวลผลการชำระเงิน

การนำไปใช้

ขั้นตอนที่ 1: สร้าง Source ของ Boost

curl https://api.omise.co/sources \
-u skey_test_YOUR_SECRET_KEY: \
-d "type=boost" \
-d "amount=10000" \
-d "currency=MYR"

การตอบกลับ:

{
"object": "source",
"id": "src_test_5rt6s9vah5lkvi1rh9c",
"type": "boost",
"flow": "redirect",
"amount": 10000,
"currency": "MYR"
}

ขั้นตอนที่ 2: สร้าง Charge

curl https://api.omise.co/charges \
-u skey_test_YOUR_SECRET_KEY: \
-d "amount=10000" \
-d "currency=MYR" \
-d "source=src_test_5rt6s9vah5lkvi1rh9c" \
-d "return_uri=https://yourdomain.com/payment/callback"

ขั้นตอนที่ 3: เปลี่ยนเส้นทางลูกค้า

app.post('/checkout/boost', async (req, res) => {
try {
const { amount, order_id, customer_email } = req.body;

// ตรวจสอบจำนวนเงิน (RM1 - RM10,000)
if (amount < 100 || amount > 1000000) {
return res.status(400).json({
error: 'Amount must be between RM1 and RM10,000'
});
}

// สร้าง source
const source = await omise.sources.create({
type: 'boost',
amount: amount,
currency: 'MYR'
});

// สร้าง charge
const charge = await omise.charges.create({
amount: amount,
currency: 'MYR',
source: source.id,
return_uri: `${process.env.BASE_URL}/payment/callback`,
metadata: {
order_id: order_id,
customer_email: customer_email
}
});

// เปลี่ยนเส้นทางไปยัง Boost
res.redirect(charge.authorize_uri);

} catch (error) {
console.error('Boost error:', error);
res.status(500).json({ error: error.message });
}
});

ขั้นตอนที่ 4: จัดการการกลับมา

app.get('/payment/callback', async (req, res) => {
try {
const chargeId = req.query.charge_id;
const charge = await omise.charges.retrieve(chargeId);

if (charge.status === 'successful') {
await processOrder(charge.metadata.order_id);
res.redirect('/payment-success');
} else if (charge.status === 'failed') {
res.redirect('/payment-failed?reason=' + charge.failure_message);
} else {
res.redirect('/payment-pending');
}
} catch (error) {
res.redirect('/payment-error');
}
});

ขั้นตอนที่ 5: จัดการ Webhook

app.post('/webhooks/omise', (req, res) => {
const event = req.body;

if (event.key === 'charge.complete' && event.data.source.type === 'boost') {
const charge = event.data;

if (charge.status === 'successful') {
processOrder(charge.metadata.order_id);
sendConfirmationEmail(charge.metadata.customer_email);
} else if (charge.status === 'failed') {
handleFailedPayment(charge.metadata.order_id);
}
}

res.sendStatus(200);
});

ตัวอย่างการนำไปใช้แบบสมบูรณ์

// Express.js server
const express = require('express');
const omise = require('omise')({
secretKey: process.env.OMISE_SECRET_KEY
});

const app = express();
app.use(express.json());

app.post('/checkout/boost', async (req, res) => {
try {
const { amount, order_id, customer_email, customer_phone } = req.body;

// ตรวจสอบจำนวนเงิน (RM1 - RM10,000)
if (amount < 100 || amount > 1000000) {
return res.status(400).json({
error: 'Amount must be between RM1 and RM10,000'
});
}

// คำนวณคืนเงินโดยประมาณ (หากร้านค้าเสนอ)
const estimatedCashback = calculateCashback(amount);

// สร้าง source
const source = await omise.sources.create({
type: 'boost',
amount: amount,
currency: 'MYR'
});

// สร้าง charge
const charge = await omise.charges.create({
amount: amount,
currency: 'MYR',
source: source.id,
return_uri: `${process.env.BASE_URL}/payment/callback`,
metadata: {
order_id: order_id,
customer_email: customer_email,
customer_phone: customer_phone,
payment_method: 'boost',
estimated_cashback: estimatedCashback
}
});

// ส่งคืน URL การอนุญาต
res.json({
authorize_uri: charge.authorize_uri,
charge_id: charge.id,
estimated_cashback: estimatedCashback
});

} catch (error) {
console.error('Boost error:', error);
res.status(500).json({ error: error.message });
}
});

// คำนวณคืนเงิน (ตัวอย่างการนำไปใช้)
function calculateCashback(amount) {
// ตัวอย่าง: คืนเงิน 1% สูงสุด RM10
const cashbackRate = 0.01;
const cashback = amount * cashbackRate;
return Math.min(cashback, 1000); // คืนเงินสูงสุด RM10
}

// ตัวจัดการ callback
app.get('/payment/callback', async (req, res) => {
try {
const chargeId = req.query.charge_id;
const charge = await omise.charges.retrieve(chargeId);

if (charge.status === 'successful') {
res.redirect(`/order-success?order=${charge.metadata.order_id}`);
} else {
res.redirect(`/payment-failed?charge=${chargeId}`);
}
} catch (error) {
res.redirect('/payment-error');
}
});

// ตัวจัดการ Webhook
app.post('/webhooks/omise', (req, res) => {
const event = req.body;

if (event.key === 'charge.complete') {
const charge = event.data;

if (charge.source.type === 'boost') {
if (charge.status === 'successful') {
updateOrderStatus(charge.metadata.order_id, 'paid');
sendConfirmation(charge.metadata.customer_email);

// บันทึกการชำระเงินสำเร็จ
console.log(`Boost payment successful: ${charge.id}`);
} else {
updateOrderStatus(charge.metadata.order_id, 'failed');
console.log(`Boost payment failed: ${charge.id}`);
}
}
}

res.sendStatus(200);
});

// ฟังก์ชันช่วยเหลือ
async function updateOrderStatus(orderId, status) {
await db.orders.update({ id: orderId }, { status: status });
}

async function sendConfirmation(email) {
// ส่งการยืนยันทางอีเมล
}

app.listen(3000);

การรองรับการคืนเงิน

Boost รองรับการคืนเงินเต็มจำนวนเท่านั้นภายใน 30 วัน:

// คืนเงินเต็มจำนวนเท่านั้น (ไม่คืนบางส่วน)
const refund = await omise.charges.refund('chrg_test_...', {
amount: 10000 // ต้องเป็นจำนวนเต็ม
});
ข้อจำกัดการคืนเงิน
  • คืนเงินเต็มจำนวนเท่านั้น - ไม่รองรับการคืนเงินบางส่วน
  • ช่วง 30 วัน - ต้องเริ่มการคืนเงินภายใน 30 วัน
  • การยกเลิกคืนเงิน - คืนเงินที่ได้รับจะถูกยกเลิก

ปัญหาที่พบบ่อยและการแก้ไข

ปัญหา: ไม่ได้ติดตั้งแอป Boost

สาเหตุ: ลูกค้าไม่ได้ติดตั้งแอป Boost

วิธีแก้:

function detectBoostApp() {
const isMobile = /Android|iPhone|iPad|iPod/i.test(navigator.userAgent);

if (isMobile) {
return `
<div class="boost-app-check">
<p>ต้องใช้แอป Boost สำหรับการชำระเงิน</p>
<div class="download-links">
<a href="https://play.google.com/store/apps/details?id=com.myboost.boostapp">
<img src="/images/google-play-badge.png" alt="Get it on Google Play">
</a>
<a href="https://apps.apple.com/app/boost-pay/id1097459653">
<img src="/images/app-store-badge.png" alt="Download on App Store">
</a>
</div>
</div>
`;
}
}

ปัญหา: ยอดเงินไม่เพียงพอ

สาเหตุ: ยอดเงินกระเป๋าเงิน Boost ของลูกค้าต่ำเกินไป

วิธีแก้:

<div class="balance-instructions">
<h3>ยอดเงิน Boost ไม่เพียงพอ</h3>
<p>ยอดเงินกระเป๋าเงิน Boost ของคุณต่ำเกินไปสำหรับธุรกรรมนี้</p>

<h4>วิธีการเติมเงิน:</h4>
<ul>
<li>🏦 <strong>ธนาคารออนไลน์</strong> - เชื่อมโยงบัญชีธนาคารของคุณ</li>
<li>💳 <strong>บัตรเดบิต/เครดิต</strong> - เติมเงินทันที</li>
<li>🏪 <strong>7-Eleven</strong> - เติมเงินสดที่เคาน์เตอร์</li>
<li>🏧 <strong>ATM Maybank</strong> - เลือก "Boost Top Up"</li>
<li>👥 <strong>การโอน Boost</strong> - รับจากเพื่อน</li>
</ul>

<p>หลังจากเติมเงิน กลับมาที่นี่เพื่อทำการชำระเงินให้เสร็จสิ้น</p>
</div>

ปัญหา: เกินวงเงินรายวัน

สาเหตุ: ลูกค้าถึงวงเงินธุรกรรมรายวันแล้ว

วิธีแก้:

function handleLimitExceeded(verificationLevel) {
if (verificationLevel === 'basic') {
return {
error: 'Daily limit exceeded',
message: 'บัญชีที่ไม่ยืนยันมีวงเงินรายวัน RM1,500',
solution: 'ยืนยันบัญชีของคุณเพื่อเพิ่มวงเงินเป็น RM30,000/วัน',
instructions: [
'เปิดแอป Boost',
'ไปที่โปรไฟล์ > ยืนยันบัญชี',
'ส่งการยืนยันบัตรประชาชน/พาสปอร์ต',
'รอการอนุมัติ (ปกติ 1-2 ชั่วโมง)'
]
};
} else {
return {
error: 'Daily limit exceeded',
message: 'คุณถึงวงเงินรายวัน RM30,000 แล้ว',
solution: 'ลองอีกครั้งในวันพรุ่งนี้หรือใช้วิธีการชำระเงินทางเลือก'
};
}
}

ปัญหา: การยืนยันบัญชีค้างอยู่

สาเหตุ: ลูกค้าเริ่มการยืนยันแต่ยังไม่ได้รับการอนุมัติ

วิธีแก้:

function showVerificationPending() {
return `
<div class="verification-pending">
<h3>การยืนยันบัญชีค้างอยู่</h3>
<p>การยืนยันบัญชี Boost ของคุณกำลังดำเนินการ</p>
<p>การยืนยันโดยทั่วไปใช้เวลา 1-2 ชั่วโมงในเวลาทำการ</p>
<p>ในขณะเดียวกัน คุณสามารถ:</p>
<ul>
<li>ใช้วงเงินปัจจุบันของคุณ (RM1,500/วัน)</li>
<li>เลือกวิธีการชำระเงินทางเลือก</li>
<li>แบ่งการซื้อของคุณเป็นธุรกรรมที่เล็กลง</li>
</ul>
</div>
`;
}

ปัญหา: หมดเวลาการชำระเงิน

สาเหตุ: ลูกค้าไม่ได้ทำการชำระเงินให้เสร็จภายในเวลาที่กำหนด

วิธีแก้:

// ช่วงเวลาการชำระเงิน 10 นาที
const PAYMENT_TIMEOUT = 10 * 60 * 1000;

setTimeout(() => {
if (!paymentConfirmed) {
showTimeoutMessage();
allowRetry();
}
}, PAYMENT_TIMEOUT);

function allowRetry() {
document.getElementById('retry-button').onclick = () => {
// สร้างการชำระเงินใหม่
window.location.href = '/checkout';
};
}

แนวทางปฏิบัติที่ดีที่สุด

1. แสดงผลประโยชน์ของ Boost

<div class="boost-benefits">
<img src="/images/boost-logo.svg" alt="Boost" height="40">
<h3>ชำระเงินด้วย Boost</h3>
<ul class="benefits-list">
<li>✓ การยืนยันการชำระเงินทันที</li>
<li>✓ รับคืนเงินและรางวัล</li>
<li>✓ การยืนยันตัวตน PIN/ไบโอเมตริกส์ที่ปลอดภัย</li>
<li>✓ ไม่มีค่าธรรมเนียมธุรกรรม</li>
<li>✓ e-wallet อันดับ 1 ของมาเลเซีย</li>
</ul>
<p class="cashback-note">
💰 <strong>รับคืนเงินสูงสุด RM{{cashback}}</strong> จากการซื้อนี้
</p>
</div>

2. ให้คำแนะนำที่ชัดเจน

<div class="boost-instructions">
<h3>วิธีการชำระเงินด้วย Boost</h3>
<ol class="payment-steps">
<li>
<strong>คลิก "ชำระด้วย Boost"</strong>
<p>คุณจะถูกเปลี่ยนเส้นทางไปยังหน้าชำระเงิน Boost</p>
</li>
<li>
<strong>เปิดแอป Boost</strong>
<p>แอปจะเปิดโดยอัตโนมัติบนมือถือ</p>
</li>
<li>
<strong>ยืนยันตัวตน</strong>
<p>ใช้ PIN 6 หลักหรือไบโอเมตริกส์ของคุณ</p>
</li>
<li>
<strong>ยืนยันการชำระเงิน</strong>
<p>ตรวจสอบและยืนยันธุรกรรม</p>
</li>
</ol>
<p class="requirements">
<strong>ข้อกำหนด:</strong> ติดตั้งแอป Boost พร้อมยอดเงินเพียงพอ
</p>
</div>

3. จัดการระดับการยืนยันตัวตน

function checkVerificationLevel(amount) {
const BASIC_LIMIT = 150000; // RM1,500
const VERIFIED_LIMIT = 1000000; // RM10,000

if (amount > VERIFIED_LIMIT) {
return {
error: 'จำนวนเงินเกินวงเงินสูงสุด (RM10,000)'
};
}

if (amount > BASIC_LIMIT) {
return {
warning: 'ธุรกรรมนี้ต้องใช้บัญชี Boost ที่ยืนยันแล้ว',
message: 'โปรดยืนยันบัญชีของคุณหรือลดจำนวนเงินเป็น RM1,500 หรือน้อยกว่า'
};
}

return { ok: true };
}

4. ตรวจสอบวงเงิน

function validateBoostAmount(amount) {
const MIN = 100; // RM1.00
const MAX = 1000000; // RM10,000.00

if (amount < MIN) {
return `จำนวนเงินขั้นต่ำคือ RM${MIN / 100}`;
}

if (amount > MAX) {
return `จำนวนเงินสูงสุดคือ RM${MAX / 100}`;
}

return null; // ถูกต้อง
}

5. การเพิ่มประสิทธิภาพมือถือ

function optimizeForMobile() {
const isMobile = /Android|iPhone|iPad|iPod/i.test(navigator.userAgent);

if (isMobile) {
// เป้าหมายการสัมผัสที่ใหญ่ขึ้น
document.querySelectorAll('.payment-button').forEach(btn => {
btn.style.minHeight = '50px';
btn.style.fontSize = '18px';
});

// แสดงขั้นตอนแบบแอป
showAppFlowInstructions();
} else {
// แสดงตัวเลือก QR code สำหรับเดสก์ท็อป
showQRCodeOption();
}
}

6. ใช้ Webhook อย่างเชื่อถือได้

// Webhook เป็นวิธีการแจ้งเตือนหลัก
app.post('/webhooks/omise', handleWebhook);

// Callback เป็นสำรองสำหรับการอัพเดท UI
app.get('/payment/callback', handleCallback);

// อย่าพึ่ง callback เพียงอย่างเดียวสำหรับการดำเนินการคำสั่งซื้อ

คำถามที่พบบ่อย

Boost คืออะไร?

Boost เป็นกระเป๋าเงินดิจิทัลที่เกิดในมาเลเซียที่ใหญ่ที่สุดด้วยผู้ใช้มากกว่า 9 ล้านคน เป็นแอปการชำระเงินบนมือถือที่ช่วยให้ผู้ใช้สามารถชำระเงิน โอนเงิน เติมเครดิตโทรศัพท์ และรับรางวัลคืนเงิน Boost ได้รับการยอมรับอย่างแพร่หลายที่ร้านค้ามากกว่า 180,000 แห่งทั่วมาเลเซีย

ลูกค้าต้องมีบัญชีธนาคารมาเลเซียหรือไม่?

ใช่ ลูกค้าโดยทั่วไปต้องมีบัญชีธนาคารหรือบัตรเครดิต/เดบิตของมาเลเซียเพื่อเติมเงินกระเป๋าเงิน Boost ของพวกเขา อย่างไรก็ตาม วิธีการเติมเงินทางเลือกเช่นเงินสดที่ 7-Eleven หรือการรับโอนจากผู้ใช้ Boost คนอื่นก็มีให้บริการ

วงเงินธุรกรรมคือเท่าไร?

วงเงินขึ้นอยู่กับระดับการยืนยันตัวตน:

  • ไม่ยืนยัน: RM1,500/วัน, RM3,000/เดือน
  • ยืนยันแล้ว (บัตรประชาชน/พาสปอร์ต): RM30,000/วัน, RM100,000/เดือน
  • ต่อธุรกรรม: สูงสุด RM10,000
ลูกค้าเติมเงินกระเป๋าเงิน Boost ได้อย่างไร?

ลูกค้าสามารถเติมเงินผ่าน:

  • ธนาคารออนไลน์ (FPX)
  • บัตรเครดิตหรือเดบิต
  • เงินสดที่เคาน์เตอร์ 7-Eleven
  • เครื่อง ATM Maybank
  • โอนจากผู้ใช้ Boost คนอื่น
  • สถานที่พาร์ทเนอร์ต่างๆ
ฉันสามารถคืนเงินการชำระเงิน Boost ได้หรือไม่?

ได้ แต่มีข้อจำกัด:

  • คืนเงินเต็มจำนวนเท่านั้น - ไม่รองรับการคืนเงินบางส่วน
  • ช่วง 30 วัน - ต้องคืนเงินภายใน 30 วันของธุรกรรม
  • การยกเลิกคืนเงิน - คืนเงินที่ลูกค้าได้รับจะถูกยกเลิก
การชำระเงินใช้เวลานานแค่ไหน?

การชำระเงิน Boost โดยทั่วไปจะชำระภายใน 2-3 วันทำการหลังจากธุรกรรม ตรวจสอบแดชบอร์ด Omise ของคุณสำหรับกำหนดการและวันที่ชำระเงินเฉพาะ

Boost พร้อมใช้งาน 24/7 หรือไม่?

ใช่ การชำระเงิน Boost สามารถประมวลผลได้ตลอด 24 ชั่วโมง 7 วันรวมถึงวันหยุดสุดสัปดาห์และวันหยุดนักขัตฤกษ์ อย่างไรก็ตาม การชำระเงินไปยังบัญชีร้านค้าของคุณเป็นไปตามกำหนดการวันทำการ

จะเกิดอะไรขึ้นหากบัญชีของลูกค้าไม่ได้รับการยืนยัน?

บัญชีที่ไม่ได้รับการยืนยันมีวงเงินที่ต่ำกว่า (RM1,500/วัน, RM3,000/เดือน) สำหรับธุรกรรมที่ใหญ่ขึ้น ลูกค้าต้องยืนยันบัญชีของพวกเขาโดยส่งการยืนยันบัตรประชาชนหรือพาสปอร์ตผ่านแอป Boost การยืนยันโดยทั่วไปใช้เวลา 1-2 ชั่วโมงในเวลาทำการ

การทดสอบ

โหมดทดสอบ

Boost สามารถทดสอบได้โดยใช้ API key ทดสอบของคุณ ในโหมดทดสอบ:

ข้อมูลประจำตัวทดสอบ:

  • ใช้ API key ทดสอบ (skey_test_xxx)
  • สกุลเงิน: MYR (ริงกิตมาเลเซีย)
  • ไม่จำเป็นต้องมีบัญชี Boost จริงสำหรับการทดสอบ

ขั้นตอนการทดสอบ:

  1. สร้าง source และ charge ด้วย API key ทดสอบ
  2. ลูกค้าเปลี่ยนเส้นทางไปยัง authorize_uri ทดสอบ
  3. หน้าทดสอบจำลองขั้นตอนการอนุญาต Boost
  4. ใช้การดำเนินการแดชบอร์ด Omise เพื่อทำเครื่องหมาย charge เป็นสำเร็จ/ล้มเหลว
  5. ตรวจสอบการจัดการ webhook และ return_uri

การนำการทดสอบไปใช้:

// ทดสอบการชำระเงิน Boost
const source = await omise.sources.create({
type: 'boost',
amount: 10000, // RM100.00
currency: 'MYR'
});

const charge = await omise.charges.create({
amount: 10000,
currency: 'MYR',
source: source.id,
return_uri: 'https://example.com/callback',
metadata: {
order_id: 'TEST-001'
}
});

console.log('Test authorize URL:', charge.authorize_uri);

// ใช้แดชบอร์ดเพื่อจำลองความสำเร็จ/ความล้มเหลวของการชำระเงิน

สถานการณ์การทดสอบ:

  • การชำระเงินสำเร็จ: ตรวจสอบขั้นตอนการทำคำสั่งซื้อให้เสร็จสิ้น
  • การชำระเงินล้มเหลว: ทดสอบการจัดการข้อผิดพลาดและตรรกะการลองใหม่
  • วงเงิน: ทดสอบจำนวนเงินขั้นต่ำ (RM1) และสูงสุด (RM1,500)
  • ยอดเงินไม่เพียงพอ: จำลองสถานการณ์ยอดเงินกระเป๋าเงินต่ำ
  • บัญชีที่ไม่ได้รับการยืนยัน: ทดสอบด้วยวงเงินสำหรับบัญชีที่ไม่ได้รับการยืนยัน
  • ขั้นตอนมือถือ: ทดสอบ deep link แอปและการเปลี่ยนเส้นทาง
  • หมดเวลา: ทดสอบการจัดการการชำระเงินที่ถูกละทิ้ง

หมายเหตุสำคัญ:

  • โหมดทดสอบไม่เชื่อมต่อกับเซิร์ฟเวอร์ Boost จริง
  • ใช้แดชบอร์ด Omise เพื่อทำเครื่องหมาย charge เป็นสำเร็จ/ล้มเหลว
  • ทดสอบขั้นตอนเฉพาะมือถือ (การสลับแอป)
  • ตรวจสอบการส่ง webhook สำหรับการเปลี่ยนแปลงสถานะทั้งหมด
  • ทดสอบการตรวจสอบจำนวนเงินและการบังคับใช้วงเงิน

สำหรับแนวทางการทดสอบที่ครอบคลุม โปรดดูเอกสารการทดสอบ

ทรัพยากรที่เกี่ยวข้อง

ขั้นตอนถัดไป

  1. สร้าง source ของ Boost
  2. นำขั้นตอนการเปลี่ยนเส้นทางไปใช้
  3. ตั้งค่าการจัดการ webhook
  4. ทดสอบขั้นตอนการชำระเงิน
  5. เริ่มใช้งานจริง