통합 체크리스트

다음 체크리스트를 사용하여 웹 통합에서 필요한 모든 단계를 완료했는지 확인하세요.

테스트 환경 정보

Google Pay API 테스트 구성은 청구 가능한 실제 결제 정보를 반환하지 않으며, 이 구성을 통해 구매 워크플로의 요소를 테스트할 수 있습니다. 다음은 테스트 가능한 요소입니다.

  • 확인 페이지
  • 영수증
  • 청구서 수신 주소(선택사항)
  • 청구서 수신 전화번호(선택사항)
  • 배송지 주소(선택사항)
  • 이메일 주소(선택사항)

테스트 환경에서 예시 결제 데이터 응답을 사용하려면 TEST로 설정된 환경 속성이 포함된 자바스크립트 객체로 새 PaymentsClient를 초기화합니다.

다음은 코드 샘플입니다.
var paymentsClient =
    new google.payments.api.PaymentsClient({environment: 'TEST'});

브라우저의 개발자 콘솔에서 테스트

지원되는 브라우저의 최신 버전에서 웹사이트를 테스트하세요. 그러려면 브라우저의 개발자 도구를 열어 웹사이트와 관련된 콘솔 메시지를 확인합니다. 이 메시지에는 Google Pay API 자바스크립트 클라이언트 라이브러리의 오류 또는 경고가 포함됩니다. Google Pay API는 Google Chrome, Mozilla Firefox, Apple Safari, Microsoft Edge, Opera, UCWeb UC Browser를 지원합니다.

loadPaymentData()를 호출한 후 Google 결제 선택 대화상자에 추가 오류가 표시될 수 있습니다. 오류 메시지를 확인한 후 계속 또는 확인을 클릭하면 사이트에서 처리한 거부된 Promise에 세부정보가 추가로 반환될 수 있습니다.

호환 기기에서 테스트

Google Pay API는 여러 마켓에서 사용할 수 있지만 토큰화된 카드는 일부 국가에서만 사용할 수 있습니다. 토큰화된 카드가 사용 가능한 결제 수단으로 설정된 경우 Android용 Chrome 버전 59 이상 및 Google Play 서비스 버전 16.0.0 이상을 사용하는 Android 기기에서 테스트합니다. 결제 수단을 거주 국가에서 지원하고 발급 은행에서도 지원하는 경우 카드를 Google Pay 앱에 저장하여 테스트합니다.

Android용 Chrome 콘솔 오류 및 경고를 보려면 데스크톱용 Chrome에서 원격 디버깅으로 테스트하세요. 발생할 수 있는 오류에 대한 자세한 내용을 보려면 Android 기기에서 로그를 확인하세요. Android 스튜디오의 Logcat 도구 창 또는 adb logcat 명령줄 도구를 사용하거나 Android 버그 신고에서 오류 로그를 확인할 수 있습니다. Google Pay API와 관련된 오류 메시지를 보려면 WalletMerchantError를 검색하세요.

다음은 코드 샘플입니다.

adb logcat -s WalletMerchantError

통합 테스트

TEST 환경용으로 구성된 PaymentsClient를 사용하여 검증할 통합을 Google에 제출하려면 아래의 각 기능 및 브랜드 확인에 대한 종료 기준을 충족했는지 확인하세요.

1. 기본사항

카드 또는 PAN 거래에 대한 기존 위험 확인 및 관리가 Google Pay 거래에도 적용되는지 확인합니다. Google Pay 인증 및 사기 수표는 위험 관리 프로세스를 대체하지 않습니다.
위험 기준을 토대로 일반 카드 거래에 3D Secure(단계별 인증)를 선택적으로 트리거하는 경우 동일한 위험 기준을 사용하여 Google Pay PAN PAN_ONLY 거래에 3D Secure를 트리거해야 합니다.
Google의 서비스 약관을 읽고 동의할 준비가 되었는지 확인합니다. Google Pay API를 등록하려면 이메일 주소가 Google 계정과 연결되어야 하고 가급적이면 회사 도메인과 연결된 회사 이메일(예: 'admin@myownpersonaldomain.com')이어야 합니다. 기존 이메일을 Google 계정과 연결하려면 Google 계정 만들기 과정에서 대신 현재 이메일 주소 사용을 선택하세요.
Google Pay API에서 받은 데이터는 거래를 처리하는 용도로만 사용합니다. 다른 모든 사용 사례는 사용자에게 별도로 명시적인 동의를 얻어야 합니다.
거주 국가의 결제 대행업체에서 허용하는 결제 카드 인증 및 카드 네트워크를 확인합니다.
DIRECT tokenizationSpecification type 통합을 완료하면 공개 암호화 키를 매년 순환하고 Google Pay 비즈니스 콘솔을 사용하여 Google에 PCI 증명을 제공해야 합니다. PCI 증명은 PCI 보안표준협의회에서 인증하고 승인 공급업체 또는 공인 평가업체에서 승인한 타사 또는 보안평가전문가가 제출할 수 있습니다.

2. 브랜드 테스트

