ภาพรวม
การชำระเงินมาตรฐานของ Google รองรับรูปแบบการชำระเงินด้วยเงินสด (รูปแบบการชำระเงิน) เช่น การซื้อผ่านร้านสะดวกซื้อ (เช่น 7-Eleven) ในระดับสูง ผู้ใช้ที่ต้องการชำระค่าสินค้าจะสร้างหมายเลขอ้างอิงผ่านผู้รวมการชำระเงิน จากนั้นผู้ใช้นำหมายเลขอ้างอิงนี้ไปยังร้านสะดวกซื้อ คีออสก์ หรือธนาคาร แล้วชำระเงินตามหมายเลขอ้างอิง
แนวคิดและคำศัพท์
สัญลักษณ์และการประชุมคำสำคัญ เช่น "ต้อง" "ต้องไม่" "จำเป็น" "จะ" "ไม่" "ควร" "ไม่ควร" "แนะนำ" "อาจ" และ "ไม่บังคับ" ในเอกสารเหล่านี้จะมีการตีความตามที่อธิบายไว้ใน RFC 2119
การประทับเวลา
การประทับเวลาทั้งหมดจะแสดงเป็นมิลลิวินาทีนับตั้งแต่ Unix Epoch (1 ม.ค. 1970) ใน UTC
เช่น
- 23 เมษายน 2019 เวลา 20:23:25 น. GMT = 1556051005000 มิลลิวินาที
- 16 สิงหาคม 2018 เวลา 12.28.35 น. GMT = 1534422515000 มิลลิวินาที
จำนวนเงิน
มูลค่าทางการเงินใน API นี้อยู่ในรูปแบบที่เรียกว่า "ไมโคร" ซึ่งเป็นมาตรฐานที่ Google ไมโครคือรูปแบบความแม่นยำคงที่ที่เป็นจำนวนเต็ม หากต้องการแสดงมูลค่าเงินในหน่วยไมโคร ให้คูณค่าสกุลเงินมาตรฐานด้วย 1,000,000
เช่น
- USD$1.23 = 1230000 ไมโคร USD
- USD$0.01 = 10,000 ไมโคร USD
การแสดงถึงตัวตน
การเรียกเมธอดทั้งหมดภายใน API นี้ต้องมีลักษณะการทำงานแบบเป็นนิรันดร์ Google จะส่งคำขออีกครั้งเป็นระยะๆ เพื่อตรวจสอบว่าธุรกรรมของทั้ง 2 ฝั่งมีสถานะเดียวกัน ผู้รวมบริการไม่ควรพยายามดำเนินการกับคำขอที่ประมวลผลเสร็จสมบูรณ์แล้วอีกครั้ง ควรรายงานการตอบกลับสำหรับการประมวลผลที่สำเร็จแทน วิธีการทั้งหมดมี RequestHeader
ทั่วไปซึ่งมี requestId requestId นี้เป็นคีย์ประจำตัวสำหรับการเรียกทั้งหมด
การตอบกลับที่ไม่ใช่เทอร์มินัล (ไม่ใช่ HTTP 200 ที่สำเร็จ) จะต้องประมวลผลไม่สำเร็จ ดังนั้น คำขอที่ก่อนหน้านี้ได้รับ 400 (คำขอที่ไม่ถูกต้อง/เงื่อนไขเบื้องต้นที่ล้มเหลว) เมื่อเรียกใช้เป็นครั้งที่ 2 จะต้องไม่แสดงผล 400 โดยไม่ได้ตั้งใจ คำขอต้องได้รับการประเมินอีกครั้ง ขณะประเมินอีกครั้ง ระบบอาจแสดงผลคะแนน 400 หรือได้รับการประมวลผลสำเร็จ
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการมีตัวตน โปรดดูคำแนะนำโดยละเอียดนี้
ผู้รวมบริการ
บริษัทที่ใช้แพลตฟอร์มการชำระเงินของ Google สำหรับธุรกิจ ซึ่งอาจเป็นธุรกิจภายใน (บุคคลที่หนึ่ง) เช่น YouTube หรือ AdWords หรืออาจเป็นธุรกิจภายนอก (3P) ที่ต้องการผสานรวมบริการของตนเพื่อให้ทำงานร่วมกับระบบนิเวศของ Google ได้เช่นกัน
รูปแบบการชำระเงิน
รูปแบบการชำระเงิน วิธีนี้เป็นแบบทั่วไปมากกว่าเครื่องดนตรี Visa, MasterCard และ PayPal ทั้งหมดเป็น FOP
เครื่องมือ
อินสแตนซ์ของรูปแบบการชำระเงินโดยลูกค้าที่เฉพาะเจาะจง เช่น บัตรเครดิตหรือบัญชี PayPal ของผู้ใช้ รูปแบบการชำระเงินที่แปลงสกุลเงินเป็นโทเค็นสำหรับลูกค้ารายหนึ่งๆ ก็เป็นเครื่องมือเช่นกัน เนื่องจากเป็นรูปแบบการชำระเงินสำหรับลูกค้ารายนั้นๆ โดยจัดเก็บไว้อย่างปลอดภัยในระบบของเรา
โทเค็น
การนําเสนอวิธีการชำระเงินของผู้ใช้ในระบบของ Google เนื่องจากโทเค็นดังกล่าวมีข้อมูลทั้งหมดที่จำเป็นในการซื้อ โทเค็นยังเป็นเครื่องมืออีกด้วย ซึ่งอาจรวมถึงข้อมูลอย่างเช่นหมายเลขบัญชีที่ผู้ใช้มีกับผู้ผสานการทำงานของตน
ขั้นตอนของคีย์
Google ใช้ขั้นตอนสำคัญ 2 ขั้นตอนในการสร้างและจ่ายหมายเลขอ้างอิงเหล่านี้
- สร้างขั้นตอนหมายเลขอ้างอิง
- ขั้นตอนหมายเลขอ้างอิงการชำระเงิน
หลังจากนั้น การปรับยอดและข้อตกลงจากการซื้อจะดำเนินการผ่านขั้นตอนการส่งเงิน
แผนภาพด้านล่างจะแสดงแต่ละขั้นตอนเหล่านี้
ภาพรวมรูปแบบการชำระเงินสด
เราจะอธิบายขั้นตอน 2 ขั้นตอนแรกอย่างละเอียดในหัวข้อถัดไป โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับขั้นตอนดังกล่าวในหน้าขั้นตอนการส่งเงิน
สร้างหมายเลขอ้างอิง
วัตถุประสงค์ของขั้นตอนการสร้างหมายเลขอ้างอิงคือเพื่อสร้างและแลกเปลี่ยนตัวระบุ (หมายเลขอ้างอิง) ที่ทั้ง Google และผู้รวมระบบสามารถใช้เพื่อระบุการซื้อ จากนั้นผู้ใช้สามารถใช้หมายเลขอ้างอิงนี้ที่ร้านสะดวกซื้อ คีออสก์ หรือธนาคารเพื่อทำการสั่งซื้อ ตัวระบุนี้สร้างขึ้นโดยผู้ผสานการทำงานระบบตามคำขอของ Google โดยเรียกใช้เมธอด generateReferenceNumber
คำขอสร้างหมายเลขอ้างอิงจะมีจำนวนเงินและรายละเอียดธุรกรรม
แผนภาพต่อไปนี้จะแสดงวิธีการสร้างหมายเลขอ้างอิงและส่งให้ลูกค้าพร้อมวิธีการ
ขั้นตอนการสร้างหมายเลขอ้างอิง
ต่อไปนี้คือรายการวัตถุและความหมายของวัตถุเหล่านั้น
- ผู้ใช้: คือผู้ที่ต้องการชำระเงินเพื่อซื้อของโดยใช้รูปแบบการชำระเงินนี้
- Google UI: นี่คืออินเทอร์เฟซที่ผู้ใช้ทำการซื้อ โดยอาจเป็นผ่านเว็บหรือแอป
- เซิร์ฟเวอร์ของ Google: เซิร์ฟเวอร์แบ็กเอนด์ของ Google ซึ่งขอสร้างหมายเลขอ้างอิงและสร้างวิธีการชําระเงินสําหรับผู้ใช้
- เซิร์ฟเวอร์ผู้รวมการชำระเงิน: เซิร์ฟเวอร์แบ็กเอนด์ของผู้รวมการชำระเงินที่ติดตามรายละเอียดการชำระเงินและสร้างหมายเลขอ้างอิง
ขั้นตอนนี้เริ่มต้นจากผู้ใช้ที่ต้องการใช้รูปแบบการชำระเงินด้วยเงินสดนี้
- ผู้ใช้เข้าถึง UI ของ Google ซึ่งจะส่งคำขอหมายเลขอ้างอิง
- UI ของ Google จะส่งข้อความถึงเซิร์ฟเวอร์ของ Google ว่าต้องการหมายเลขอ้างอิง (
getReferenceNumber
) - เซิร์ฟเวอร์ Google ขอให้เซิร์ฟเวอร์ผู้รวมการชำระเงินสร้างหมายเลขอ้างอิง (
generateReferenceNumber
) - เซิร์ฟเวอร์ผู้รวมการชำระเงินจะสร้างและส่งหมายเลขอ้างอิงไปยังเซิร์ฟเวอร์ Google
- เซิร์ฟเวอร์ของ Google จะสร้างวิธีการชำระเงินพร้อมกับหมายเลขอ้างอิง จากนั้นระบบจะส่งข้อมูลนี้ไปยัง UI ของ Google
- UI ของ Google จะส่งวิธีการและหมายเลขอ้างอิงเหล่านี้ให้ผู้ใช้
หมายเหตุเกี่ยวกับหมายเลขอ้างอิง
คุณสามารถชำระเงินหมายเลขอ้างอิงได้เพียงครั้งเดียวเท่านั้น และยกเลิกได้ในขั้นตอนการยกเลิกหมายเลขอ้างอิง นอกจากนี้ หมายเลขอ้างอิงต้องเป็นตัวอักษรและตัวเลข และต้องรองรับรูปแบบการแสดงผลที่หลากหลาย
นอกจากการแสดงหมายเลขอ้างอิงแล้ว UI ของ Google ยังสามารถแสดงหมายเลขอ้างอิงในรูปแบบ รหัส 128 (รูปแบบบาร์โค้ด) ได้อีกด้วย อาจมีการสนับสนุนบาร์โค้ดรูปแบบอื่นๆ ตามคำขอ
หมายเลขอ้างอิงการชำระเงิน
ผู้ใช้จะใช้หมายเลขอ้างอิงนี้ที่ร้านสะดวกซื้อ คีออสก์ หรือธนาคารเพื่อระบุการซื้อที่ผู้ใช้ต้องการชำระเงิน ผู้รวมบริการควรให้ผู้ใช้ยืนยันการซื้อที่ได้รับการชำระเงินโดยแสดงยอดรวมการซื้อ วันที่ และคำอธิบายธุรกรรมก่อนชำระเงิน
เมื่อเลือกชำระเงินแล้ว ก็ต้องชำระเงินเต็มจำนวนและชำระเพียงครั้งเดียว API นี้ไม่สนับสนุนการชำระเงินมากกว่าหรือน้อยกว่าในหมายเลขอ้างอิงหนึ่งหมายเลข นอกจากนี้ ระบบยังไม่รองรับการชำระเงินหลายครั้งไปยังหมายเลขอ้างอิงเดียวด้วย
เมื่อผู้ใช้ชำระเงินแล้ว ผู้ผสานการทำงานต้องแจ้งให้ Google ทราบทันทีว่าหมายเลขอ้างอิงนี้ได้มีการชำระเงินด้วยเมธอด referenceNumberPaidNotification
แล้ว การเรียกใช้วิธีนี้ภายในไม่กี่วินาทีที่ผู้ใช้ชำระเงินจริง ผู้รวมบริการจะช่วยให้ผู้ใช้รับสินค้าได้อย่างรวดเร็ว (สามารถเพิ่มสายนี้ไปยังคิวหากเครือข่ายหยุดทำงาน)
เมื่อชำระเงินแล้ว หมายเลขอ้างอิงและจำนวนเงินจะรวมอยู่ในใบแจ้งยอดการโอนเงินที่ส่งไปในช่วง T+2 วัน
ต่อไปนี้เป็นแผนภาพลำดับที่แสดงให้เห็นการจ่ายหมายเลขอ้างอิง
ขั้นตอนหมายเลขอ้างอิงการชำระเงิน
วัตถุในแผนภาพแสดงถึงสิ่งต่อไปนี้
- ผู้ใช้: คือผู้ที่ต้องการชำระเงินเพื่อซื้อของโดยใช้รูปแบบการชำระเงินนี้
- ร้านสะดวกซื้อ: สถานที่ตั้งที่ผู้ใช้ชำระเงินโดยใช้หมายเลขอ้างอิงและวิธีการที่ระบุ เช่น ร้านสะดวกซื้อ
- เซิร์ฟเวอร์ผู้รวมการชำระเงิน: เซิร์ฟเวอร์แบ็กเอนด์ของผู้รวมการชำระเงินที่ติดตามรายละเอียดการชำระเงิน
- เซิร์ฟเวอร์ของ Google: เซิร์ฟเวอร์แบ็กเอนด์ของ Google ซึ่งขอสร้างหมายเลขอ้างอิงและสร้างวิธีการชําระเงินสําหรับผู้ใช้
ขั้นตอนนี้เริ่มต้นจากผู้ใช้ที่ไปที่ร้านสะดวกซื้อเพื่อทำการชำระเงินตามคำแนะนำที่ให้ไว้
- ผู้ใช้จะไปที่ร้านสะดวกซื้อเพื่อทำการชำระเงิน
- หลังจากทำธุรกรรมเสร็จสมบูรณ์แล้ว ร้านสะดวกซื้อจะแจ้งเตือนผู้รวมชำระเงินเกี่ยวกับการชำระเงิน
- เซิร์ฟเวอร์ผู้รวมการชำระเงินจะส่งข้อความสำเร็จไปยังร้านสะดวกซื้อ
- ร้านสะดวกซื้อแจ้งว่าการทำธุรกรรมเสร็จสมบูรณ์สำหรับผู้ใช้ และจะนำส่งสินค้าให้ผู้ใช้ในไม่ช้า
- เซิร์ฟเวอร์ผู้รวมการชำระเงินจะส่งข้อความไปยังเซิร์ฟเวอร์ของ Google ว่ามีการจ่ายหมายเลขอ้างอิงแล้ว (
referenceNumberPaidNotification
) โดยขั้นตอนนี้ต้องไม่บล็อกขั้นตอนที่ 4 - เซิร์ฟเวอร์ของ Google ตอบกลับด้วยข้อความแสดงความสำเร็จไปยังเซิร์ฟเวอร์ผู้ผสานการชำระเงิน
ยกเลิกหมายเลขอ้างอิง
Google สามารถยกเลิกหมายเลขอ้างอิงได้ หาก Google ยกเลิกหมายเลขอ้างอิง ระบบจะเรียกใช้เมธอด cancelReferenceNumber
เมื่อโทรกลับสำเร็จ หมายเลขอ้างอิงดังกล่าวจะใช้ไม่ได้ และผู้รวมบริการต้องปฏิเสธการชำระเงินสำหรับหมายเลขนี้ เมื่อโทรสายนี้สำเร็จแล้ว การโทรไปยัง referenceNumberPaidNotification
ในอนาคตทั้งหมดจะไม่สำเร็จ
หากกระบวนการชำระเงินได้เริ่มขึ้นแล้ว เช่น หากผู้ใช้ป้อนหมายเลขอ้างอิงในคีออสก์แต่ยังไม่ได้ชำระเงิน ผู้ผสานรวมควรจะแสดงรหัสตอบกลับ HTTP 423 ที่มี ErrorResponse ใส่ USER_ACTION_IN_PROGRESS
ถัดไป: ขั้นตอนการส่งเงิน