REST Resource: purchases.subscriptionsv2

المرجع: SubscriptionPurchaseV2

تشير إلى حالة شراء اشتراك المستخدم.

تمثيل JSON
{
  "kind": string,
  "regionCode": string,
  "lineItems": [
    {
      object (SubscriptionPurchaseLineItem)
    }
  ],
  "startTime": string,
  "subscriptionState": enum (SubscriptionState),
  "latestOrderId": string,
  "linkedPurchaseToken": string,
  "pausedStateContext": {
    object (PausedStateContext)
  },
  "canceledStateContext": {
    object (CanceledStateContext)
  },
  "testPurchase": {
    object (TestPurchase)
  },
  "acknowledgementState": enum (AcknowledgementState),
  "externalAccountIdentifiers": {
    object (ExternalAccountIdentifiers)
  },
  "subscribeWithGoogleInfo": {
    object (SubscribeWithGoogleInfo)
  },
  "outOfAppPurchaseContext": {
    object (OutOfAppPurchaseContext)
  }
}
الحقول
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)

تمثّل هذه السمة حالة الاشتراك الحالية.

latestOrderId
(deprecated)

string

تم إيقافها نهائيًا: استخدِم lineItems.latest_successful_order_id بدلاً منها. معرّف الطلب الأخير المرتبط بشراء الاشتراك. بالنسبة إلى الاشتراك الذي يتم تجديده تلقائيًا، يكون هذا هو معرّف طلب الاشتراك إذا لم يتم تجديده بعد، أو معرّف آخر طلب متكرّر (طلب ناجح أو معلّق أو مرفوض). بالنسبة إلى الاشتراك المدفوع مسبقًا، هذا هو معرّف الطلب المرتبط برمز الشراء المميز الذي تم الاستعلام عنه.

linkedPurchaseToken

string

الرمز المميز لعملية شراء الاشتراك القديم إذا كان هذا الاشتراك أحد ما يلي: * إعادة الاشتراك في اشتراك تم إلغاؤه ولكن لم تنتهِ صلاحيته * الترقية أو الرجوع إلى إصدار أقدم من اشتراك سابق * الانتقال من خطة دفع مُسبق إلى اشتراك يتم تجديده تلقائيًا * الانتقال من اشتراك يتم تجديده تلقائيًا إلى اشتراك مدفوع مُسبقًا * إضافة رصيد إلى اشتراك بالدفع المُسبق

pausedStateContext

object (PausedStateContext)

سياق إضافي حول الاشتراكات المتوقّفة مؤقتًا لا يتم عرض هذا الحقل إلا إذا كان الاشتراك يتضمّن حاليًا قيمة SUBSCRIPTION_STATE_PAUSED في subscriptionState.

canceledStateContext

object (CanceledStateContext)

معلومات إضافية حول الاشتراكات الملغاة لا يتم عرض هذا الحقل إلا إذا كانت قيمة subscriptionState الحالية هي SUBSCRIPTION_STATE_CANCELED أو SUBSCRIPTION_STATE_EXPIRED.

testPurchase

object (TestPurchase)

يظهر هذا الحقل فقط إذا كانت عملية شراء الاشتراك هذه عبارة عن عملية شراء اختبارية.

acknowledgementState

enum (AcknowledgementState)

تعرض هذه السمة حالة تأكيد الاشتراك.

externalAccountIdentifiers

object (ExternalAccountIdentifiers)

معرّف حساب المستخدم في الخدمة التابعة لجهة خارجية

subscribeWithGoogleInfo

object (SubscribeWithGoogleInfo)

الملف الشخصي للمستخدم المرتبط بعمليات الشراء التي تم إجراؤها باستخدام "الاشتراك من خلال Google"

outOfAppPurchaseContext

object (OutOfAppPurchaseContext)

مزيد من المعلومات حول عمليات الشراء خارج التطبيق لا تظهر هذه المعلومات إلا لعمليات شراء إعادة الاشتراك (عمليات شراء الاشتراك التي تتم بعد انتهاء صلاحية الاشتراك السابق في المنتج نفسه) التي تتم من خلال مركز الاشتراكات في Google Play. ستتم إزالة هذا الحقل بعد إقرارك بالاشتراك.

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

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

