หากต้องการเปิดใช้เซสชันของผู้ใช้ที่ราบรื่น (เช่น การเข้าถึงสิทธิประโยชน์จากโปรแกรมสะสมคะแนน ข้อเสนอที่ปรับเปลี่ยนในแบบของคุณ) และการชำระเงินที่ตรวจสอบสิทธิ์แล้ว คุณต้องใช้ความสามารถในการลิงก์ข้อมูลประจำตัวโดยใช้ OAuth 2.0 หากไม่ได้ใช้การลิงก์ข้อมูลประจำตัว คุณต้องรองรับการชำระเงินในฐานะผู้มาเยือน
โปรดปรึกษาทีมกฎหมายหากมีคำถามเกี่ยวกับกฎระเบียบด้านความเป็นส่วนตัว และแนวทางปฏิบัติในการขอความยินยอม
ข้อกำหนดหลัก
- โปรโตคอล: ใช้ขั้นตอนรหัสการให้สิทธิ์ OAuth 2.0 (RFC 6749 2.3.1)
- การตรวจสอบสิทธิ์ไคลเอ็นต์: ต้องรองรับการตรวจสอบสิทธิ์พื้นฐาน HTTP
(
client_secret_basic) ที่ปลายทางโทเค็น - ขอบเขต: คุณต้องรองรับขอบเขต UCP มาตรฐานที่กำหนดไว้ในส่วนนี้
- การค้นหา: คุณต้องโฮสต์ไฟล์ข้อมูลเมตาที่
/.well-known/oauth-authorization-server(RFC 8414) เพื่อให้แพลตฟอร์มค้นหาปลายทางของคุณได้
ขอบเขต
คุณต้องใช้ขอบเขตต่อไปนี้ ซึ่งให้สิทธิ์สำหรับการดำเนินการวงจรการชำระเงินทั้งหมด (รับ สร้าง อัปเดต ลบ ยกเลิก เสร็จสมบูรณ์)
- ชื่อขอบเขต:
ucp:scopes:checkout_session
ประสบการณ์ของผู้ใช้: คุณควรแสดงขอบเขตที่ขอเป็นหน้าจอคำยินยอมแบบรวมรายการเดียว (เช่น "อนุญาตให้ Google จัดการเซสชันการชำระเงิน") แทนที่จะเป็นการเปิด/ปิดทางเทคนิคแบบละเอียด
การลิงก์ที่มีประสิทธิภาพยิ่งขึ้นของ Google
การลิงก์ที่ปรับปรุงแล้วของ Google เป็นส่วนเสริมที่ไม่บังคับสำหรับ OAuth 2.0 มาตรฐาน โดยจะ
ใช้ประโยชน์จากการยืนยัน JWT เพื่อรวมการตรวจสอบความตั้งใจและการแลกเปลี่ยนโทเค็นใน
ปลายทางของโทเค็น OAuth 2.0 (ความตั้งใจ check, create, get)
ขอแนะนำให้ใช้การลิงก์ที่ปรับปรุงแล้วของ Google เพื่อให้ผู้ใช้ได้รับประสบการณ์การใช้งานที่ราบรื่น ซึ่งช่วยให้ผู้ใช้ลิงก์บัญชีหรือสร้างบัญชีใหม่โดยใช้โปรไฟล์ Google ได้โดยไม่ต้องออกจากอินเทอร์เฟซของ Google เนื่องจากโฟลว์เกิดขึ้นภายใน UI ของ Google ทั้งหมด จึงไม่จำเป็นต้องมีลิงก์ส่วนหน้า ซึ่งจะช่วยลดค่าใช้จ่ายในการพัฒนา ขจัดปัญหาการเปลี่ยนเส้นทางของเบราว์เซอร์ และเพิ่มอัตรา Conversion ได้
- ข้อกำหนด: การติดตั้งใช้งานต้องเป็นไปตามข้อกำหนดสำหรับ การลิงก์ที่ปรับปรุงแล้ว
- มาตรฐาน: แม้ว่าแนวคิดจะมาจาก RFC 7523 แต่ก็มีความแตกต่างเพื่อ เพิ่มความปลอดภัย
ข้อมูลเมตาของเซิร์ฟเวอร์การให้สิทธิ์ (ตัวอย่าง JSON)
คุณต้องเผยแพร่ออบเจ็กต์ JSON นี้ที่
https://[your-domain]/.well-known/oauth-authorization-server
ตัวอย่าง
{
"issuer": "https://merchant.example.com",
"authorization_endpoint": "https://merchant.example.com/oauth2/authorize",
"token_endpoint": "https://merchant.example.com/oauth2/token",
"revocation_endpoint": "https://merchant.example.com/oauth2/revoke",
"scopes_supported": [
"ucp:scopes:checkout_session"
],
"response_types_supported": [
"code"
],
"grant_types_supported": [
"authorization_code",
"refresh_token"
],
"token_endpoint_auth_methods_supported": [
"client_secret_basic"
],
"service_documentation": "https://merchant.example.com/docs/oauth2"
}