كل المقالات
دليل عمليمدة القراءة 8 دقائق

تتيح Apple وGoogle تمديد تاريخ تجديد الاشتراك بعد انقطاع الخدمة، لكن حدودهما مختلفة تمامًا

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

خزانة خوادم بأضواء تحذير كهرمانية بجوار حاسوب محمول يعرض تقويمًا، في اللحظة التي يقرر فيها المطوّر تمديد تاريخ تجديد الاشتراك بعد انقطاع الخدمة

أهم الخلاصات

  • تتيح App Store Server API من Apple للمطوّر تمديد تاريخ تجديد اشتراك مدفوع ونشط ذي تجديد تلقائي بمدة من 1 إلى 90 يومًا، تعويضًا عن انقطاع الخدمة أو إلغاء فعالية أو انقطاع بث مباشر.
  • تسمح Apple بتمديدين لتاريخ التجديد لكل عميل خلال 365 يومًا. لا يمكن التراجع عن التمديد بعد سريانه، وترسل Apple إلى العميل رسالة بريد إلكتروني بتاريخ التجديد الجديد.
  • لن تمدد Apple اشتراكًا في فترة عرض مجاني، أو في مرحلة إعادة محاولة الفوترة، أو في فترة سماح انقضى تاريخ انتهائها، أو اشتراكًا منتهيًا بالفعل. يجب أن يكون للاشتراك فترة مدفوعة سابقة واحدة على الأقل.
  • الأيام المضافة عبر تمديد تاريخ التجديد في Apple لا تُحتسب ضمن سنة الخدمة المدفوعة التي ترفع حصة المطوّر من إيرادات الاشتراك من 70% إلى 85%.
  • تؤجل purchases.subscriptionsv2.defer في Google Play تاريخ الفوترة التالي للاشتراك بمدة لا تقل عن يوم واحد وتصل إلى سنة في كل استدعاء. يحتفظ المستخدم بالوصول الكامل دون أن يُحاسَب، وترسل Google إشعار SUBSCRIPTION_DEFERRED.
  • لا يعيد تمديد تاريخ التجديد أي مبلغ نقدي، فيحتفظ المطوّر بالدفعة لكنه يتحمل تكاليف الحوسبة والتخزين واستدعاءات API خلال الأيام المضافة دون تجديد يغطيها. أما استرداد الأموال فيعيد السعر، ولا يعيد شيئًا من المال الذي أُنفق بالفعل لخدمة ذلك العميل.
  • إذا تسبب انقطاع الخدمة في عدم تسليم عملية شراء داخل التطبيق وأرسلت Apple إشعار CONSUMPTION_REQUEST، فإن قيمة deliveryStatus الصادقة هي UNDELIVERED_SERVER_OUTAGE، وتشترط Apple أن تكون قيمة consumptionPercentage هي 0 لأي حالة غير DELIVERED.

يمنح التوقف كل مشترك أوضح مبرر لطلب استرداد الأموال، ولا يمكنك منعه من استخدامه. ما يمكنك فعله هو إعادة الأيام الضائعة قبل أن يطلبها أحد. يتيح لك كلا متجري التطبيقات تمديد تاريخ تجديد الاشتراك بحيث يحصل العميل على وقت مجاني بدلًا من المال. تحدد Apple كل تمديد بحد أقصى 90 يومًا وتسمح بتمديدين في السنة. وتتيح لك Google تأجيل الفوترة حتى سنة كاملة في كل استدعاء. والإجراءات والإشعارات والتكلفة الكامنة وراءها مختلفة بما يكفي لأن خطة واحدة للتعامل مع الانقطاع لن تغطي المتجرين معًا.

ما الذي يفعله انقطاع الخدمة بمخاطر استرداد الأموال لديك

المتاجر هي من تقرر استرداد الأموال، لا أنت. في App Store، يطلب العميل من Apple وتقرر Apple. قد يصلك إشعار CONSUMPTION_REQUEST وتُمنح 12 ساعة لإرسال بيانات الاستهلاك عبر Send Consumption Information. وهذا كل ما لك من رأي.

في Google Play، يمكن للمشتري استرداد أمواله خلال 48 ساعة من الشراء دون أن يُطلب رأيك. بعد ذلك، تصل الطلبات إليك. المسار الوحيد لدى Google الذي يطلب أدلتك هو اعتراض مصرفي (chargeback) مُعلَّم لمراجعة المطوّر، وتردّ عليه عبر orders.reviewrefund خلال 24 ساعة. وقرار البنك في الاعتراض المصرفي نهائي.

إذن لا يمنحك أي من المتجرين وسيلة لمنع استرداد الأموال. ما تتحكم فيه هو ما إذا كان المشترك لا يزال يشعر بالغبن عند عودة الخدمة. الوقت الإضافي في الاشتراك، الممنوح بسرعة والمُعلن بوضوح، هو الأداة التي بناها المتجران لهذا الغرض تحديدًا.

