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

Mobile Banking

รับชำระเงินโดยตรงผ่านแอปมือถือทางการเงินของลูกค้า พร้อม deep linking ที่ราบรื่น การยืนยันแบบทันที และรองรับการคืนเงินเต็มรูปแบบ

ภาพรวม

Mobile Banking ช่วยให้ลูกค้าสามารถอนุมัติการชำระเงินได้โดยตรงในแอปมือถือของธนาคาร เมื่อพวกเขาเลือกธนาคารที่หน้าชำระเงิน แอปธนาคารจะเปิดโดยอัตโนมัติ พวกเขาทำการยืนยันตัวตน อนุมัติการชำระเงิน และกลับมายังเว็บไซต์ของคุณ - ทั้งหมดภายใน 30-90 วินาที

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

  • รวดเร็ว - เวลาดำเนินการ 30-90 วินาที
  • 📱 มือถือเป็นหลัก - ประสบการณ์แอปที่ราบรื่น
  • ยืนยันเร็ว - การตรวจสอบการชำระเงินแบบเรียลไทม์เกือบจะทันที (โดยปกติภายในไม่กี่วินาที)
  • 🔄 รองรับการคืนเงิน - คืนเงินเต็มจำนวนและบางส่วน
  • 🔒 ปลอดภัย - ความปลอดภัยระดับธนาคาร
  • 💰 วงเงินสูง - สูงกว่าวงเงินบัตรเครดิต

ธนาคารที่รองรับ

ประเทศไทย 🇹🇭

ธนาคารผู้ใช้ประเภทซอร์สคืนเงินได้การโอนเงิน
SCB (ธนาคารไทยพาณิชย์)12M+mobile_banking_scb✅ ได้1-3 วัน
Kasikornbank (K-ธนาคาร)10M+mobile_banking_kbank✅ ได้1-3 วัน
Bangkok ธนาคาร (BBL)6M+mobile_banking_bbl✅ ได้1-3 วัน
Krungsri (BAY)4M+mobile_banking_bay✅ ได้1-3 วัน
Krungthai ธนาคาร (KTB)5M+mobile_banking_ktb✅ ได้1-3 วัน

สิงคโปร์ 🇸🇬

ธนาคารประเภทซอร์สคืนเงินได้การโอนเงิน
OCBC ธนาคารmobile_banking_ocbc✅ ได้1-3 วัน

สกุลเงิน: THB (ไทย), SGD (สิงคโปร์) จำนวนเงินขั้นต่ำ: ฿1 / $0.01 จำนวนเงินสูงสุด: ฿2,000,000 / $500,000+ (แตกต่างกันตามธนาคาร)

Mobile Banking ทำงานอย่างไร

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

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

เวลารวม: 30-90 วินาที

การใช้งาน

ขั้นตอนที่ 1: สร้าง Mobile Banking ซอร์ส

const omise = require('omise')({
secretKey: 'skey_test_YOUR_SECRET_KEY'
});

// ลูกค้าเลือก SCB
const source = await omise.sources.create({
type: 'mobile_banking_scb',
amount: 100000, // ฿1,000
currency: 'THB'
});

ขั้นตอนที่ 2: สร้างชาร์จและเปลี่ยนเส้นทาง

const charge = await omise.charges.create({
amount: 100000,
currency: 'THB',
source: source.id,
return_uri: 'https://yourdomain.com/payment/callback',
metadata: {
order_id: 'ORD-12345'
}
});

// เปลี่ยนเส้นทางไปยังแอปธนาคาร
res.redirect(charge.authorize_uri);

ขั้นตอนที่ 3: จัดการการกลับและ Webhook

// ลูกค้ากลับมาที่นี่
app.get('/payment/callback', async (req, res) => {
const charge = await omise.charges.retrieve(req.query.charge_id);

if (charge.status === 'successful') {
res.redirect('/success');
} else {
res.redirect('/failed');
}
});

// Webhook สำหรับการประมวลผลฝั่งเซิร์ฟเวอร์
app.post('/webhooks/omise', (req, res) => {
const event = req.body;

if (event.key === 'charge.complete') {
const charge = event.data;
// ประมวลผลคำสั่งซื้อ
fulfillOrder(charge.metadata.order_id);
}

res.sendStatus(200);
});

การใช้งานเต็มรูปแบบ

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

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

