원활한 사용자 세션 (예: 포인트 혜택 액세스, 맞춤 혜택) 및 인증된 결제를 사용 설정하려면 OAuth 2.0을 사용하여 ID 연결 기능을 구현해야 합니다. ID 연결을 구현하지 않는 경우 게스트 결제를 지원해야 합니다.
개인 정보 보호 규정 및 동의 관행에 관한 질문이 있으면 법무팀과 상담하세요.
핵심 요구사항
- 프로토콜: 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 프로필을 사용하여 계정을 연결하거나 새 계정을 만들 수 있습니다. 흐름이 Google UI 내에서 완전히 발생하므로 연결 프런트엔드가 필요하지 않습니다. 이렇게 하면 개발 오버헤드가 줄어들고 브라우저 리디렉션이 없어지며 전환율이 높아질 수 있습니다.
- 사양: 구현은 간소화된 연결 요구사항을 따라야 합니다.
- 표준: 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"
}