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

Alipay+ โหมดลูกค้าแสดง QR (UPM)

รับชำระเงินในร้านค้าจากผู้ใช้ Alipay+ โดยการสแกนบาร์โค้ดการชำระเงินของลูกค้าผ่านระบบชำระเงิน ณ จุดขาย (POS) ของคุณ

ภาพรวม

โหมดลูกค้าแสดง QR (B scan C) ช่วยให้ร้านค้าสแกนบาร์โค้ดหรือ QR code ที่ลูกค้าแสดงในแอปวอลเล็ต วิธีนี้เหมาะสำหรับสภาพแวดล้อมค้าปลีกที่มีปริมาณธุรกรรมสูง โดยร้านค้ามีเครื่องสแกนบาร์โค้ดที่เครื่อง POS

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

  • ชำระเงินรวดเร็ว - สแกนและประมวลผลภายในไม่กี่วินาที
  • หลายวอลเล็ต - รับชำระเงินจากวอลเล็ตพันธมิตร Alipay+ มากกว่า 12 ราย
  • ขั้นตอนคุ้นเคย - คล้ายกับการสแกนบาร์โค้ดสินค้า
  • รองรับปริมาณสูง - เหมาะสำหรับสภาพแวดล้อมค้าปลีกที่มีลูกค้าหนาแน่น
  • ข้ามพรมแดน - รับชำระเงินจากนักท่องเที่ยวต่างชาติ

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

ภูมิภาคสกุลเงินจำนวนขั้นต่ำจำนวนสูงสุดเวอร์ชัน API
ประเทศไทยTHB฿20.00฿150,000.002017-11-02
สิงคโปร์SGD$1.00$20,000.002017-11-02

วอลเล็ตที่รองรับ

วอลเล็ตประเทศไทยสิงคโปร์
Alipay CN
Alipay HK
KakaoPay
GCash
Touch 'n Go
TrueMoney

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

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

  1. ลูกค้าเปิดแอปวอลเล็ต
  2. ลูกค้าแสดงบาร์โค้ด/QR code การชำระเงิน
  3. ร้านค้าสแกนบาร์โค้ดด้วยเครื่อง POS
  4. Charge ถูกสร้างโดยอัตโนมัติพร้อมบาร์โค้ด
  5. การชำระเงินถูกประมวลผลทันที
  6. ทั้งสองฝ่ายได้รับการยืนยัน

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

การใช้งาน

สร้าง Charge พร้อมบาร์โค้ด

สำหรับ UPM คุณสร้าง charge โดยตรงพร้อมบาร์โค้ดที่สแกน:

curl https://api.omise.co/charges \
-u $OMISE_SECRET_KEY: \
-d "amount=150000" \
-d "currency=THB" \
-d "source[type]=alipayplus_upm" \
-d "source[barcode]=2897991359827699709"

จัดการการตอบกลับ

app.post('/pos/payment', async (req, res) => {
const { amount, barcode } = req.body;

try {
const charge = await omise.charges.create({
amount: amount,
currency: 'THB',
source: {
type: 'alipayplus_upm',
barcode: barcode
}
});

if (charge.status === 'successful') {
// Payment successful immediately
printReceipt(charge);
res.json({ success: true, charge_id: charge.id });
} else if (charge.status === 'pending') {
// Wait for webhook
res.json({ success: false, message: 'Awaiting confirmation' });
} else {
res.json({ success: false, message: charge.failure_message });
}
} catch (error) {
res.json({ success: false, message: error.message });
}
});

จัดการ Webhook

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

if (event.key === 'charge.complete') {
const charge = event.data;
if (charge.status === 'successful') {
notifyPOS(charge.id, 'success');
} else if (charge.status === 'failed') {
notifyPOS(charge.id, 'failed', charge.failure_message);
}
}

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

ค่าสถานะ Charge

สถานะคำอธิบาย
pendingรอการอนุมัติจากวอลเล็ต
successfulการชำระเงินสำเร็จ
failedการชำระเงินถูกปฏิเสธหรือล้มเหลว
expiredหมดเวลาการทำรายการ charge

รหัสข้อผิดพลาด

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

การคืนเงินและการยกเลิก

  • ระยะเวลายกเลิก: จนถึง 16:15 UTC ของวันที่ทำรายการ
  • ระยะเวลาคืนเงิน: ภายใน 1 ปีนับจากวันที่ทำรายการ
  • คืนเงินบางส่วน: รองรับ

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

  1. ฝึกอบรมพนักงาน - ให้พนักงานรู้วิธีขอให้ลูกค้าแสดงบาร์โค้ด
  2. เครื่องสแกนคุณภาพดี - ใช้เครื่องสแกนบาร์โค้ดที่เชื่อถือได้
  3. จัดการข้อผิดพลาด - แสดงข้อความผิดพลาดที่ชัดเจน
  4. หมดเวลารวดเร็ว - UPM ควรทำงานเกือบจะทันที

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

โหมดลูกค้าแสดง QR (UPM) คืออะไร?

UPM หรือที่เรียกว่า "B scan C" (ร้านค้าสแกนลูกค้า) เป็นวิธีการชำระเงินในร้านค้าที่ลูกค้าแสดงบาร์โค้ด/QR code จากแอปวอลเล็ตและร้านค้าสแกน วิธีนี้เร็วกว่า MPM และเหมาะสำหรับการค้าปลีกที่มีปริมาณสูง

ความแตกต่างระหว่าง MPM และ UPM คืออะไร?

ใน MPM ร้านค้าแสดง QR code และลูกค้าสแกน ใน UPM ลูกค้าแสดงบาร์โค้ดและร้านค้าสแกน UPM โดยทั่วไปเร็วกว่า (5-15 วินาที) เพราะต้องการขั้นตอนจากลูกค้าน้อยกว่า

ฉันต้องใช้เครื่องสแกนประเภทใด?

เครื่องสแกนบาร์โค้ดมาตรฐานที่สามารถอ่านบาร์โค้ด 1D และ 2D จะใช้งานได้ ระบบ POS สมัยใหม่ส่วนใหญ่มีเครื่องสแกนที่รองรับอยู่แล้ว เครื่องสแกนต้องอ่านบาร์โค้ดตัวเลขจากแอปวอลเล็ตของลูกค้า

วอลเล็ตใดรองรับ UPM?

UPM รองรับโดยวอลเล็ตพันธมิตร Alipay+ ทั้งหมด: Alipay CN, Alipay HK, KakaoPay, GCash, Touch 'n Go และ TrueMoney การใช้งานขึ้นอยู่กับภูมิภาคของคุณ

ฉันจะจัดการกับการชำระเงินที่ล้มเหลวอย่างไร?

การชำระเงินที่ล้มเหลวจะถูกส่งกลับทันทีในการตอบกลับของ charge ตรวจสอบฟิลด์ failure_code สำหรับรายละเอียด (เช่น insufficient_fund, payment_rejected, payment_expired) แสดงข้อความผิดพลาดที่ชัดเจนและอนุญาตให้ลองใหม่

UPM เร็วกว่า MPM หรือไม่?

ใช่ UPM โดยทั่วไปเร็วกว่า เนื่องจากคุณกำลังสแกนบาร์โค้ดที่สร้างไว้ล่วงหน้าจากแอปของลูกค้า จึงไม่จำเป็นต้องสร้าง QR code หรือรอให้ลูกค้าสแกน ระยะเวลาดำเนินการโดยทั่วไปคือ 5-15 วินาที

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