REST Resource: purchases.subscriptionsv2

משאב: SubscriptionPurchaseV2

מציין את הסטטוס של רכישת מינוי של משתמש.

ייצוג ב-JSON
{
  "kind": string,
  "regionCode": string,
  "lineItems": [
    {
      object (SubscriptionPurchaseLineItem)
    }
  ],
  "startTime": string,
  "subscriptionState": enum (SubscriptionState),
  "linkedPurchaseToken": string,
  "pausedStateContext": {
    object (PausedStateContext)
  },
  "canceledStateContext": {
    object (CanceledStateContext)
  },
  "testPurchase": {
    object (TestPurchase)
  },
  "acknowledgementState": enum (AcknowledgementState),
  "externalAccountIdentifiers": {
    object (ExternalAccountIdentifiers)
  },
  "subscribeWithGoogleInfo": {
    object (SubscribeWithGoogleInfo)
  },
  "etag": string,
  "outOfAppPurchaseContext": {
    object (OutOfAppPurchaseContext)
  },
  "onHoldStateContext": {
    object (OnHoldStateContext)
  },
  "inGracePeriodStateContext": {
    object (InGracePeriodStateContext)
  }
}
שדות
kind

string

הסוג הזה מייצג אובייקט SubscriptionPurchaseV2 בשירות androidpublisher.

regionCode

string

קוד בפורמט ISO 3166-1 alpha-2 של המדינה או האזור שבהם המשתמש מתגורר לצרכי חיוב בזמן שהמינוי הוענק לו.

lineItems[]

object (SubscriptionPurchaseLineItem)

מידע ברמת הפריט על רכישת מינוי. כל הפריטים באותה רכישה צריכים להיות עם AutoRenewingPlan או עם PrepaidPlan.

startTime

string (Timestamp format)

השעה שבה המינוי הוענק. לא מוגדר למינויים בהמתנה (המינוי נוצר אבל ממתין לתשלום במהלך ההרשמה).

הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z עם 0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: "2014-10-02T15:01:23Z", ‏ "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".

subscriptionState

enum (SubscriptionState)

הסטטוס הנוכחי של המינוי.

linkedPurchaseToken

string

טוקן הרכישה של המינוי הישן אם המינוי הזה הוא אחד מהסוגים הבאים: * הרשמה מחדש למינוי שבוטל אבל לא פג. * שדרוג או שנמוך ממינוי קודם. * מעבר ממינוי בתשלום מראש למינוי שמתחדש אוטומטית. * מעבר ממינוי שמתחדש אוטומטית למינוי בתשלום מראש. * חידוש מינוי בתשלום מראש.

pausedStateContext

object (PausedStateContext)

הקשר נוסף לגבי מינויים מושהים. המאפיין הזה מוצג רק אם מצב המינוי הוא SUBSCRIPTION_STATE_PAUSED.

canceledStateContext

object (CanceledStateContext)

הקשר נוסף לגבי מינויים שבוטלו. השדה הזה מוצג רק אם המינוי נמצא כרגע במצב SUBSCRIPTION_STATE_CANCELED או SUBSCRIPTION_STATE_EXPIRED.

testPurchase

object (TestPurchase)

המאפיין הזה מופיע רק אם רכישת המינוי הזו היא רכישת בדיקה.

acknowledgementState

enum (AcknowledgementState)

מצב האישור של המינוי.

externalAccountIdentifiers

object (ExternalAccountIdentifiers)

מזהה חשבון המשתמש בשירות של הצד השלישי.

subscribeWithGoogleInfo

object (SubscribeWithGoogleInfo)

פרופיל משתמש שמשויך לרכישות שבוצעו באמצעות 'Subscribe with Google'.

etag

string

תג ישות שמייצג את המצב הנוכחי של המינוי. המפתח יספק את ה-etag הזה לפעולות שקשורות למינוי. התג הזה תמיד קיים במינויים שמתחדשים אוטומטית ובמינויים ששולמו מראש.

outOfAppPurchaseContext

object (OutOfAppPurchaseContext)

הקשר נוסף לרכישות מחוץ לאפליקציה. המידע הזה מופיע רק ברכישות של מינויים חוזרים (רכישות של מינויים שבוצעו אחרי שהמינוי הקודם לאותו מוצר פג) שבוצעו דרך מרכז המינויים של Google Play. השדה הזה יוסר אחרי שתאשרו את המינוי.

onHoldStateContext

object (OnHoldStateContext)

אופציונלי. הקשר נוסף לגבי מינויים במצב ON_HOLD. השדה הזה מוצג רק אם סטטוס המינוי הוא SUBSCRIPTION_STATE_ON_HOLD.

inGracePeriodStateContext

object (InGracePeriodStateContext)

אופציונלי. הקשר נוסף לגבי מינויים במצב IN_GRACE_PERIOD. השדה הזה מוצג רק אם הערך של subscriptionState הוא SUBSCRIPTION_STATE_IN_GRACE_PERIOD.

SubscriptionState

הסטטוסים האפשריים של מינוי, למשל אם הוא פעיל או בוטל. כל הפריטים ברכישת מינוי יכולים להיות מינויים שמתחדשים אוטומטית או מינויים בתשלום מראש.

טיפוסים בני מנייה (enum)
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

string (Timestamp format)

השעה שבה המינוי יחודש אוטומטית.

הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z עם 0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: "2014-10-02T15:01:23Z", ‏ "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".

CanceledStateContext

מידע ספציפי למינוי במצב SUBSCRIPTION_STATE_CANCELED או SUBSCRIPTION_STATE_EXPIRED.

ייצוג ב-JSON
{

  // Union field cancellation_reason can be only one of the following:
  "userInitiatedCancellation": {
    object (UserInitiatedCancellation)
  },
  "systemInitiatedCancellation": {
    object (SystemInitiatedCancellation)
  },
  "developerInitiatedCancellation": {
    object (DeveloperInitiatedCancellation)
  },
  "replacementCancellation": {
    object (ReplacementCancellation)
  }
  // End of list of possible types for union field cancellation_reason.
}
שדות
שדה איחוד cancellation_reason. הסיבה לביטול המינוי. הערך cancellation_reason יכול להיות רק אחד מהבאים:
userInitiatedCancellation

object (UserInitiatedCancellation)

המינוי בוטל על ידי המשתמש.

systemInitiatedCancellation

object (SystemInitiatedCancellation)

המינוי בוטל על ידי המערכת, למשל בגלל בעיה בחיוב.

developerInitiatedCancellation

object (DeveloperInitiatedCancellation)

המינוי בוטל על ידי המפתח.

replacementCancellation

object (ReplacementCancellation)

המינוי הוחלף במינוי חדש.

UserInitiatedCancellation

מידע ספציפי על ביטולים שהמשתמשים יזמו.

ייצוג ב-JSON
{
  "cancelSurveyResult": {
    object (CancelSurveyResult)
  },
  "cancelTime": string
}
שדות
cancelSurveyResult

object (CancelSurveyResult)

מידע שהמשתמש מספק כשהוא משלים את תהליך ביטול המינוי (סקר סיבות לביטול).

cancelTime

string (Timestamp format)

השעה שבה המשתמש ביטל את המינוי. יכול להיות שלמשתמש עדיין תהיה גישה למינוי אחרי המועד הזה. אפשר להשתמש ב-lineItems.expiry_time כדי לקבוע אם למשתמש עדיין יש גישה.

הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z עם 0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: "2014-10-02T15:01:23Z", ‏ "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".

CancelSurveyResult

התוצאה של סקר הביטול אם המינוי בוטל על ידי המשתמש.

ייצוג ב-JSON
{
  "reason": enum (CancelSurveyReason),
  "reasonUserInput": string
}
שדות
reason

enum (CancelSurveyReason)

הסיבה שהמשתמש בחר בסקר הביטול.

reasonUserInput

string

הערך הזה מוגדר רק עבור CANCEL_SURVEY_REASON_OTHERS. זוהי תשובת המשתמש/ת לסקר, שנכתבה באופן חופשי.

CancelSurveyReason

הסיבה שהמשתמש בחר בסקר הביטול.

טיפוסים בני מנייה (enum)
CANCEL_SURVEY_REASON_UNSPECIFIED סיבת הביטול של הסקר לא צוינה.
CANCEL_SURVEY_REASON_NOT_ENOUGH_USAGE לא נעשה מספיק שימוש במינוי.
CANCEL_SURVEY_REASON_TECHNICAL_ISSUES בעיות טכניות בזמן השימוש באפליקציה.
CANCEL_SURVEY_REASON_FOUND_BETTER_APP המשתמש מצא אפליקציה טובה יותר.
CANCEL_SURVEY_REASON_OTHERS סיבות אחרות.

SystemInitiatedCancellation

בסוג הזה אין שדות.

מידע שספציפי לביטולים שבוצעו על ידי מערכת Google.

DeveloperInitiatedCancellation

בסוג הזה אין שדות.

מידע ספציפי על ביטולים שמתבצעים על ידי מפתחים.

ReplacementCancellation

בסוג הזה אין שדות.

מידע ספציפי על ביטולים שנגרמים כתוצאה מהחלפת מינוי.

TestPurchase

בסוג הזה אין שדות.

אם רכישת המינוי הזו היא רכישת בדיקה.

AcknowledgementState

המצבים האפשריים של אישור מינוי.

טיפוסים בני מנייה (enum)
ACKNOWLEDGEMENT_STATE_UNSPECIFIED לא צוין סטטוס אישור.
ACKNOWLEDGEMENT_STATE_PENDING ההרשמה עדיין לא אושרה.
ACKNOWLEDGEMENT_STATE_ACKNOWLEDGED המינוי מאושר.

ExternalAccountIdentifiers

מזהה חשבון המשתמש בשירות של הצד השלישי.

ייצוג ב-JSON
{
  "externalAccountId": string,
  "obfuscatedExternalAccountId": string,
  "obfuscatedExternalProfileId": string
}
שדות
externalAccountId

string

מזהה חשבון המשתמש בשירות של הצד השלישי. הפרמטר הזה מופיע רק אם קישור החשבון התרחש כחלק מתהליך רכישת המינוי.

obfuscatedExternalAccountId

string

גרסה מעורפלת של המזהה שמשויך באופן ייחודי לחשבון המשתמש באפליקציה שלכם. הערך הזה מופיע ברכישות הבאות: * אם קישור החשבון התבצע כחלק מתהליך רכישת המינוי. * הוא צוין באמצעות https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedaccountid כשבוצעה הרכישה.

obfuscatedExternalProfileId

string

גרסה מעורפלת של המזהה שמשויך באופן ייחודי לפרופיל של המשתמש באפליקציה. הערך הזה מופיע רק אם הוא צוין באמצעות 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

string

מזהה הפרופיל ב-Google של המשתמש בזמן רכישת המינוי.

profileName

string

שם הפרופיל של המשתמש בזמן רכישת המינוי.

emailAddress

string

כתובת האימייל של המשתמש בזמן רכישת המינוי.

givenName

string

השם הפרטי של המשתמש בזמן רכישת המינוי.

familyName

string

שם המשפחה של המשתמש בזמן רכישת המינוי.

SubscriptionPurchaseLineItem

מידע ברמת הפריט על רכישת מינוי.

ייצוג ב-JSON
{
  "productId": string,
  "expiryTime": string,
  "latestSuccessfulOrderId": string,

  // Union field plan_type can be only one of the following:
  "autoRenewingPlan": {
    object (AutoRenewingPlan)
  },
  "prepaidPlan": {
    object (PrepaidPlan)
  }
  // End of list of possible types for union field plan_type.
  "offerDetails": {
    object (OfferDetails)
  },

  // Union field deferred_item_change can be only one of the following:
  "deferredItemReplacement": {
    object (DeferredItemReplacement)
  },
  "deferredItemRemoval": {
    object (DeferredItemRemoval)
  }
  // End of list of possible types for union field deferred_item_change.
  "signupPromotion": {
    object (SignupPromotion)
  },
  "itemReplacement": {
    object (ItemReplacement)
  },
  "offerPhase": {
    object (OfferPhase)
  }
}
שדות
productId

string

מזהה המוצר שנרכש (לדוגמה, monthly001).

expiryTime

string (Timestamp format)

השעה שבה המינוי פג או יפוג, אלא אם הגישה תוארך (למשל, אם המינוי יחודש).

הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z עם 0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: "2014-10-02T15:01:23Z", ‏ "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".

latestSuccessfulOrderId

string

מזהה ההזמנה של ההזמנה האחרונה שבוצעה בהצלחה ומשויכת לפריט הזה. המאפיין לא מופיע אם הפריט עדיין לא בבעלות המשתמש (לדוגמה, אם הפריט הוחלף בפריט אחר).

שדה איחוד plan_type. סוג תוכנית המינויים. הערך plan_type יכול להיות רק אחד מהבאים:
autoRenewingPlan

object (AutoRenewingPlan)

הפריט מתחדש אוטומטית.

prepaidPlan

object (PrepaidPlan)

הפריט שולם מראש.

offerDetails

object (OfferDetails)

פרטי המבצע של הפריט הזה.

שדה איחוד deferred_item_change. השדה מופיע כשפריט כולל שינוי שנדחה. אפשר להסיר או להחליף אותו. הערך deferred_item_change יכול להיות רק אחד מהבאים:
deferredItemReplacement

object (DeferredItemReplacement)

מידע על החלפת פריט שנדחתה.

deferredItemRemoval

object (DeferredItemRemoval)

מידע על הסרת פריטים שנדחתה.

signupPromotion

object (SignupPromotion)

פרטי המבצע על הפריט הזה. הערך הזה מוגדר רק אם מבצע הופעל במהלך ההרשמה.

itemReplacement

object (ItemReplacement)

פרטים על הפריט שמוחלף. השדה הזה מאוכלס רק אם הפריט הזה החליף פריט אחר במינוי קודם, והוא זמין רק למשך 60 ימים אחרי זמן הרכישה.

offerPhase

object (OfferPhase)

פרטים על שלב המבצע הנוכחי של הפריט הזה.

AutoRenewingPlan

מידע שקשור למינוי עם חידוש אוטומטי.

ייצוג ב-JSON
{
  "autoRenewEnabled": boolean,
  "recurringPrice": {
    object (Money)
  },
  "priceChangeDetails": {
    object (SubscriptionItemPriceChangeDetails)
  },
  "installmentDetails": {
    object (InstallmentPlan)
  },
  "priceStepUpConsentDetails": {
    object (PriceStepUpConsentDetails)
  }
}
שדות
autoRenewEnabled

boolean

אם המינוי מוגדר כרגע לחידוש אוטומטי, למשל אם המשתמש לא ביטל את המינוי

recurringPrice

object (Money)

המחיר הנוכחי של המינוי שמתחדש אוטומטית. שימו לב שהמחיר לא כולל הנחות ומיסים. אם אתם צריכים פרטי עסקה עם תמחור ללא מס, עליכם להתקשר אל orders.get API.

priceChangeDetails

object (SubscriptionItemPriceChangeDetails)

המידע על שינוי המחיר האחרון של הפריט מאז ההרשמה למינוי.

installmentDetails

object (InstallmentPlan)

התחייבות לתוכנית התשלומים ופרטים על הסטטוס של התוכנית שמתחדשת אוטומטית.

SubscriptionItemPriceChangeDetails

מידע שקשור לשינוי מחיר של פריט במינוי.

ייצוג ב-JSON
{
  "newPrice": {
    object (Money)
  },
  "priceChangeMode": enum (PriceChangeMode),
  "priceChangeState": enum (PriceChangeState),
  "expectedNewPriceChargeTime": string
}
שדות
newPrice

object (Money)

המחיר החדש שחוזר על עצמו עבור פריט המינוי.

priceChangeMode

enum (PriceChangeMode)

מצב שינוי המחיר מציין איך המחיר של פריט המינוי משתנה.

priceChangeState

enum (PriceChangeState)

צריך לציין את השינוי במחיר שמתרחש כרגע.

expectedNewPriceChargeTime

string (Timestamp format)

מועד החידוש שבו שינוי המחיר ייכנס לתוקף עבור המשתמש. התאריך הזה עשוי להשתנות(למועד עתידי) במקרים שבהם מועד החידוש משתנה, למשל כשמשהים את המינוי. השדה הזה מתמלא רק אם שינוי המחיר לא נכנס לתוקף.

הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z עם 0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: "2014-10-02T15:01:23Z", ‏ "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".

PriceChangeMode

אופן השינוי במחיר.

טיפוסים בני מנייה (enum)
PRICE_CHANGE_MODE_UNSPECIFIED לא צוין מצב של שינוי מחיר. אסור להגדיר את הערך הזה.
PRICE_DECREASE אם מחיר המינוי יורד.
PRICE_INCREASE אם מחיר המינוי עולה והמשתמש צריך לאשר את העלייה.
OPT_OUT_PRICE_INCREASE אם מחיר המינוי עולה עם אפשרות לסירוב.

PriceChangeState

המצב של שינוי המחיר.

טיפוסים בני מנייה (enum)
PRICE_CHANGE_STATE_UNSPECIFIED לא צוין מצב שינוי המחיר. אין להשתמש בערך הזה.
OUTSTANDING בהמתנה להסכמת המשתמש לשינוי במחיר.
CONFIRMED השינוי במחיר מאושר למשתמש.
APPLIED השינוי במחיר חל, כלומר המשתמש התחיל לשלם את המחיר החדש.
CANCELED שינוי המחיר בוטל.

InstallmentPlan

מידע על פריסת תשלומים.

ייצוג ב-JSON
{
  "initialCommittedPaymentsCount": integer,
  "subsequentCommittedPaymentsCount": integer,
  "remainingCommittedPaymentsCount": integer,
  "pendingCancellation": {
    object (PendingCancellation)
  }
}
שדות
initialCommittedPaymentsCount

integer

מספר התשלומים הכולל שהמשתמש התחייב אליהם בהתחלה.

subsequentCommittedPaymentsCount

integer

המספר הכולל של התשלומים שהמשתמש יתחייב אליהם אחרי כל תקופת התחייבות. אם השדה ריק, המשמעות היא שתוכנית התשלומים תחזור למינוי רגיל עם חידוש אוטומטי אחרי תקופת ההתחייבות הראשונית.

remainingCommittedPaymentsCount

integer

המספר הכולל של תשלומים שהתחייבתם לשלם שנותרו במחזור החידוש הזה.

pendingCancellation

object (PendingCancellation)

אם מופיעה תוכנית תשלומים כזו, היא נמצאת בהמתנה לביטול. הביטול יתבצע רק אחרי שהמשתמש ישלים את כל התשלומים שהתחייב אליהם.

PendingCancellation

בסוג הזה אין שדות.

העמודה הזו מציינת אם יש בקשת ביטול בהמתנה של תוכנית התשלומים הווירטואלית. הביטול יתבצע רק אחרי שהמשתמש ישלים את כל התשלומים שהתחייב אליהם.

PriceStepUpConsentDetails

מידע שקשור לעליית מחיר שנדרשת לגביה הסכמת המשתמש.

ייצוג ב-JSON
{
  "state": enum (ConsentState),
  "consentDeadlineTime": string,
  "newPrice": {
    object (Money)
  }
}
שדות
state

enum (ConsentState)

פלט בלבד. מצב ההסכמה להעלאת המחיר.

consentDeadlineTime

string (Timestamp format)

המועד האחרון שבו המשתמש צריך להביע הסכמה. אם לא נקבל ממך אישור עד לתאריך שצוין, המינוי יבוטל.

הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z עם 0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: "2014-10-02T15:01:23Z", ‏ "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".

newPrice

object (Money)

המחיר החדש שדורש הסכמה מהמשתמשים.

ConsentState

מצב ההסכמה להעלאת המחיר.

טיפוסים בני מנייה (enum)
CONSENT_STATE_UNSPECIFIED מצב הסכמה לא צוין.
PENDING המשתמש עדיין לא הביע הסכמה.
CONFIRMED המשתמש הסכים, והמחיר החדש ממתין לכניסה לתוקף.
COMPLETED המשתמש הסכים והמחיר החדש נכנס לתוקף.

PrepaidPlan

מידע שקשור לתוכנית בתשלום מראש.

ייצוג ב-JSON
{
  "allowExtendAfterTime": string
}
שדות
allowExtendAfterTime

string (Timestamp format)

אם יש ערך, זהו הזמן שאחריו מותרות רכישות של טעינת יתרה במינוי בתשלום מראש. לא יופיע במינויים בתשלום מראש שהתוקף שלהם פג.

הפורמט הוא RFC 3339, והפלט שנוצר תמיד יהיה בפורמט Z עם 0, 3, 6 או 9 ספרות אחרי הנקודה. אפשר להשתמש גם בהיסטים אחרים, לא רק ב-Z. דוגמאות: "2014-10-02T15:01:23Z", ‏ "2014-10-02T15:01:23.045123456Z" או "2014-10-02T15:01:23+05:30".

OfferDetails

פרטי המבצע שקשורים לפריט בשורת הרכישה.

ייצוג ב-JSON
{
  "offerTags": [
    string
  ],
  "basePlanId": string,
  "offerId": string
}
שדות
offerTags[]

string

תגי המבצע העדכניים שמשויכים למבצע. הוא כולל תגים שירשו מהמינוי הבסיסי.

basePlanId

string

המזהה של המינוי הבסיסי. האפשרות הזו זמינה בכל המינויים הבסיסיים ובכל המבצעים.

offerId

string

מזהה המוצר. המאפיין הזה מופיע רק במבצעים עם הנחה.

DeferredItemReplacement

מידע שקשור להחלפת פריטים שנדחתה.

ייצוג ב-JSON
{
  "productId": string
}
שדות
productId

string

מזהה המוצר שיחליף את מזהה המוצר הקיים.

DeferredItemRemoval

בסוג הזה אין שדות.

מידע שקשור להחלפת פריטים שנדחתה.

SignupPromotion

המבצע שהוחל על הפריט הזה בזמן הרכישה.

ייצוג ב-JSON
{

  // Union field promotion_type can be only one of the following:
  "oneTimeCode": {
    object (OneTimeCode)
  },
  "vanityCode": {
    object (VanityCode)
  }
  // End of list of possible types for union field promotion_type.
}
שדות
שדה איחוד promotion_type. סוג המבצע שחל על הפריט. הערך promotion_type יכול להיות רק אחד מהבאים:
oneTimeCode

object (OneTimeCode)

הופעל קוד חד-פעמי.

vanityCode

object (VanityCode)

הופעל קוד מותאם אישית.

OneTimeCode

בסוג הזה אין שדות.

קוד שובר לשימוש חד-פעמי.

VanityCode

קוד שובר מוגדר מראש לשימוש רב-פעמי.

ייצוג ב-JSON
{
  "promotionCode": string
}
שדות
promotionCode

string

קוד השובר.

ItemReplacement

פרטים על פריט מינוי שמוחלף.

ייצוג ב-JSON
{
  "productId": string,
  "replacementMode": enum (ReplacementMode),
  "basePlanId": string,
  "offerId": string
}
שדות
productId

string

מזהה המוצר של פריט המינוי שמוחלף.

replacementMode

enum (ReplacementMode)

שיטת ההחלפה שהוחלה במהלך הרכישה.

basePlanId

string

מזהה המינוי הבסיסי של פריט המינוי שמוחלף.

offerId

string

מזהה המוצר של פריט המינוי שמוחלף, אם רלוונטי.

ReplacementMode

אופן ההחלפה של המינוי.

טיפוסים בני מנייה (enum)
REPLACEMENT_MODE_UNSPECIFIED מצב החלפה לא מוגדר.
WITH_TIME_PRORATION המינוי החדש יחויב באופן יחסי, והיתרה מהמינוי הקודם תזוכה.
CHARGE_PRORATED_PRICE המשתמש יחויב במחיר יחסי על המינוי החדש.
WITHOUT_PRORATION המינוי החדש יחליף את המינוי הישן בלי לחשב את הזמן באופן יחסי.
CHARGE_FULL_PRICE המשתמש יחויב במחיר המלא של התוכנית החדשה.
DEFERRED התוכנית הישנה תבוטל והתוכנית החדשה תיכנס לתוקף אחרי שהתוכנית הישנה תסתיים.
KEEP_EXISTING התוכנית לא תשתנה בעקבות ההחלפה הזו.

OfferPhase

פרטים על שלב המבצע.

ייצוג ב-JSON
{

  // Union field offer_phase can be only one of the following:
  "prorationPeriod": {
    object (ProrationPeriodOfferPhase)
  },
  "freeTrial": {
    object (FreeTrialOfferPhase)
  },
  "introductoryPrice": {
    object (IntroductoryPriceOfferPhase)
  },
  "basePrice": {
    object (BasePriceOfferPhase)
  }
  // End of list of possible types for union field offer_phase.
}
שדות
שדה איחוד offer_phase. פרטי שלב המבצע. הערך offer_phase יכול להיות רק אחד מהבאים:
prorationPeriod

object (ProrationPeriodOfferPhase)

הגדרת התקופה שבה שלב המבצע הוא תקופת חיוב יחסי.

freeTrial

object (FreeTrialOfferPhase)

מגדירים מתי שלב המבצע הוא תקופת ניסיון בחינם.

introductoryPrice

object (IntroductoryPriceOfferPhase)

מגדירים מתי שלב המבצע הוא שלב של מחיר היכרות.

basePrice

object (BasePriceOfferPhase)

מגדירים מתי שלב המבצע הוא שלב תמחור של מינוי בסיסי.

ProrationPeriodOfferPhase

פרטים על שלב המבצע של תקופת החיוב היחסי.

ייצוג ב-JSON
{
  "originalOfferPhaseType": enum (OriginalOfferPhaseType)
}
שדות
originalOfferPhaseType

enum (OriginalOfferPhaseType)

סוג שלב המבצע המקורי לפני תקופת החישוב היחסי. ההגדרה הזו מוגדרת רק כשמעדכנים את תקופת החלוקה היחסית משלב קיים במבצע.

OriginalOfferPhaseType

שלב המבצע המקורי של תשלום המבצע, אם תשלום המבצע הוא תשלום יחסי.

טיפוסים בני מנייה (enum)
ORIGINAL_OFFER_PHASE_TYPE_UNSPECIFIED לא צוין סוג שלב המבצע המקורי.
BASE המינוי נמצא בשלב התמחור הבסיסי (למשל, מחיר מלא).
INTRODUCTORY המינוי נמצא בשלב של מחיר היכרות.
FREE_TRIAL המינוי נמצא בתקופת ניסיון בחינם.

FreeTrialOfferPhase

בסוג הזה אין שדות.

פרטים על שלב תקופת הניסיון בחינם.

IntroductoryPriceOfferPhase

בסוג הזה אין שדות.

פרטים על שלב מבצע מחיר היכרות.

BasePriceOfferPhase

בסוג הזה אין שדות.

פרטים על שלב מבצע מחיר הבסיס.

OutOfAppPurchaseContext

מידע ספציפי על רכישה מחוץ לאפליקציה.

ייצוג ב-JSON
{
  "expiredExternalAccountIdentifiers": {
    object (ExternalAccountIdentifiers)
  },
  "expiredPurchaseToken": string
}
שדות
expiredExternalAccountIdentifiers

object (ExternalAccountIdentifiers)

מזהה חשבון המשתמש מהמינוי האחרון שפג התוקף שלו למק"ט הזה.

expiredPurchaseToken

string

טוקן הרכישה של המינוי האחרון שתוקפו פג. אפשר להשתמש בטוקן הרכישה הזה רק כדי לזהות את המשתמש אם הקישור בין purchaseToken לבין המשתמש מאוחסן במסד הנתונים שלכם. אי אפשר להשתמש בו כדי לקרוא ל-Google Developer API אם עברו יותר מ-60 יום מאז התפוגה.

OnHoldStateContext

הקשר נוסף לגבי מינויים במצב ON_HOLD.

ייצוג ב-JSON
{

  // Union field on_hold_reason can be only one of the following:
  "renewalDeclined": {
    object (RenewalDeclinedContext)
  }
  // End of list of possible types for union field on_hold_reason.
}
שדות
שדה איחוד on_hold_reason. הסיבה לכך שהמינוי נמצא במצב ON_HOLD. הערך on_hold_reason יכול להיות רק אחד מהבאים:
renewalDeclined

object (RenewalDeclinedContext)

אופציונלי. התשלום על החידוש נדחה.

RenewalDeclinedContext

הקשר שקשור לתרחיש שבו נדחתה בקשה לחידוש.

ייצוג ב-JSON
{
  "pendingOrderId": string
}
שדות
pendingOrderId

string

חובה. המזהה של ההזמנה בהמתנה או שנכשלה שגרמה למצב.

InGracePeriodStateContext

הקשר נוסף לגבי מינויים במצב IN_GRACE_PERIOD.

ייצוג ב-JSON
{

  // Union field grace_period_reason can be only one of the following:
  "renewalDeclined": {
    object (RenewalDeclinedContext)
  }
  // End of list of possible types for union field grace_period_reason.
}
שדות
שדה איחוד grace_period_reason. הסיבה לכך שהמינוי נמצא במצב IN_GRACE_PERIOD. הערך grace_period_reason יכול להיות רק אחד מהבאים:
renewalDeclined

object (RenewalDeclinedContext)

אופציונלי. התשלום על החידוש נדחה.

Methods

cancel

ביטול רכישת מינוי עבור המשתמש.

defer

דחיית חידוש המינוי.

get

אחזור מטא-נתונים של מינוי

revoke

ביטול רכישת מינוי עבור המשתמש.

קודי שגיאה

הפעולות של המשאב הזה מחזירות את קודי שגיאות ה-HTTP הבאים:

קוד שגיאה סיבה תיאור רזולוציה
400 / 410 subscriptionExpired המינוי פג תוקף ואי אפשר לבצע את הפעולה המבוקשת. בודקים את תאריך התפוגה של המינוי. אי אפשר לבצע את הפעולה הזו במינויים שפג תוקפם.
400 subscriptionInvalidArgument בבקשה למינוי סופק ארגומנט לא תקין. כדאי לעיין במאמרי העזרה של ה-API ולוודא שציינתם את המידע בכל שדות החובה ושהזנתם את הנתונים בפורמט הנכון.
400 invalidPurchaseState הרכישה לא במצב תקין שמאפשר לבצע את הפעולה המבוקשת. לדוגמה, יכול להיות שאתם מנסים לאשר רכישה שכבר נעשה בה שימוש או לבטל מינוי שלא פעיל. לפני שמנסים לבצע את הפעולה, כדאי לבדוק את המצב הנוכחי של המשאב באמצעות ה-API המתאים מסוג Get. מוודאים שהמשאב נמצא במצב המתאים לפעולה.
400 invalidValue צוין ערך לא תקין בבקשה. השגיאה הזו מוחזרת בדרך כלל אם טוקן הרכישה פגום או לא תקין. יש לתקן את הערך הלא תקין של השדה בגוף הבקשה או בפרמטרים על סמך מאמרי העזרה של ה-API.
400 prepaidSubscriptionNotSupported הפעולה שביקשת לא נתמכת במינויים בתשלום מראש. מוודאים שהפעולה רלוונטית לסוג המינוי. השגיאה הזו ספציפית לשיטות כמו Cancel.
400 productNotOwnedByUser אסימון הרכישה שסופק תקין, אבל כרגע המוצר לא בבעלות המשתמש. זה יכול לקרות אם הרכישה קיבלה החזר כספי, בוטלה או שהתוקף שלה פג לפני שהתקבל אישור. לפני שמנסים לבצע את הפעולה, כדאי לבדוק את המצב הנוכחי של המשאב באמצעות ה-API המתאים מסוג Get. מוודאים שהמשאב נמצא במצב המתאים לפעולה.
400 purchaseTokenMismatch אסימון הרכישה שסיפקת לא תואם לרכישה, לשם החבילה, למזהה המנוי או למזהה המוצר. מוודאים שכל הפרטים בבקשה נכונים ותואמים זה לזה.
400 required חסר שדה או פרמטר חובה בבקשה. כדאי לעיין במאמרי העזרה של ה-API כדי לוודא שכללתם את כל השדות והפרמטרים הנדרשים.
400 unsupportedIabType הפעולה לא נתמכת בסוג החיוב מתוך האפליקציה שצוין. מוודאים ששיטת ה-API תואמת לסוג הפריט שמנוהל.
403 userInsufficientPermission למשתמש אין הרשאה מספקת לביצוע הפעולה המבוקשת. מוודאים שלמשתמש המאומת יש את ההרשאות הנדרשות ב-Google Play Console. פרטים נוספים מופיעים במאמר בנושא שימוש בחשבון שירות.
404 notFound לא נמצא המשאב המבוקש. מוודאים שהמזהים (למשל, טוקן הרכישה, שם החבילה, מזהה המוצר, מזהה המינוי) נכונים.
409 concurrentUpdate היה ניסיון לעדכן אובייקט שנמצא בתהליך עדכון בו-זמני. מנסים לשלוח שוב את הבקשה עם השהיה מעריכית לפני ניסיון חוזר (exponential backoff). מומלץ להימנע משינויים בו-זמניים באותו משאב.
410 purchaseTokenNoLongerValid טוקן הרכישה לא תקף באופן קבוע כי חשבון המשתמש המשויך נמחק או שרשומת הרכישה כבר לא קיימת. להפסיק את השימוש באסימון הרכישה הזה.
410 subscriptionNoLongerAvailable אי אפשר יותר לשלוח שאילתה לגבי רכישת המינוי כי עבר יותר מדי זמן מאז שפג התוקף שלו. השגיאה הזו מציינת שתוקף המינוי פג לפני יותר מ-60 יום. לא כדאי יותר לשלוח שאילתות לגבי המינויים האלה.
5xx Generic error שגיאה כללית בשרת של Google Play. כדאי לנסות לשלוח את הבקשה שוב.

אם הבעיה נמשכת, אפשר לפנות למנהל החשבון ב-Google Play או לשלוח בקשת תמיכה. כדאי לבדוק ב-Play Status Dashboard אם יש הפסקות זמניות ידועות בשירות.