- المورد: SubscriptionPurchaseV2
- SubscriptionState
- PausedStateContext
- CanceledStateContext
- UserInitiatedCancellation
- CancelSurveyResult
- CancelSurveyReason
- SystemInitiatedCancellation
- DeveloperInitiatedCancellation
- ReplacementCancellation
- TestPurchase
- AcknowledgementState
- ExternalAccountIdentifiers
- SubscribeWithGoogleInfo
- SubscriptionPurchaseLineItem
- AutoRenewingPlan
- SubscriptionItemPriceChangeDetails
- PriceChangeMode
- PriceChangeState
- InstallmentPlan
- PendingCancellation
- PrepaidPlan
- OfferDetails
- DeferredItemReplacement
- DeferredItemRemoval
- SignupPromotion
- OneTimeCode
- VanityCode
- الطُرق
المرجع: SubscriptionPurchaseV2
تشير إلى حالة عملية شراء اشتراك المستخدم.
تمثيل JSON |
---|
{ "kind": string, "regionCode": string, "lineItems": [ { object ( |
الحقول | |
---|---|
kind |
يمثّل هذا النوع عنصر SubscriptionPurchaseV2 في خدمة androidpublisher. |
regionCode |
تمثّل هذه السمة رمز البلد/المنطقة الذي يتم فيه تحصيل الرسوم من المستخدم وفقًا لمعيار ISO 3166-1 alpha-2 في وقت منح الاشتراك. |
lineItems[] |
معلومات على مستوى السلعة لعملية شراء اشتراك يجب أن تكون جميع السلع في عملية الشراء نفسها إما ضمن AutoRenewingPlan أو PrepaidPlan. |
startTime |
الوقت الذي تم فيه منح الاشتراك لم يتم ضبطها للاشتراكات المعلّقة (تم إنشاء الاشتراك ولكن في انتظار الدفع أثناء الاشتراك). يستخدم هذا النوع RFC 3339، حيث سيكون الناتج الذي يتم إنشاؤه دائمًا عاديًا وموحّدًا حسب المنطقة الزمنية Z، وسيستخدم 0 أو 3 أو 6 أو 9 أرقام كسرية. يتم أيضًا قبول الإزاحات غير "Z". أمثلة: |
subscriptionState |
تمثّل هذه السمة حالة الاشتراك الحالية. |
latestOrderId |
تم إيقافها نهائيًا: استخدِم lineItems.latest_successful_order_id بدلاً منها. معرّف الطلب الأخير المرتبط بشراء الاشتراك بالنسبة إلى الاشتراك الذي يتم تجديده تلقائيًا، يكون هذا هو معرّف طلب الاشتراك إذا لم يتم تجديده بعد، أو معرّف آخر طلب متكرّر (طلب ناجح أو معلّق أو مرفوض). بالنسبة إلى الاشتراك المدفوع مسبقًا، هذا هو معرّف الطلب المرتبط برمز الشراء المميز المطلوب. |
linkedPurchaseToken |
الرمز المميز للشراء الخاص بالاشتراك القديم إذا كان هذا الاشتراك أحد ما يلي: * إعادة الاشتراك في اشتراك تم إلغاؤه ولكن لم تنتهِ صلاحيته * الترقية أو الرجوع إلى إصدار أقدم من اشتراك سابق * الانتقال من خطة دفع مُسبَق إلى اشتراك يتم تجديده تلقائيًا * الانتقال من اشتراك يتم تجديده تلقائيًا إلى اشتراك مدفوع مُسبقًا * إضافة رصيد إلى اشتراك بالدفع المُسبق |
pausedStateContext |
سياق إضافي حول الاشتراكات المتوقّفة مؤقتًا لا يتم عرض هذا الحقل إلا إذا كانت قيمة subscriptionState هي SUBSCRIPTION_STATE_PAUSED. |
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 على false لجميع العناصر. |
SUBSCRIPTION_STATE_EXPIRED |
انتهت صلاحية الاشتراك. تحتوي جميع العناصر على expiryTime في الماضي. |
SUBSCRIPTION_STATE_PENDING_PURCHASE_CANCELED |
تم إلغاء المعاملة المعلّقة للاشتراك. إذا كانت عملية الشراء المعلّقة هذه مرتبطة باشتراك حالي، استخدِم linkedPurchaseToken للحصول على الحالة الحالية لهذا الاشتراك. |
PausedStateContext
معلومات خاصة باشتراك في حالة "متوقّف مؤقتًا".
تمثيل JSON |
---|
{ "autoResumeTime": string } |
الحقول | |
---|---|
autoResumeTime |
الوقت الذي سيتم فيه استئناف الاشتراك تلقائيًا يستخدم هذا النوع RFC 3339، حيث سيكون الناتج الذي يتم إنشاؤه دائمًا عاديًا وموحّدًا حسب المنطقة الزمنية Z، وسيستخدم 0 أو 3 أو 6 أو 9 أرقام كسرية. يتم أيضًا قبول الإزاحات غير "Z". أمثلة: |
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 لتحديد ما إذا كان المستخدم لا يزال لديه إذن الوصول. يستخدم هذا النوع RFC 3339، حيث سيكون الناتج الذي يتم إنشاؤه دائمًا عاديًا وموحّدًا حسب المنطقة الزمنية Z، وسيستخدم 0 أو 3 أو 6 أو 9 أرقام كسرية. يتم أيضًا قبول الإزاحات غير "Z". أمثلة: |
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, "latestSuccessfulOrderId": string, // Union field |
الحقول | |
---|---|
productId |
معرّف المنتج الذي تم شراؤه (على سبيل المثال، monthly001). |
expiryTime |
الوقت الذي انتهت فيه صلاحية الاشتراك أو ستنتهي فيه ما لم يتم تمديد فترة الوصول (مثل التجديد). يستخدم هذا النوع RFC 3339، حيث سيكون الناتج الذي يتم إنشاؤه دائمًا عاديًا وموحّدًا حسب المنطقة الزمنية Z، وسيستخدم 0 أو 3 أو 6 أو 9 أرقام كسرية. يتم أيضًا قبول الإزاحات غير "Z". أمثلة: |
latestSuccessfulOrderId |
تمثّل هذه السمة معرّف الطلب الأخير الناجح المرتبط بهذه السلعة. لا يظهر إذا كان المستخدم لا يملك العنصر بعد (على سبيل المثال، العنصر الذي تم استبداله بعنصر آخر مؤجّل). |
حقل الدمج plan_type نوع خطة الاشتراك. يمكن أن تكون plan_type إحدى القيم التالية فقط: |
|
autoRenewingPlan |
يتم تجديد الاشتراك في المنتج تلقائيًا. |
prepaidPlan |
العنصر مدفوع مسبقًا. |
offerDetails |
تفاصيل العرض لهذا المنتج |
حقل الدمج deferred_item_change يكون الحقل متوفّرًا عندما يكون للعنصر تغيير مؤجّل. يمكن إزالته أو استبداله. يمكن أن تكون deferred_item_change إحدى القيم التالية فقط: |
|
deferredItemReplacement |
معلومات حول استبدال السلع المؤجّلة |
deferredItemRemoval |
معلومات حول إزالة العناصر المؤجّلة |
signupPromotion |
تفاصيل العرض الترويجي حول هذا المنتج يتم ضبط هذا الحقل فقط إذا تم تطبيق عرض ترويجي أثناء الاشتراك. |
AutoRenewingPlan
معلومات ذات صلة بخطة تتجدّد تلقائيًا
تمثيل JSON |
---|
{ "autoRenewEnabled": boolean, "recurringPrice": { object ( |
الحقول | |
---|---|
autoRenewEnabled |
إذا كان الاشتراك مضبوطًا حاليًا على التجديد التلقائي، مثلاً لم يلغِ المستخدم الاشتراك |
recurringPrice |
السعر المتكرّر الحالي للخطة التي تتجدّد تلقائيًا يُرجى العِلم أنّ السعر لا يأخذ في الاعتبار الخصومات ولا يشمل الضرائب في حال الأسعار غير شاملة للضريبة، لذا يُرجى الاتصال بواجهة برمجة التطبيقات |
priceChangeDetails |
تمثّل هذه السمة معلومات آخر تغيير في سعر المنتج منذ الاشتراك. |
installmentDetails |
معلومات عن خطة التقسيط والولاية ذات الصلة بالخطة التي تتجدّد تلقائيًا |
SubscriptionItemPriceChangeDetails
معلومات حول تغيير سعر أحد عناصر الاشتراك
تمثيل JSON |
---|
{ "newPrice": { object ( |
الحقول | |
---|---|
newPrice |
السعر المتكرّر الجديد لمنتج الاشتراك. |
priceChangeMode |
يحدّد وضع تغيير السعر طريقة تغيير سعر المنتج في الاشتراك. |
priceChangeState |
اذكر المرحلة الحالية من تغيير السعر. |
expectedNewPriceChargeTime |
يشير إلى وقت التجديد الذي سيصبح فيه تغيير السعر ساريًا للمستخدم. قد يتغيّر هذا التاريخ(إلى وقت لاحق) في حال تم تغيير وقت التجديد، مثلاً عند إيقاف الاشتراك مؤقتًا. لا تتم تعبئة هذا الحقل إلا إذا لم يتم تطبيق تغيير السعر. يستخدم هذا النوع RFC 3339، حيث سيكون الناتج الذي يتم إنشاؤه دائمًا عاديًا وموحّدًا حسب المنطقة الزمنية Z، وسيستخدم 0 أو 3 أو 6 أو 9 أرقام كسرية. يتم أيضًا قبول الإزاحات غير "Z". أمثلة: |
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 ( |
الحقول | |
---|---|
initialCommittedPaymentsCount |
إجمالي عدد الدفعات التي يلتزم بها المستخدم في البداية. |
subsequentCommittedPaymentsCount |
إجمالي عدد الدفعات التي سيلتزم بها المستخدم بعد كل فترة التزام. يشير الخيار "فارغ" إلى أنّ خطة التقسيط ستعود إلى الاشتراك العادي الذي يتم تجديده تلقائيًا بعد الالتزام الأولي. |
remainingCommittedPaymentsCount |
إجمالي عدد الدفعات المتبقية المطلوب دفعها في دورة التجديد هذه |
pendingCancellation |
في حال توفّرها، تكون خطة التقسيط هذه في انتظار الإلغاء. لن يتم إلغاء الاشتراك إلا بعد أن يكمل المستخدم جميع الدفعات المتفق عليها. |
PendingCancellation
لا يتضمّن هذا النوع أي حقول.
هذا مؤشر يوضح ما إذا كان هناك إلغاء معلّق لخطة التقسيط الافتراضية. لن يتم إلغاء الاشتراك إلا بعد أن يكمل المستخدم جميع الدفعات المتفق عليها.
PrepaidPlan
تمثّل هذه السمة معلومات ذات صلة بخطة الدفع المُسبَق.
تمثيل JSON |
---|
{ "allowExtendAfterTime": string } |
الحقول | |
---|---|
allowExtendAfterTime |
إذا كان هذا الحقل متوفّرًا، يشير إلى الوقت الذي يُسمح بعده بإجراء عمليات شراء لإضافة رصيد إلى خطة الدفع المُسبَق. لن تظهر هذه العلامة في خطط الدفع المُسبق المنتهية الصلاحية. يستخدم هذا النوع RFC 3339، حيث سيكون الناتج الذي يتم إنشاؤه دائمًا عاديًا وموحّدًا حسب المنطقة الزمنية Z، وسيستخدم 0 أو 3 أو 6 أو 9 أرقام كسرية. يتم أيضًا قبول الإزاحات غير "Z". أمثلة: |
OfferDetails
تعرض هذه السمة معلومات تفصيلية حول عرض ترويجي مرتبط بسلعة تم شراؤها.
تمثيل JSON |
---|
{ "offerTags": [ string ], "basePlanId": string, "offerId": string } |
الحقول | |
---|---|
offerTags[] |
علامات أحدث العروض المرتبطة بالعرض وتتضمّن علامات موروثة من الخطة الأساسية. |
basePlanId |
معرّف الخطة الأساسية يجب أن يكون هذا الحقل متوفّرًا في جميع الخطط الأساسية والعروض. |
offerId |
معرّف العرض الترويجي. يظهر هذا الحقل فقط للعروض الترويجية المخفَّضة. |
DeferredItemReplacement
معلومات ذات صلة باستبدال السلع المؤجّلة
تمثيل JSON |
---|
{ "productId": string } |
الحقول | |
---|---|
productId |
معرّف المنتج الذي سيحلّ محلّ معرّف المنتج الحالي. |
DeferredItemRemoval
لا يتضمّن هذا النوع أي حقول.
معلومات ذات صلة باستبدال السلع المؤجّلة
SignupPromotion
العرض الترويجي الذي تم تطبيقه على هذه السلعة عند شرائها
تمثيل JSON |
---|
{ // Union field |
الحقول | |
---|---|
حقل الدمج promotion_type تشير هذه السمة إلى نوع العرض الترويجي المطبّق على السلعة. يمكن أن تكون promotion_type إحدى القيم التالية فقط: |
|
oneTimeCode |
تم تطبيق رمز صالح لمرة واحدة. |
vanityCode |
تم تطبيق رمز مميّز. |
OneTimeCode
لا يتضمّن هذا النوع أي حقول.
رمز ترويجي للاستخدام مرة واحدة
VanityCode
رمز ترويجي محدّد مسبقًا يمكن استخدامه عدة مرات
تمثيل JSON |
---|
{ "promotionCode": string } |
الحقول | |
---|---|
promotionCode |
الرمز الترويجي |
الطُرق |
|
---|---|
|
الحصول على بيانات وصفية حول اشتراك |
|
إلغاء عملية شراء اشتراك للمستخدم |