결제 수단 식별자

W3C 권고안

이 문서에 대한 자세한 정보
이 버전:
https://www.w3.org/TR/2022/REC-payment-method-id-20220908/
최신 공개 버전:
https://www.w3.org/TR/payment-method-id/
최신 편집자 초안:
https://w3c.github.io/payment-method-id/
이력:
https://www.w3.org/standards/history/payment-method-id
커밋 이력
테스트 스위트:
https://wpt.live/payment-method-id/
구현 보고서:
https://w3c.github.io/test-results/payment-method-id/all.html
편집자:
Marcos Cáceres (Apple Inc.)
이전 편집자:
Adrian Bateman (Microsoft Corporation)
Domenic Denicola (Google)
Zach Koch (Google)
Roy McElmurry (Facebook)
피드백:
GitHub w3c/payment-method-id (풀 리퀘스트, 새 이슈, 열린 이슈)
정오표:
정오표가 있습니다.

다음도 참조하십시오 번역.


개요

이 명세는 결제 수단 식별자와 그 유효성이 검증되는 방식, 그리고 해당되는 경우 W3C에서 발행되고 공식적으로 등록되는 방식을 정의합니다. 다른 명세(예: Payment Request API)는 이러한 식별자를 사용하여 웹 플랫폼에서 금전 거래를 용이하게 합니다.

이 문서의 상태

이 절은 이 문서가 공개된 시점의 상태를 설명합니다. 현재 W3C 간행물 목록과 이 기술 보고서의 최신 개정판은 https://www.w3.org/TR/의 W3C 기술 보고서 색인에서 확인할 수 있습니다.

워킹 그룹은 구현 보고서를 작성하여 구현 경험을 입증합니다. 이 보고서는 두 개 이상의 독립적인 구현이 테스트 스위트의 각 필수 테스트를 통과함을 보여줍니다(즉, 각 테스트는 명세의 MUST 요구 사항에 해당합니다).

이 명세의 개발 중에 다른 워킹 그룹에 대한 의존성에는 변경이 없었습니다.

이 문서는 Web Payments Working Group에 의해 권고안 트랙을 사용한 권고안으로 공개되었습니다.

W3C는 웹의 표준으로서 이 명세의 광범위한 배포를 권장합니다.

W3C 권고안은 광범위한 합의 형성 이후 W3C와 그 회원들이 승인하고, 워킹 그룹 구성원들이 구현을 위한 로열티 없는 라이선스 제공을 약속한 명세입니다. 이 권고안의 향후 업데이트에는 새 기능이 포함될 수 있습니다.

이 문서는 2017년 8월 1일 W3C 특허 정책에 따라 운영되는 그룹에 의해 작성되었습니다. W3C는 그룹의 산출물과 관련하여 이루어진 모든 특허 공개의 공개 목록을 유지합니다. 해당 페이지에는 특허 공개 지침도 포함되어 있습니다. 개인이 필수 청구항을 포함한다고 믿는 특허에 대한 실제 지식을 가지고 있는 경우, 그 개인은 W3C 특허 정책 제6절에 따라 해당 정보를 공개해야 합니다.

이 문서는 2021년 11월 2일 W3C 프로세스 문서의 적용을 받습니다.

1. 결제 수단 식별자(PMI)

결제 수단 식별자(PMI)는 다음 중 하나입니다.

1.1 유효성

결제 수단 식별자에 의존하는 명세는 유효하지 않은 결제 수단 식별자를 처리하기 위한 자체 규칙을 MUST 지정해야 합니다.

문자열 pmi결제 수단 식별자를 검증하는 단계는 다음 알고리즘에 제시되어 있습니다. 이 알고리즘은 pmi가 유효하면 true를 반환합니다.

  1. urlpmi기본 URL 파서를 실행한 결과라고 합니다.
  2. url이 실패이면, pmi표준화된 결제 수단 식별자를 검증하고 그 결과를 반환합니다.
  3. 그렇지 않으면, url을 전달하여 URL 기반 결제 수단 식별자를 검증하고 그 결과를 반환합니다.

2. URL 기반 결제 수단 식별자

URL 기반 결제 수단 식별자URL이며, URL 기반 결제 수단 식별자를 검증하는 단계에 따라 유효한 것입니다.

참고

제3자 결제 처리기를 위해 URL 기반 결제 수단 식별자를 사용하려는 개발자는 Payment Method Best Practice 문서를 읽는 것이 권장됩니다.

2.1 검증

URL 기반 결제 수단 식별자를 검증하는 단계는 다음 알고리즘에 제시되어 있습니다. 이 알고리즘은 URL url을 입력으로 받아, 해당 URL이 유효하면 true를 반환합니다.

  1. url스킴이 "https"가 아니면 false를 반환합니다.
  2. url사용자 이름 또는 비밀번호가 빈 문자열이 아니면 false를 반환합니다.
  3. 그렇지 않으면 true를 반환합니다.
예제 1: 유효한 URL 기반 PMI와 유효하지 않은 URL 기반 PMI
const valid = [
  {
    supportedMethods: "https://example.com/pay",
  },
  {
    supportedMethods: "https://example.com/pay?version=1",
  },
  {
    supportedMethods: "https://example.com/pay/version/1",
  },
];

