Transaction Events API

이 가이드는 개발자가 Google Pay 거래 정보를 Google에 알리는 데 도움이 되는 세부정보를 제공합니다. 사용자가 Google Pay 거래를 확인하면 Transaction Events API가 Google에 결제 및 주문 관련 이벤트를 알립니다. Transaction Events API를 사용하면 사전에 위험 관련 의사 결정을 내리고 판매자 위험 확인을 보완할 수 있습니다.

필수 API 변경사항

API에 대한 콜백을 구성하려면 다음 단계를 완료하세요.

  1. PaymentDataRequesttransactionInfo.transactionId 필드를 입력합니다.

    거래 시도에 대한 고유 ID를 만들어야 하며, 거래 시도를 나타내는 기존 ID를 사용하는 것이 좋습니다. 사용 가능한 ID가 없는 경우 Google Pay 거래 시도를 위한 특정 ID를 만들어 시스템에 저장할 수 있습니다.

  2. 일반 Google 계정을 만듭니다.

    계정을 내부 팀 및 Google과 공유하여 Google의 허용 목록에 추가합니다. 계정 관리자는 이 절차에 도움을 줄 수 있지만 계정을 만들어 줄 수는 없습니다. 계정 관리자에게 이 Google 계정에 대한 액세스 권한을 부여하지 마세요.

  3. Google Cloud 프로젝트를 만듭니다.

    Google이 개발자의 Google 계정에 대한 액세스 권한을 제공하면 운영자는 해당 계정으로 로그인하여 Google Cloud Console로 이동해야 합니다. 개발자는 이러한 통합을 위한 프로젝트를 생성해야 합니다. 프로젝트를 만드는 데 사용한 Google 계정으로 다른 프로젝트를 만들지 마세요.

  4. 새 Cloud Billing 계정을 만들거나 프로젝트에서 결제가 사용 설정되어 있는지 확인합니다.
  5. VGW API로 Transaction Events API를 사용 설정합니다.

    Transaction Events API는 VGW API에 속합니다. 필요한 특정 엔드포인트에 액세스하려면 프로젝트에서 VGW API를 사용 설정해야 합니다. 이렇게 하려면 Google Cloud Platform에서 Cloud Shell을 활성화하고 명령줄에서 다음을 실행합니다.

    gcloud services enable vgw.googleapis.com
    
  6. 프로젝트에서 서비스 계정을 만들고 등록합니다.

    서비스 계정을 만들고, 서비스 계정에 연결된 이메일 주소를 Google 담당자에게 알립니다. 이렇게 하면 서비스 계정이 판매자 프로필에 연결됩니다. 서비스 계정을 허용 목록에 추가하는 데는 영업일 기준 약 1일이 소요됩니다.

  7. 서비스 계정에 액세스 권한이 부여되면 다음 단계를 완료하여 승인된 API를 호출합니다.

    1. Transaction Events API에 대한 후속 요청에서 단기 토큰을 사용합니다.

      입력 파일은 서비스 계정으로 생성된 비공개 JSON 키입니다. 범위는 다음과 같습니다.

      https://www.googleapis.com/auth/facilitated.transaction.event.service
    2. 이벤트 알림의 요청 본문을 구성합니다.

      AuthorizationSucceeded, AuthorizationDeclined 등 9가지 이벤트 유형이 있습니다. 관련 이벤트 알림에 대한 요청을 구성합니다.

    3. 거래에 대한 이벤트 알림을 보냅니다. 알림을 보내려면 다음 단계를 완료하세요.

      1. 다음에 대해 HTTP를 요청합니다.
        https://billpaynotification.googleapis.com/secure-serving/gsp/v2/facilitatedTransaction/eventNotification/{merchant_id}
        
      2. 다음과 같이 헤더에서 OAuth 토큰을 전달합니다.

        Authorization: Bearer {token}.

      3. 요청의 merchant_idGoogle Pay 비즈니스 콘솔의 판매자 ID 값과 일치하는지 확인합니다.

    요청이 다음 기준을 충족하는지 확인합니다.

    • 각 요청에는 고유한 requestId가 있어야 합니다.
    • requestTimestamp는 현재 시간을 기준으로 60초 전 또는 후를 초과할 수 없습니다.

    • 헤더의 merchantIdGoogle Pay 비즈니스 콘솔의 판매자 ID 값과 일치해야 합니다.
    • 요청의 주 버전은 '2'로, URL의 'v2'와 일치합니다.
    • transactionIdPaymentDataRequest에서 보낸 transactionInfo.transactionId와 일치해야 합니다.