REST Resource: purchases.productsv2

리소스: ProductPurchaseV2

ProductPurchaseV2 리소스는 사용자의 인앱 상품 구매 상태를 나타냅니다.

JSON 표현
{
  "productLineItem": [
    {
      object (ProductLineItem)
    }
  ],
  "kind": string,
  "purchaseStateContext": {
    object (PurchaseStateContext)
  },
  "testPurchaseContext": {
    object (TestPurchaseContext)
  },
  "orderId": string,
  "obfuscatedExternalAccountId": string,
  "obfuscatedExternalProfileId": string,
  "regionCode": string,
  "purchaseCompletionTime": string,
  "acknowledgementState": enum (AcknowledgementState)
}
필드
productLineItem[]

object (ProductLineItem)

ProductPurchaseV2의 항목 수준 정보를 포함합니다.

kind

string

이 종류는 androidpublisher 서비스의 ProductPurchaseV2 객체를 나타냅니다.

purchaseStateContext

object (PurchaseStateContext)

구매의 구매 상태에 관한 정보입니다.

testPurchaseContext

object (TestPurchaseContext)

테스트 구매와 관련된 정보입니다. 테스트 구매에만 설정됩니다.

orderId

string

인앱 상품 구매와 연결된 주문 ID입니다. 구매와 연결된 주문이 없는 경우 설정되지 않을 수 있습니다.

obfuscatedExternalAccountId

string

앱에서 사용자 계정과 고유하게 연결된 ID의 난독화된 버전입니다. 구매 시 https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedaccountid를 사용하여 지정된 경우에만 표시됩니다.

obfuscatedExternalProfileId

string

앱에서 사용자 프로필과 고유하게 연결된 ID의 난독화된 버전입니다. 구매 시 https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedprofileid를 사용하여 지정된 경우에만 표시됩니다.

regionCode

string

상품이 승인된 시점에 사용자의 ISO 3166-1 alpha-2 청구서 수신 지역 코드입니다.

purchaseCompletionTime

string (Timestamp format)