const invalid = [
  {
    // ❌ http://, 사용자 이름, 비밀번호를 사용합니다.
    supportedMethods: "http://username:password@example.com/pay",
  },
  {
    // ❌ 알 수 없는 URI 스킴을 사용합니다.
    supportedMethods: "unknown://example.com/pay",
  },
];

2.2 비교

사용자 에이전트는 URL 기반 결제 수단 식별자의 비교를 [URL]의 같음을 사용하여 MUST 수행해야 합니다.

2.3 가져오기(역참조)

사용자 에이전트가 가져오기URL 기반 결제 수단 식별자에 대해 수행하는 것은 OPTIONAL입니다.

3. 표준화된 결제 수단 식별자

표준화된 결제 수단 식별자표준화된 결제 수단을 나타내는 문자열입니다.

표준화된 결제 수단 식별자의 구문은 다음 [ABNF]로 제시됩니다.

stdpmi = part *( "-" part )
part = 1loweralpha *( DIGIT / loweralpha )
loweralpha =  %x61-7A

사용자 에이전트는 제표준화된 결제 수단 식별자를 0개 이상 지원할 MAY 있습니다. 해당 식별자는 4. 표준화된 결제 수단 레지스트리 절에 나열됩니다.

3.1 유효성

표준화된 결제 수단 식별자를 검증하는 단계는 다음 알고리즘에 제시되어 있습니다. 이 알고리즘은 string을 입력으로 받아, 해당 식별자가 유효하면 true를 반환합니다.

  1. string표준화된 결제 수단 식별자의 구문을 준수하면 true를 반환합니다. 그렇지 않으면 false를 반환합니다.
참고

3.2 비교

표준화된 결제 수단 식별자에 대해, 사용자 에이전트는 is를 사용하여 문자열 비교를 MUST 수행해야 합니다.

4. 표준화된 결제 수단 레지스트리

이 절은 비규범적입니다.

참고

표준화된 결제 수단W3C에서 표준화를 거쳤으며 이 레지스트리에 나열된 결제 수단입니다.

현재 표준화된 결제 수단 식별자는 없습니다.

5. URL 기반 PMI와 제3자 결제 처리기

이 절은 비규범적입니다.

제3자 결제 처리기를 위해 URL 기반 결제 수단 식별자를 사용하려는 개발자는 Payment Method Manifest 명세와 Payment Method Best Practice 위키 페이지를 읽는 것이 권장됩니다. 이 문서들은 함께, 브라우저에 의한 적시 결제 처리기 설치를 포함하여 결제 수단을 위한 승인된 결제 처리기의 생태계를 관리하는 방법을 설명합니다.

6. 보안 고려 사항

이 명세는 새로운 보안 고려 사항을 도입하지 않습니다.

7. 개인정보 보호 고려 사항

현재 고려해야 할 알려진 개인정보 보호 또는 보안 우려 사항은 없습니다.

8. 적합성

비규범적이라고 표시된 절뿐만 아니라, 이 명세의 모든 작성 지침, 도표, 예제 및 참고는 비규범적입니다. 이 명세의 그 밖의 모든 내용은 규범적입니다.

이 문서의 핵심어 MAY, MUST, 그리고 OPTIONAL은 여기에 표시된 것처럼 모두 대문자로 나타날 때, 그리고 그때에만 BCP 14 [RFC2119] [RFC8174]에 설명된 대로 해석해야 합니다.

A. 색인

A.1 이 명세에서 정의한 용어

A.2 참조로 정의된 용어

B. 참고 문헌

B.1 규범 참고 문헌

[ABNF]
Augmented BNF for Syntax Specifications: ABNF. D. Crocker, Ed.; P. Overell. IETF. 2008년 1월. 인터넷 표준. URL: https://www.rfc-editor.org/rfc/rfc5234
[fetch]
Fetch Standard. Anne van Kesteren. WHATWG. 생활 표준. URL: https://fetch.spec.whatwg.org/
[infra]
Infra Standard. Anne van Kesteren; Domenic Denicola. WHATWG. 생활 표준. URL: https://infra.spec.whatwg.org/
[RFC2119]
Key words for use in RFCs to Indicate Requirement Levels. S. Bradner. IETF. 1997년 3월. 현재 모범 관행. URL: https://www.rfc-editor.org/rfc/rfc2119
[RFC8174]
Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words. B. Leiba. IETF. 2017년 5월. 현재 모범 관행. URL: https://www.rfc-editor.org/rfc/rfc8174
[URL]
URL Standard. Anne van Kesteren. WHATWG. 생활 표준. URL: https://url.spec.whatwg.org/

B.2 정보 참고 문헌

[payment-method-manifest]
Payment Method Manifest. Dapeng(Max) Liu; Domenic Denicola; Zach Koch. W3C. 2017년 12월 12일. W3C 작업 초안. URL: https://www.w3.org/TR/payment-method-manifest/
[payment-request]
Payment Request API. Marcos Caceres; Rouslan Solomakhin; Ian Jacobs. W3C. 2021년 9월 30일. W3C 제안 권고안. URL: https://www.w3.org/TR/payment-request/