การตัดวงเงิน

หัวข้อทั้งหมดในหน้านี้

เอกสารนี้อธิบายเกี่ยวกับ 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 เต็มจำนวน

ขั้นตอนตัวอย่างมีดังนี้

graph TD A["ร้านค้าเริ่มทำ Authorization บัตร"] --> B{"Authorization สำเร็จหรือไม่?"} B -->|"ไม่สำเร็จ"| D["หยุด"] B -->|"สำเร็จ"| C["จัดส่งสินค้า"] C --> E["Capture ยอดเงินที่ Authorization ไว้ทั้งหมด"]

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

ขั้นตอนตัวอย่างมีดังนี้

graph TD A["ร้านค้าเริ่มทำ Authorization บัตร"] --> B{"Authorization สำเร็จหรือไม่?"} B -->|"ไม่สำเร็จ"| D["หยุด"] B -->|"สำเร็จ"| C["จัดส่งสินค้าบางส่วน"] C --> E["เรียกเก็บเงินจากบัตรบางส่วน"] E --> F["ระบบปลดล็อกและคืนวงเงินที่เหลือจากที่ Authorization ไว้"]

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 จะปลดล็อกและคืนยอดเงินส่วนที่เหลือให้โดยอัตโนมัติ ไม่ต้องดำเนินการเพิ่มเติมใด ๆ

ขั้นตอนถัดไป

เว็ปไซต์นี้มีการใช้คุกกี้เพื่อวิเคราะห์การใช้และปรับการใช้งานให้เหมาะกับท่าน เมื่อกดยอมรับหรือยังคงเข้าชมเว็บไซต์ต่อ เราถือว่าท่านยินยอมในการใช้งานคุกกี้ของเว็บไซต์ อ่านนโยบายความเป็นส่วนตัว