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

أهم الخلاصات
- تمنح خطط Google Play المدفوعة مسبقًا وصولًا لفترة فوترة محددة ولا تتجدد من تلقاء نفسها أبدًا. يمدّدها العملاء بشراء شحنة إضافية، وتقول Google إن الخطط المدفوعة مسبقًا لا يمكن إلغاؤها لأنها تستمر ببساطة حتى تاريخ انتهائها.
- كل شحنة لخطة مدفوعة مسبقًا في Google Play هي عملية شراء جديدة برمز شراء جديد، ويصل الرمز السابق في الحقل linkedPurchaseToken. وترسل Google إشعار SUBSCRIPTION_PURCHASED لكل شحنة.
- تلزم Google Play المطورين بالإقرار بكل عملية شراء وكل شحنة لخطة مدفوعة مسبقًا. تحصل الخطط التي مدتها أسبوع أو أكثر على 3 أيام، والخطط الأقصر من أسبوع على نصف مدتها، فتحصل خطة الأيام الثلاثة على 1.5 يوم.
- إذا فات المطورَ موعدُ الإقرار بشحنة لخطة مدفوعة مسبقًا في Google Play، تُبطل Google الشحنة، وتُبطل الاشتراك المتبقي وتلغيه، وتُصدر للمستخدم استردادًا للمبلغ.
- يخبر مركز مساعدة Google Play العملاءَ بأن الخطة المدفوعة مسبقًا التي لم تُستخدم يمكن استرداد مبلغها، وأن طلبات الاسترداد المقدّمة بعد أكثر من 48 ساعة من الشراء تُحال إلى المطور.
- تصف Google خيار fullRefund في purchases.subscriptionsv2.revoke بأنه يسترد أحدث رسوم على كل عنصر، لذا فهو على خطة مدفوعة مسبقًا جرى شحنها يستهدف أحدث رسوم فقط، لا كل شحنة اشتراها العميل.
- بالنسبة لطلبات Google Play المقدّمة بعد 3 أغسطس 2026، يكلّف رد المبلغ الخاسر (chargeback) المطورَ سعر الشراء مطروحًا منه رسوم خدمة Play، إضافة إلى رسوم رد المبلغ التي يفرضها البنك، وينطبق ذلك على شحنات الخطط المدفوعة مسبقًا كأي طلب آخر.
إذا فاتك الإقرار بشحنة واحدة في Google Play، فلن تكتفي Google باسترداد مبلغ تلك الشحنة. بل تُبطل الشحنة، وتُبطل بقية خطة العميل المدفوعة مسبقًا وتلغيها، وتُصدر استردادًا للمبلغ. هذه هي أخطر نقطة في استرداد مبالغ خطط Google Play المدفوعة مسبقًا، وهي نقطة تتحكم فيها بالكامل. أما بقية صورة الاسترداد في الخطط المدفوعة مسبقًا فقريبة من الاشتراكات العادية، مع بعض الفروق التي تغيّر طريقة بنائك وما تخسره.
كيف تختلف خطط Google Play المدفوعة مسبقًا عن الاشتراكات المتجددة تلقائيًا
الخطة المدفوعة مسبقًا هي خطة أساسية تبيع الوصول لفترة فوترة محددة ثم تتوقف. تقول مساعدة Play Console من Google إن المستخدمين يشترونها للحصول على الاستحقاق خلال تلك الفترة، ثم يشحنونها لتمديد تاريخ الانتهاء إن أرادوا الاستمرار. يمكن أن تكون الشحنة أي خطة أساسية مدفوعة مسبقًا ضمن الاشتراك نفسه، حتى لو كانت بمدة مختلفة. وفي مثال Google نفسها تُمدَّد الخطة سنة واحدة بشحنة قيمتها $59.99.
لأن شيئًا لا يتجدد، فلا شيء يمكن إلغاؤه. تقول وثائق الفوترة من Google إن الخطط المدفوعة مسبقًا لا يمكن إلغاؤها، والمستخدم الذي يريد الخروج يترك الخطة ببساطة حتى تبلغ تاريخ انتهائها. وحالة الاشتراك في الخطة المدفوعة مسبقًا لا تكون إلا ACTIVE أو PENDING أو CANCELED، والحقل expiryTime موجود دائمًا.
تكتسب الخطط المدفوعة مسبقًا أهميتها القصوى حيث تكون الفوترة المتكررة مقيّدة. يشير دليل RevenueCat إلى الهند، حيث أوقفت Google اشتراك العملاء الجدد في الخطط المتجددة تلقائيًا بسبب قواعد بنك الاحتياطي الهندي (Reserve Bank of India)، ويعدّ الخطط المدفوعة مسبقًا الخيار الطبيعي لأسواق مثلها.
| خطة أساسية متجددة تلقائيًا | خطة أساسية مدفوعة مسبقًا | |
|---|---|---|
| تتجدد من تلقاء نفسها | نعم | لا، يشتري المستخدم شحنة |
| هل يمكن للمستخدم الإلغاء | نعم | لا، تستمر حتى expiryTime |
| الفترات التجريبية المجانية والعروض | نعم | لا، العروض للخطط الأساسية المتجددة تلقائيًا فقط |
| رمز شراء جديد | عند الترقية أو الخفض أو إعادة الاشتراك | مع كل شحنة |
| الإقرار | خلال 3 أيام من كل عملية شراء جديدة | 3 أيام للخطط التي مدتها أسبوع أو أكثر، ونصف المدة للخطط الأقصر |
| يمكن إيقافها مؤقتًا | نعم | لا |
كل شحنة عملية شراء مستقلة
تُصدر Google رمز شراء جديدًا لكل شحنة وتضع الرمز السابق في linkedPurchaseToken ضمن عملية الشراء الجديدة. كما ترسل Google إشعار مطوّر فوريًا SUBSCRIPTION_PURCHASED لكل شحنة. والشحنات تتراكم. فإذا شحن المستخدم مبكرًا، يُضاف الوقت الجديد إلى تاريخ الانتهاء القديم، لا إلى تاريخ اليوم. ولا يمكن للمستخدم أن يحتفظ إلا بشحنة واحدة غير مستهلكة في كل مرة، ويخبرك prepaidPlan.allowExtendAfterTime بموعد إتاحة الشحنة التالية.
موعد الإقرار هو نقطة انطلاق الاسترداد في الخطط المدفوعة مسبقًا
عليك الإقرار بكل عملية شراء لخطة مدفوعة مسبقًا، بما في ذلك كل شحنة، لأن المستخدم يمرّ بمسار الشراء في كل مرة. تمنح Google الخطط التي مدتها أسبوع أو أكثر 3 أيام. أما الخطط الأقصر من أسبوع فتحصل على نصف مدتها، لذا يجب الإقرار بخطة الأيام الثلاثة خلال 1.5 يوم، وبخطة اليوم الواحد خلال 12 ساعة.
لهذا السبب تحمل الخطط المدفوعة مسبقًا القصيرة مخاطر أكبر مما تبدو. فالخطة الأسبوعية أو الشهرية المتجددة تلقائيًا تمنحك الأيام الثلاثة نفسها في كل مرة. أما تذكرة اليوم الواحد المدفوعة مسبقًا فتمنحك 12 ساعة، وأي انقطاع في الخادم الخلفي يتجاوز ذلك يحوّل العملاء الدافعين إلى عمليات استرداد تلقائية. ويؤكد دليل RevenueCat النقطة نفسها، محذرًا من وجوب الإقرار بالطلب الثاني سريعًا حين لا تتجاوز مدة الخطة الأساسية يومًا واحدًا أو 3 أيام.
من يقرر استرداد مبلغ الخطة المدفوعة مسبقًا
تُحسم معظم طلبات استرداد خطط Google Play المدفوعة مسبقًا من دونك. تقول سياسة الاسترداد لدى Google إن المستخدم قد يحصل على استرداد خلال 48 ساعة من أي عملية شراء داخل التطبيق، بما فيها الاشتراك، بحسب التفاصيل. وبعد 48 ساعة يُطلب من المستخدم التواصل مع المطور، الذي يمكنه معالجة الاسترداد وفق سياساته الخاصة والقانون المعمول به. وتضيف صفحة مساعدة الاشتراكات من Google سطرًا خاصًا بالخطط المدفوعة مسبقًا: إذا لم تُستخدم الخطة، يمكن للمستخدم طلب استرداد مبلغها.
| مسار الاسترداد | من يقرر | هل يمكنك الرد | المهلة |
|---|---|---|---|
| طلب خلال 48 ساعة من الشراء أو الشحن | لا | لا توجد | |
| طلب بعد 48 ساعة | أنت، وفق سياستك والقانون المحلي | لا ينطبق | لم تحددها Google |
| شراء أو شحنة دون إقرار | تلقائي | لا | 3 أيام، أو نصف مدة الخطة إن كانت أقل من أسبوع |
| رد مبلغ (chargeback) مُحال لمراجعة المطور | Google ثم البنك | نعم، عبر orders.reviewrefund | 24 ساعة |
| رد مبلغ (chargeback) دون مراجعة المطور | البنك | لا | لا توجد |
الخطط المدفوعة مسبقًا لا تغيّر قواعد رد المبالغ (chargeback). عندما تطلب Google روايتك في نزاع ما، تكون أمامك 24 ساعة للرد عبر orders.reviewrefund، وبمجرد أن يصدر البنك حكمه يصبح القرار نهائيًا.
أي استدعاء API يسترد ماذا في الخطة المدفوعة مسبقًا
عندما يصل الطلب إليك، تكون لديك أداتان على جانب الخادم، ولا تستردان الشيء نفسه.
orders.refund يعمل على طلب واحد في كل مرة
يسترد orders.refund مبلغ اشتراك أو طلب داخل التطبيق باستخدام معرّف الطلب (order ID). اضبط revoke على true فينتهي الوصول فورًا. ولا تسترد Google مبالغ الطلبات التي يزيد عمرها على 3 سنوات. وبما أن كل شحنة عملية شراء مستقلة، فإن استرداد الطلب الخاص بشحنة واحدة هو الطريقة الدقيقة لاسترداد تلك الشحنة وحدها.
purchases.subscriptionsv2.revoke يعمل على الاشتراك
ينهي purchases.subscriptionsv2.revoke الاشتراك ويأخذ revocationContext. تصف Google الخيار fullRefund بأنه يسترد المبلغ الكامل لأحدث رسوم على كل عنصر، والخيار proratedRefund بأنه يسترد مبلغًا تناسبيًا بحسب الوقت المتبقي. وفي خطة شُحنت مرتين، تكون أحدث رسوم هي آخر شحنة. ضع ذلك في حسابك قبل أن تعد عميلًا باسترداد رصيده كاملًا.
لا تسحب وصولًا لا يزال من حق العميل
تحذّر وثائق الفوترة من Google من أن إزالة الوصول إلى اشتراك ما زال المستخدم مستحقًا له تُعد انتهاكًا لسياسة الاشتراكات في Google Play. وفي الخطة المدفوعة مسبقًا، الوقت المدفوع هو الاستحقاق نفسه. فإذا استرددت مبلغ آخر شحنة فقط، فأبقِ الوقت المدفوع سابقًا ساريًا، ما لم تُبطله وتسترد مبلغه أيضًا.

