การตัดวงเงิน
หัวข้อทั้งหมดในหน้านี้
เอกสารนี้อธิบายเกี่ยวกับ Authorization และ Capture ซึ่งเป็นสองขั้นตอนของการประมวลผลการชำระเงินด้วยบัตร และอธิบายประเภทของ Capture ที่ Omise รองรับ ได้แก่ Automatic Capture, Full Manual Capture และ Single Partial Capture (ใช้งานได้เฉพาะร้านค้าที่ทำสัญญากับ Omise Thailand เท่านั้น)
ทำความเข้าใจ Authorization และ Capture
Authorization และ Capture เป็นสองขั้นตอนในการทำรายการชำระเงินด้วยบัตรให้เสร็จสมบูรณ์
Authorization เกิดขึ้นเมื่อร้านค้าเริ่มทำ charge กับบัตรของลูกค้าตอนชำระเงิน ในขั้นตอนนี้ ผู้ให้บริการประมวลผลการชำระเงินจะตรวจสอบกับธนาคารผู้ออกบัตรของลูกค้า เพื่อยืนยันว่าบัญชีมีวงเงินเพียงพอและอยู่ในสถานะปกติ หากบัญชีผ่านเกณฑ์ ยอดเงินของรายการจะถูกกันไว้จนกว่าการทำรายการจะเสร็จสมบูรณ์ การทำ Authorization ล่วงหน้ากับบัตรช่วยยืนยันว่าช่องทางการชำระเงินนั้นใช้งานได้จริงและผู้ถือบัตรเป็นตัวจริง โดยไม่มีการเรียกเก็บเงินจากบัญชี และยังช่วยป้องกัน chargeback ได้อีกด้วย
ระยะเวลาของ Authorization คือช่วงเวลาที่ Authorization ยังคงมีผล ซึ่งเป็นตัวกำหนดกรอบเวลาที่ต้องทำ Capture ยอดเงินนั้น ระยะเวลานี้แตกต่างกันไปตามประเทศ แต่โดยทั่วไปคือ 7 วัน
Capture คือขั้นตอนที่ทำให้รายการเสร็จสมบูรณ์ โดยเงินจะถูกหักออกจากบัญชีของลูกค้าและโอนเข้าบัญชีของร้านค้า ทำให้สถานะของรายการเปลี่ยนจาก pending เป็น complete
ประเภทของ Capture
กระบวนการ Capture สามารถทำได้ทั้งแบบอัตโนมัติและแบบแมนวล
Automatic Capture
ใน Automatic Capture การชำระเงินจะถูก Capture โดยอัตโนมัติหลังจากระยะเวลาหน่วงที่กำหนดได้ เรียกว่า capture delay ซึ่งคือช่วงเวลาระหว่าง Authorization กับ Capture โดยค่าเริ่มต้นระยะเวลาหน่วงนี้คือ 0 ทำให้การชำระเงินถูก Capture ทันทีหลังจาก Authorization
Manual Capture
ใน Manual Capture ร้านค้าต้องร้องขอการ Capture อย่างชัดเจนสำหรับการชำระเงินแต่ละรายการ ก่อนที่ Authorization จะหมดอายุ
Manual Capture รองรับประเภทต่อไปนี้:
- Full Manual Capture
- Single Partial Capture (ใช้งานได้เฉพาะร้านค้าที่ทำสัญญากับ Omise Thailand เท่านั้น — ดูหมายเหตุด้านล่าง)
- Multiple Partial Capture (ยังไม่รองรับในขณะนี้ — ดู Multiple Partial Capture ด้านล่าง)
Full Manual Capture
ใน Full Manual Capture ยอดเงินที่ Authorization ไว้จะถูก Capture เต็มจำนวน
ขั้นตอนตัวอย่างมีดังนี้
Full Manual Capture: การทำ Authorization ให้ charge
ตัวอย่างต่อไปนี้แสดงการทำ Authorization ให้ charge จำนวน THB 70 โดยใช้ card token
curl https://api.omise.co/charges \
-u $OMISE_SECRET_KEY: \
-d "amount=7000" \
-d "currency=THB" \
-d "capture=false" \
-d "card=$TOKEN_ID"
Full Manual Capture: การ Capture ยอดเงินที่ Authorization ไว้ทั้งหมด
ตัวอย่างต่อไปนี้แสดงการ Capture เต็มจำนวน THB 70
curl https://api.omise.co/charges/$FULL_UNCAPTURED_CHARGE_ID/capture \
-u $OMISE_SECRET_KEY: \
-d "capture_amount=7000"
Single Partial Capture
สำคัญ: Single Partial Capture ใช้งานได้เฉพาะร้านค้าที่ทำสัญญากับ Omise Thailand เท่านั้น
ตัวอย่างต่อไปนี้แสดงการทำงานของ Single Partial Capture
สมมติว่าลูกค้าซื้อสินค้ามูลค่า THB 70 บัตรจะถูก Authorization ไว้ที่ THB 70 แต่ร้านค้าสามารถจัดส่งสินค้าได้เพียง THB 40 ยอดเรียกเก็บสุดท้ายคือ THB 40 ซึ่งเป็นจำนวนที่เรียกเก็บจากบัตรของลูกค้า ส่วนต่างอีก THB 30 ที่ Authorization ไว้แต่ไม่ได้เรียกเก็บ จะถูกปลดล็อกและคืนกลับ
รายการที่เรียกเก็บ THB 40 จากบัตรของลูกค้านี้ คือ Single Partial Capture
ขั้นตอนตัวอย่างมีดังนี้
Single Partial Capture: การเปิดใช้งาน
Single Partial Capture เปิดใช้งานเป็นค่าเริ่มต้นสำหรับร้านค้าที่มีสิทธิ์ใช้งาน โดยไม่ต้องตั้งค่าใด ๆ เพิ่มเติม ใช้งานได้เฉพาะร้านค้าที่ทำสัญญากับ Omise Thailand เท่านั้น หากไม่แน่ใจว่าบัญชีของคุณมีสิทธิ์ใช้งานหรือไม่ โปรดติดต่อทีมดูแลบัญชีของ Omise
Single Partial Capture: การทำ Authorization ให้ charge
ตัวอย่างต่อไปนี้แสดงการทำ Authorization ให้ charge จำนวน THB 70 โดยใช้ card token
curl https://api.omise.co/charges \
-u $OMISE_SECRET_KEY: \
-d "amount=7000" \
-d "currency=THB" \
-d "capture=false" \
-d "card=$TOKEN_ID" \
-d "authorization_type=pre_auth"
Single Partial Capture: การ Capture บางส่วนของยอดเงินที่ Authorization ไว้
ตัวอย่างต่อไปนี้แสดงการทำ Single Partial Capture จำนวน THB 40
curl https://api.omise.co/charges/$PARTIAL_UNCAPTURED_CHARGE_ID/capture \
-u $OMISE_SECRET_KEY: \
-d "capture_amount=4000"
Multiple Partial Capture
ในขณะนี้ Omise ยังไม่รองรับ Multiple Partial Capture
คำถามที่พบบ่อย
Single Partial Capture เปิดใช้งานเป็นค่าเริ่มต้นหรือไม่ หรือต้องร้องขอก่อน สำหรับร้านค้าที่มีสิทธิ์ใช้งาน จะเปิดใช้งานเป็นค่าเริ่มต้นโดยไม่ต้องตั้งค่าใด ๆ เพิ่มเติม อย่างไรก็ตาม ใช้งานได้เฉพาะร้านค้าที่ทำสัญญากับ Omise Thailand เท่านั้น หากไม่แน่ใจว่าบัญชีของคุณมีสิทธิ์ใช้งานหรือไม่ โปรดติดต่อทีมดูแลบัญชีของ Omise
สามารถ Capture charge เดียวกันได้มากกว่าหนึ่งครั้งหรือไม่ (ทำ partial capture หลายครั้งในภายหลัง) ไม่สามารถทำได้ในขณะนี้ Omise ยังไม่รองรับ Multiple Partial Capture ดังนั้น charge แต่ละรายการที่ทำ Authorization ไว้จะสามารถ Capture ได้เพียงครั้งเดียว ไม่ว่าจะเป็นการ Capture เต็มจำนวนหรือบางส่วน
หลังจากทำ Single Partial Capture แล้ว ต้องปลดล็อกยอดเงินที่ไม่ได้ Capture ด้วยตนเองหรือไม่ ไม่ต้อง เมื่อคุณ Capture ยอดเงินน้อยกว่ายอดที่ Authorization ไว้ทั้งหมด Omise จะปลดล็อกและคืนยอดเงินส่วนที่เหลือให้โดยอัตโนมัติ ไม่ต้องดำเนินการเพิ่มเติมใด ๆ