이 참조 페이지에서는 웹사이트에 사용할 Google Pay API 응답 객체 옵션을 설명합니다. 응답 객체는 Google Pay API 클라이언트 메서드에서 반환하는 객체입니다.
IsReadyToPayResponse
이 객체는 웹사이트 방문자가 결제 정보를 요청하는 사이트에 해당 정보를 제공할 수 있는지에 대한 정보를 제공합니다.
| 속성 | 유형 | 항상 존재 | 설명 |
|---|---|---|---|
result |
부울 | 예 | 현재 방문자는 결제 정보를 요청하는 사이트에 해당 정보를 제공할 수 있습니다. 방문자의 결제 능력은 지정된 결제 수단에 필요한 구성요소를 표시하는 웹브라우저의 기능과 연관되어 있을 수 있습니다. Google 계정에 로그인하여 결제 수단을 제공하는 경우도 여기에 포함됩니다. |
paymentMethodPresent |
부울 | 아니요 |
IsReadyToPayRequest에서
|
예
다음 예시에서는 현재 방문자가 결제 정보를 요청하는 사이트에 해당 정보를 제공할 수 있는 경우를 보여줍니다.
{ "result": true }
PaymentData
지급인이 결제를 승인한 후 Google에서 반환하는 응답 객체입니다.
PaymentDataRequest.PaymentDataRequest.PaymentDataRequest.| 속성 | 유형 | 항상 존재 | 설명 |
|---|---|---|---|
apiVersion |
숫자 | 예 | API 주 버전입니다. 응답의 값은
PaymentDataRequest에 제공된 값과 일치합니다. |
apiVersionMinor |
숫자 | 예 | API 부 버전입니다. 응답의 값은
PaymentDataRequest에 제공된 값과 일치합니다. |
paymentMethodData |
PaymentMethodData | 예 | 선택한 결제 수단에 대한 데이터입니다. |
email |
문자열 | 아니요 |
PaymentDataRequest에서 emailRequired가 true로 설정된 경우 이메일 주소입니다.
다른 요청의 속성이 true로 설정되어 있으면 아무런 효과가 없습니다. |
shippingAddress |
주소 | 아니요 |
PaymentDataRequest에서 shippingAddressRequired가 true로 설정된 경우 배송지 주소입니다. |
예
Google Pay API 버전 2.0의 이 응답 예시는 Google Pay 결제 명세서에서 선택한 CARD 결제 수단을 보여줍니다. example 게이트웨이에 대해 결제 수단 토큰이 생성되었습니다.
{ "apiVersion": 2, "apiVersionMinor": 0, "paymentMethodData": { "type": "CARD", "description": "Visa •••• 1234", "info": { "cardNetwork": "VISA", "cardDetails": "1234", "cardFundingSource": "CREDIT" }, "tokenizationData": { "type": "PAYMENT_GATEWAY", "token": "examplePaymentMethodToken" } } }
IntermediatePaymentData
결제 명세서에서 배송지 주소 또는 배송 옵션이 변경되면 Google Pay API의 onPaymentDataChanged() 입력에서 이 객체가 반환됩니다.
| 속성 | 유형 | 필요성 | 설명 |
|---|---|---|---|
callbackTrigger |
문자열 | 선택사항 | 결제 데이터 콜백이 호출된 이유를 설명합니다.
|
offerData |
OfferData | 선택사항 | 사용자가 제공한 프로모션 코드입니다. |
shippingAddress |
IntermediateAddress | 선택사항 | 결제 명세서에서 선택한 주소입니다. |
shippingOptionData |
SelectionOptionData | 선택사항 | 결제 명세서에서 선택한 배송 옵션입니다. |
예시
이 예시는 Google Pay API에서 반환된 중간 페이로드를 보여줍니다.
{ "callbackTrigger": "SHIPPING_ADDRESS", "offerData": { "redemptionCode": "exampleCode" }, "shippingAddress": { "administrativeArea": "NY", "countryCode": "US", "locality": "New York", "postalCode": "10011" }, "shippingOptionData": { "id": "shipping-001" } }
PaymentMethodData
이 객체는 선택된 결제 수단에 대한 데이터를 제공합니다.
| 속성 | 유형 | 항상 존재 | 설명 |
|---|---|---|---|
type |
문자열 | 예 |
Google Pay 결제 명세서에서 선택된
PaymentMethod
type입니다.
|
description |
문자열 | 예 | 이 거래 자금을 제공하는 결제 수단을 설명하는 메시지로 사용자에게 직접 표시됩니다. |
info |
객체 | 예 | 이 속성의 값은 반환되는 결제 수단 type에 따라 다릅니다.
CARD의 경우 CardInfo를 참조하세요.
|
tokenizationData |
PaymentMethodTokenizationData | 아니요 | 선택한 결제 수단에 대한 결제 토큰화 데이터입니다. |
예
이 응답 예시는 Google Pay 결제 명세서에서 선택한 CARD 결제 수단이 example 게이트웨이에 대한 결제 수단 토큰을 생성하는 방법을 보여줍니다.
{ "type": "CARD", "description": "Visa •••• 1234", "info": { "cardNetwork": "VISA", "cardDetails": "1234" }, "tokenizationData": { "type": "PAYMENT_GATEWAY", "token": "examplePaymentMethodToken" } }
CardInfo
이 객체는 선택한 결제 카드에 대한 정보를 제공합니다.
| 속성 | 유형 | 항상 존재 | 설명 |
|---|---|---|---|
cardDetails |
문자열 | 예 | 카드에 대한 세부정보입니다. 일반적으로 이 값은 선택한 결제 계좌 번호의 마지막 4자리 숫자입니다. |
assuranceDetails |
AssuranceDetailsSpecifications | 예 | assuranceDetailsRequired이
CardParameters에서 true로 설정된 경우 이 객체는 반환된 결제 데이터에 대해 수행된 유효성 검사에 대한 정보를 제공합니다.
|
cardNetwork |
문자열 | 예 | 선택한 결제의 결제 카드 네트워크입니다.
반환된 값은
CardParameters의 이 카드 네트워크 값을 구매자에게 표시해서는 안 됩니다. 구매자 카드의 세부정보가 필요할 때 사용됩니다. 예를 들어 고객지원에서 구매자가 거래에 사용한 카드를 식별하려면 이 값이 필요합니다. 사용자에게 표시되는 설명에는 PaymentMethodData의 |
billingAddress |
주소 | 아니요 |
CardParameters에서 billingAddressRequired가 true로 설정된 경우 제공된 결제 수단과 연결된 청구서 수신 주소입니다.
|
cardFundingSource |
문자열 | 예 | 선택한 결제 수단의 카드 결제 수단입니다.
|
예
이 예시에서는 Visa 네트워크 카드를 보여줍니다.
{ "cardNetwork": "VISA", "cardDetails": "1234", "cardFundingSource": "CREDIT", "assuranceDetails": { "cardHolderAuthenticated": false, "accountVerified": true } }
AssuranceDetailsSpecifications
이 객체는 적절한 결제 수단 위험 검사를 적용할 수 있도록 반환된 결제 사용자 인증 정보에 대해 수행된 유효성 검사에 대한 정보를 제공합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
accountVerified |
부울 | true인 경우 반환된 결제 사용자 인증 정보에 Cardholder 소유권 확인이 수행되었음을 나타냅니다. |
cardHolderAuthenticated |
부울 |
|
assuranceDetails 필드를 사용하지 않더라도 응답 객체를 수신하고 처리할 수 있습니다. 이 객체를 수신하려면 요청 객체의
CardParameters에 assuranceDetailsRequired: true를 포함합니다.
PaymentMethodTokenizationData
이 객체는 결제 수단에 대한 토큰화 데이터를 제공합니다.
| 속성 | 유형 | 항상 존재 | 설명 |
|---|---|---|---|
type |
문자열 | 예 | 선택한 결제 수단에 적용할 토큰화 유형입니다.
이 값은
PaymentMethodTokenizationSpecification에 설정된 type과 일치합니다.
|
token |
문자열 | 아니요 | 생성된 결제 수단 토큰입니다.
|
예
다음은 example 게이트웨이에 맞게 준비된 토큰화된 응답 예시입니다.
{ "type": "PAYMENT_GATEWAY", "token": "examplePaymentMethodToken" }
PaymentAuthorizationResult
이 객체는 결제 승인 결과에 대한 정보를 제공합니다.
| 속성 | 유형 | 필요성 | 설명 |
|---|---|---|---|
transactionState |
문자열 | 필수 | 거래 상태는 다음 판매자 결과 중 하나로 확인됩니다.
|
error |
PaymentDataError | 선택사항 | 결제를 다시 시도해야 할 때 사용자의 결제 명세서에 렌더링되는 오류입니다. |
예시
다음 예시는 결제가 처리된 후 결제 결과 반환을 보여줍니다.
{ "transactionState": "ERROR", "error": { "reason": "PAYMENT_DATA_INVALID", "message": "Cannot pay with payment credentials", "intent": "PAYMENT_AUTHORIZATION" } }
PaymentDataError
| 속성 | 유형 | 필요성 | 설명 |
|---|---|---|---|
reason |
문자열 | 필수 | 사전 정의된 오류 이유 목록입니다.
|
message |
문자열 | 필수 | 대화상자를 사용하여 사용자에게 표시되는 오류 메시지입니다. |
intent |
문자열 | 필수 | 오류의 인텐트입니다. 흐름의 시작부터
|
예시
이 예시는 결제 명세서에 렌더링되는 오류 인텐트와 메시지를 보여줍니다.
{ "error": { "reason": "SHIPPING_OPTION_INVALID", "message": "This shipping option is invalid for the given address", "intent": "SHIPPING_OPTION" } }
Address
이 객체는 요청된 우편 주소에 대한 정보를 제공합니다. 모든 속성은 문자열입니다.
주소는 MIN,FULL, FULL-ISO3166 형식으로 반환될 수 있습니다. 각 형식에 속하는 속성은 다음 표에서 확인할 수 있습니다.
| 속성 | 주소 형식 | 설명 |
|---|---|---|
name |
MIN, FULL, FULL-ISO3166 |
수신인 이름입니다. |
postalCode |
MIN, FULL, FULL-ISO3166 |
우편번호입니다. |
countryCode |
MIN, FULL, FULL-ISO3166 |
ISO 3166-1 alpha-2 국가 코드입니다. |
phoneNumber |
MIN, FULL, FULL-ISO3166 |
PaymentDataRequest에서 phoneNumberRequired가 true로 설정된 경우 전화번호입니다.
|
address1 |
FULL, FULL-ISO3166 |
주소의 첫 번째 줄입니다. |
address2 |
FULL, FULL-ISO3166 |
주소의 두 번째 줄입니다. |
address3 |
FULL, FULL-ISO3166 |
주소의 세 번째 줄입니다. |
locality |
FULL, FULL-ISO3166 |
구/군/시, 단지, 교외 지역입니다. |
administrativeArea |
FULL, FULL-ISO3166 |
주 또는 도와 같은 행정 구역입니다. |
sortingCode |
FULL, FULL-ISO3166 |
정렬 코드입니다. |
iso3166AdministrativeArea |
FULL-ISO3166 |
administrativeArea에 해당하는 ISO 3166-2 행정 구역 코드입니다. |
예
다음은 상세 주소 데이터가 여러 줄로 표시된 미국 주소의 FULL-ISO3166 형식 예시입니다.
{ "name": "John Doe", "address1": "c/o Google LLC", "address2": "1600 Amphitheatre Pkwy", "address3": "Building 40", "locality": "Mountain View", "administrativeArea": "CA", "countryCode": "US", "postalCode": "94043", "sortingCode": "" "iso3166AdministrativeArea": "US-CA" }
IntermediateAddress
| 속성 | 유형 | 필요성 | 설명 |
|---|---|---|---|
administrativeArea |
문자열 | 필수 | 주 또는 도와 같은 행정 구역입니다. |
countryCode |
문자열 | 필수 | ISO 3166-1 alpha-2 국가 코드입니다. |
locality |
문자열 | 필수 | 구/군/시, 단지, 교외 지역입니다. |
postalCode |
문자열 | 필수 | 국가에 따라 수정된 우편번호입니다. 캐나다와 영국의 경우 처음 세 자만 포함됩니다. 미국의 경우 처음 다섯 자리 숫자가 포함됩니다. |
iso3166AdministrativeArea |
문자열 | 선택사항 |
administrativeArea에 해당하는 ISO 3166-2 행정 구역 코드입니다. 배송지 주소 형식이 FULL-ISO3166인 경우에만 표시됩니다.
|
예
이 예시에서는 결제 명세서에서 선택한 주소를 보여줍니다.
{ "administrativeArea": "NY", "countryCode": "US", "locality": "New York", "postalCode": "10011" "iso3166AdministrativeArea": "US-NY" }
SelectionOptionData
| 속성 | 유형 | 필요성 | 설명 |
|---|---|---|---|
id |
문자열 | 필수 | SelectionOption.id와 일치합니다. |
예시
이 예시에서는 결제 명세서에서 선택한 배송 옵션을 보여줍니다.
{ "id": "shipping-001" }
OfferData
이 객체는 결제 시트에 입력된 혜택 코드에 대한 정보를 제공합니다.
| 속성 | 유형 | 필요성 | 설명 |
|---|---|---|---|
redemptionCodes |
배열 | 항상 존재 | 결제 시트에 입력된 프로모션 코드 집합입니다. 이미 승인된 코드를 포함합니다. |
예
다음 예시는 redemptionCodes 배열이 있는 OfferData 객체를 보여줍니다.
"offerData": { "redemptionCodes": ["PROMOTIONALCODE"] }