اكتشف أحد عملائي التسرّب بالصدفة. كانت قاعدة بياناته تشير إلى إيرادات بقيمة $11,400 لشهر فبراير. أما التقرير المالي في App Store Connect فكان يقول $10,650. لم يتعطل شيء. لم يُطلق أي تنبيه. نحو $750 خرجت ببساطة من الباب، استرداداً تلو الآخر، ولم يعرف بذلك إلا بعد نحو خمسة أسابيع من حدوثه.
Apple هي من تتخذ كل قرار استرداد في App Store. لا مقعد لك في ذلك القرار. ما تحصل عليه هو نافذة ضيقة واحدة لوضع الأدلة أمامهم، ولا تُفتح إلا إذا كان خادمك يستمع فعلاً. معظم المقالات عن استردادات Apple App Store للمطورين تمر على هذه النقطة مرور الكرام، وهذا مؤسف، لأنها الجزء الوحيد الذي تتحكم فيه. النافذة نفسها لها شرح مفصّل هنا: كيف يحدد CONSUMPTION_REQUEST من Apple مصير طلب الاسترداد.
أهم النقاط
Apple هي التي تقرر. لا يمكنك إصدار استرداد، ولا منعه، ولا حتى رؤية اسم العميل.
مدخلك الوحيد هو الرد على CONSUMPTION_REQUEST، ويجب أن يصل خلال نحو 12 ساعة.
خسارة الإيرادات من استردادات App Store تتراكم في طبقات. الاسترداد نفسه ليس سوى الطبقة الأولى.
تضع RevenueCat متوسط معدل استرداد الاشتراكات بين 3% و5%. الحالات الشاذة تصل إلى 9% حتى 18%.
الحل الممل هو أيضاً الحل الرخيص: استمع للإشعارات، ورد عليها تلقائياً، واقطع الوصول عندما يعود المال.
كيف يبدو استرداد App Store من جانبك
يفتح شخص ما reportaproblem.apple.com، يسجّل الدخول، يختار عملية شراء من آخر 90 يوماً، يحدد سبباً، ويضغط إرسال. تقرأه Apple. وتبتّ فيه Apple.
لا تسمع شيئاً ما لم تطلب أن تسمع شيئاً. لا يوجد زر استرداد في App Store Connect، ولا قائمة انتظار للطلبات المعلقة، ولا عنوان بريد إلكتروني للعميل لترد عليه. إذا كانت App Store Server Notifications V2 مفعّلة لديك، يصل CONSUMPTION_REQUEST إلى نقطة النهاية الخاصة بك لحظة تقديم الطلب، حاملاً المعاملة والمنتج والسبب الذي اختاره العميل. من هناك لديك نحو 12 ساعة لاستدعاء نقطة نهاية Send Consumption Information بخمسة حقول: هل وافق العميل، هل تم تسليم المشتريات، هل كانت هناك عينة، كم استخدم، وما النتيجة التي تريدها.
أجب بأرقام استخدام حقيقية وستُرفض الادعاءات الضعيفة في كثير من الأحيان. لا تجب بشيء وستأخذ Apple برواية العميل للأحداث إضافة إلى ما يوحي به سجل حسابه. الصمت يُحسب إجابة هنا، وهو الإجابة التي تقدمها معظم الفرق.
عندما يمر الاسترداد فعلاً، تتلقى إشعار REFUND مرفقاً بتاريخ إلغاء. تلك إشارتك لإيقاف وصول المستخدم. وهذا يقودنا إلى الجزء المكلف.
كيف تسبب استردادات App Store خسارة الإيرادات
ليس رقماً واحداً. بل أربعة، وثلاثة منها لا تظهر أبداً في تقرير الاستردادات.
الاسترداد. يُسحب السعر من دفعتك التالية. تنص اتفاقية Paid Applications Agreement من Apple فعلاً على أن Apple يمكنها الاحتفاظ بعمولتها على البيع المسترد، وهذا البند أخاف كثيرين على مر السنين. المطورون الذين بحثوا فعلاً في تقارير مدفوعاتهم يقولون إن Apple تخصم الحصة بعد العمولة، لا السعر الكامل المعلن. تخسر حصتك. وليس حصتهم عادةً.
الوصول الذي لا يقطعه أحد. خروج المال وانتهاء الاستحقاقات حدثان منفصلان من جانب Apple، وواحد منهما فقط يحدث من تلقاء نفسه. تفوّت إشعار REFUND ذاك ويحتفظ المستخدم بميزات Pro. مجاناً. رأيت ذلك يستمر أربعة أشهر قبل أن يلاحظ أحد، على خطة سنوية بقيمة $59.99. تناولنا الفوضى كلها في استعادة الوصول بعد الاسترداد.
تقاريرك. تظهر الاستردادات بعد أسابيع من الشراء، وأحياناً بعد انقضاء فترة فوترة كاملة. احسب الإيرادات في الأسبوع الذي تحققت فيه ولا تطرح ما استُرد لاحقاً أبداً، وستجد قيمة LTV لديك متضخمة بهدوء. ثم تشتري زيارات بتكلفة CAC لا تستطيع تحملها وتتساءل لماذا لا تسترد تلك الشريحة تكلفتها أبداً.
الإنفاق الإعلاني. دفعت للحصول على ذلك المستخدم. واسترد أمواله على أي حال. ذلك المال ضاع ولا شيء في dashboard لديك يتحرك ليخبرك بذلك.
كيف يبدو معدل الاسترداد الطبيعي
المعايير المرجعية مفيدة لشيء واحد: معرفة ما إذا كانت لديك مشكلة حقيقية أم مجرد مشكلة عادية. يغطي تقرير State of Subscription Apps من RevenueCat أكثر من 75,000 تطبيق ويضع متوسط معدل الاسترداد عند نحو 3% إلى 5% من الاشتراكات المدفوعة في فترة الفوترة الأولى. الحالات الشاذة تصل إلى 9% حتى 18%.
الشريحة السعرية هي التقسيم المثير للاهتمام. الخطط منخفضة السعر تقف عند متوسط قريب من 2.7%، والخطط مرتفعة السعر عند نحو 4.5%. نقطة مئوية تقريباً تُضاف مع كل درجة صعود. والخطط السنوية تُسترد أكثر من الأسبوعية أيضاً، وهذا منطقي. رسم بقيمة $79 يرفع سقف التوقعات بطريقة لا يفعلها رسم بقيمة $4.99.
إليك كيف أحسب الرقم لعميل جديد:
اسحب المعاملات المستردة لآخر 90 يوماً من سجل الاستردادات.
أعد كل واحدة إلى الشهر الذي حدث فيه الشراء الأصلي، لا الشهر الذي استُردت فيه.
اقسم على المعاملات المدفوعة في الشهر نفسه.
قسّم حسب المنتج. شاشة دفع (paywall) سيئة واحدة تختبئ داخل متوسط سليم في كل مرة.
أقل من 2% جيد. من 2% إلى 5% طبيعي. فوق 5%، ابدأ البحث. فوق 10%، توقف عن لوم التسويق واذهب واقرأ نص paywall لديك بصوت عالٍ.
منع استردادات App Store: كيف تقلل استردادات App Store
لا يوجد مفتاح واحد. إنها كومة من القرارات الصغيرة، وبعضها أهم بكثير من البقية.
أجب عن كل CONSUMPTION_REQUEST. أكبر رافعة، والتي يتخطاها الجميع تقريباً. شخص استهلك 90% من فتح مدى الحياة ثم ادعى أنه لم يعمل قط؟ ارفض، وأظهر الاستخدام. والد اشترى طفله حزمة بقيمة $29.99 عن طريق الخطأ؟ دع تلك تمر. كلا القرارين يحتاج إلى رد مسجّل.
قدّم شيئاً في الجلسة الأولى. الاستردادات تتجمع مبكراً. إذا لم يستطع المستخدم الجديد الحصول على نتيجة حقيقية واحدة قبل أن يصل إلى paywall، فقد بعته وعداً.
اذكر التجديد بوضوح. السعر والمدة وتاريخ التجديد، على الشاشة نفسها التي فيها زر الشراء. معظم أسباب الاسترداد تتلخص في المفاجأة، والمفاجأة خيار تصميمي.
أطلق فترة تجريبية أو عينة. نموذج الاستهلاك من Apple يسأل حرفياً عما إذا كانت موجودة. الإجابة بنعم تدعم موقفك وتمنح المستخدمين المترددين مدخلاً أرخص.
امنح الدعم باباً. رابط اتصال ظاهر إضافة إلى شاشة طلب الاسترداد داخل التطبيق يرسل غير الراضين إليك قبل أن يذهبوا إلى Apple. تلك الشاشة موجودة منذ iOS 15. لا يمكنها منح استرداد، بل بدء الطلب فقط.
اقطع الوصول عندما يعود المال. عالج REFUND وREFUND_REVERSED، وأعد الوصول عند عكس الاسترداد حتى لا يُعاقب العملاء الصادقون لأن Apple غيّرت رأيها.
راقب المخالفين المتكررين. نقطة نهاية Get Refund History من Apple تسرد كل معاملة مستردة مرتبطة بمستخدم. تحقق منها قبل أن تمنح الحساب نفسه فترة تجريبية ثانية أو خصماً.
مشكلة الـ12 ساعة
تصل الإشعارات في الثالثة فجراً يوم السبت. الرد على واحد منها بشكل صحيح يعني التحقق من سلسلة توقيع JWS من Apple مقابل شهاداتهم الجذرية، ومطابقة المعاملة مع إنسان في قاعدة بياناتك، وحساب نسبة الاستهلاك بوحدات الميلي (milliunits)، وإصدار JWT قصير الأجل بمفتاح In-App Purchase، وتقديمه. قبل انتهاء الوقت. في كل مرة.
يمنحك Sandbox 5 دقائق بدلاً من 12 ساعة، وهذا يبدو تلميحاً صريحاً إلى حد ما لما تتوقعه Apple منك. خادم. لا شخص يحمل حاسوباً محمولاً.
الفرق التي تفضّل عدم بناء هذا المسار تستخدم Refund Sensor. يعمل بمفاتيح المتجر التي لديك بالفعل، ويرد على كل طلب بأدلة المعاملة قبل انتهاء النافذة بوقت كافٍ، ويحتفظ بحصيلة مستمرة لما احتفظت به. نحو خمس دقائق للإعداد، بلا SDK، بلا تغييرات في الكود، بلا إعادة إرسال للتطبيق.
تقارن الخيارات بدلاً من ذلك؟ كيف تختار برنامج إدارة استردادات Apple للمطورين يغطي ما ينبغي مقارنته.
المصادر
الأسئلة الشائعة
لا. Apple تملك علاقة الفوترة، لذا Apple وحدها من يمكنها إعادة المال. خطوتاك الوحيدتان هما الرد على طلب الاسترداد بالأدلة، أو تسليم العميل نموذج استرداد Apple بنفسك عبر شاشة طلب الاسترداد في StoreKit.
يُخبر العملاء بأنهم سيتلقون رداً خلال 48 ساعة. أما نافذتك أنت فأضيق بكثير، نحو 12 ساعة من CONSUMPTION_REQUEST.
تقول الاتفاقية إن لها الحق في ذلك. عملياً، المطورون الذين راجعوا تقارير المدفوعات في App Store Connect يرون خصم الحصة بعد العمولة، فتخسر ما كسبته لا السعر الكامل.
لا شيء، ما لم تجعله يحدث. ترسل Apple إشعار REFUND بتاريخ إلغاء، وعلى خادمك إنهاء الاستحقاق. تفوّته وسيحتفظ ذلك المستخدم بـ Pro مجاناً.
بين 2% و5% من المعاملات المدفوعة لتطبيقات الاشتراك، استناداً إلى بيانات RevenueCat عبر أكثر من 75,000 تطبيق. الصحة واللياقة والتعليم أعلى من ذلك. بعد 10%، انظر إلى التسعير ونص paywall قبل أي شيء آخر.
نعم، عندما تعكس Apple الاسترداد. ستتلقى إشعار REFUND_REVERSED وينبغي أن تعيد كل ما سحبته.
عادةً، نعم. منتج استهلاكي بقيمة $2.99 لا يستحق عشر دقائق من يوم إنسان. لكنه يستحق ثانيتين من وقت الخادم، وفي تطبيق عالي الحجم تتراكم تلك المبالغ الصغيرة بسرعة.