كيف تمدد تاريخ تجديد الاشتراك في App Store

تحتوي App Store Server API على نقطتي نهاية لهذا الغرض. تعمل Extend a Subscription Renewal Date على اشتراك واحد تحدده بقيمة originalTransactionId. وتعمل Extend Subscription Renewal Dates for All Active Subscribers على كل مشترك مؤهل في productId واحد، ويمكنك تقييدها باستخدام storefrontCountryCodes عندما يصيب الانقطاع بعض المناطق فقط.

يحمل كل طلب ثلاثة عناصر: extendByDays، وهو رقم من 1 إلى 90؛ وextendReasonCode؛ وrequestIdentifier تُنشئه بنفسك. رمز السبب 3 يعني مشكلة في الخدمة أو انقطاعًا. الرمز 1 لرضا العملاء، والرمز 2 لأسباب أخرى، والرمز 0 يعني سببًا غير مُعلن.

الاشتراكات التي ستمددها Apple

لا تتأهل إلا الاشتراكات النشطة ذات التجديد التلقائي التي لها فترة مدفوعة سابقة واحدة على الأقل. وتستثني Apple ما يلي:

  • الاشتراكات في فترة عرض مجاني، مثل الفترة التجريبية المجانية.
  • الاشتراكات غير النشطة في حالة إعادة محاولة الفوترة.
  • الاشتراكات في فترة سماح الفوترة التي مضى تاريخ انتهائها.
  • الاشتراكات التي حصلت بالفعل على تمديدين لتاريخ التجديد خلال آخر 365 يومًا.
  • الاشتراكات المنتهية.

تشمل التمديدات المشاركة العائلية تلقائيًا. عندما تمدد Apple اشتراكًا مُشترى يدعم المشاركة العائلية، تُمدَّد اشتراكات أفراد العائلة أيضًا. ولا يمكنك استهداف اشتراك أحد أفراد العائلة مباشرة.

الطلب الجماعي بطيء، لذا راقب الإشعارات

تقول Apple إن طلب تمديد جميع المشتركين النشطين قد يستغرق ساعات، بل أيامًا، بحسب عدد مشتركيك. والاستجابة 200 تعني فقط أن Apple تعالج الطلب. تخبرك App Store Server Notifications V2 بالنتيجة:

الإشعارالنوع الفرعيالمعنى
RENEWAL_EXTENDEDلا يوجدتم تمديد تاريخ تجديد اشتراك واحد
RENEWAL_EXTENSIONFAILUREفشل تمديد اشتراك واحد
RENEWAL_EXTENSIONSUMMARYاكتمل الطلب الجماعي بالكامل

لكل FAILURE، خذ originalTransactionId من المعاملة الموقّعة في الحمولة وأعد المحاولة باستخدام نقطة النهاية الخاصة بالاشتراك الواحد. وإذا كنت تفضّل الاستعلام الدوري، فإن Get Status of Subscription Renewal Date Extensions تُبلغك ما إذا كان الطلب قد اكتمل وكم تمديدًا نجح أو فشل.

كيف يعمل تأجيل الفوترة في Google Play

نسخة Google هي purchases.subscriptionsv2.defer، وتُستدعى مرة واحدة لكل رمز شراء. يحتوي متن الطلب على deferralContext بثلاثة حقول. تأتي قيمة etag من purchases.subscriptionsv2.get، ويفشل الاستدعاء إذا لم تطابق أحدث etag للاشتراك. وتحدد deferDuration مقدار تأجيل التاريخ. أما validateOnly، فعندما تكون true، تشغّل الطلب كتجربة دون المساس بالاشتراك.

يحدد دليل الفوترة من Google النطاق بين يوم واحد وسنة واحدة لكل استدعاء API. وللتأجيل أكثر، استدعِ مرة أخرى قبل حلول تاريخ الانتهاء الجديد. في الاشتراك ذي التجديد التلقائي، ينقل التأجيل تاريخ التجديد التالي. وفي الخطة المدفوعة مسبقًا، ينقل وقت الانتهاء. وفي الاشتراك الذي يتضمن إضافات، يُؤجَّل كل عنصر بالمدة نفسها. وتسرد الاستجابة قيمة expiryTime الجديدة لكل عنصر.

خلال التأجيل يبقى المستخدم مشتركًا بوصول كامل ولا يُحاسَب على الوقت الإضافي. وترسل Google إشعار المطوّر الفوري SUBSCRIPTION_DEFERRED. أما الطريقة الأقدم purchases.subscriptions.defer فقد أُوقف العمل بها، لذا ينبغي أن يستخدم الكود الجديد طريقة v2.

