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

حالات الشراء المحتملة

عمليات التعداد
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 لم يتم تحديد نوع طريقة الدفع. يجب عدم ضبط هذه القيمة مطلقًا.
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

حالات الاستهلاك المحتملة

عمليات التعداد
CONSUMPTION_STATE_UNSPECIFIED لم يتم تحديد حالة الاستهلاك. يجب عدم ضبط هذه القيمة مطلقًا.
CONSUMPTION_STATE_YET_TO_BE_CONSUMED لم يتم استهلاكها بعد.
CONSUMPTION_STATE_CONSUMED تم استهلاكها من قبل.

AcknowledgementState

حالة إقرار استلام المنتج الذي يتم تحصيل سعره مرة واحدة.

عمليات التعداد
ACKNOWLEDGEMENT_STATE_UNSPECIFIED حالة الإشعار بالاستلام غير محدَّدة.
ACKNOWLEDGEMENT_STATE_PENDING لم يتم تأكيد عملية الشراء بعد.
ACKNOWLEDGEMENT_STATE_ACKNOWLEDGED تم التصديق على عملية الشراء.

الطُرق

getproductpurchasev2

تتحقّق هذه الطريقة من حالة شراء واستهلاك منتج داخل التطبيق.

رموز الخطأ

تعرض عمليات هذا المرجع رموز خطأ HTTP التالية:

رمز الخطأ السبب الدقة
5xx حدث خطأ عام في خادم Google Play. أعِد محاولة إرسال طلبك.

إذا استمرت المشكلة، يُرجى التواصل مع مدير حسابك على Google Play أو إرسال طلب دعم. ننصحك بالاطّلاع على لوحة البيانات الخاصة بحالة Play لمعرفة ما إذا كان هناك أي انقطاع معروف في الخدمة.

409 حدث خطأ أثناء تعديل التزامن.

حدثت محاولة لتعديل عنصر قيد التعديل. على سبيل المثال، يتم الإقرار بعملية شراء من خلال استدعاء الطريقة acknowledgePurchase() في Play Billing Library واستدعاء الطريقة purchases.products.acknowledge في Play Developer API في الوقت نفسه.

أعِد محاولة إرسال طلبك.