- ชื่อแฮนเดิล:
com.google.pay - เวอร์ชัน:
2026-01-11
1. บทนำ
com.google.payแฮนเดิลเลอร์ช่วยให้ธุรกิจเสนอ Google Pay เป็น
ตัวเลือกการชำระเงินที่รวดเร็วผ่านแพลตฟอร์มที่รองรับ UCP ได้ Google Pay API
ช่วยให้ชำระเงินได้อย่างรวดเร็วโดยให้สิทธิ์ผู้ใช้เข้าถึงวิธีการชำระเงินที่จัดเก็บไว้ใน
บัญชี Google
แฮนเดิลนี้ช่วยให้รูปแบบการผสานรวมแบบไม่มีส่วนหัวซึ่งธุรกิจระบุ การกำหนดค่า Google Pay (เช่น เครือข่ายบัตรและพารามิเตอร์เกตเวย์ที่อนุญาต) และแพลตฟอร์มจัดการการโต้ตอบฝั่งไคลเอ็นต์กับ Google Pay API เพื่อสร้างโทเค็นการชำระเงินที่ปลอดภัย
1.1 ประโยชน์หลัก
- การกำหนดค่าแบบสากล: ธุรกิจกำหนดค่า Google Pay เพียงครั้งเดียวโดยใช้ JSON มาตรฐาน ซึ่งจะช่วยให้แพลตฟอร์มที่ได้รับอนุญาตแสดงผลอินเทอร์เฟซการชำระเงิน ได้โดยไม่ต้องใช้โค้ดส่วนหน้าแบบกำหนดเอง
- ส่วนหน้าแบบแยกส่วน: แพลตฟอร์มจะจัดการความซับซ้อนของการผสานรวม Google Pay JavaScript API หรือ SDK ในขณะที่ธุรกิจจะใช้โทเค็นที่ได้
- การแปลงข้อมูลเป็นโทเค็นที่ปลอดภัย: ใช้ประโยชน์จากการแปลงข้อมูลเป็นโทเค็นในตัวของ Google เพื่อส่ง ข้อมูลเข้าสู่ระบบที่เข้ารหัสไปยังผู้ให้บริการชำระเงิน (PSP) ของธุรกิจโดยตรง
2. การผสานรวมธุรกิจ
2.1 ข้อกำหนด
ก่อนที่จะโฆษณา Google Pay ผ่าน UCP ธุรกิจต้องดำเนินการต่อไปนี้
- รับรหัสผู้ขาย Google Pay: ต้องใช้สำหรับการประมวลผลในสภาพแวดล้อม
PRODUCTION(ลงทะเบียนใน Google Pay และ Wallet Console) - ตรวจสอบการรองรับ PSP: ตรวจสอบว่าผู้ให้บริการชำระเงิน (PSP) ของคุณอยู่ใน รายชื่อโปรเซสเซอร์และเกตเวย์ที่รองรับ สำหรับการแปลงโทเค็น Google Pay
2.2 การกำหนดค่าแฮนเดิล
ธุรกิจต่างๆ โฆษณาการรองรับ Google Pay โดยใส่ตัวแฮนเดิลไว้ในอาร์เรย์ตัวแฮนเดิลการชำระเงิน การกำหนดค่าเป็นไปตามโครงสร้างที่จำเป็นต่อการเริ่มต้น Google Pay API อย่างเคร่งครัด
2.2.1 สคีมาการกำหนดค่า
ออบเจ็กต์การกำหนดค่าจะกำหนดสภาพแวดล้อม ข้อมูลระบุตัวตนของธุรกิจ และวิธีการชำระเงินที่อนุญาต
วิธีการชำระเงินผ่าน Google Pay
อิงตาม PaymentMethod ของ Google Pay
ข้อกำหนดการแปลงข้อมูลเป็นโทเค็น
อิงตาม TokenizationSpecification ของ Google Pay
2.2.2 ตัวอย่างการประกาศตัวแฮนเดิล
{
"payment": {
"handlers": [
{
"id": "8c9202bd-63cc-4241-8d24-d57ce69ea31c",
"name": "com.google.pay",
"version": "2026-01-11",
"spec": "https://pay.google.com/gp/p/ucp/2026-01-11/",
"config_schema": "https://pay.google.com/gp/p/ucp/2026-01-11/schemas/config.json",
"instrument_schemas": [
"https://pay.google.com/gp/p/ucp/2026-01-11/schemas/card_payment_instrument.json"
],
"config": {
"api_version": 2,
"api_version_minor": 0,
"environment": "TEST",
"merchant_info": {
"merchant_name": "Example Merchant",
"merchant_id": "01234567890123456789",
"merchant_origin": "checkout.merchant.com"
},
"allowed_payment_methods": [
{
"type": "CARD",
"parameters": {
"allowed_auth_methods": ["PAN_ONLY"],
"allowed_card_networks": ["VISA", "MASTERCARD"]
},
"tokenization_specification": {
"type": "PAYMENT_GATEWAY",
"parameters": {
"gateway": "example",
"gatewayMerchantId": "exampleGatewayMerchantId"
}
}
}
]
}
}
]
}
}
2.3 เอนทิตี
2.3.1 สคีมาของเครื่องมือ
เครื่องมือ Google Pay (card_payment_instrument) ขยายเครื่องมือการชำระเงินด้วยบัตรพื้นฐาน โดยจะรับช่วงฟิลด์ Display มาตรฐาน (เช่น brand
และ last_digits) เพื่อให้มั่นใจว่าการแสดงผลใบเสร็จจะสอดคล้องกัน ขณะเดียวกันก็ปรับแต่งฟิลด์ credential
เพื่อส่งเพย์โหลดการแปลงโทเค็นของ Google Pay ที่เฉพาะเจาะจง
ลักษณะการทำงานของแพลตฟอร์ม: แพลตฟอร์มมีหน้าที่ในการแมปการตอบกลับจาก Google
Pay
PaymentMethodData
ไปยังโครงสร้างนี้ก่อนที่จะส่งไปยังธุรกิจ
| ชื่อ | ประเภท | ต้องระบุ | คำอธิบาย |
|---|---|---|---|
| id | สตริง | มี | ตัวระบุที่ไม่ซ้ำกันสำหรับเครื่องมือการชำระเงินนี้ ซึ่งแพลตฟอร์มเป็นผู้กำหนด |
| handler_id | สตริง | มี | ตัวระบุสำหรับแฮนเดิลของ Google Pay |
| ประเภท | สตริง | มี | ค่าคงที่ = card ระบุว่าเครื่องมือนี้ทำงานเหมือนบัตร (รับค่าฟิลด์การแสดงบัตร) |
| brand | สตริง | มี | เครือข่ายบัตร (เช่น visa, mastercard) แมปจาก info.cardNetwork ของ Google Pay |
| last_digits | สตริง | มี | หมายเลขบัตร 4 หลักสุดท้าย แมปจาก info.cardDetails ของ Google Pay |
| rich_text_description | สตริง | ไม่ | คำอธิบายข้อความ Rich Text ของการ์ด (ไม่บังคับ) (เช่น Visa ที่มีเลขลงท้าย 1234 หมดอายุ 12/2025") |
| rich_card_art | string (uri) | ไม่ | URI ที่ไม่บังคับไปยังรูปภาพริชมีเดียที่แสดงการ์ด (เช่น อาร์ตเวิร์กของการ์ดผู้ออกบัตร) |
| billing_address | ที่อยู่ทางไปรษณีย์ | ไม่ | ที่อยู่สำหรับการเรียกเก็บเงินที่เชื่อมโยงกับบัตร |
| ข้อมูล เข้าสู่ระบบ | เพย์โหลดของเอกสารรับรอง | ไม่ | ข้อมูลการแปลงโทเค็นที่ปลอดภัยซึ่ง Google Pay ส่งคืน |
เพย์โหลดของข้อมูลเข้าสู่ระบบ
ออบเจ็กต์นี้ทำหน้าที่เป็น credential สำหรับเครื่องมือ ซึ่งจะเชื่อมโยงโดยตรงกับ
ข้อมูลการแปลงข้อมูลเป็นโทเค็นของ Google Pay
ที่อยู่ทางไปรษณีย์
ออบเจ็กต์นี้ทำหน้าที่เป็นฟิลด์ address ซึ่งจะแมปกับ PostalAddress โดยตรง
3. การผสานรวมแพลตฟอร์ม
3.1 ข้อกำหนด
ก่อนจัดการการชำระเงินของ com.google.pay แพลตฟอร์มต้องดำเนินการต่อไปนี้
- สามารถโหลด Google Pay API สำหรับเว็บ (หรือเทียบเท่ากับ Android) ได้
- ปฏิบัติตามหลักเกณฑ์การใช้แบรนด์ Google Pay เมื่อแสดงปุ่มชำระเงิน
3.2 โปรโตคอลการชำระเงิน
แพลตฟอร์มต้องทำตามขั้นตอนต่อไปนี้เพื่อประมวลผลตัวแฮนเดิล
ขั้นตอนที่ 1: ค้นหาและกำหนดค่า
แพลตฟอร์มจะเริ่มต้นไคลเอ็นต์เพื่อจัดการวงจร API
- การอ้างอิง: PaymentsClient
ขั้นตอนที่ 2: ตรวจสอบความพร้อมในการชำระเงิน
แพลตฟอร์มจะตรวจสอบว่าผู้ใช้มีความสามารถในการชำระเงินด้วยวิธีการชำระเงินที่ระบุหรือไม่ก่อนที่จะแสดงปุ่ม
- การอ้างอิง: isReadyToPay
ขั้นตอนที่ 3: สร้างคำขอการชำระเงิน
แพลตฟอร์มจะรวบรวมออบเจ็กต์คำขอข้อมูลการชำระเงิน ซึ่งรวมถึงการกำหนดค่าผู้ขาย วิธีการชำระเงิน และรายละเอียดธุรกรรม (ราคาและสกุลเงิน)
- การอ้างอิง: PaymentDataRequest
ขั้นตอนที่ 4: เรียกใช้การโต้ตอบของผู้ใช้
แพลตฟอร์มจะทริกเกอร์การแสดงชีตการชำระเงินเมื่อผู้ใช้โต้ตอบกับ ปุ่มชำระเงิน
- การอ้างอิง: loadPaymentData
ขั้นตอนที่ 5: ชำระเงินให้เสร็จสมบูรณ์
เมื่อผู้ใช้โต้ตอบสำเร็จ Google Pay API จะแสดงออบเจ็กต์
PaymentInstrument ภายใต้คีย์ payment_data แพลตฟอร์มจะแมปการตอบกลับนี้
กับcard_payment_instrumentสคีมาและส่งคำขอการทำธุรกรรม
ให้เสร็จสมบูรณ์
POST /checkout-sessions/{checkout_id}/complete
{
"payment_data": {
"id": "pm_1234567890abc",
"handler_id": "8c9202bd-63cc-4241-8d24-d57ce69ea31c",
"type": "card",
"brand": "visa",
"last_digits": "4242",
"billing_address": {
"street_address": "123 Main Street",
"extended_address": "Suite 400",
"address_locality": "Charleston",
"address_region": "SC",
"postal_code": "29401",
"address_country": "US",
"first_name": "Jane",
"last_name": "Smith"
},
"credential": {
"type": "PAYMENT_GATEWAY",
"token": "{\"signature\":\"...\",\"protocolVersion\":\"ECv2\"...}"
}
},
"risk_signals": {
...
}
}
4. การประมวลผลทางธุรกิจ
เมื่อได้รับเครื่องมือการชำระเงินของ Google Pay ธุรกิจต้องดำเนินการต่อไปนี้
- ตรวจสอบแฮนเดิลเลอร์: ยืนยันว่า
handler_idสอดคล้องกับแฮนเดิลเลอร์ของ Google Pay - ดึงโทเค็น: ดึงสตริงโทเค็นจาก
payment_data.credential.token - ประมวลผลการชำระเงิน: ส่งสตริงโทเค็นและรายละเอียดธุรกรรมไปยัง
ปลายทางของ PSP
- หมายเหตุ: PSP ส่วนใหญ่มีช่องเฉพาะสำหรับ "เพย์โหลดของ Google Pay" หรือ "โทเค็นเครือข่าย"
- การตอบกลับการคืนสินค้า: ตอบกลับด้วยสถานะการชำระเงินที่เสร็จสมบูรณ์แล้ว (สำเร็จ/ไม่สำเร็จ)
5. ข้อควรพิจารณาด้านความปลอดภัย
5.1 ความปลอดภัยของโทเค็น
- PAYMENT_GATEWAY: เมื่อใช้การสร้างโทเค็นประเภทนี้ ระบบจะเข้ารหัสโทเค็น สำหรับฝ่ายที่สร้างโทเค็นโดยเฉพาะ บุคคลที่ส่งผ่านข้อมูล จะถอดรหัสโทเค็นนี้ไม่ได้ และควรส่งผ่านโทเค็นไปยังบุคคลที่ทำโทเค็น ตามที่เป็น
- โดยตรง: หากใช้การแปลงโทเค็น
DIRECTธุรกิจจะได้รับข้อมูลบัตรที่เข้ารหัส ซึ่งต้องถอดรหัส ซึ่งจะเพิ่มขอบเขตการปฏิบัติตามข้อกำหนด PCI DSS อย่างมาก และโดยทั่วไปเราไม่แนะนำให้ทำเช่นนี้ เว้นแต่ธุรกิจจะเป็น ผู้ให้บริการที่ปฏิบัติตามข้อกำหนด PCI ระดับ 1
5.2 การแยกสภาพแวดล้อม
- โหมดทดสอบ: ในสภาพแวดล้อม
TESTGoogle Pay จะแสดงโทเค็นจำลอง โดยจะไม่มีการเรียกเก็บเงิน - โหมดการใช้งานจริง: ใช้บัตรจริง ธุรกิจต้องตรวจสอบว่าข้อมูลเข้าสู่ระบบ PSP
ใน
config.allowed_payment_methodsตรงกับสภาพแวดล้อม