개요
Google 표준 결제는 편의점 구매 (예: 7-Eleven)와 같은 현금 기반 FOP (결제 수단)를 지원합니다. 대략적으로 제품의 비용을 지불하려는 사용자는 결제 통합업체를 통해 참조 번호를 생성합니다. 사용자는 이 참조 번호를 편의점, 키오스크 또는 은행에서 가져가고 결제합니다.
<ph type="x-smartling-placeholder">![]() |
<ph type="x-smartling-placeholder">![]() |
<ph type="x-smartling-placeholder">![]() |
개념 및 용어
기호 및 규칙
'반드시'라는 핵심 단어는 '해서는 안 됩니다(MUST NOT)' 'REQUIRED', "SHALL"이라고 합니다. 'SHALL NOT,'(SHALL NOT) 'SHOULD'로 지정합니다. 'SHOULD NOT'으로 'RECOMMENDED', 'MAY', 및 'OPTIONAL' RFC 2119에 설명된 대로 해석되어야 합니다.
타임스탬프
모든 타임스탬프는 유닉스 시간(1970년 1월 1일) 이후의 밀리초로 표시됩니다(UTC 기준).
예를 들면 다음과 같습니다.
- 2019년 4월 23일 오후 8:23:25 GMT = 1556051005000밀리초
- 2018년 8월 16일 오후 12:28:35 GMT = 1534422515000밀리초
금액
이 API의 통화 값은 '마이크로'라는 형식으로 되어 있습니다. Google의 표준입니다 마이크로는 정수 기반의 고정 정밀도 형식입니다. 금전적 가치를 마이크로로 표시하려면 표준 통화 값에 1,000,000을 곱합니다.
예를 들면 다음과 같습니다.
- USD$1.23 = 1230,000마이크로 USD
- USD$0.01 = 10,000마이크로 USD
멱등성
이 API 내의 모든 메서드 호출에는 멱등적 동작이 있어야 합니다. Google은 트랜잭션이 양측에서 동일한 상태인지 확인하기 위해 산발적으로 요청을 재시도합니다. 통합자는 이미 성공적으로 처리된 요청을 다시 처리하려고 시도해서는 안 됩니다. 대신 성공적인 처리에 대한 응답이 보고되어야 합니다. 모든 메서드에는 requestId가 포함된 공통 RequestHeader
가 있습니다. 이 requestId는 모든 호출에 대한 멱등성 키입니다.
비 터미널 응답 (비 HTTP 200 성공)은 멱등적으로 처리되어서는 안 됩니다. 따라서 이전에 400 (잘못된 요청/실패한 전제조건)을 받은 요청은 다시 호출될 때 멱등적으로 400을 반환해서는 안 되며 재평가되어야 합니다. 재평가 시 400을 반환하거나 성공적으로 처리될 수 있습니다.
멱등성에 대한 자세한 내용은 이 상세 가이드를 참조하세요.
통합자
비즈니스를 위해 Google의 결제 플랫폼을 사용하는 회사입니다. YouTube나 애드워즈와 같은 내부 (1P) 비즈니스일 수도 있고 Google 생태계와 연동되도록 자사 서비스를 통합하고자 하는 외부 (서드 파티) 비즈니스일 수도 있습니다.
결제 방법
결제 수단. 악기보다 더 일반적입니다. Visa, MasterCard, PayPal이 모두 FOP입니다.
악기
특정 고객이 사용한 특정 결제 수단입니다. 사용자의 신용카드 또는 PayPal 계정을 예로 들 수 있습니다. 특정 고객에 대해 토큰화된 FOP는 결제 수단의 인스턴스가 되어 Google 시스템에 안전하게 보관되므로 결제 수단이기도 합니다.
토큰
Google 시스템에서 특정 사용자의 결제 수단을 나타냅니다. 토큰도 구매에 필요한 모든 정보를 담고 있으므로 결제 수단이기도 합니다. 여기에는 사용자가 통합업체에 보유하고 있는 계좌 번호와 같은 정보가 포함될 수 있습니다.
주요 흐름
Google에서는 두 가지 주요 절차를 통해 이러한 참조 번호를 생성하고 비용을 지불합니다.
- 참조 번호 생성 절차
- 결제 참조 번호 흐름
나중에 구매로 인한 조정 및 정산은 송금 흐름에 의해 처리됩니다.
아래 다이어그램은 이러한 각 흐름을 보여줍니다.
현금 FOP 개요
처음 두 흐름은 다음 섹션에서 더 자세히 설명합니다. 송금 흐름에 관해 자세히 알아보려면 송금 흐름 페이지를 참고하세요.
참조 번호 생성
참조 번호 생성 절차의 목적은 Google과 통합업체가 구매를 식별하는 데 사용할 수 있는 식별자 (참조 번호)를 생성하고 교환하는 것입니다. 사용자는 이 참조 번호를 편의점, 키오스크 또는 은행에서 사용하여 구매를 완료할 수 있습니다. 이 식별자는 Google의 요청에 따라 통합업체가 generateReferenceNumber
메서드를 호출하여 생성합니다. 참조 번호 생성 요청에는 금액 및 거래 설명이 포함됩니다.
다음 다이어그램은 참조 번호가 생성되어 안내가 포함된 고객에게 전송되는 방법을 보여줍니다.
참조 번호 생성 절차
다음은 객체의 목록과 각 객체가 나타내는 설명입니다.
- 사용자: 이 결제 수단으로 무언가를 지불하려는 사람입니다.
- Google UI: 사용자가 구매하는 인터페이스입니다. 웹이나 앱을 통해 이루어질 수 있습니다.
- Google 서버: 참조 번호 생성을 요청하고 사용자를 위한 결제 안내를 생성하는 Google의 백엔드 서버입니다.
- 결제 통합업체 서버: 결제 세부정보를 추적하고 참조 번호를 생성하는 결제 통합업체의 백엔드 서버입니다.
이 흐름은 해당 현금 결제 수단을 사용하려는 사용자로부터 시작됩니다.
- 사용자가 참조 번호 요청을 전송하는 Google UI에 액세스합니다.
- Google UI에서 Google 서버에 참조 번호 (
getReferenceNumber
)가 필요하다는 메시지를 보냅니다. - Google 서버에서 결제 통합업체 서버에 참조 번호 (
generateReferenceNumber
)를 생성하도록 요청합니다. - 결제 통합업체 서버에서 참조 번호를 생성하여 Google 서버로 전송합니다.
- Google 서버에서는 참조 번호와 함께 결제 안내를 생성합니다. 그런 다음 이 정보를 Google UI로 전송합니다.
- Google UI에서 사용자에게 이러한 안내와 참조 번호를 전송합니다.
참조 번호 관련 참고사항
참조 번호는 한 번만 결제될 수 있으며, 참조 번호 취소 절차를 통해 취소할 수 있습니다. 또한 참조 번호는 영숫자여야 하며 여러 표시 형식을 지원해야 합니다.
Google의 UI는 참조 번호를 표시할 뿐만 아니라 선택적으로 코드 128 형식 (바코드 형식)으로 참조 번호를 표시할 수 있습니다. 다른 바코드 형식은 요청 시 지원될 수 있습니다.
Pay 참조 번호
사용자는 편의점, 키오스크 또는 은행에서 이 참조 번호를 사용하여 결제하려는 구매를 식별합니다. 통합업체는 사용자에게 결제 전에 구매액, 날짜, 거래 설명을 표시하여 결제 중인 구매를 확인하도록 해야 합니다.
사용자가 결제를 선택하면 전액 결제해야 하며 한 번만 결제해야 합니다. 이 API는 단일 참조 번호에 대한 초과 결제 또는 미달 결제를 지원하지 않습니다. 참조 번호로 여러 번 결제할 수도 없습니다.
사용자가 결제하면 통합자는 referenceNumberPaidNotification
메서드를 통해 이 참조 번호가 결제되었음을 Google에 즉시 알려야 합니다. 사용자가 물리적으로 결제한 후 몇 초 이내에 이 메서드를 호출하여 통합업체는 사용자가 상품을 신속하게 받을 수 있도록 합니다. (네트워크가 다운되면 이 통화를 대기열에 추가할 수 있습니다.)
결제되면 참조 번호와 금액이 T+2일에 전송되는 송금 명세서에 포함됩니다.
다음은 참조 번호 결제를 보여주는 시퀀스 다이어그램입니다.
결제 참조 번호 절차
다이어그램의 객체는 다음을 나타냅니다.
- 사용자: 이 결제 수단으로 무언가를 지불하려는 사람입니다.
- 편의점: 편의점과 같이 사용자가 참조 번호와 제공된 안내를 사용하여 결제하는 위치입니다.
- 결제 통합업체 서버: 결제 세부정보를 추적하는 결제 통합업체의 백엔드 서버입니다.
- Google 서버: 참조 번호 생성을 요청하고 사용자를 위한 결제 안내를 생성하는 Google의 백엔드 서버입니다.
이 과정은 사용자가 제공된 안내에 따라 결제를 하기 위해 편의점을 방문하는 것으로부터 시작됩니다.
- 사용자가 편의점에서 결제합니다.
- 거래가 완료되면 편의점에서 결제 통합업체에 결제를 알립니다.
- Payment Integrator 서버가 편의점에 성공 메시지를 보냅니다.
- 편의점은 사용자에게 거래가 완료되었으며 상품이 곧 사용자에게 배송될 것임을 알립니다.
- 결제 통합업체 서버에서 Google 서버에 참조 번호가 결제되었다는 메시지 (
referenceNumberPaidNotification
)를 보냅니다. 이 단계에서 4단계를 차단해서는 안 됩니다. - Google 서버가 결제 통합업체 서버에 성공 메시지로 응답합니다.
참조 번호 취소
Google에서 참조번호를 취소할 수 있습니다. Google에서 참조 번호를 취소하면 cancelReferenceNumber
메서드가 호출됩니다. 이 통화를 성공적으로 수락한 후 참조 번호를 지불하는 것은 유효하지 않으며 통합 업체는 이 번호에 대한 지불을 거부해야 합니다. 이 호출이 성공하면 향후 referenceNumberPaidNotification
호출이 모두 실패합니다.
결제 프로세스가 이미 시작된 경우, 예를 들어 사용자가 키오스크에 참조 번호를 입력했지만 아직 결제하지 않은 경우 통합업체는 USER_ACTION_IN_PROGRESS
가 포함된 ErrorResponse와 함께 HTTP 423 응답 코드를 반환해야 합니다.
다음: 송금 흐름