- 리소스: ProductPurchaseV2
- PurchaseStateContext
- PurchaseState
- TestPurchaseContext
- FopType
- ProductLineItem
- ProductOfferDetails
- RentOfferDetails
- ConsumptionState
- AcknowledgementState
- 메서드
리소스: ProductPurchaseV2
ProductPurchaseV2 리소스는 사용자의 인앱 상품 구매 상태를 나타냅니다.
| JSON 표현 | 
|---|
| { "productLineItem": [ { object ( | 
| 필드 | |
|---|---|
| productLineItem[] | 
 ProductPurchaseV2의 항목 수준 정보를 포함합니다. | 
| kind | 
 이 종류는 androidpublisher 서비스의 ProductPurchaseV2 객체를 나타냅니다. | 
| purchaseStateContext | 
 구매의 구매 상태에 관한 정보입니다. | 
| testPurchaseContext | 
 테스트 구매와 관련된 정보입니다. 테스트 구매에만 설정됩니다. | 
| orderId | 
 인앱 상품 구매와 연결된 주문 ID입니다. 구매와 연결된 주문이 없는 경우 설정되지 않을 수 있습니다. | 
| obfuscatedExternalAccountId | 
 앱에서 사용자 계정과 고유하게 연결된 ID의 난독화된 버전입니다. 구매 시 https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedaccountid를 사용하여 지정된 경우에만 표시됩니다. | 
| obfuscatedExternalProfileId | 
 앱에서 사용자 프로필과 고유하게 연결된 ID의 난독화된 버전입니다. 구매 시 https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedprofileid를 사용하여 지정된 경우에만 표시됩니다. | 
| regionCode | 
 상품이 승인된 시점에 사용자의 ISO 3166-1 alpha-2 청구서 수신 지역 코드입니다. | 
| purchaseCompletionTime | 
 구매가 완료된 시간입니다(PurchaseState가 PURCHASED로 변경된 시간). 이 필드는 결제가 완료될 때까지 표시되지 않습니다. 예를 들어 사용자가 대기 중인 거래 (https://developer.android.com/google/play/billing/integrate#pending)를 시작한 경우 사용자가 거래를 완료하는 데 필요한 단계를 완료할 때까지 이 필드가 채워지지 않습니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면  | 
| acknowledgementState | 
 출력 전용입니다. 구매의 확인 상태입니다. | 
PurchaseStateContext
구매 상태에 관한 컨텍스트입니다.
| JSON 표현 | 
|---|
| {
  "purchaseState": enum ( | 
| 필드 | |
|---|---|
| purchaseState | 
 출력 전용입니다. 구매의 구매 상태입니다. | 
PurchaseState
가능한 구매 상태입니다.
| 열거형 | |
|---|---|
| PURCHASE_STATE_UNSPECIFIED | 구매 상태가 지정되지 않았습니다. 이 값은 설정하면 안 됩니다. | 
| PURCHASED | 구매가 완료되었습니다. | 
| CANCELLED | 주문이 취소되었습니다. | 
| PENDING | 구매가 대기 중 상태이며 아직 완료되지 않았습니다. 대기 중인 구매 처리에 관한 자세한 내용은 https://developer.android.com/google/play/billing/integrate#pending을 참고하세요. | 
TestPurchaseContext
테스트 구매에 관한 컨텍스트입니다.
| JSON 표현 | 
|---|
| {
  "fopType": enum ( | 
| 필드 | |
|---|---|
| fopType | 
 테스트 구매의 결제 수단 유형입니다. | 
FopType
가능한 fop 유형입니다.
| 열거형 | |
|---|---|
| FOP_TYPE_UNSPECIFIED | Fop 유형이 지정되지 않았습니다. 이 값은 설정하면 안 됩니다. | 
| TEST | 테스트 카드를 사용하여 구매가 이루어졌습니다. | 
ProductLineItem
ProductPurchaseV2의 항목 수준 정보를 포함합니다.
| JSON 표현 | 
|---|
| {
  "productId": string,
  "productOfferDetails": {
    object ( | 
| 필드 | |
|---|---|
| productId | 
 구매한 제품 ID (예: 'monthly001')입니다. | 
| productOfferDetails | 
 이 항목의 혜택 세부정보입니다. | 
ProductOfferDetails
구매 항목 관련 혜택 세부정보입니다.
| JSON 표현 | 
|---|
| { "offerTags": [ string ], "offerId": string, "purchaseOptionId": string, "rentOfferDetails": { object ( | 
| 필드 | |
|---|---|
| offerTags[] | 
 혜택과 연결된 최신 혜택 태그입니다. 구매 옵션에서 상속받은 태그가 포함됩니다. | 
| offerId | 
 오퍼 ID 혜택에만 표시됩니다. | 
| purchaseOptionId | 
 구매 옵션 ID입니다. | 
| rentOfferDetails | 
 대여 혜택에 관한 혜택 세부정보입니다. 이 값은 대여 광고 항목에만 설정됩니다. | 
| offerToken | 
 이 구매 광고 항목을 만드는 데 사용된 거래별 혜택 토큰입니다. | 
| quantity | 
 인앱 상품 구매와 관련된 수량입니다. | 
| refundableQuantity | 
 환불 대상 수량입니다. 즉, 환불되지 않은 수량입니다. 이 값은 수량 기반 부분 환불 및 전액 환불을 반영합니다. | 
| consumptionState | 
 출력 전용입니다. 구매의 소비 상태입니다. | 
RentOfferDetails
이 유형에는 필드가 없습니다.
대여 항목 관련 혜택 세부정보입니다.
ConsumptionState
가능한 소비 상태입니다.
| 열거형 | |
|---|---|
| CONSUMPTION_STATE_UNSPECIFIED | 소비 상태가 지정되지 않았습니다. 이 값은 설정하면 안 됩니다. | 
| CONSUMPTION_STATE_YET_TO_BE_CONSUMED | 아직 소비되지 않음 | 
| CONSUMPTION_STATE_CONSUMED | 이미 사용됨 | 
AcknowledgementState
일회성 제품의 확인 상태입니다.
| 열거형 | |
|---|---|
| ACKNOWLEDGEMENT_STATE_UNSPECIFIED | 지정되지 않은 확인 상태입니다. | 
| ACKNOWLEDGEMENT_STATE_PENDING | 구매가 아직 확인되지 않았습니다. | 
| ACKNOWLEDGEMENT_STATE_ACKNOWLEDGED | 구매가 확인되었습니다. | 
| 메서드 | |
|---|---|
| 
 | 인앱 상품의 구매 및 소비 상태를 확인합니다. | 
오류 코드
이 리소스의 작업은 다음 HTTP 오류 코드를 반환합니다.
| 오류 코드 | 이유 | 해상도 | 
|---|---|---|
| 5xx | Google Play 서버의 일반 오류입니다. | 요청을 다시 시도하세요. 문제가 계속되면 Google Play 계정 관리자에게 문의하거나 지원 요청을 제출하세요. Play 상태 대시보드에서 알려진 서비스 중단이 있는지 확인해 보세요. | 
| 409 | 동시 실행 업데이트 오류입니다. 업데이트 중인 객체를 업데이트하려고 시도했습니다. 예를 들어 Play 결제 라이브러리의  | 요청을 다시 시도하세요. |