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

Atome QR

รับชำระเงินผ่าน QR code แบบออฟไลน์จากผู้ใช้ Atome โดยแสดง QR code ให้ลูกค้าสแกนและอนุมัติการชำระเงินผ่านแอป Atome

ภาพรวม

Atome QR เป็นช่องทางการชำระเงินผ่าน QR แบบออฟไลน์ที่ให้ลูกค้าชำระเงินด้วยบัญชี Atome ซื้อก่อนจ่ายทีหลัง ต่างจากการชำระเงินแบบ redirect มาตรฐานของ Atome ลูกค้าจะสแกน QR code ที่ร้านค้าสร้างขึ้นและอนุมัติการชำระเงินโดยตรงในแอป Atome

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

  • การอนุมัติแบบออฟไลน์ - ลูกค้าสแกน QR และชำระเงินในแอป
  • ซื้อก่อนจ่ายทีหลัง - แบ่งชำระ 3 งวดไม่มีดอกเบี้ย
  • ไม่ต้อง redirect - แสดง QR code ที่ฝั่งร้านค้า
  • รองรับ 3 ตลาด - ไทย สิงคโปร์ มาเลเซีย
  • อนุมัติทันที - ตรวจสอบวงเงินแบบเรียลไทม์ในแอป
ต้องเปิดใช้งาน

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

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

ภูมิภาคสกุลเงินจำนวนขั้นต่ำจำนวนสูงสุดเวอร์ชัน API
ไทยTHB฿20.00฿50,000.002017-11-02
สิงคโปร์SGD$1.50$3,000.002017-11-02
มาเลเซียMYRRM10.00RM5,000.002017-11-02

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

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

  1. ร้านค้าสร้าง Atome QR source
  2. แสดง QR code ที่หน้าชำระเงินหรือเครื่อง POS
  3. ลูกค้าเปิดแอป Atome และสแกน QR
  4. Atome ตรวจสอบวงเงินทันที
  5. ลูกค้าตรวจสอบแผนการผ่อนชำระ 3 งวด
  6. ลูกค้ายืนยันการชำระงวดแรก
  7. ร้านค้าได้รับการยืนยันผ่าน webhook

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

การติดตั้ง

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

curl https://api.omise.co/sources \
-u $OMISE_PUBLIC_KEY: \
-d "amount=50000" \
-d "currency=SGD" \
-d "type=atome_qr"

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

curl https://api.omise.co/charges \
-u $OMISE_SECRET_KEY: \
-d "amount=50000" \
-d "currency=SGD" \
-d "source=src_test_xxx"

คำขอแบบรวม

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

curl https://api.omise.co/charges \
-u $OMISE_SECRET_KEY: \
-d "amount=50000" \
-d "currency=SGD" \
-d "source[type]=atome_qr"

ขั้นตอนที่ 3: แสดง QR Code

// แสดง QR code บนหน้าชำระเงินหรือเครื่อง POS ของคุณ
const qrCodeUrl = charge.source.scannable_code.image.download_uri;

// ใน HTML ของคุณ
document.getElementById('qr-code').src = qrCodeUrl;

ขั้นตอนที่ 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') {
// จัดการกรณีล้มเหลว
handleFailedPayment(charge);
}
}

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

การหมดอายุของ QR Code

QR code มีอายุเริ่มต้น 12 ชั่วโมง คุณสามารถกำหนดเองได้ตั้งแต่ 30 วินาทีถึง 12 ชั่วโมงโดยใช้พารามิเตอร์ expires_at:

curl https://api.omise.co/charges \
-u $OMISE_SECRET_KEY: \
-d "amount=50000" \
-d "currency=SGD" \
-d "source=src_test_xxx" \
-d "expires_at=2024-12-31T23:59:59Z"

สถานะของ Charge

สถานะคำอธิบาย
pendingแสดง QR code แล้ว รอลูกค้าสแกน
successfulการชำระเงินสำเร็จ
failedการชำระเงินถูกปฏิเสธหรือเกิดข้อผิดพลาดในการประมวลผล
expiredQR code หมดอายุ

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

รหัสคำอธิบาย
payment_expiredQR code หมดอายุ
payment_rejectedAtome ปฏิเสธรายการ
failed_processingการอนุมัติล้มเหลวทั่วไป

การคืนเงิน

Atome QR charges สามารถคืนเงินบางส่วนหรือทั้งหมดได้ภายใน 60 วัน นับจากวันที่ทำรายการ

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

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

  1. แสดงรายละเอียดการผ่อนชำระ - แสดงตารางการชำระ 3 งวดก่อนแสดง QR
  2. ตั้งเวลาหมดอายุที่เหมาะสม - กำหนดอายุ QR ให้ตรงกับ session การชำระเงิน
  3. คำแนะนำที่ชัดเจน - แนะนำลูกค้าให้เปิดแอป Atome ก่อน
  4. การจัดการ webhook - ยืนยันผ่าน webhook เสมอ ไม่ใช่แค่การ polling
  5. แสดงเงื่อนไขการใช้งาน - แสดงข้อกำหนดการใช้งาน Atome

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

Atome QR คืออะไร?

Atome QR เป็นช่องทางการชำระเงินซื้อก่อนจ่ายทีหลังผ่าน QR แบบออฟไลน์ ต่างจากการชำระเงินแบบ redirect มาตรฐานของ Atome ลูกค้าจะสแกน QR code ที่ร้านค้าแสดงและอนุมัติการชำระเงินโดยตรงในแอป Atome การซื้อจะถูกแบ่งเป็น 3 งวดรายเดือนโดยไม่มีดอกเบี้ย

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

Atome (redirect): ลูกค้าถูก redirect ไปยังเว็บไซต์/แอปของ Atome เพื่อชำระเงิน เหมาะสำหรับการชำระเงินออนไลน์

Atome QR: ร้านค้าแสดง QR code ให้ลูกค้าสแกนด้วยแอป Atome เหมาะสำหรับเครื่อง POS ในร้านหรือเมื่อต้องการให้ลูกค้าอยู่บนหน้าเว็บของคุณ

ทั้งสองแบบแบ่งการชำระเงินเป็น 3 งวดโดยไม่มีดอกเบี้ย

QR code มีอายุนานเท่าไร?

โดยค่าเริ่มต้น QR code ของ Atome มีอายุ 12 ชั่วโมง คุณสามารถกำหนดเองได้ตั้งแต่ 30 วินาทีถึง 12 ชั่วโมงโดยใช้พารามิเตอร์ expires_at เมื่อสร้าง charge

เกิดอะไรขึ้นถ้าลูกค้าไม่ผ่านการตรวจสอบวงเงิน?

หาก Atome ปฏิเสธคำขอของลูกค้า (วงเงินไม่เพียงพอ ปัญหาบัญชี ฯลฯ) charge จะล้มเหลวพร้อมรหัสความล้มเหลว payment_rejected ในกรณีนี้คุณควรเสนอช่องทางการชำระเงินอื่นให้ลูกค้า

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

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

วงเงินการทำรายการเป็นเท่าไร?

วงเงินแตกต่างกันตามภูมิภาค:

  • ไทย: ฿20 - ฿50,000 THB
  • สิงคโปร์: $1.50 - $3,000 SGD
  • มาเลเซีย: RM10 - RM5,000 MYR

วงเงินของลูกค้าแต่ละรายอาจต่ำกว่านี้ขึ้นอยู่กับวงเงิน Atome ของพวกเขา

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