- 리소스: SubscriptionPurchaseV2
- SubscriptionState
- PausedStateContext
- CanceledStateContext
- UserInitiatedCancellation
- CancelSurveyResult
- CancelSurveyReason
- SystemInitiatedCancellation
- DeveloperInitiatedCancellation
- ReplacementCancellation
- TestPurchase
- AcknowledgementState
- ExternalAccountIdentifiers
- SubscribeWithGoogleInfo
- SubscriptionPurchaseLineItem
- AutoRenewingPlan
- SubscriptionItemPriceChangeDetails
- PriceChangeMode
- PriceChangeState
- InstallmentPlan
- PendingCancellation
- PriceStepUpConsentDetails
- ConsentState
- PrepaidPlan
- OfferDetails
- DeferredItemReplacement
- DeferredItemRemoval
- SignupPromotion
- OneTimeCode
- VanityCode
- 메서드
리소스: SubscriptionPurchaseV2
사용자의 정기 결제 구매 상태를 나타냅니다.
JSON 표현 |
---|
{ "kind": string, "regionCode": string, "lineItems": [ { object ( |
필드 | |
---|---|
kind |
이 종류는 androidpublisher 서비스의 SubscriptionPurchaseV2 객체를 나타냅니다. |
regionCode |
정기 결제가 승인된 시점의 사용자의 ISO 3166-1 alpha-2 청구서 수신 국가/지역 코드입니다. |
lineItems[] |
정기 결제 구매의 항목 수준 정보입니다. 동일한 구매의 항목은 모두 AutoRenewingPlan이 있거나 모두 PrepaidPlan이 있어야 합니다. |
startTime |
정기 결제가 승인된 시간입니다. 대기 중인 정기 결제 (정기 결제가 생성되었지만 가입하는 동안 결제를 기다리는 중)에는 설정되지 않습니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
subscriptionState |
정기 결제의 현재 상태입니다. |
latestOrderId |
지원 중단됨: 대신 lineItems.latest_successful_order_id를 사용하세요. 정기 결제 구매와 관련된 최신 주문의 주문 ID입니다. autoRenewing 정기 결제의 경우에는 가입 주문의 주문 ID이거나(아직 갱신되지 않은 경우) 마지막 반복 주문 ID(성공, 대기 중 또는 거부된 주문)입니다. 선불 정기 결제의 경우에는 쿼리된 구매 토큰과 연결된 주문 ID입니다. |
linkedPurchaseToken |
이 정기 결제가 다음 중 하나인 경우 이전 정기 결제의 구매 토큰입니다. * 취소되었지만 만료되지 않은 정기 결제의 재가입 * 이전 정기 결제에서 업그레이드/다운그레이드 * 선불 정기 결제에서 자동 갱신 정기 결제로 전환 * 자동 갱신 정기 결제에서 선불 정기 결제로 전환 * 선불 정기 결제 잔액 충전 |
pausedStateContext |
일시중지된 정기 결제에 관한 추가 컨텍스트입니다. 현재 정기 결제의 subscriptionState가 SUBSCRIPTION_STATE_PAUSED인 경우에만 표시됩니다. |
canceledStateContext |
취소된 정기 결제에 관한 추가 컨텍스트입니다. 현재 정기 결제의 subscriptionState가 SUBSCRIPTION_STATE_CANCELED 또는 SUBSCRIPTION_STATE_EXPIRED인 경우에만 표시됩니다. |
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이 지났습니다. |
SUBSCRIPTION_STATE_PENDING_PURCHASE_CANCELED |
정기 결제의 대기 중인 거래가 취소되었습니다. 이 대기 중인 구매가 기존 정기 결제에 관한 것이라면 linkedPurchaseToken을 사용하여 해당 정기 결제의 현재 상태를 가져옵니다. |
PausedStateContext
일시중지된 상태의 정기 결제와 관련된 정보입니다.
JSON 표현 |
---|
{ "autoResumeTime": string } |
필드 | |
---|---|
autoResumeTime |
정기 결제가 자동으로 재개되는 시간입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
CanceledStateContext
SUBSCRIPTION_STATE_CANCELED 또는 SUBSCRIPTION_STATE_EXPIRED 상태의 정기 결제와 관련된 정보입니다.
JSON 표현 |
---|
{ // Union field |
필드 | |
---|---|
통합 필드 cancellation_reason . 정기 결제가 취소된 이유입니다. cancellation_reason 은 다음 중 하나여야 합니다. |
|
userInitiatedCancellation |
사용자가 정기 결제를 취소했습니다. |
systemInitiatedCancellation |
시스템에서 정기 결제를 취소했습니다(예: 결제 문제로 인해). |
developerInitiatedCancellation |
개발자가 정기 결제를 취소했습니다. |
replacementCancellation |
새 정기 결제로 정기 결제를 대체했습니다. |
UserInitiatedCancellation
사용자가 시작한 취소와 관련된 정보입니다.
JSON 표현 |
---|
{
"cancelSurveyResult": {
object ( |
필드 | |
---|---|
cancelSurveyResult |
사용자가 정기 결제 취소 절차 (취소 사유 설문조사)를 완료할 때 제공하는 정보입니다. |
cancelTime |
사용자가 정기 결제를 취소한 시간입니다. 이 시간 후에도 사용자는 정기 결제 상품을 계속 사용할 수도 있습니다. lineItems.expiry_time을 사용하여 사용자가 계속 사용할 수 있는지 확인합니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
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, "latestSuccessfulOrderId": string, // Union field |
필드 | |
---|---|
productId |
구매한 제품 ID (예: 'monthly001')입니다. |
expiryTime |
정기 결제가 만료된 시간 또는 사용이 연장 (예: 갱신)되지 않는 경우 만료될 시간입니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
latestSuccessfulOrderId |
이 상품과 연결된 가장 최근의 성공한 주문의 주문 ID입니다. 아직 사용자가 소유하지 않은 항목 (예: 연기된 교체 항목)인 경우 표시되지 않습니다. |
통합 필드 plan_type . 정기 결제 요금제 유형입니다. plan_type 은 다음 중 하나여야 합니다. |
|
autoRenewingPlan |
항목이 자동 갱신 요금제입니다. |
prepaidPlan |
항목이 선불 요금제입니다. |
offerDetails |
이 항목의 혜택 세부정보입니다. |
통합 필드 deferred_item_change . 이 필드는 항목에 지연된 변경사항이 있는 경우 표시됩니다. 삭제하거나 대체할 수 있습니다. deferred_item_change 은 다음 중 하나여야 합니다. |
|
deferredItemReplacement |
지연된 항목 대체에 관한 정보입니다. |
deferredItemRemoval |
지연된 항목 삭제에 관한 정보입니다. |
signupPromotion |
이 항목에 관한 프로모션 세부정보입니다. 가입 중에 프로모션이 적용된 경우에만 설정됩니다. |
AutoRenewingPlan
자동 갱신 요금제 관련 정보입니다.
JSON 표현 |
---|
{ "autoRenewEnabled": boolean, "recurringPrice": { object ( |
필드 | |
---|---|
autoRenewEnabled |
정기 결제가 현재 자동 갱신으로 설정된 경우입니다(예: 사용자가 정기 결제를 취소하지 않음). |
recurringPrice |
자동 갱신 요금제의 현재 반복 가격입니다. 가격에는 할인이 고려되지 않으며 세금 미포함 가격의 세금이 포함되지 않습니다. 거래 세부정보가 필요한 경우 |
priceChangeDetails |
정기 결제 가입 이후 항목의 마지막 가격 변경에 관한 정보입니다. |
installmentDetails |
자동 갱신 요금제의 할부 요금제 약정 및 상태 관련 정보입니다. |
priceStepUpConsentDetails |
최신 가격 단계 업 동의에 관한 정보입니다. |
SubscriptionItemPriceChangeDetails
정기 결제 항목의 가격 변경 관련 정보입니다.
JSON 표현 |
---|
{ "newPrice": { object ( |
필드 | |
---|---|
newPrice |
정기 결제 항목의 새로운 반복 가격입니다. |
priceChangeMode |
가격 변경 모드는 정기 결제 항목 가격이 변경되는 방식을 지정합니다. |
priceChangeState |
가격 변경의 현재 상태입니다. |
expectedNewPriceChargeTime |
가격 변경이 사용자에게 적용되는 갱신 시간입니다. 일시중지 등 갱신 시간이 변경되는 사례로 인해 이는 변경될 수 있습니다(나중으로 미뤄질 수 있음). 이 필드는 가격 변경이 적용되지 않은 경우에만 채워집니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
PriceChangeMode
가격 변경 모드입니다.
열거형 | |
---|---|
PRICE_CHANGE_MODE_UNSPECIFIED |
가격 변경 모드가 지정되지 않았습니다. 이 값은 설정하면 안 됩니다. |
PRICE_DECREASE |
정기 결제 가격이 인하되는 경우입니다. |
PRICE_INCREASE |
정기 결제 가격이 인상되고 사용자가 이를 수락해야 하는 경우입니다. |
OPT_OUT_PRICE_INCREASE |
정기 결제 가격이 인상되고 선택 해제 모드가 있는 경우입니다. |
PriceChangeState
가격 변경 상태입니다.
열거형 | |
---|---|
PRICE_CHANGE_STATE_UNSPECIFIED |
가격 변경 상태가 지정되지 않았습니다. 이 값은 사용하면 안 됩니다. |
OUTSTANDING |
사용자가 가격 변경에 동의할 때까지 기다립니다. |
CONFIRMED |
가격 변경이 사용자에게 발생하는 것으로 확인됩니다. |
APPLIED |
가격 변경이 적용됩니다. 즉, 사용자에게 새로운 가격으로 요금이 청구되기 시작했습니다. |
CANCELED |
가격 변경이 취소되었습니다. |
InstallmentPlan
할부 요금제 정보입니다.
JSON 표현 |
---|
{
"initialCommittedPaymentsCount": integer,
"subsequentCommittedPaymentsCount": integer,
"remainingCommittedPaymentsCount": integer,
"pendingCancellation": {
object ( |
필드 | |
---|---|
initialCommittedPaymentsCount |
사용자가 처음에 약정한 총 결제 횟수입니다. |
subsequentCommittedPaymentsCount |
사용자가 각 약정 기간 후에 약정할 총 결제 횟수입니다. 공백은 할부 요금제가 초기 약정 후 일반 자동 갱신 정기 결제로 대체됨을 의미합니다. |
remainingCommittedPaymentsCount |
이 갱신 주기에서 지불해야 할 남은 약정 결제 총횟수입니다. |
pendingCancellation |
표시되는 경우 이 할부 요금제는 취소 대기 중입니다. 취소는 사용자가 약정된 모든 결제를 완료한 후에만 발생합니다. |
PendingCancellation
이 유형에는 필드가 없습니다.
이는 가상 할부 요금제에 대기 중인 취소가 있는지에 관한 표시기입니다. 취소는 사용자가 약정된 모든 결제를 완료한 후에만 발생합니다.
PriceStepUpConsentDetails
사용자 동의가 필요한 가격 단계 상승과 관련된 정보입니다.
JSON 표현 |
---|
{ "state": enum ( |
필드 | |
---|---|
state |
출력 전용입니다. 가격 단계 상승 동의의 상태입니다. |
consentDeadlineTime |
사용자가 동의를 제공해야 하는 기한입니다. 이때까지 동의하지 않으면 정기 결제가 취소됩니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
newPrice |
사용자 동의가 필요한 새 가격입니다. |
ConsentState
가격 단계 상승 동의의 상태입니다.
열거형 | |
---|---|
CONSENT_STATE_UNSPECIFIED |
지정되지 않은 동의 상태입니다. |
PENDING |
사용자가 아직 동의하지 않았습니다. |
CONFIRMED |
사용자가 동의했으며 새 가격이 적용되기를 기다리고 있습니다. |
COMPLETED |
사용자가 동의했으며 새 가격이 적용되었습니다. |
PrepaidPlan
선불 요금제 관련 정보입니다.
JSON 표현 |
---|
{ "allowExtendAfterTime": string } |
필드 | |
---|---|
allowExtendAfterTime |
표시되는 경우 이 시간 후 선불 요금제의 충전 구매가 허용됩니다. 만료된 선불 요금제에는 표시되지 않습니다. 생성된 출력은 항상 Z-정규화되고 소수점 이하 0, 3, 6 또는 9자리인 RFC 3339를 사용합니다. 'Z' 이외의 오프셋도 허용됩니다. 예를 들면 |
OfferDetails
구매 항목 관련 혜택 세부정보입니다.
JSON 표현 |
---|
{ "offerTags": [ string ], "basePlanId": string, "offerId": string } |
필드 | |
---|---|
offerTags[] |
혜택과 연결된 최신 혜택 태그입니다. 기본 요금제에서 상속받은 태그가 포함됩니다. |
basePlanId |
기본 요금제 ID입니다. 모든 기본 요금제와 혜택에 표시됩니다. |
offerId |
오퍼 ID 할인된 혜택에만 표시됩니다. |
DeferredItemReplacement
지연된 항목 대체 관련 정보입니다.
JSON 표현 |
---|
{ "productId": string } |
필드 | |
---|---|
productId |
기존 productId를 대체할 productId입니다. |
DeferredItemRemoval
이 유형에는 필드가 없습니다.
지연된 항목 대체 관련 정보입니다.
SignupPromotion
구매 시 이 상품에 적용된 프로모션입니다.
JSON 표현 |
---|
{ // Union field |
필드 | |
---|---|
통합 필드 promotion_type . 상품에 적용된 프로모션 유형입니다. promotion_type 은 다음 중 하나여야 합니다. |
|
oneTimeCode |
일회성 코드가 적용되었습니다. |
vanityCode |
배니티 코드가 적용되었습니다. |
OneTimeCode
이 유형에는 필드가 없습니다.
일회용 프로모션 코드입니다.
VanityCode
여러 번 사용할 수 있는 사전 정의된 프로모션 코드입니다.
JSON 표현 |
---|
{ "promotionCode": string } |
필드 | |
---|---|
promotionCode |
프로모션 코드입니다. |
메서드 |
|
---|---|
|
정기 결제에 관한 메타데이터 가져오기 |
|
사용자의 정기 결제 구매를 취소합니다. |