السبب الذي اختاره المستخدم في استطلاع الإلغاء

عمليات التعداد
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

حالات الإقرار المحتملة للاشتراك.

عمليات التعداد
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)
  }
}
الحقول
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 يومًا بعد وقت الشراء.

AutoRenewingPlan

معلومات ذات صلة بخطة تتجدّد تلقائيًا

تمثيل JSON
{
  "autoRenewEnabled": boolean,
  "recurringPrice": {
    object (Money)
  },
  "priceChangeDetails": {
    object (SubscriptionItemPriceChangeDetails)
  },
  "installmentDetails": {
    object (InstallmentPlan)
  },
  "priceStepUpConsentDetails": {
    object (PriceStepUpConsentDetails)
  }
}
الحقول
autoRenewEnabled

boolean

إذا كان الاشتراك مضبوطًا حاليًا على التجديد التلقائي، مثلاً لم يلغِ المستخدم الاشتراك

recurringPrice

object (Money)

السعر المتكرّر الحالي للخطة التي تتجدّد تلقائيًا يُرجى العِلم أنّ السعر لا يأخذ في الاعتبار الخصومات ولا يشمل الضرائب في حال الأسعار غير شاملة للضريبة، لذا يُرجى الاتصال بواجهة برمجة التطبيقات orders.get بدلاً من ذلك إذا كانت هناك حاجة إلى تفاصيل المعاملة.

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

طريقة تغيير السعر

عمليات التعداد
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 (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

حالة الموافقة على زيادة السعر

عمليات التعداد
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

طريقة استبدال الاشتراك.

عمليات التعداد
REPLACEMENT_MODE_UNSPECIFIED وضع الاستبدال غير محدّد.
WITH_TIME_PRORATION سيتم احتساب الخطة الجديدة بالتناسب مع المدة المتبقية من الخطة القديمة وإضافتها إلى الخطة الجديدة.
CHARGE_PRORATED_PRICE سيتم تحصيل سعر مقسّم بالتناسب مع المدة من المستخدم مقابل الخطة الجديدة.
WITHOUT_PRORATION ستحلّ الخطة الجديدة محلّ الخطة القديمة بدون احتساب الوقت المتبقي.
CHARGE_FULL_PRICE سيتم تحصيل السعر الكامل للخطة الجديدة من المستخدم.
DEFERRED سيتم إلغاء الخطة القديمة وستصبح الخطة الجديدة سارية المفعول بعد انتهاء صلاحية الخطة القديمة.
KEEP_EXISTING ستبقى الخطة بدون تغيير عند استبدال الجهاز.

OutOfAppPurchaseContext

معلومات خاصة بعملية شراء خارج التطبيق

تمثيل JSON
{
  "expiredExternalAccountIdentifiers": {
    object (ExternalAccountIdentifiers)
  },
  "expiredPurchaseToken": string
}
الحقول
expiredExternalAccountIdentifiers

object (ExternalAccountIdentifiers)

معرّف حساب المستخدم من آخر اشتراك منتهي الصلاحية في هذا الرمز التعريفي الخاص بالوحدة التخزينية.

expiredPurchaseToken

string

الرمز المميّز لعملية شراء آخر اشتراك انتهت صلاحيته. يجب استخدام رمز الشراء المميز هذا للمساعدة في التعرّف على المستخدم فقط إذا كان الرابط بين purchaseToken والمستخدم مخزَّنًا في قاعدة البيانات. لا يمكن استخدام هذا الرمز للاتصال بواجهة برمجة التطبيقات Google Developer API إذا مرّ أكثر من 60 يومًا على انتهاء صلاحيته.

الطُرق

cancel

إلغاء عملية شراء اشتراك للمستخدم

get

الحصول على بيانات وصفية حول اشتراك

revoke

إلغاء عملية شراء اشتراك للمستخدم

رموز الخطأ

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

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

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

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

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

أعِد محاولة إرسال طلبك.
410 لم يعُد بإمكانك الاستعلام عن عملية شراء الاشتراك لأنّ صلاحيته انتهت منذ فترة طويلة. يتم طرح هذا الاستثناء عند الاستعلام عن اشتراك انتهت صلاحيته منذ أكثر من 60 يومًا. يجب ألا تستعلم عن هذه الاشتراكات بعد الآن.