승인된 애셋을 사용하고 브랜드 가이드라인의 모든 요소를 준수합니다.
사이트에서 isReadyToPay() 함수를 통해 사용자가 결제할 수 있음을 확인한 후에만 Google Pay 결제 버튼이 표시되도록 합니다.
표시된 Google Pay 결제 버튼 크기가 페이지의 유사한 버튼 및 요소와 일치하는지 확인합니다.
표시될 영역의 배경색에 따라 적절한 버튼을 선택합니다.

3. 기능 테스트

Google Pay 결제 버튼을 클릭하는 동시에 loadPaymentData()가 호출되고 Google Pay API가 결제 명세서를 표시할 수 있도록 브라우저의 사용자 활성화 동작을 유지하는지 확인합니다. 팝업 차단기가 Google Pay 결제 명세서를 차단하지 않는지 확인합니다.

PAN_ONLY 카드 인증을 사용하여 CARD 결제 수단 유형을 요청할 때 다음 단계에 따라 등록된 카드 테스트를 수행합니다.

  1. 가능한 경우 pay.google.com에서 등록된 카드를 모두 삭제합니다.
  2. 통합으로 돌아갑니다.
  3. Google Pay를 클릭합니다.
  4. 카드 추가 옵션이 표시되는지 확인합니다.
  5. parameters.allowedCardNetworks에 정의된 대로 지원되는 네트워크에서 카드를 추가합니다.
  6. 선택기에 네트워크 로고가 있는 카드가 추가되어 표시되는지 확인합니다.

다음 테스트는 Android용 Chrome에만 해당됩니다.

CRYPTOGRAM_3DS 카드 인증을 사용하여 CARD 결제 수단 유형을 요청할 때 다음 단계에 따라 Android 기기 토큰 테스트를 수행합니다.

  1. 카드 발급기관이 지원되는지 확인하고 Google Pay Android 애플리케이션에서 사용 가능한 카드를 추가합니다.
  2. 통합으로 돌아갑니다.
  3. Google Pay 결제 버튼을 클릭합니다.
  4. 선택기에 카드 아트가 있는 카드가 추가되어 표시되는지 확인합니다.

대행업체에서 3D Secure 카드 인증을 지원하는 것이 확인된 후에는 Android 사용자 또는 카드 소지자가 Android 기기 토큰을 사용할 수 없더라도 진행할 수 있습니다.

배송지 주소가 필요한 경우 다음과 같이 다양한 상태로 작성된 배송지 주소 처리를 테스트합니다.

  • 'John', 'John Doe', 'Jane Doe Smith'와 같이 구조화된 필드로 파싱될 전체 이름의 변형을 테스트합니다.
  • Google Check API에서 반환하는 모든 주소 입력란을 정확하게 파싱합니다. 표준 결제 과정에서 일반적으로 수집되는 총 주소 입력란 수를 초과할 수 있습니다.
  • 주소에서 반환된 국가 구성요소가 사이트에서 지원되는 배송지와 일치하는지 확인합니다. 배송 제한 지역을 지정한 경우 지원되지 않는 배송지 주소를 입력하면 Google 결제 명세서에서 허용되지 않는지 테스트하고 제한 지역이 작동하는지 확인하세요.

결제 승인을 지원하는 기능을 구현한 경우 다음을 확인하세요.

  • 결제 인증에 실패하면 ERROR transactionStatePAYMENT_AUTHORIZATION 인텐트가 포함된 PaymentDataError를 반환합니다.

유동 가격 업데이트를 지원하는 기능을 구현한 경우 다음 단계를 완료하세요.

  • 결제 명세서에 카드와 주소를 동시에 추가합니다. 배송 옵션, 주문 목록, 총 가격을 업데이트합니다.
  • 배송지 주소를 추가하고 선택합니다. 배송 옵션, 주문 목록, 총 가격을 업데이트합니다.
  • 배송 옵션을 선택합니다. 주문 목록과 총 가격을 업데이트합니다.
  • 배송지 주소에 사용 가능한 배송 옵션이 없는 경우 SHIPPING_ADDRESS 인텐트가 포함된 PaymentDataError를 반환합니다.
  • 선택한 배송 옵션이 잘못된 경우 SHIPPING_OPTION 인텐트가 포함된 PaymentDataError를 반환합니다.
  • 결제 인증에 실패하면 ERROR transactionStatePAYMENT_AUTHORIZATION 인텐트가 포함된 PaymentDataError를 반환합니다.
전화번호가 필요하면 청구서 수신 주소에서 요청합니다. 그런 다음 '+8005550100', '18005550100', '(800) 555-0100'과 같은 여러 형식을 사용하여 전화번호를 웹사이트의 데이터 표준으로 파싱하고 저장할 수 있는지 테스트합니다.
Google Pay가 다른 타사 결제 수단과 동등하게 표시되는지 확인합니다.
이전에 결제 시 Google Pay를 선택하고 웹사이트 내에서 선호하는 결제 수단으로 Google Pay를 지정한 사용자의 경우 Google Pay가 이후 구매의 기본 결제 수단으로 설정되어야 합니다.
거래를 처리하기 전에 최종 가격이 사용자에게 표시되어야 합니다. Google Pay API에서 받은 데이터에 따라 청구 금액이 달라지는 경우 확인 페이지에 최종 가격이 표시되어야 합니다.