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

DuitNow Online Banking/Wallets (OBW)

รับชำระเงินจากลูกค้าชาวมาเลเซียผ่านระบบ Online Banking หรือกระเป๋าเงินดิจิทัลด้วย DuitNow OBW

ภาพรวม

DuitNow OBW (Online Banking/Wallets) ช่วยให้ร้านค้าสามารถรับชำระเงินผ่านระบบ Online Banking และกระเป๋าเงินดิจิทัลของลูกค้า ใช้รูปแบบ redirect ที่ลูกค้าจะยืนยันตัวตนและอนุมัติการชำระเงินบนแพลตฟอร์มที่ปลอดภัยของธนาคาร

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

  • รองรับธนาคาร 18+ แห่ง - ธนาคารหลักทั้งหมดในมาเลเซีย
  • การยืนยันตัวตนที่ปลอดภัย - ลูกค้าอนุมัติบนแพลตฟอร์มของธนาคาร
  • รูปแบบ redirect - การติดตั้งแบบ redirect ที่ง่าย
  • ยืนยันแบบเรียลไทม์ - ตรวจสอบการชำระเงินทันที
  • ระยะเวลาคืนเงิน 180 วัน - รองรับการคืนเงินทั้งแบบเต็มจำนวนและบางส่วน
ต้องเปิดใช้งาน

ติดต่อ support@omise.co เพื่อเปิดใช้งาน DuitNow OBW สำหรับบัญชีร้านค้าของคุณ

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

ภูมิภาคสกุลเงินจำนวนขั้นต่ำจำนวนสูงสุดเวอร์ชัน API
มาเลเซียMYRRM1.00RM20,000.002017-11-02

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

รหัสธนาคารชื่อธนาคาร
affinAffin Bank
allianceAlliance Bank
agroAGRONet
ambankAmBank
islamBank Islam
muamalatBank Muamalat
rakyatBank Rakyat
bsnBSN
cimbCIMB Clicks
hongleongHong Leong Bank
hsbcHSBC
kfhKFH
maybank2uMaybank2U
ocbcOCBC
publicbankPublic Bank
rhbRHB Bank
scStandard Chartered
uobUOB

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

ขั้นตอนการชำระเงิน:

  1. ลูกค้าเลือก DuitNow OBW และเลือกธนาคาร
  2. ร้านค้าสร้าง source พร้อมรหัสธนาคาร
  3. ลูกค้าถูก redirect ไปยัง Online Banking ของธนาคาร
  4. ลูกค้าเข้าสู่ระบบและยืนยันการชำระเงินด้วย OTP
  5. ลูกค้ากลับมาที่เว็บไซต์ร้านค้า
  6. Webhook ยืนยันสถานะการชำระเงิน

ระยะเวลาดำเนินการโดยทั่วไป: 1-3 นาที

การติดตั้ง

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

curl https://api.omise.co/sources \
-u $OMISE_PUBLIC_KEY: \
-d "amount=150000" \
-d "currency=MYR" \
-d "type=duitnow_obw" \
-d "bank=maybank2u"

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

curl https://api.omise.co/charges \
-u $OMISE_SECRET_KEY: \
-d "amount=150000" \
-d "currency=MYR" \
-d "return_uri=https://example.com/payment/complete" \
-d "source=src_test_xxx"

คำขอแบบรวม

สร้าง source และ charge ในคำขอเดียว:

curl https://api.omise.co/charges \
-u $OMISE_SECRET_KEY: \
-d "amount=150000" \
-d "currency=MYR" \
-d "return_uri=https://example.com/payment/complete" \
-d "source[type]=duitnow_obw" \
-d "source[bank]=maybank2u"

ขั้นตอนที่ 3: Redirect ลูกค้า

// Redirect ไปยังระบบ Online Banking ของธนาคาร
window.location.href = charge.authorize_uri;

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

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

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

if (charge.status === 'successful') {
fulfillOrder(charge.metadata.order_id);
} else if (charge.status === 'failed') {
notifyCustomer(charge.metadata.order_id, charge.failure_message);
}
}

res.status(200).send('OK');
});

UI สำหรับเลือกธนาคาร

แสดง dropdown ให้ลูกค้าเลือกธนาคาร:

<div class="bank-selection">
<label for="bank">เลือกธนาคารของคุณ:</label>
<select id="bank" name="bank" required>
<option value="">-- เลือกธนาคาร --</option>
<option value="maybank2u">Maybank2U</option>
<option value="cimb">CIMB Clicks</option>
<option value="publicbank">Public Bank</option>
<option value="rhb">RHB Bank</option>
<option value="hongleong">Hong Leong Bank</option>
<option value="ambank">AmBank</option>
<option value="affin">Affin Bank</option>
<option value="alliance">Alliance Bank</option>
<option value="islam">Bank Islam</option>
<option value="muamalat">Bank Muamalat</option>
<option value="rakyat">Bank Rakyat</option>
<option value="bsn">BSN</option>
<option value="hsbc">HSBC</option>
<option value="ocbc">OCBC</option>
<option value="sc">Standard Chartered</option>
<option value="uob">UOB</option>
</select>
</div>

