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 التالية:

رمز الخطأ السبب الوصف الدقة
400 invalidPurchaseState عملية الشراء ليست في حالة صالحة لتنفيذ العملية المطلوبة. على سبيل المثال، قد تحاول تأكيد عملية شراء تم استهلاكها من قبل أو إلغاء اشتراك غير نشط. تحقَّق من الحالة الحالية للمرجع باستخدام واجهة برمجة التطبيقات Get المناسبة قبل محاولة إجراء العملية. تأكَّد من أنّ المرجع في حالة مناسبة للإجراء.
400 invalidValue تم إدخال قيمة غير صالحة في الطلب. يتم عرض هذا الرمز غالبًا عند تقديم رمز مميّز غير صالح أو غير مكتمل لعملية الشراء. صحِّح قيمة الحقل غير الصالحة في نص الطلب أو المَعلمات استنادًا إلى مرجع واجهة برمجة التطبيقات.
400 productNotOwnedByUser رمز الشراء المقدَّم صالح، ولكن المستخدم لا يملك المنتج حاليًا. يمكن أن يحدث ذلك إذا تم ردّ الأموال المدفوعة مقابل عملية الشراء أو تم إبطالها أو انتهت صلاحيتها قبل تأكيدها. تحقَّق من الحالة الحالية للمرجع باستخدام واجهة برمجة التطبيقات Get المناسبة قبل محاولة إجراء العملية. تأكَّد من أنّ المرجع في حالة مناسبة للإجراء.
400 purchaseTokenMismatch لا يتطابق رمز الشراء المقدَّم مع عملية الشراء أو اسم الحزمة أو رقم تعريف الاشتراك أو رقم تعريف المنتج. تأكَّد من صحة جميع التفاصيل الواردة في الطلب ومن تطابقها مع بعضها البعض.
400 required لم يتم إدخال حقل أو مَعلمة مطلوبة في الطلب. راجِع مستندات واجهة برمجة التطبيقات للتأكّد من تضمين جميع الحقول والمَعلمات الإلزامية.
400 unsupportedIabType لا تتوافق العملية مع نوع الفوترة داخل التطبيق المحدّد. تأكَّد من أنّ طريقة واجهة برمجة التطبيقات متوافقة مع نوع العنصر الذي تتم إدارته.
403 userInsufficientPermission لا يملك المستخدم الإذن الكافي لتنفيذ العملية المطلوبة. تأكَّد من أنّ المستخدم المصادَق عليه لديه الأذونات اللازمة في Google Play Console. لمزيد من التفاصيل، يُرجى الاطّلاع على استخدام حساب خدمة.
404 notFound تعذَّر العثور على المورد المطلوب. تأكَّد من صحة المعرّفات (مثل رمز الشراء أو اسم الحزمة أو معرّف المنتج أو معرّف الاشتراك).
409 concurrentUpdate تمت محاولة تعديل عنصر يتم تعديله في الوقت نفسه. أعِد محاولة إرسال الطلب باستخدام خوارزمية الرقود الأسي الثنائي. تجنَّب إجراء تعديلات متزامنة على المرجع نفسه.
5xx Generic error حدث خطأ عام في خادم Google Play. أعِد محاولة إرسال طلبك.

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