- المورد: Subscription purchaseV2
- SubscriptionState
- PausedStateContext
- CanceledStateContext
- UserInitiatedCancellation
- CancelSurveyResult
- CancelSurveyReason
- SystemInitiatedCancellation
- DeveloperInitiatedCancellation
- ReplacementCancellation
- TestPurchase
- AcknowledgementState
- ExternalAccountIdentifiers
- SubscribeWithGoogleInfo
- SubscriptionPurchaseLineItem
- AutoRenewingPlan
- SubscriptionItemPriceChangeDetails
- PriceChangeMode
- PriceChangeState
- InstallmentPlan
- PendingCancellation
- 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_PASENT. |
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 |
انتهت صلاحية الاشتراك. تحتوي جميع العناصر على وقت انتهاء صلاحية في الماضي. |
SUBSCRIPTION_STATE_PENDING_PURCHASE_CANCELED |
تم إلغاء المعاملة المعلّقة للاشتراك. إذا كانت عملية الشراء المعلّقة هذه مرتبطة باشتراك حالي، يمكنك استخدام linkedPurchaseToken للحصول على الحالة الحالية لذلك الاشتراك. |
PausedStateContext
المعلومات الخاصة بالاشتراك في حالة الإيقاف المؤقت
تمثيل JSON |
---|
{ "autoResumeTime": string } |
الحقول | |
---|---|
autoResumeTime |
يشير ذلك إلى الوقت الذي سيتم فيه استئناف الاشتراك تلقائيًا. طابع زمني بتنسيق RFC3339 UTC "Zulu" ، مع دقة نانوثانية وما يصل إلى تسعة أرقام كسرية. أمثلة: |
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 "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 |
معرّف المنتج الذي تم شراؤه (على سبيل المثال، "month001") |
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 |
معلومات عن آخر تغيير في سعر العنصر منذ الاشتراك في الاشتراك. |
installmentDetails |
معلومات الالتزام بخطة الأقساط والمعلومات المتعلقة بالولاية لخطة التجديد التلقائي |
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 |
يتم تطبيق التغيير في السعر، أي عندما يبدأ تحصيل السعر الجديد من المستخدم. |
InstallmentPlan
معلومات خطة الأقساط.
تمثيل JSON |
---|
{
"initialCommittedPaymentsCount": integer,
"subsequentCommittedPaymentsCount": integer,
"remainingCommittedPaymentsCount": integer,
"pendingCancellation": {
object ( |
الحقول | |
---|---|
initialCommittedPaymentsCount |
إجمالي عدد الدفعات التي يلتزم بها المستخدم في البداية. |
subsequentCommittedPaymentsCount |
إجمالي عدد الدفعات التي سيلتزم بها المستخدم بعد كل فترة اشتراك. تشير القيمة فارغة إلى أنّ خطة الأقساط ستعود إلى اشتراك يتم تجديده تلقائيًا وبشكل عادي بعد مدة الاشتراك الأولية. |
remainingCommittedPaymentsCount |
إجمالي عدد الدفعات الالتزامية المتبقية والتي يجب دفعها في دورة التجديد هذه. |
pendingCancellation |
في حال توفّر خطة الأقساط هذه، في انتظار إلغاءها. لن يتم الإلغاء إلا بعد أن ينتهي المستخدم من جميع الدفعات التي تم الالتزام بها. |
PendingCancellation
لا يشتمل هذا النوع على أي حقول.
وهي مؤشر على ما إذا كانت هناك عملية إلغاء في انتظار المراجعة لخطة الأقساط الافتراضية. لن يتم الإلغاء إلا بعد أن ينتهي المستخدم من جميع الدفعات التي تم الالتزام بها.
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 الذي سيحل محل productId الحالي. |
الطُرق |
|
---|---|
|
الحصول على بيانات وصفية حول اشتراك |
|
إبطال عملية شراء اشتراك للمستخدم |