ขั้นตอนการขอเงินคืน

ภาพรวม

เริ่มการคืนเงินได้โดยที่ผู้ใช้ดำเนินการอยู่ (กดปุ่ม "ขอเงินคืน") หรืออาจเริ่มทำเงินโดยอัตโนมัติในนามของผู้ใช้ก็ได้ ไม่ว่าจะทริกเกอร์อะไร ระบบจะส่งคำขอเงินคืนแบบไม่พร้อมกันจาก Google ไปยังผู้ผสานการชำระเงิน ผู้รวมบริการต้องรับทราบคำขอและแจ้งให้ Google ทราบเมื่อการคืนเงินเสร็จสมบูรณ์

วิธีการทำงานของโฟลว์

ขั้นตอนการคืนเงิน

ตัวอย่างขั้นตอนการคืนเงินแบบไม่พร้อมกันที่เริ่มต้นโดยผู้ใช้มีดังนี้

ขั้นตอนการคืนเงิน

รายการออบเจ็กต์ในแผนภาพด้านบนมีดังนี้

  • ผู้ใช้: คือผู้ที่ต้องการการคืนเงินทั้งหมดหรือบางส่วน
  • เซิร์ฟเวอร์ของ Google: เซิร์ฟเวอร์แบ็กเอนด์ของ Google ที่ส่งคำสั่งการคืนเงินไปยังผู้รวมระบบการชำระเงิน
  • ผู้รวมการชำระเงิน: ผู้ผสานการทำงานที่ส่งต่อคำขอเงินคืนไปยังผู้ออกบัตรที่เหมาะสม
  • ผู้ออก: ผู้ออกบัตรที่ใช้สำหรับการชำระเงิน ซึ่งยอมรับคำขอเงินคืน

การคืนเงินในตัวอย่างนี้เริ่มต้นโดยผู้ใช้

  1. ผู้ใช้เริ่มการคืนเงินไปยังเซิร์ฟเวอร์ Google
  2. Google เรียกใช้อุปกรณ์ปลายทาง AsynchronousRefund ของผู้รวมการชำระเงิน
  3. ผู้ผสานการทำงานจะส่งการตอบกลับ Acknowledged ไปยัง Google
  4. ผู้ผสานการทำงานจะเรียกใช้ปลายทาง Refund ที่เหมาะสมในผู้ออกบัตร
  5. ผู้ออกบัตรจะเป็นผู้ดำเนินการคืนเงินและตอบกลับผู้รวมระบบด้วย Success
  6. ผู้ผสานการทำงานจะเรียกใช้ปลายทาง RefundResultNotification บนเซิร์ฟเวอร์ของ Google เพื่อแจ้งให้ Google ทราบเกี่ยวกับผลลัพธ์
  7. Google รับทราบRefundResultNotification
  8. Google จะอัปเดตยอดเงินคงเหลือของผู้ใช้
  9. ผู้ใช้จะได้รับเงินคืน

แนวทางปฏิบัติแนะนำและข้อควรพิจารณาอื่นๆ

เนื่องจากผลิตภัณฑ์บางอย่างของ Google เช่น AdWords รองรับการคืนเงินตราบใดที่เครดิตในบัญชียังมีอยู่ คำขอคืนเงินสำหรับธุรกรรมจึงควรได้รับการสนับสนุนโดยไม่จำกัดระยะเวลา หากมีข้อจำกัดทางเทคนิค ระยะเวลาการคืนเงินควรนานเท่าที่แพลตฟอร์มอนุญาต

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

การคืนเงินจะเริ่มขึ้นได้ภายในไม่กี่วินาทีหลังจากถ่ายภาพ เวลาในการคืนเงินจะขึ้นอยู่กับการพิจารณาตามที่เห็นสมควรของ Google

คุณไม่ควรถือว่าการคืนเงินเป็นการคืนเงินเต็มจำนวน ต้องพิจารณาช่อง refundAmount เสมอเมื่อคืนเงินให้กับบัญชี

ต้องรองรับการคืนเงินบางส่วนหลายครั้ง ตัวอย่างเช่น สมมติว่ามีธุรกรรมมูลค่า $11.00 เกิดขึ้น และผู้ใช้สามารถรับเงินคืนบางส่วนจำนวน $4.00, $5.00 และ $1.00 จากธุรกรรมเดิมได้ ในกรณีนี้ การคืนเงินทั้ง 3 รายการจะมี captureRequestId เหมือนกัน แต่มีค่า requestId ต่างกัน นอกจากนี้ ธุรกรรมนี้จะเหลือเงินเพียง $1.00

คราวนี้สมมติว่ามีการซื้อมูลค่า 480 บาท สำหรับตัวอย่างนี้ ผู้ใช้สามารถขอเงินคืนได้ 2 ครั้ง โดยแต่ละครั้งมีมูลค่า 180 บาท หากการคืนเงินทั้ง 2 ครั้งนี้มีมูลค่า requestId ต่างกัน (และ captureRequestId เหมือนกัน) ระบบจะถือว่าเป็นการคืนเงินแยกกันในธุรกรรมเดียวกัน ในกรณีนี้ ผู้ใช้จะเหลือเงิน $0 ในธุรกรรมเมื่อการคืนเงินเหล่านี้เสร็จสมบูรณ์แล้ว