구매가 완료된 시간입니다(PurchaseState가 PURCHASED로 변경된 시간). 이 필드는 결제가 완료될 때까지 표시되지 않습니다. 예를 들어 사용자가 대기 중인 거래 (https://developer.android.com/google/play/billing/integrate#pending)를 시작한 경우 사용자가 거래를 완료하는 데 필요한 단계를 완료할 때까지 이 필드가 채워지지 않습니다.

생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" 또는 "2014-10-02T15:01:23+05:30"입니다.

acknowledgementState

enum (AcknowledgementState)

출력 전용입니다. 구매의 확인 상태입니다.

PurchaseStateContext

구매 상태에 관한 컨텍스트입니다.

JSON 표현
{
  "purchaseState": enum (PurchaseState)
}
필드
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

enum (FopType)

테스트 구매의 결제 수단 유형입니다.

FopType

가능한 fop 유형입니다.

열거형
FOP_TYPE_UNSPECIFIED Fop 유형이 지정되지 않았습니다. 이 값은 설정하면 안 됩니다.
TEST 테스트 카드를 사용하여 구매가 이루어졌습니다.

ProductLineItem

ProductPurchaseV2의 항목 수준 정보를 포함합니다.

JSON 표현
{
  "productId": string,
  "productOfferDetails": {
    object (ProductOfferDetails)
  }
}
필드
productId

string

구매한 제품 ID (예: 'monthly001')입니다.

productOfferDetails

object (ProductOfferDetails)

이 항목의 혜택 세부정보입니다.

ProductOfferDetails

구매 항목 관련 혜택 세부정보입니다.

JSON 표현
{
  "offerTags": [
    string
  ],
  "offerId": string,
  "purchaseOptionId": string,
  "rentOfferDetails": {
    object (RentOfferDetails)
  },
  "offerToken": string,
  "quantity": integer,
  "refundableQuantity": integer,
  "consumptionState": enum (ConsumptionState)
}
필드
offerTags[]

string

혜택과 연결된 최신 혜택 태그입니다. 구매 옵션에서 상속받은 태그가 포함됩니다.

offerId

string

오퍼 ID 혜택에만 표시됩니다.

purchaseOptionId

string

구매 옵션 ID입니다.

rentOfferDetails

object (RentOfferDetails)

대여 혜택에 관한 혜택 세부정보입니다. 대여 광고 항목에만 설정됩니다.

offerToken

string

이 구매 광고 항목을 만드는 데 사용된 거래별 혜택 토큰입니다.

quantity

integer

인앱 상품 구매와 관련된 수량입니다.

refundableQuantity

integer

환불 대상 수량입니다. 즉, 환불되지 않은 수량입니다. 이 값은 수량 기반 부분 환불 및 전액 환불을 반영합니다.

consumptionState

enum (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 구매가 확인되었습니다.

메서드

getproductpurchasev2

인앱 상품의 구매 및 소비 상태를 확인합니다.

오류 코드

이 리소스의 작업은 다음 HTTP 오류 코드를 반환합니다.

오류 코드 이유 설명 해상도
400 invalidPurchaseState 구매가 요청된 작업을 수행할 수 있는 유효한 상태가 아닙니다. 예를 들어 이미 사용한 구매를 확인하거나 활성 상태가 아닌 구독을 취소하려고 할 수 있습니다. 작업을 시도하기 전에 해당 Get API를 사용하여 리소스의 현재 상태를 확인합니다. 리소스가 작업에 적합한 상태인지 확인합니다.
400 invalidValue 요청에 잘못된 값이 제공되었습니다. 잘못되었거나 유효하지 않은 구매 토큰에 대해 반환되는 경우가 많습니다. API 참조에 따라 요청 본문 또는 매개변수의 잘못된 필드 값을 수정합니다.
400 productNotOwnedByUser 제공된 구매 토큰은 유효하지만 사용자가 현재 제품을 소유하고 있지 않습니다. 이는 확인 전에 구매가 환불, 취소 또는 만료된 경우에 발생할 수 있습니다. 작업을 시도하기 전에 해당 Get API를 사용하여 리소스의 현재 상태를 확인합니다. 리소스가 작업에 적합한 상태인지 확인합니다.
400 purchaseTokenMismatch 제공된 구매 토큰이 구매, 패키지 이름, 정기 결제 ID 또는 제품 ID와 일치하지 않습니다. 요청의 모든 세부정보가 올바르고 서로 일치하는지 확인합니다.
400 required 요청에 필수 필드 또는 매개변수가 누락되었습니다. API 문서를 참고하여 모든 필수 입력란과 매개변수가 포함되어 있는지 확인하세요.
400 unsupportedIabType 이 작업은 지정된 인앱 결제 유형에서 지원되지 않습니다. API 메서드가 관리되는 항목 유형과 호환되는지 확인합니다.
403 userInsufficientPermission 사용자에게 요청된 작업을 수행할 수 있는 충분한 권한이 없습니다. 인증된 사용자에게 Google Play Console에서 필요한 권한이 있는지 확인합니다. 자세한 내용은 서비스 계정 사용을 참고하세요.
404 notFound 요청된 리소스를 찾을 수 없습니다. 식별자 (예: 구매 토큰, 패키지 이름, 제품 ID, 정기 결제 ID)가 올바른지 확인합니다.
409 concurrentUpdate 동시에 업데이트되고 있는 객체를 업데이트하려고 시도했습니다. 지수 백오프로 요청 재시도 동일한 리소스를 동시에 수정하지 마세요.
5xx Generic error Google Play 서버의 일반 오류입니다. 요청을 다시 시도하세요.

문제가 계속되면 Google Play 계정 관리자에게 문의하거나 지원 요청을 제출하세요. Play 상태 대시보드에서 알려진 서비스 중단이 있는지 확인해 보세요.