Google لا تُبلغ عميلك، لذا عليك أن تفعل ذلك

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

Apple وGoogle جنبًا إلى جنب

Apple App StoreGoogle Play
APIExtend a Subscription Renewal Date، إضافة إلى نقطة نهاية جماعيةpurchases.subscriptionsv2.defer
المدة لكل طلبمن 1 إلى 90 يومًامن 1 يوم إلى 1 سنة
عدد المراتمرتان لكل عميل خلال 365 يومًالا يوجد حد مُعلن؛ استدعِ مرة أخرى قبل تاريخ الانتهاء الجديد
الخيار الجماعياستدعاء واحد لكل productId، مع إمكانية التقييد حسب واجهة المتجراستدعاء واحد لكل رمز شراء
الفترة التجريبية المجانيةغير مؤهلةلم يتناولها دليل Google
الإشعارRENEWAL_EXTENDED, RENEWAL_EXTENSIONSUBSCRIPTION_DEFERRED
إبلاغ العميلترسل Apple بريدًا إلكترونيًامسؤوليتك
قابل للتراجعلالم يتناوله دليل Google

تكلفة التمديد مقارنةً باسترداد الأموال

يأخذ استرداد الأموال والتمديد المال من مصدرين مختلفين. يعيد الاسترداد ما دفعه العميل عن الفترة. وكل ما أنفقته بالفعل لخدمة ذلك العميل يبقى مُنفقًا: الحوسبة لكل جلسة، واستدعاءات API للنماذج، والتخزين، وأي مبلغ دُفع لصانع محتوى استخدم العميل محتواه.

أما التمديد فيُبقي الدفعة لديك. وتكلفته هي الخدمة التي تقدمها دون تجديد يدفع ثمنها. في كل يوم مضاف، يواصل المشترك النشط مراكمة الفواتير نفسها. بالنسبة إلى المستخدم الخفيف، تكاد التكلفة تكون صفرًا. أما المستخدم الكثيف لميزة ذكاء اصطناعي، فقد تعني 30 يومًا إضافية 30 يومًا من استدعاءات النماذج دون أي إيراد يقابلها. اجعل مدة التمديد على قدر الانقطاع، لا على قدر الاعتذار الذي تودّ تقديمه.

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

تكلفة العمولة لدى Apple

تدفع Apple نسبة 70% من كل تجديد خلال السنة الأولى من الخدمة المدفوعة للمشترك، و85% بعد ذلك. وتنص صفحة الاشتراكات لدى Apple على أن أيام تمديد التجديد مستثناة من أيام الخدمة المدفوعة. لذا فإن تمديدًا مدته 30 يومًا يؤخر انتقال ذلك المشترك إلى 85% بمقدار 30 يومًا. وإذا كنت مشاركًا في App Store Small Business Program، فأنت تحصل أصلًا على 85%، ولا تنطبق عليك هذه التكلفة.

تكلفة الاعتراض المصرفي في Google Play

بالنسبة إلى الطلبات المُقدَّمة بعد 3 أغسطس 2026، يكلّف الاعتراض المصرفي الذي يربحه حامل البطاقة مطوّر Google Play سعر الشراء مخصومًا منه رسوم خدمة Play، مضافًا إليه رسوم البنك. وانقطاع الخدمة هو بالضبط نوع الحدث الذي يدفع العميل المنزعج إلى التوجه إلى بنكه. والتأجيل الذي يصله أولًا أرخص من نزاع لا يمكنك قلب نتيجته.

تقويم حائط بتاريخ مُرحَّل إلى الأمام بجوار هاتف وفاتورة استضافة سحابية، وهي التكاليف التي يوازنها المطوّر قبل تمديد الاشتراك بعد انقطاع الخدمة

متى لا يكون التمديد هو الأداة المناسبة

عملية الشراء ليست اشتراكًا

تنطبق تمديدات تاريخ التجديد على الاشتراكات فقط. إذا أعطب الانقطاع منتجًا استهلاكيًا أو ميزة تُفتح بشراء لمرة واحدة، فأعد تسليم العنصر. وإذا أرسلت Apple إشعار CONSUMPTION_REQUEST بشأنه، فأبلغ بما حدث. يحتوي حقل deliveryStatus لدى Apple على قيمة لهذه الحالة هي UNDELIVERED_SERVER_OUTAGE، وتقول Apple إن أي حالة غير DELIVERED يجب أن تُرفق بقيمة consumptionPercentage مضبوطة على 0.

استنفد العميل تمديدي Apple كليهما

حد Apple هو تمديدان لكل عميل خلال 365 يومًا. انقطاعان في سنة واحدة يستهلكانهما معًا، والانقطاع الثالث لا يترك لك ما تقدمه عبر المتجر. تتبّع عدد التمديدات التي استخدمها كل originalTransactionId، حتى لا تفاجئك إشعارات FAILURE الخاصة بالطلب الجماعي.

