- المورد: SubscriptionPurchaseV2
- SubscriptionState
- PausedStateContext
- CanceledStateContext
- UserInitiatedCancellation
- CancelSurveyResult
- CancelSurveyReason
- SystemInitiatedCancellation
- DeveloperInitiatedCancellation
- ReplacementCancellation
- TestPurchase
- AcknowledgementState
- ExternalAccountIdentifiers
- SubscribeWithGoogleInfo
- SubscriptionPurchaseLineItem
- AutoRenewingPlan
- SubscriptionItemPriceChangeDetails
- PriceChangeMode
- PriceChangeState
- InstallmentPlan
- PendingCancellation
- PrepaidPlan
- OfferDetails
- DeferredItemReplacement
- الطُرق
المرجع: SubscriptionPurchaseV2
يشير إلى حالة شراء اشتراك المستخدم.
تمثيل JSON |
---|
{ "kind": string, "regionCode": string, "lineItems": [ { object ( |
الحقول | |
---|---|
kind |
يمثِّل هذا النوع عنصر SubscriptionPurchaseV2 في خدمة androidpublisher. |
regionCode |
رمز بلد/منطقة الفوترة للمستخدم في وقت منح الاشتراك وفقًا لمعيار ISO 3166-1 alpha-2 |
lineItems[] |
معلومات على مستوى المنتج أو الخدمة عن شراء اشتراك يجب أن تكون جميع العناصر ضمن عملية الشراء نفسها إما مع AutoRenewingPlan أو جميعها خطة مسبقة الدفع. |
startTime |
وقت منح الاشتراك لم يتم ضبطه للاشتراكات المعلّقة (تم إنشاء الاشتراك ولكنه في انتظار الدفع أثناء الاشتراك). طابع زمني بتنسيق RFC3339 حسب التوقيت العالمي المنسَّق (UTC) "زولو" بدقة نانوثانية وما يصل إلى تسعة أرقام كسرية. أمثلة: |
subscriptionState |
الحالة الحالية للاشتراك. |
latestOrderId |
مُعرّف الطلب لأحدث طلب مرتبط بشراء الاشتراك. بالنسبة إلى التجديد التلقائي للاشتراك، هذا هو مُعرّف الطلب لطلب الاشتراك إذا لم يتم تجديده بعد، أو معرّف آخر طلب متكرر (طلب ناجح أو في انتظار المراجعة أو مرفوض). بالنسبة إلى الاشتراك المدفوع مسبقًا، هذا هو مُعرّف الطلب المرتبط بالرمز المميز للشراء الذي تم طلبه. |
linkedPurchaseToken |
رمز الشراء المميّز للاشتراك القديم إذا كان هذا الاشتراك أيًا مما يلي: * إعادة الاشتراك في اشتراك مُلغى ولكنه لم يتم انتهاء صلاحيته * ترقية الاشتراك أو الرجوع إلى إصدار سابق من اشتراك سابق * يمكنك التحويل من اشتراك مدفوع مسبقًا إلى اشتراك يتم تجديده تلقائيًا. * يمكنك التحويل من اشتراك يتم تجديده تلقائيًا إلى اشتراك مدفوع مسبقًا. * إضافة رصيد إلى اشتراك مسبق الدفع |
pausedStateContext |
سياق إضافي حول الاشتراكات المتوقّفة مؤقتًا لا يتوفّر هذا الإعداد إلا إذا كان الاشتراك يتضمّن حاليًا SubscriptionState SUBSCRIPTION_state_PAUSE. |
canceledStateContext |
سياق إضافي حول الاشتراكات الملغاة لا يتوفّر هذا الإعداد إلا إذا كان الاشتراك يتضمن حاليًا SubscriptionState SUBSCRIPTION_state_CANCELED أو SUBSCRIPTION_state_EXPIRED. |
testPurchase |
لا يتوفّر العرض إلا إذا كانت عملية شراء الاشتراك هذه عبارة عن عملية شراء تجريبية. |
acknowledgementState |
حالة الإقرار بالاشتراك. |
externalAccountIdentifiers |
معرّف حساب المستخدم في الخدمة التابعة لجهة خارجية |
subscribeWithGoogleInfo |
الملف الشخصي للمستخدم مرتبط بعمليات الشراء التي تم إجراؤها باستخدام ميزة "اشترِك مع Google". |
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 على "خطأ" لجميع العناصر. |
SUBSCRIPTION_STATE_EXPIRED |
انتهت صلاحية الاشتراك. تتضمّن جميع العناصر سمة expiryTime في الماضي. |
SUBSCRIPTION_STATE_PENDING_PURCHASE_CANCELED |
تم إلغاء المعاملة المعلّقة للاشتراك. إذا كانت عملية الشراء المُعلّقة هذه تتعلق باشتراك حالي، استخدِم linkedPurchaseToken لمعرفة الحالة الحالية لهذا الاشتراك. |
PausedStateContext
معلومات خاصة باشتراك في حالة الإيقاف المؤقت.
تمثيل JSON |
---|
{ "autoResumeTime": string } |
الحقول | |
---|---|
autoResumeTime |
وقت استئناف الاشتراك تلقائيًا طابع زمني بتنسيق RFC3339 حسب التوقيت العالمي المنسَّق (UTC) "زولو" بدقة نانوثانية وما يصل إلى تسعة أرقام كسرية. أمثلة: |
CanceledStateContext
معلومات خاصة باشتراك في حالة SUBSCRIPTION_state_CANCELED أو SUBSCRIPTION_state_EXPIRED.
تمثيل JSON |
---|
{ // Union field |
الحقول | |
---|---|
حقل الاتحاد cancellation_reason . سبب إلغاء الاشتراك يمكن أن يكون cancellation_reason واحدًا فقط مما يلي: |
|
userInitiatedCancellation |
ألغى المستخدم الاشتراك. |
systemInitiatedCancellation |
تم إلغاء الاشتراك من قِبل النظام، مثلاً بسبب مشكلة في الفوترة. |
developerInitiatedCancellation |
تم إلغاء الاشتراك من قِبل المطوّر. |
replacementCancellation |
تم استبدال الاشتراك باشتراك جديد. |
UserInitiatedCancellation
معلومات خاصة بعمليات الإلغاء التي بدأها المستخدمون.
تمثيل JSON |
---|
{
"cancelSurveyResult": {
object ( |
الحقول | |
---|---|
cancelSurveyResult |
المعلومات التي يقدّمها المستخدم عند إكمال عملية إلغاء الاشتراك (استطلاع حول سبب الإلغاء) |
cancelTime |
الوقت الذي ألغى فيه المستخدم الاشتراك وقد يظل بإمكان المستخدم الوصول إلى الاشتراك بعد هذا الوقت. استخدِم lineItems.expiry_time لتحديد ما إذا كان لا يزال بإمكان المستخدم الوصول إليه. طابع زمني بتنسيق RFC3339 حسب التوقيت العالمي المنسَّق (UTC) "زولو" بدقة نانوثانية وما يصل إلى تسعة أرقام كسرية. أمثلة: |
CancelSurveyResult
نتيجة استطلاع أسباب الإلغاء عندما ألغى المستخدم الاشتراك.
تمثيل JSON |
---|
{
"reason": enum ( |
الحقول | |
---|---|
reason |
السبب الذي اختاره المستخدم في استطلاع أسباب الإلغاء |
reasonUserInput |
يتم الضبط فقط على CANCEL_SURVEY_REASON_OTHERS. هذا هو رد المستخدم الحر على الاستبيان. |
CancelSurveyReason
السبب الذي اختاره المستخدم في استطلاع أسباب الإلغاء
عمليات التعداد | |
---|---|
CANCEL_SURVEY_REASON_UNSPECIFIED |
سبب غير محدَّد في إلغاء الاستطلاع. |
CANCEL_SURVEY_REASON_NOT_ENOUGH_USAGE |
عدم استخدام الاشتراك بشكل كافٍ |
CANCEL_SURVEY_REASON_TECHNICAL_ISSUES |
حدوث مشاكل فنية أثناء استخدام التطبيق |
CANCEL_SURVEY_REASON_COST_RELATED |
المشاكل المتعلّقة بالتكلفة. |
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 |
معرّف حساب المستخدم في الخدمة التابعة لجهة خارجية لا يتوفّر هذا العرض إلا إذا تم ربط الحساب كجزء من مسار شراء الاشتراك. |
obfuscatedExternalAccountId |
إصدار مشفَّر من رقم التعريف يرتبط بشكلٍ فريد بحساب المستخدم في تطبيقك. يجب إتاحة العرض لعمليات الشراء التالية: * في حال تم ربط الحساب كجزء من مسار شراء الاشتراك. * تم تحديده باستخدام https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedaccountid عند إجراء عملية الشراء. |
obfuscatedExternalProfileId |
إصدار مشفَّر من المعرّف يرتبط بشكل فريد بالملف الشخصي للمستخدم في تطبيقك. لا تظهر هذه المعلومات إلا إذا تم تحديدها باستخدام 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 |
معرّف الملف الشخصي في Google للمستخدم عند شراء الاشتراك. |
profileName |
اسم الملف الشخصي للمستخدم عند شراء الاشتراك. |
emailAddress |
عنوان البريد الإلكتروني للمستخدم عند شراء الاشتراك. |
givenName |
الاسم المحدّد للمستخدم عند شراء الاشتراك |
familyName |
اسم عائلة المستخدم عند شراء الاشتراك. |
SubscriptionPurchaseLineItem
معلومات على مستوى المنتج أو الخدمة عن شراء اشتراك
تمثيل JSON |
---|
{ "productId": string, "expiryTime": string, // Union field |
الحقول | |
---|---|
productId |
معرّف المنتج الذي تم شراؤه (على سبيل المثال، "month001"). |
expiryTime |
الوقت الذي انتهت فيه صلاحية الاشتراك أو ستنتهي صلاحيته ما لم يتم تمديد إمكانية الوصول (مثلاً، تجديد) طابع زمني بتنسيق RFC3339 حسب التوقيت العالمي المنسَّق (UTC) "زولو" بدقة نانوثانية وما يصل إلى تسعة أرقام كسرية. أمثلة: |
حقل الاتحاد plan_type . نوع خطة الاشتراك يمكن أن يكون plan_type واحدًا فقط مما يلي: |
|
autoRenewingPlan |
يتم تجديد العنصر تلقائيًا. |
prepaidPlan |
السلعة مُسبقة الدفع. |
offerDetails |
تفاصيل العرض لهذه السلعة. |
حقل الاتحاد deferred_item_change . يتوفّر هذا الحقل عندما يكون هناك تغيير مؤجل في أحد العناصر. يمكن إما إزالته أو استبداله. يمكن أن يكون deferred_item_change واحدًا فقط مما يلي: |
|
deferredItemReplacement |
معلومات حول استبدال السلعة المؤجلة |
AutoRenewingPlan
المعلومات المرتبطة بخطة التجديد التلقائي
تمثيل JSON |
---|
{ "autoRenewEnabled": boolean, "priceChangeDetails": { object ( |
الحقول | |
---|---|
autoRenewEnabled |
إذا كان الاشتراك مضبوطًا على التجديد التلقائي في الوقت الحالي، مثلاً عدم إلغاء المستخدم للاشتراك |
priceChangeDetails |
تشير هذه السمة إلى معلومات حول آخر تغيير في سعر السلعة منذ الاشتراك في الاشتراك. |
installmentDetails |
الالتزام بخطة الأقساط والمعلومات المتعلقة بخطة التجديد التلقائي |
SubscriptionItemPriceChangeDetails
المعلومات المتعلّقة بتغيير سعر سلعة الاشتراك
تمثيل JSON |
---|
{ "newPrice": { object ( |
الحقول | |
---|---|
newPrice |
السعر المتكرر الجديد لعنصر الاشتراك |
priceChangeMode |
يحدّد "وضع تغيير السعر" طريقة تغيير سعر الاشتراك. |
priceChangeState |
الإشارة إلى التغيير في السعر حاليًا. |
expectedNewPriceChargeTime |
وقت التجديد الذي سيصبح فيه تغيير السعر ساريًا لدى المستخدم يخضع هذا الخيار للتغيير(لوقت مستقبلي) بسبب الحالات التي يتغيّر فيها وقت التجديد، مثل الإيقاف المؤقت. تتم تعبئة هذا الحقل فقط في حال عدم سريان تغيير السعر. طابع زمني بتنسيق RFC3339 حسب التوقيت العالمي المنسَّق (UTC) "زولو" بدقة نانوثانية وما يصل إلى تسعة أرقام كسرية. أمثلة: |
PriceChangeMode
يتم تغيير وضع السعر.
عمليات التعداد | |
---|---|
PRICE_CHANGE_MODE_UNSPECIFIED |
لم يتم تحديد وضع تغيير السعر. يجب عدم ضبط هذه القيمة مطلقًا. |
PRICE_DECREASE |
ما إذا كان سعر الاشتراك ينخفض |
PRICE_INCREASE |
في حال زيادة سعر الاشتراك وكان على المستخدم قبوله. |
OPT_OUT_PRICE_INCREASE |
إذا كان سعر الاشتراك يرتفع مع وضع الإيقاف. |
PriceChangeState
حالة تغيّر السعر.
عمليات التعداد | |
---|---|
PRICE_CHANGE_STATE_UNSPECIFIED |
لم يتم تحديد حالة تغيير السعر. يجب عدم استخدام هذه القيمة. |
OUTSTANDING |
في انتظار موافقة المستخدم على تغيير السعر. |
CONFIRMED |
يتم تأكيد تطبيق السعر الجديد للمستخدم. |
APPLIED |
يتم تطبيق التغيير في السعر، أي أنّه قد بدأ تطبيق السعر الجديد من المستخدم. |
InstallmentPlan
معلومات حول خطة الأقساط.
تمثيل JSON |
---|
{
"initialCommittedPaymentsCount": integer,
"subsequentCommittedPaymentsCount": integer,
"remainingCommittedPaymentsCount": integer,
"pendingCancellation": {
object ( |
الحقول | |
---|---|
initialCommittedPaymentsCount |
إجمالي عدد الدفعات التي يلتزم بها المستخدم في البداية. |
subsequentCommittedPaymentsCount |
إجمالي عدد الدفعات التي سيلتزم بها المستخدم بعد كل مدة اشتراك يعني الخيار "فارغ" أنّ خطة الأقساط ستعود إلى وضعها الطبيعي الذي يتم تجديده تلقائيًا بعد انتهاء مدة الاشتراك الأولية. |
remainingCommittedPaymentsCount |
إجمالي عدد الدفعات المُلتزم بها المتبقية والتي يجب دفعها في دورة التجديد هذه. |
pendingCancellation |
وفي حال توفّرها، تكون خطة الأقساط هذه في انتظار الإلغاء. ولا يحدث الإلغاء إلا بعد أن ينتهي المستخدم من جميع الدفعات المُلتزَم بها. |
PendingCancellation
لا يحتوي هذا النوع على أي حقول.
وهو مؤشر على ما إذا كانت هناك عملية إلغاء معلّقة في خطة الأقساط الافتراضية. ولا يحدث الإلغاء إلا بعد أن ينتهي المستخدم من جميع الدفعات المُلتزَم بها.
PrepaidPlan
المعلومات المتعلقة بخطة الدفع المُسبَق.
تمثيل JSON |
---|
{ "allowExtendAfterTime": string } |
الحقول | |
---|---|
allowExtendAfterTime |
وفي حال توفّره، هذا هو الوقت الذي يُسمح بعده بإجراء عمليات شراء رصيد في خطة الدفع المُسبَق. لن تكون متوفرة في خطط الدفع المُسبق المنتهية الصلاحية. طابع زمني بتنسيق RFC3339 حسب التوقيت العالمي المنسَّق (UTC) "زولو" بدقة نانوثانية وما يصل إلى تسعة أرقام كسرية. أمثلة: |
OfferDetails
معلومات تفاصيل العرض المرتبطة بعنصر شراء.
تمثيل JSON |
---|
{ "offerTags": [ string ], "basePlanId": string, "offerId": string } |
الحقول | |
---|---|
offerTags[] |
علامات أحدث العروض المرتبطة بالعرض الترويجي ويتضمّن علامات مكتسَبة من الخطة الأساسية. |
basePlanId |
معرّف الخطة الأساسية. متاح لجميع الخطط الأساسية والعروض. |
offerId |
معرّف العرض الترويجي تتوفّر هذه الميزة للعروض المخفَّضة فقط. |
DeferredItemReplacement
معلومات متعلّقة بتأجيل استبدال السلعة
تمثيل JSON |
---|
{ "productId": string } |
الحقول | |
---|---|
productId |
productId الذي سيحل محل productId الحالي. |
الطُرق |
|
---|---|
|
الحصول على بيانات وصفية حول اشتراك |
|
يمكنك إبطال شراء اشتراك للمستخدم. |