สถานะของ Charge

สถานะคำอธิบาย
pendingรอลูกค้าอนุมัติที่ธนาคาร
successfulการชำระเงินสำเร็จ
failedการชำระเงินถูกปฏิเสธหรือเกิดข้อผิดพลาดในการประมวลผล
expiredลูกค้าไม่ดำเนินการภายใน 7 วัน

รหัสความล้มเหลว

รหัสคำอธิบาย
payment_expiredหมดเวลาอนุมัติ
payment_rejectedธนาคารปฏิเสธรายการ
failed_processingข้อผิดพลาดในการประมวลผลทั่วไป
invalid_accountไม่มีบัญชีที่ถูกต้องสำหรับชำระเงิน
insufficient_fundยอดเงินหรือวงเงินไม่เพียงพอ

การคืนเงิน

DuitNow OBW รองรับการคืนเงินทั้งแบบเต็มจำนวนและบางส่วนภายใน 180 วัน นับจากวันที่ทำรายการ:

// คืนเงินทั้งหมดหรือบางส่วน
const refund = await omise.charges.refund('chrg_test_xxx', {
amount: 50000 // คืนเงินบางส่วน MYR 500.00
});

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

  1. แสดงโลโก้ธนาคาร - แสดงโลโก้ธนาคารที่จดจำได้ง่ายสำหรับการเลือก
  2. แสดงสถานะกำลังประมวลผล - แสดงสถานะโหลดระหว่าง redirect
  3. จัดการ timeout - ลูกค้ามีเวลา 7 วันในการดำเนินการชำระเงิน
  4. ให้ความสำคัญกับ webhook - ใช้ webhook เป็นหลักสำหรับการดำเนินการคำสั่งซื้อ
  5. ปรับให้เหมาะกับมือถือ - ระบบ Online Banking ของธนาคารทำงานได้บนอุปกรณ์มือถือ

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

DuitNow OBW คืออะไร?

DuitNow OBW (Online Banking/Wallets) เป็นช่องทางการชำระเงินที่ให้ลูกค้าชาวมาเลเซียชำระเงินโดยตรงผ่านระบบ Online Banking ของธนาคาร ลูกค้าเลือกธนาคาร ถูก redirect ไปเข้าสู่ระบบ และอนุมัติการชำระเงินด้วยการยืนยัน OTP

DuitNow OBW กับ DuitNow QR ต่างกันอย่างไร?

DuitNow OBW: ลูกค้าถูก redirect ไปยังระบบ Online Banking ของธนาคารเพื่ออนุมัติการชำระเงิน เหมาะสำหรับการชำระเงินบนเดสก์ท็อปและเว็บ

DuitNow QR: ลูกค้าสแกน QR code ด้วยแอปธนาคารหรือกระเป๋าเงินดิจิทัล เหมาะสำหรับการชำระเงินในร้านและประสบการณ์บนมือถือ

ทั้งสองเป็นส่วนหนึ่งของโครงสร้างพื้นฐานการชำระเงิน DuitNow ของมาเลเซีย

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

DuitNow OBW รองรับธนาคารมาเลเซีย 18+ แห่ง รวมถึง Maybank, CIMB, Public Bank, RHB, Hong Leong, AmBank, Affin, Alliance, Bank Islam, Bank Muamalat, Bank Rakyat, BSN, HSBC, OCBC, Standard Chartered และ UOB

ลูกค้ามีเวลาเท่าไรในการชำระเงิน?

ลูกค้ามีเวลาสูงสุด 7 วันในการชำระเงินหลังจากสร้าง charge อย่างไรก็ตาม session timeout ของแต่ละธนาคารอาจสั้นกว่านั้น หากไม่ชำระเงินภายในเวลาที่กำหนด สถานะ charge จะเปลี่ยนเป็น expired

สามารถคืนเงินการชำระผ่าน DuitNow OBW ได้หรือไม่?

ได้ รองรับการคืนเงินทั้งแบบเต็มจำนวนและบางส่วนภายใน 180 วันนับจากวันที่ทำรายการ

DuitNow OBW ดีกว่า FPX หรือไม่?

DuitNow OBW และ FPX ทั้งคู่รองรับการชำระเงินผ่าน Online Banking ในมาเลเซีย DuitNow OBW เป็นมาตรฐานใหม่ภายใต้โครงสร้างพื้นฐาน DuitNow ของ PayNet ทั้งสองทำงานคล้ายกัน - เลือกตามการติดตั้งที่มีอยู่หรือความพร้อมใช้งานของ PayNet/FPX สำหรับบัญชีร้านค้าของคุณ

แหล่งข้อมูลที่เกี่ยวข้อง