العميل في فترة تجريبية مجانية

لن تمدد Apple اشتراكًا في فترة عرض مجاني. فمستخدم الفترة التجريبية خسر أيامًا مجانية لا أيامًا مدفوعة، لذا فإن خطر طلب استرداد الأموال منخفض. وإذا أردت تعويضه، فإن رسالة داخل التطبيق تكلّف أقل من أي استدعاء API.

قائمة تحقق لانقطاع الخدمة القادم

  • سجّل وقت بدء الانقطاع وانتهائه، والمنتجات والمناطق التي تأثرت به.
  • اختر عدد أيام يغطي الوقت الضائع. في Apple، استخدم رمز السبب 3 والتزم بالنطاق من 1 إلى 90.
  • في Apple، أرسل طلبًا جماعيًا واحدًا لكل productId، مقيّدًا بـ storefrontCountryCodes عندما تتأثر بعض المناطق فقط.
  • راقب إشعارات RENEWAL_EXTENSION FAILURE وأعد محاولة كل منها باستخدام نقطة النهاية الخاصة بالاشتراك الواحد.
  • في Google Play، مرّ على رموز الشراء النشطة، واقرأ etag لكل منها، وشغّل الطلب مع validateOnly أولًا، ثم نفّذ التأجيل فعليًا.
  • أبلغ مشتركي Google Play بالوقت الإضافي بنفسك، لأن Google لن تفعل ذلك.
  • حدّث تاريخ انتهاء الاستحقاق استنادًا إلى RENEWAL_EXTENDED وSUBSCRIPTION_DEFERRED، لا إلى حساباتك الخاصة للتواريخ.
  • احتفظ بسجلات الاستخدام لكل حساب، حتى إذا وصل طلب استرداد أموال أو اعتراض مصرفي رغم كل شيء، تكون أدلتك جاهزة خلال 12 ساعة لـ Apple و24 ساعة لـ Google.

الأسئلة الشائعة

كم مرة يمكنني تمديد تاريخ تجديد اشتراك في App Store؟
مرتان لكل عميل خلال 365 يومًا. يمكن أن يتراوح كل تمديد بين 1 و90 يومًا، والاشتراك الذي حصل بالفعل على تمديدين خلال آخر 365 يومًا غير مؤهل لتمديد آخر.
هل تُبلغ Apple العميل عندما أمدد اشتراكه؟
نعم. بعد نجاح تمديد تاريخ التجديد، ترسل Apple إلى العميل بريدًا إلكترونيًا بتاريخ التجديد المحدّث. ولا يصف دليل الفوترة في Google Play أي رسالة مماثلة، لذا ينبغي عليك على Android أن تُبلغ المشتركين بنفسك.
إلى متى يمكنني تأجيل اشتراك في Google Play؟
يقول دليل الفوترة من Google إن المدة من يوم واحد إلى سنة واحدة لكل استدعاء لـ purchases.subscriptionsv2.defer. وللتأجيل أكثر، استدعِ API مرة أخرى قبل حلول تاريخ الانتهاء الجديد. يحتفظ المستخدم بالوصول الكامل ولا يُحاسَب على الوقت المؤجَّل.
هل يمكنني التراجع عن تمديد تاريخ التجديد في Apple؟
لا. تقول Apple إنه بعد سريان تمديد تجديد الاشتراك، لا توجد طريقة لعكسه. راجع المنتج وعدد الأيام وواجهات المتجر قبل إرسال الطلب.
هل يؤثر تمديد تاريخ التجديد في حصتي من الإيرادات البالغة 85% لدى Apple؟
نعم. تستثني Apple أيام تمديد التجديد من أيام الخدمة المدفوعة، لذا يؤخر التمديد انتقال المشترك من 70% إلى 85% بعدد الأيام التي أضفتها. أما المطوّرون المشاركون في App Store Small Business Program فيحصلون أصلًا على 85%.
هل يمكنني تمديد اشتراك في فترة تجريبية مجانية؟
ليس في App Store. تستثني Apple الاشتراكات في فترة العرض المجاني، إلى جانب حالات إعادة محاولة الفوترة وفترات السماح المنتهية والاشتراكات المنتهية. لا تتأهل إلا الاشتراكات النشطة التي لها فترة مدفوعة واحدة على الأقل.

المصادر وقراءات إضافية

RefundHalt

الطيار الآلي للاستردادات في App Store وGoogle Play

تابع القراءة

طلب الاسترداد التالي في طريقه إليك بالفعل.

أعد RefundHalt في الوقت الذي تستغرقه لقراءة رسالة دعم أخرى عن استرداد لم تتمكن من الاعتراض عليه.