ما الذي يكلّفك إياه استرداد مبلغ خطة مدفوعة مسبقًا
دفع عميل الخطة المدفوعة مسبقًا مقدمًا مقابل مدة زمنية ثابتة، وبدأت أنت الإنفاق عليه منذ لحظة حصوله على الوصول. الاسترداد يعيد إليه ماله، لكنه يترك ذلك الإنفاق قائمًا.
- الحوسبة: كل جلسة أو مزامنة أو مهمة على الخادم شغّلها العميل خلال الفترة المدفوعة هي سعة دفعت ثمنها بالفعل.
- استدعاءات API: الكلام والترجمة والخرائط واستدلال النماذج وأي خدمة خارجية تُحتسب لكل طلب تبقى مُحتسبة عليك.
- التخزين: الملفات والسجل الذي أنشأه العميل يبقى ضمن فاتورة التخزين لديك حتى تحذفه.
- المدفوعات: حصص الإيرادات ومدفوعات صنّاع المحتوى وعمولات الإحالة المرتبطة بالشراء قد خرجت من حسابك بالفعل.
حالة الإقرار الفائت هي الأكثر تكلفة. فالإقرار المتأخر بشحنة سنوية قيمتها $59.99 لا يقتصر على إرجاع $59.99. إذ تُبطل Google أيضًا بقية الخطة، فيخسر العميل وصولًا كان قد دفع ثمنه ويحصل على استرداد، بينما تبقى كل تكلفة تحمّلتها لخدمته مُنفَقة.
قائمة تحقق للبناء على الخطط المدفوعة مسبقًا
- أقرّ بكل شحنة من خادمك، لا بعملية الشراء الأولى فقط، وأطلق تنبيهًا لأي عملية شراء تبقى دون إقرار بعد بضع ساعات.
- خصّص للخطط القصيرة إنذارًا خاصًا بها. فخطة اليوم الواحد لديها 12 ساعة، وخطة الأيام الثلاثة لديها 1.5 يوم.
- خزّن كل معرّف طلب (order ID) ورمز شراء، وتتبّع linkedPurchaseToken لترى السلسلة الكاملة من الشحنات وراء العميل الواحد.
- تصرّف مبكرًا بشأن رموز الشراء. تقول Google إن الرمز يبقى صالحًا حتى 60 يومًا بعد الانتهاء فقط، وبعدها لن تقبله Developer API.
- استرد مبلغ شحنة واحدة باستخدام orders.refund على طلب تلك الشحنة، ولا تفترض أن fullRefund يشمل الشحنات السابقة.
- سجّل الاستخدام لكل عملية شراء، حتى تحصل مراجعة رد المبلغ (chargeback) على إجابة حقيقية خلال مهلة الـ 24 ساعة.
- أبطل الوصول لحظة استلامك SUBSCRIPTION_REVOKED، لأن حالة الخطة تصبح منتهية.
الأسئلة الشائعة
- هل يمكن للعميل إلغاء خطة مدفوعة مسبقًا في Google Play؟
- لا. تقول Google إن الخطط المدفوعة مسبقًا لا يمكن إلغاؤها لأنها لا تتجدد تلقائيًا. تستمر الخطة حتى تاريخ انتهائها، ويحتفظ العميل بالوصول حتى ذلك الحين. ولكي يتوقف عن الدفع، يكفيه ألا يشتري شحنة أخرى.
- هل يمكن للعميل استرداد مبلغ خطة مدفوعة مسبقًا في Google Play؟
- نعم. يقول مركز مساعدة Google إن الخطة المدفوعة مسبقًا غير المستخدمة يمكن استرداد مبلغها، وقد تسترد Google مبلغ أي عملية شراء داخل التطبيق، بما فيها الاشتراكات، إذا قُدّم الطلب خلال 48 ساعة. وبعد 48 ساعة، تحيل Google العميل إلى المطور، الذي يسترد المبلغ وفق سياسته الخاصة والقانون المحلي.
- ماذا يحدث إذا لم أُقرّ بشحنة لخطة مدفوعة مسبقًا؟
- تُبطل Google الشحنة، وتُبطل الاشتراك المتبقي وتلغيه، وتسترد المبلغ للمستخدم. يجب الإقرار بالخطط التي مدتها أسبوع أو أكثر خلال 3 أيام، وبالخطط الأقصر خلال نصف مدتها، فتحصل خطة الأيام الثلاثة على 1.5 يوم.
- هل يسترد fullRefund على خطة مدفوعة مسبقًا مبلغ كل شحنة؟
- لا، ليس وفق وصف Google. يسترد خيار fullRefund في purchases.subscriptionsv2.revoke المبلغ الكامل لأحدث رسوم على كل عنصر. وكل شحنة عملية شراء مستقلة لها طلبها الخاص، لذا استخدم orders.refund على طلب بعينه حين تريد استرداد مبلغ شحنة بعينها.
- هل تدعم الخطط المدفوعة مسبقًا الفترات التجريبية المجانية؟
- لا. تقول مساعدة Play Console من Google إن العروض، ومنها الفترات التجريبية المجانية والأسعار التمهيدية، لا يمكن إنشاؤها إلا للخطط الأساسية المتجددة تلقائيًا. تُدفع الخطة المدفوعة مسبقًا بالكامل عند الشراء وعند كل شحنة.
المصادر وقراءات إضافية
- Google Play Billing: Subscription lifecycle (prepaid plans, top-ups, acknowledgement)
- Play Console Help: Understanding subscriptions
- Google Play Help: Cancel, pause, or change a subscription on Google Play
- Google Play Help: Apps, games, and in-app purchases refund policies
- Google Play Developer API: orders.refund
- Google Play Developer API: purchases.subscriptionsv2.revoke
- Google Play Developer API: orders.reviewrefund
- Play Console Help: Updates to refund protection and chargeback cost responsibility
- RevenueCat: Google prepaid plans
RefundHalt
الطيار الآلي للاستردادات في App Store وGoogle Play
تابع القراءة
طلبات الاسترداد المفرطة قد تكلفك أكثر من المبالغ المستردة نفسها، لأن متجري التطبيقات يعدّانها مؤشرًا على الجودة
تذكر الإرشادات 5.6.4 من Apple طلبات الاسترداد المفرطة دليلًا على أن التطبيق لا يفي بمعايير الجودة، واتفاقية التوزيع من Google تسمح لها بإزالة تطبيقات المطورين الجدد بناءً على معدلات الاسترداد. إليك ما يقوله كل متجر، وكم تكلفك الإزالة، وكيف تبقى بعيدًا عن الخطر.
تحقّق من إشعارات خادم App Store قبل أن تتصرّف بناءً على استرداد، لأن أي شخص يستطيع الإرسال إلى عنوان webhook الخاص بك
إشعار الاسترداد ليس سوى طلب HTTPS إلى أن تتحقّق من توقيعه. إليك كيف تتحقّق من إشعارات خادم App Store ورسائل Google Play RTDN، وما الذي يوقّعه كل متجر، وما الذي يكلّفك إياه استرداد مزوّر أو مرفوض خطأً.