- 리소스: SubscriptionPurchaseV2
- SubscriptionState
- PausedStateContext
- CanceledStateContext
- UserInitiatedCancellation
- CancelSurveyResult
- CancelSurveyReason
- SystemInitiatedCancellation
- DeveloperInitiatedCancellation
- ReplacementCancellation
- TestPurchase
- AcknowledgementState
- ExternalAccountIdentifiers
- SubscribeWithGoogleInfo
- SubscriptionPurchaseLineItem
- AutoRenewingPlan
- SubscriptionItemPriceChangeDetails
- PriceChangeMode
- PriceChangeState
- PrepaidPlan
- OfferDetails
- DeferredItemReplacement
- 메서드
리소스: SubscriptionPurchaseV2
사용자의 정기 결제 구매 상태를 나타냅니다.
JSON 표현 |
---|
{ "kind": string, "regionCode": string, "lineItems": [ { object ( |
필드 | |
---|---|
kind |
이 종류는 androidpublisher 서비스의 SubscriptionPurchaseV2 객체를 나타냅니다. |
regionCode |
구독이 부여된 시점의 사용자의 ISO 3166-1 alpha-2 청구서 수신 국가/지역 코드입니다. |
lineItems[] |
정기 결제 구매의 상품 수준 정보입니다. 동일한 구매에 포함된 상품은 모두 AutoRenewingPlan을 사용하거나 모두 PrepaidPlan을 사용해야 합니다. |
startTime |
구독이 부여된 시간입니다. 대기 중인 구독에 설정되지 않았습니다. 구독이 생성되었지만 가입 중에 결제가 대기 중입니다. RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 |
subscriptionState |
구독의 현재 상태입니다. |
latestOrderId |
정기 결제 구매와 연결된 최신 주문의 주문 ID입니다. 자동 갱신 구독의 경우 아직 갱신되지 않은 경우 가입 주문의 주문 ID이거나 마지막 반복 주문 ID (성공, 대기 중 또는 거부된 주문)입니다. 선불 구독의 경우 쿼리된 구매 토큰과 연결된 주문 ID입니다. |
linkedPurchaseToken |
이 정기 결제가 다음 중 하나인 경우 이전 정기 결제의 구매 토큰입니다. * 취소되었지만 만료되지 않은 정기 결제 재가입 * 이전 정기 결제에서 업그레이드/다운그레이드합니다. * 선불 요금제에서 자동 갱신되는 정기 결제로 전환합니다. * 자동 갱신 정기 결제에서 선불로 전환합니다. * 선불 정기 결제를 충전합니다. |
pausedStateContext |
일시중지된 정기 결제에 관한 추가 컨텍스트입니다. 구독에 현재 subscriptionState SUBSCRIPTION_STATE_PAUSED가 있는 경우에만 표시됩니다. |
canceledStateContext |
취소된 정기 결제에 관한 추가 컨텍스트입니다. 구독에 현재 subscriptionState SUBSCRIPTION_STATE_CANCELED가 있는 경우에만 표시됩니다. |
testPurchase |
이 정기 결제 구매가 테스트 구매인 경우에만 표시됩니다. |
acknowledgementState |
구독의 확인 상태입니다. |
externalAccountIdentifiers |
서드 파티 서비스의 사용자 계정 식별자입니다. |
subscribeWithGoogleInfo |
'Google을 통한 구독'으로 이루어진 구매와 연결된 사용자 프로필입니다. |
SubscriptionState
정기 결제의 잠재 상태(예: 활성 또는 취소 여부)입니다. 정기 결제 구매 내의 항목은 모두 자동 갱신 요금제 또는 선불 요금제일 수 있습니다.
열거형 | |
---|---|
SUBSCRIPTION_STATE_UNSPECIFIED |
지정되지 않은 구독 상태입니다. |
SUBSCRIPTION_STATE_PENDING |
구독이 생성되었지만 가입 중에 결제 대기 중입니다. 이 상태에서는 모든 상품이 결제 대기 중입니다. |
SUBSCRIPTION_STATE_ACTIVE |
구독이 활성 상태입니다. - (1) 구독이 자동 갱신 요금제인 경우 하나 이상의 항목이 autoRenewEnabled이며 만료되지 않았습니다. - (2) 선불 요금제인 경우 하나 이상의 항목은 만료되지 않았습니다. |
SUBSCRIPTION_STATE_PAUSED |
구독이 일시중지되었습니다. 구독이 자동 갱신 요금제인 경우에만 이 상태를 확인할 수 있습니다. 이 상태에서는 모든 항목이 일시중지 상태입니다. |
SUBSCRIPTION_STATE_IN_GRACE_PERIOD |
구독이 유예 기간 중입니다. 구독이 자동 갱신 요금제인 경우에만 이 상태를 확인할 수 있습니다. 이 상태에서는 모든 항목이 유예 기간입니다. |
SUBSCRIPTION_STATE_ON_HOLD |
구독이 보류 중입니다 (정지됨). 구독이 자동 갱신 요금제인 경우에만 이 상태를 확인할 수 있습니다. 이 상태에서는 모든 항목이 보류됩니다. |
SUBSCRIPTION_STATE_CANCELED |
구독이 취소되었지만 아직 만료되지 않았습니다. 구독이 자동 갱신 요금제인 경우에만 이 상태를 확인할 수 있습니다. 모든 항목의 autoRenewEnabled가 false로 설정되어 있습니다. |
SUBSCRIPTION_STATE_EXPIRED |
구독이 만료되었습니다. 모든 항목의 expiryTime이 과거입니다. |
PausedStateContext
일시중지 상태인 정기 결제와 관련된 정보입니다.
JSON 표현 |
---|
{ "autoResumeTime": string } |
필드 | |
---|---|
autoResumeTime |
정기 결제가 자동으로 재개되는 시간입니다. RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 |
CanceledStateContext
취소된 상태인 정기 결제와 관련된 정보입니다.
JSON 표현 |
---|
{ // Union field |
필드 | |
---|---|
통합 필드 cancellation_reason . 정기 결제가 취소된 이유입니다. cancellation_reason 은 다음 중 하나여야 합니다. |
|
userInitiatedCancellation |
사용자가 구독을 취소했습니다. |
systemInitiatedCancellation |
결제 문제 등으로 인해 시스템에서 구독이 취소되었습니다. |
developerInitiatedCancellation |
개발자가 구독을 취소했습니다. |
replacementCancellation |
정기 결제가 새 정기 결제로 대체되었습니다. |
UserInitiatedCancellation
사용자가 시작한 취소 관련 정보입니다.
JSON 표현 |
---|
{
"cancelSurveyResult": {
object ( |
필드 | |
---|---|
cancelSurveyResult |
사용자가 정기 결제 취소 절차를 완료할 때 제공하는 정보 (취소 사유 설문조사) |
cancelTime |
사용자가 정기 결제를 취소한 시간입니다. 이 기간이 지난 후에도 사용자는 정기 결제 콘텐츠에 계속 액세스할 수 있습니다. lineItems.expiry_time을 사용하여 사용자가 계속 액세스할 수 있는지 확인합니다. RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 |
CancelSurveyResult
사용자가 정기 결제를 취소했을 때 설문조사 취소 결과입니다.
JSON 표현 |
---|
{
"reason": enum ( |
필드 | |
---|---|
reason |
사용자가 취소 설문조사에서 선택한 이유입니다. |
reasonUserInput |
CANCEL_SURVEY_REASON_OTHERS에 대해서만 설정됩니다. 설문조사에 대한 사용자의 자유 형식 응답입니다. |
CancelSurveyReason
사용자가 취소 설문조사에서 선택한 이유입니다.
열거형 | |
---|---|
CANCEL_SURVEY_REASON_UNSPECIFIED |
설문조사 취소 사유가 지정되지 않았습니다. |
CANCEL_SURVEY_REASON_NOT_ENOUGH_USAGE |
구독 사용량이 충분하지 않습니다. |
CANCEL_SURVEY_REASON_TECHNICAL_ISSUES |
앱 사용 중 발생한 기술적 문제 |
CANCEL_SURVEY_REASON_COST_RELATED |
비용 관련 문제 |
CANCEL_SURVEY_REASON_FOUND_BETTER_APP |
사용자가 더 나은 앱을 찾았습니다. |
CANCEL_SURVEY_REASON_OTHERS |
기타 이유 |
SystemInitiatedCancellation
이 유형에는 필드가 없습니다.
Google 시스템에서 시작한 취소 관련 정보입니다.
DeveloperInitiatedCancellation
이 유형에는 필드가 없습니다.
개발자가 시작한 취소 관련 정보입니다.
ReplacementCancellation
이 유형에는 필드가 없습니다.
정기 결제 대체로 인한 취소 관련 정보입니다.
TestPurchase
이 유형에는 필드가 없습니다.
이 정기 결제 구매가 테스트 구매인지 여부입니다.
AcknowledgementState
구독에 대해 가능한 확인 상태입니다.
열거형 | |
---|---|
ACKNOWLEDGEMENT_STATE_UNSPECIFIED |
확인 상태가 지정되지 않았습니다. |
ACKNOWLEDGEMENT_STATE_PENDING |
구독이 아직 확인되지 않았습니다. |
ACKNOWLEDGEMENT_STATE_ACKNOWLEDGED |
구독이 확인되었습니다. |
ExternalAccountIdentifiers
서드 파티 서비스의 사용자 계정 식별자입니다.
JSON 표현 |
---|
{ "externalAccountId": string, "obfuscatedExternalAccountId": string, "obfuscatedExternalProfileId": string } |
필드 | |
---|---|
externalAccountId |
서드 파티 서비스의 사용자 계정 식별자입니다. 정기 결제 구매 흐름의 일부로 계정 연결이 발생한 경우에만 표시됩니다. |
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를 사용하여 지정된 경우에만 표시됩니다. |
SubscribeWithGoogleInfo
'Google을 통한 구독'으로 이루어진 구매와 관련된 정보입니다.
JSON 표현 |
---|
{ "profileId": string, "profileName": string, "emailAddress": string, "givenName": string, "familyName": string } |
필드 | |
---|---|
profileId |
구독을 구매한 시점의 사용자의 Google 프로필 ID입니다. |
profileName |
구독을 구매한 시점의 사용자 프로필 이름입니다. |
emailAddress |
구독을 구매한 시점의 사용자 이메일 주소입니다. |
givenName |
정기 결제가 구매되었을 때 사용자의 이름입니다. |
familyName |
정기 결제 상품을 구매한 사용자의 성입니다. |
SubscriptionPurchaseLineItem
정기 결제 구매의 상품 수준 정보입니다.
JSON 표현 |
---|
{ "productId": string, "expiryTime": string, // Union field |
필드 | |
---|---|
productId |
구매한 제품 ID입니다 (예: 'monthly001'). |
expiryTime |
액세스 권한이 연장되지 않는 한 정기 결제가 만료되거나 만료되는 시간입니다 (예: 갱신). RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 |
통합 필드 plan_type . 구독 요금제 유형입니다. plan_type 은 다음 중 하나여야 합니다. |
|
autoRenewingPlan |
항목이 자동 갱신됩니다. |
prepaidPlan |
선불 상품입니다. |
offerDetails |
이 항목의 혜택 세부정보입니다. |
통합 필드 deferred_item_change . 이 필드는 항목에 지연된 변경사항이 있는 경우 표시됩니다. 삭제하거나 교체할 수 있습니다. deferred_item_change 은 다음 중 하나여야 합니다. |
|
deferredItemReplacement |
지연된 항목 교체에 관한 정보입니다. |
AutoRenewingPlan
자동 갱신 요금제와 관련된 정보입니다.
JSON 표현 |
---|
{
"autoRenewEnabled": boolean,
"priceChangeDetails": {
object ( |
필드 | |
---|---|
autoRenewEnabled |
정기 결제가 현재 자동 갱신으로 설정되어 있는 경우(예: 사용자가 정기 결제를 취소하지 않음) |
priceChangeDetails |
정기 결제 가입 후 상품의 마지막 가격 변경에 관한 정보입니다. |
SubscriptionItemPriceChangeDetails
정기 결제 항목의 가격 변경 관련 정보입니다.
JSON 표현 |
---|
{ "newPrice": { object ( |
필드 | |
---|---|
newPrice |
정기 결제 항목의 새로운 반복 가격 |
priceChangeMode |
가격 변경 모드는 정기 결제 항목 가격이 변경되는 방식을 지정합니다. |
priceChangeState |
현재 가격 변경이 적용된 상태입니다. |
expectedNewPriceChargeTime |
가격 변경이 사용자에게 적용되는 갱신 시간입니다. 일시중지와 같이 갱신 기간이 변경되는 경우(향후 날짜로) 변경될 수 있습니다. 이 필드는 가격 변경이 적용되지 않은 경우에만 채워집니다. RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 |
PriceChangeMode
가격 변경 모드입니다.
열거형 | |
---|---|
PRICE_CHANGE_MODE_UNSPECIFIED |
가격 변경 모드가 지정되지 않았습니다. 이 값은 설정하면 안 됩니다. |
PRICE_DECREASE |
정기 결제 가격이 인하되는 경우 |
PRICE_INCREASE |
정기 결제 가격이 인상되며 사용자가 이를 수락해야 하는 경우 |
OPT_OUT_PRICE_INCREASE |
수신 거부 모드로 구독 가격이 인상되는 경우 |
PriceChangeState
가격 변경 상태입니다.
열거형 | |
---|---|
PRICE_CHANGE_STATE_UNSPECIFIED |
가격 변경 상태가 지정되지 않았습니다. 이 값을 사용해서는 안 됩니다. |
OUTSTANDING |
사용자가 요금 변경에 동의할 때까지 기다리는 중입니다. |
CONFIRMED |
사용자에게 가격 변경이 발생한 것으로 확인되었습니다. |
APPLIED |
가격 변경이 적용됩니다. 즉, 사용자에게 새 가격이 청구되기 시작했습니다. |
PrepaidPlan
선불 요금제와 관련된 정보입니다.
JSON 표현 |
---|
{ "allowExtendAfterTime": string } |
필드 | |
---|---|
allowExtendAfterTime |
이 기간이 지난 후에 선불 요금제의 충전 구매가 허용됩니다. 만료된 선불 요금제에는 표시되지 않습니다. RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 |
OfferDetails
구매 항목과 관련된 쿠폰 세부정보입니다.
JSON 표현 |
---|
{ "offerTags": [ string ], "basePlanId": string, "offerId": string } |
필드 | |
---|---|
offerTags[] |
혜택과 연결된 최신 혜택 태그입니다. 기본 요금제에서 상속된 태그가 포함됩니다. |
basePlanId |
기본 요금제 ID입니다. 모든 기본 요금제 및 혜택에서 제공됩니다. |
offerId |
오퍼 ID 할인 혜택에만 표시됩니다. |
DeferredItemReplacement
지연된 항목 교체와 관련된 정보입니다.
JSON 표현 |
---|
{ "productId": string } |
필드 | |
---|---|
productId |
productId가 기존 productId를 대체합니다. |
방법 |
|
---|---|
|
정기 결제에 관한 메타데이터 가져오기 |