// ธนาคารที่พร้อมใช้งาน
const BANKS = {
scb: { name: 'SCB', type: 'mobile_banking_scb' },
kbank: { name: 'Kasikornbank', type: 'mobile_banking_kbank' },
bbl: { name: 'Bangkok ธนาคาร', type: 'mobile_banking_bbl' },
bay: { name: 'Krungsri', type: 'mobile_banking_bay' },
ktb: { name: 'Krungthai', type: 'mobile_banking_ktb' }
};

// สร้างการชำระเงิน
app.post('/checkout/mobile-banking', async (req, res) => {
try {
const { bank_code, amount, order_id } = req.body;
const bank = BANKS[bank_code];

if (!bank) {
return res.status(400).json({ error: 'ธนาคารไม่ถูกต้อง' });
}

// สร้างซอร์ส
const source = await omise.sources.create({
type: bank.type,
amount: amount,
currency: 'THB'
});

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

res.json({
authorize_uri: charge.authorize_uri,
charge_id: charge.id
});

} catch (error) {
res.status(500).json({ error: error.message });
}
});

app.listen(3000);

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

การชำระเงินผ่าน Mobile Banking ทั้งหมดรองรับการคืนเงินเต็มจำนวนและบางส่วน:

// คืนเงินเต็มจำนวน
const refund = await omise.charges.refund('chrg_test_...', {
amount: 100000
});

// คืนเงินบางส่วน
const partialRefund = await omise.charges.refund('chrg_test_...', {
amount: 50000
});

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

1. การตรวจจับมือถือเท่านั้น

function isMobileDevice() {
return /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);
}

if (!isMobileDevice()) {
showMessage('Mobile Banking ต้องการอุปกรณ์มือถือ');
showAlternativePaymentMethods();
}

2. สินทรัพย์โลโก้ธนาคาร

ใช้โลโก้ธนาคารอย่างเป็นทางการ (60x60px หรือ 120x120px):

  • SCB: โลโก้สีม่วง
  • Kasikornbank: โลโก้ "K" สีเขียว
  • Bangkok ธนาคาร: โลโก้สีน้ำเงิน
  • Krungsri: โลโก้สีเหลือง
  • Krungthai: โลโก้สีน้ำเงิน/แดง

3. แสดงคำแนะนำ

<div class="instructions">
<h4>วิธีชำระเงิน (How to Pay):</h4>
<ol>
<li>เลือกธนาคารของคุณ (Select your bank)</li>
<li>แอพธนาคารจะเปิดอัตโนมัติ (Banking app will open)</li>
<li>ยืนยันการชำระเงิน (Confirm payment)</li>
<li>กลับมาที่หน้าเว็บ (Return to website)</li>
</ol>
</div>

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

Mobile Banking คืออะไร?

Mobile Banking ช่วยให้ลูกค้าสามารถอนุมัติการชำระเงินได้โดยตรงในแอปมือถือของธนาคาร แอปเปิดโดยอัตโนมัติ ลูกค้ายืนยันตัวตนและอนุมัติ - ทั้งหมดใน 30-90 วินาที

รองรับธนาคารใดบ้าง?

ไทย: SCB, Kasikornbank, Bangkok ธนาคาร, Krungsri, Krungthai สิงคโปร์: OCBC

ธนาคารเพิ่มเติมเร็วๆ นี้

ทำงานบนเดสก์ท็อปได้หรือไม่?

ไม่ได้ Mobile Banking ต้องการแอปมือถือของธนาคาร สำหรับผู้ใช้เดสก์ท็อป ให้เสนอ:

  • Internet banking
  • การชำระเงิน QR
  • บัตรเครดิต
สามารถคืนเงินการชำระเงิน Mobile Banking ได้หรือไม่?

ได้! Mobile Banking รองรับการคืนเงินทั้งเต็มจำนวนและบางส่วน ไม่เหมือนกับ internet banking

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

ขั้นตอนต่อไป

  1. เลือกธนาคารเป้าหมายของคุณ
  2. ใช้งาน UI เลือกธนาคาร
  3. สร้างซอร์สด้วยธนาคารที่เลือก
  4. จัดการการเปลี่ยนเส้นทางและ webhooks
  5. ทดสอบด้วยอุปกรณ์มือถือจริง
  6. เริ่มใช้งาน

พร้อมที่จะผสานรวมแล้วหรือยัง? เลือกธนาคารของคุณ: