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

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

purchaseStateContext

object (PurchaseStateContext)

מידע על מצב הרכישה.

testPurchaseContext

object (TestPurchaseContext)

מידע שקשור לרכישות לצורך בדיקה. ההגדרה הזו תהיה רלוונטית רק לרכישות לצורך בדיקה.

orderId

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 בזמן ביצוע הרכישה.

regionCode

string

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

purchaseCompletionTime

string (Timestamp format)

השעה שבה הרכישה בוצעה בהצלחה, כלומר השעה שבה PurchaseState השתנה ל-PURCHASED. השדה הזה לא יופיע עד שהתשלום יושלם. לדוגמה, אם המשתמש יזם עסקה בהמתנה (https://developer.android.com/google/play/billing/integrate#pending), השדה הזה לא יאוכלס עד שהמשתמש ישלים בהצלחה את השלבים הנדרשים להשלמת העסקה.

הפלט שנוצר תמיד יהיה בפורמט 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".

acknowledgementState

enum (AcknowledgementState)

פלט בלבד. מצב האישור של הרכישה.

PurchaseStateContext

הקשר לגבי מצב הרכישה.

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

enum (PurchaseState)

פלט בלבד. מצב הרכישה.

PurchaseState

מצבי רכישה אפשריים.

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

טיפוסים בני מנייה (enum)
FOP_TYPE_UNSPECIFIED לא צוין סוג אמצעי התשלום. אסור להגדיר את הערך הזה.
TEST הרכישה בוצעה באמצעות כרטיס בדיקה.

ProductLineItem

מכיל מידע ברמת הפריט לגבי ProductPurchaseV2.

ייצוג ב-JSON
{
  "productId": string,
  "productOfferDetails": {
    object (ProductOfferDetails)
  }
}
שדות
productId

string

מזהה המוצר שנרכש (לדוגמה, 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

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

purchaseOptionId

string

המזהה של אפשרות הרכישה.

rentOfferDetails

object (RentOfferDetails)

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

offerToken

string

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

quantity

integer

הכמות שמשויכת לרכישה של המוצר מתוך האפליקציה.

refundableQuantity

integer

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

consumptionState

enum (ConsumptionState)

פלט בלבד. מצב הצריכה של הרכישה.

RentOfferDetails

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

פרטים על פריט להשכרה.

ConsumptionState

מצבי צריכה אפשריים.

טיפוסים בני מנייה (enum)
CONSUMPTION_STATE_UNSPECIFIED לא צוין מצב הצריכה. אסור להגדיר את הערך הזה.
CONSUMPTION_STATE_YET_TO_BE_CONSUMED עדיין לא נצרך.
CONSUMPTION_STATE_CONSUMED כבר נעשה בו שימוש.

AcknowledgementState

סטטוס האישור של המוצר בחיוב חד-פעמי.

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

Methods

getproductpurchasev2

בדיקת סטטוס הרכישה והשימוש בפריט בתוך האפליקציה.

קודי שגיאה

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

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

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