- المورد: Subscription BuyV2
- SubscriptionState
- PausedStateContext
- CanceledStateContext
- UserInitiatedCancellation
- CancelSurveyResult
- CancelSurveyReason
- SystemInitiatedCancellation
- DeveloperInitiatedCancellation
- ReplacementCancellation
- TestPurchase
- AcknowledgementState
- ExternalAccountIdentifiers (معرّفات الحسابات الخارجية)
- SubscribeWithGoogleInfo.
- SubscriptionPurchaseLineItem
- AutoRenewingPlan
- SubscriptionItemPriceChangeDetails
- PriceChangeMode
- PriceChangeState
- PrepaidPlan
- OfferDetails
- DeferredItemReplacement
- الطُرق
المرجع: Subscription PurchaseV2
تشير هذه السمة إلى حالة عملية شراء اشتراك المستخدِم.
تمثيل JSON |
---|
{ "kind": string, "regionCode": string, "lineItems": [ { object ( |
الحقول | |
---|---|
kind |
يمثل هذا النوع عنصر SubscriptionPurchaseV2 في خدمة androidpublisher. |
regionCode |
رمز منطقة/بلد إرسال الفواتير الخاص بالمستخدم في وقت منح الاشتراك وفقًا لمعيار ISO 3166-1 alpha-2. |
lineItems[] |
معلومات على مستوى السلعة لشراء اشتراك يجب أن تكون جميع العناصر في عملية الشراء نفسها إما مع AutoRenewingPlan أو جميعها مع PrepaidPlan. |
startTime |
وقت منح الاشتراك. لم يتم ضبطه للاشتراكات المعلّقة (تم إنشاء الاشتراك ولكنه في انتظار الدفع أثناء عملية الاشتراك). طابع زمني بتنسيق RFC3339 UTC "Zulu" ، بدقة نانو ثانية وما يصل إلى تسعة أرقام كسرية. أمثلة: |
subscriptionState |
الحالة الحالية للاشتراك. |
latestOrderId |
مُعرّف الطلب لأحدث طلب مرتبط بعملية شراء الاشتراك. بالنسبة إلى اشتراك التجديد التلقائي، يكون هذا هو مُعرّف الطلب الخاص بطلب الاشتراك إذا لم يتم تجديده بعد، أو مُعرّف آخر طلب متكرّر (طلب ناجح أو في انتظار المراجعة أو مرفوض). بالنسبة إلى الاشتراك المدفوع مسبقًا، هذا هو مُعرّف الطلب المرتبط بالرمز المميّز للشراء المطلوب. |
linkedPurchaseToken |
الرمز المميّز لشراء الاشتراك القديم إذا كان هذا الاشتراك واحدًا مما يلي: * إعادة الاشتراك في اشتراك تم إلغاؤه ولكن لم تنتهِ صلاحيته * الترقية أو الرجوع إلى إصدار سابق من اشتراك سابق. * التحويل من اشتراك مدفوع مسبقًا إلى اشتراك يتجدّد تلقائيًا. * التحويل من اشتراك يتم تجديده تلقائيًا إلى اشتراك مدفوع مسبقًا. * إضافة رصيد إلى اشتراك مسبق الدفع |
pausedStateContext |
سياق إضافي حول الاشتراكات المتوقفة مؤقتًا لا يظهر هذا الخيار إلا إذا كان الاشتراك يحتوي حاليًا على subscriptionState SUBSCRIPTION_STATE_PAUSED. |
canceledStateContext |
سياق إضافي حول الاشتراكات الملغاة لا يظهر إلا إذا كان الاشتراك يحتوي حاليًا على subscriptionState SUBSCRIPTION_STATE_CANCELED. |
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 |
انتهت صلاحية الاشتراك. جميع العناصر لها وقت انتهاء صلاحية في الماضي. |
PausedStateContext
المعلومات الخاصة بالاشتراك في حالة الإيقاف المؤقت.
تمثيل JSON |
---|
{ "autoResumeTime": string } |
الحقول | |
---|---|
autoResumeTime |
الوقت الذي سيتم فيه استئناف الاشتراك تلقائيًا. طابع زمني بتنسيق RFC3339 UTC "Zulu" ، بدقة نانو ثانية وما يصل إلى تسعة أرقام كسرية. أمثلة: |
CanceledStateContext
المعلومات المتعلّقة باشتراك مُلغى
تمثيل JSON |
---|
{ // Union field |
الحقول | |
---|---|
حقل الاتحاد cancellation_reason سبب إلغاء الاشتراك: يمكن أن تكون السمة "cancellation_reason " واحدة فقط مما يلي: |
|
userInitiatedCancellation |
تم إلغاء الاشتراك من قِبل المستخدم. |
systemInitiatedCancellation |
تم إلغاء الاشتراك من قِبل النظام بسبب مشكلة في الفوترة مثلاً. |
developerInitiatedCancellation |
تم إلغاء الاشتراك من قِبل المطوّر. |
replacementCancellation |
تم استبدال الاشتراك باشتراك جديد. |
UserInitiatedCancellation
معلومات خاصة بعمليات الإلغاء التي بدأها المستخدمون.
تمثيل JSON |
---|
{
"cancelSurveyResult": {
object ( |
الحقول | |
---|---|
cancelSurveyResult |
المعلومات التي يقدّمها المستخدم عند إكمال عملية إلغاء الاشتراك (استطلاع سبب الإلغاء) |
cancelTime |
الوقت الذي ألغى المستخدم فيه الاشتراك. قد يظل بإمكان المستخدم الوصول إلى الاشتراك بعد هذه الفترة. يمكنك استخدام lineItems.expiry_time لتحديد ما إذا كان لا يزال لدى المستخدم إمكانية الوصول. طابع زمني بتنسيق RFC3339 UTC "Zulu" ، بدقة نانو ثانية وما يصل إلى تسعة أرقام كسرية. أمثلة: |
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 |
معرّف المنتج الذي تم شراؤه (على سبيل المثال، "شهريًا001"). |
expiryTime |
الوقت الذي تنتهي فيه صلاحية الاشتراك أو ستنتهي صلاحيته ما لم يتم تمديد الاشتراك (مثل التجديد). طابع زمني بتنسيق RFC3339 UTC "Zulu" ، بدقة نانو ثانية وما يصل إلى تسعة أرقام كسرية. أمثلة: |
حقل الاتحاد plan_type نوع خطة الاشتراك يمكن أن تكون السمة "plan_type " واحدة فقط مما يلي: |
|
autoRenewingPlan |
يتم تجديد العنصر تلقائيًا. |
prepaidPlan |
السلعة مُسبقة الدفع. |
offerDetails |
تفاصيل العرض لهذا العنصر. |
حقل الاتحاد deferred_item_change يكون هذا الحقل متاحًا عند حدوث تغيير مؤجل للعنصر. يمكن إزالته أو استبداله. يمكن أن تكون السمة "deferred_item_change " واحدة فقط مما يلي: |
|
deferredItemReplacement |
معلومات حول استبدال العناصر المؤجَّلة |
AutoRenewingPlan
المعلومات المتعلّقة بخطة التجديد التلقائي
تمثيل JSON |
---|
{
"autoRenewEnabled": boolean,
"priceChangeDetails": {
object ( |
الحقول | |
---|---|
autoRenewEnabled |
إذا كان الاشتراك مضبوطًا على التجديد التلقائي حاليًا، مثلاً إذا لم يلغي المستخدم الاشتراك |
priceChangeDetails |
معلومات عن آخر تغيير في سعر السلعة منذ الاشتراك. |
SubscriptionItemPriceChangeDetails
المعلومات المتعلقة بتغيير سعر عنصر الاشتراك.
تمثيل JSON |
---|
{ "newPrice": { object ( |
الحقول | |
---|---|
newPrice |
سعر جديد متكرّر لعنصر الاشتراك |
priceChangeMode |
يحدِّد وضع تغيير السعر كيفية تغيّر سعر عنصر الاشتراك. |
priceChangeState |
اذكر التغييرات التي طرأت على السعر حاليًا. |
expectedNewPriceChargeTime |
وقت التجديد الذي سيصبح فيه تغيير السعر ساريًا بالنسبة إلى المستخدم. ويخضع ذلك للتغيير(إلى وقت مستقبلي) بسبب الحالات التي يتغيّر فيها وقت التجديد، مثل الإيقاف المؤقت. تتم تعبئة هذا الحقل فقط في حال عدم سريان التغيير في السعر. طابع زمني بتنسيق RFC3339 UTC "Zulu" ، بدقة نانو ثانية وما يصل إلى تسعة أرقام كسرية. أمثلة: |
PriceChangeMode
نمط تغيير السعر
عمليات التعداد | |
---|---|
PRICE_CHANGE_MODE_UNSPECIFIED |
وضع تغيير السعر غير محدد. يجب عدم ضبط هذه القيمة مطلقًا. |
PRICE_DECREASE |
في حال انخفاض سعر الاشتراك |
PRICE_INCREASE |
في حال ارتفاع سعر الاشتراك واضطر المستخدم إلى قبوله |
OPT_OUT_PRICE_INCREASE |
في حال ارتفاع سعر الاشتراك عند تفعيل وضع الإيقاف |
PriceChangeState
حالة تغيُّر السعر
عمليات التعداد | |
---|---|
PRICE_CHANGE_STATE_UNSPECIFIED |
حالة تغيير السعر غير محددة. يجب عدم استخدام هذه القيمة. |
OUTSTANDING |
في انتظار موافقة المستخدم على تغيير السعر. |
CONFIRMED |
يتم تأكيد حدوث تغيير السعر للمستخدم. |
APPLIED |
يسري السعر الجديد، أي عندما يبدأ تحصيل السعر الجديد من المستخدم. |
PrepaidPlan
المعلومات المتعلّقة بخطة دفع مُسبق
تمثيل JSON |
---|
{ "allowExtendAfterTime": string } |
الحقول | |
---|---|
allowExtendAfterTime |
هذا هو الوقت الذي يُسمح بعده بعمليات شراء رصيد لخطة الدفع المُسبَق، إن توفّر. لن تكون هذه الخيارات متوفّرة عند استخدام خطط الدفع المُسبق المنتهية الصلاحية. طابع زمني بتنسيق RFC3339 UTC "Zulu" ، بدقة نانو ثانية وما يصل إلى تسعة أرقام كسرية. أمثلة: |
OfferDetails
معلومات تفاصيل العرض ذات الصلة ببند شراء.
تمثيل JSON |
---|
{ "offerTags": [ string ], "basePlanId": string, "offerId": string } |
الحقول | |
---|---|
offerTags[] |
علامات أحدث العرض المرتبطة بالعرض. ويتضمن ذلك العلامات المكتسبة من الخطة الأساسية. |
basePlanId |
رقم تعريف الخطة الأساسية. تتوفّر هذه الميزة لجميع الخطط الأساسية والعروض الترويجية. |
offerId |
معرّف العرض. هذه الميزة متاحة فقط للعروض الترويجية المخفَّضة. |
DeferredItemReplacement
معلومات متعلّقة باستبدال العناصر بعد تأجيلها
تمثيل JSON |
---|
{ "productId": string } |
الحقول | |
---|---|
productId |
سيحل معرّف productId محل معرّف المنتج الحالي. |
الطُرق |
|
---|---|
|
الحصول على بيانات وصفية حول الاشتراك |
|
إبطال عملية شراء الاشتراك للمستخدم |