يبدأ طلب استرداد الأموال كإجراء من العميل. أما على جانبك، فيتحول إلى سلسلة من الأحداث إما أن يتعامل معها خادمك الخلفي أو يفوّتها.
قد تطلب Apple معلومات من خادمك، وهناك مهلة زمنية لذلك. ثم تصل النتيجة على شكل إشعار، ويجب أن تتغير حالة الوصول في تطبيقك لتطابقها. إذا كانت أي حلقة في هذه السلسلة مفقودة، فإن الاسترداد يحدث على أي حال، لكنك تكتشفه لاحقًا من تقرير مدفوعات أو من مستخدم محتار.
لا يمكنك تقرير ما إذا كانت Apple ستوافق على الاسترداد. فهذا قرار Apple، ولا تغيّره أي أدوات مخصصة للمطورين. ما يمكنك تقريره هو ما إذا كانت أنظمتك جاهزة عندما يصل الطلب.
يغطي هذا الدليل ما يجب فعله قبل طلب استرداد الأموال من Apple وأثناءه وبعده. وإذا أردت الصورة التشغيلية الأوسع، فإن دليلنا حول إدارة عمليات استرداد الأموال في App Store يغطي سير العمل المحيط بذلك.
أبرز النقاط
• تتخذ Apple قرار الاسترداد النهائي. فالمطورون لا يوافقون على طلبات الاسترداد ولا يرفضونها.
• قد تطلب Apple معلومات الاستهلاك. وحيثما تفعل ذلك، يمكن للمطورين الرد بموافقة العميل وضمن المهلة المحددة.
• يجب أن تصل إشعارات الاسترداد إلى خادمك الخلفي، وإلا فإن هذه الأحداث لا وجود لها فعليًا من منظورك.
• ينبغي أن تغيّر نتائج الاسترداد حالة التطبيق، لا أن تُسجَّل فحسب.
• التوقيت مهم حيثما تحدد Apple مهلة للرد. فطلبات الاسترداد لا تنتظر ساعات العمل.
• الأتمتة تمنع في المقام الأول الخطوات الفائتة: إشعارات فائتة، ومهل فائتة، وتحديثات استحقاقات فائتة.
ماذا يحدث عندما يطلب عميل استرداد أمواله من Apple؟
يقدّم العميل طلبًا عبر Apple. وتقيّم Apple الطلب، وقد تطلب منك معلومات في أثناء ذلك، ثم تتخذ قرارها، وبعدها تخبر خادمك بما حدث.
الخطوة | ما يحدث | على جانبك |
1 | يقدّم العميل طلب استرداد إلى Apple | لا شيء تفعله — لكن يجب أن تكون نقطة النهاية لديك نشطة |
2 | تبدأ Apple تقييم الطلب | لا رؤية لك في هذه المرحلة |
3 | قد ترسل Apple إشعار CONSUMPTION_REQUEST | حدّد المعاملة والعميل |
4 | ترد أنت، عند استيفاء المتطلبات | التحقق من الموافقة، وتجهيز البيانات، وإرسالها في الوقت المحدد |
5 | تتخذ Apple قرارها | لا سلطة لك في القرار |
6 | تصل النتيجة على شكل إشعار | REFUND أو REFUND_DECLINED أو لاحقًا REFUND_REVERSED |
7 | يجب تحديث السجلات والوصول | تغيير حالة الاستحقاق لتطابق النتيجة |
الخطوة 3 مشروطة. فترسل Apple طلبات الاستهلاك لأنواع شراء ومواقف معينة، وليس تلقائيًا مع كل طلب استرداد. وبناء منطق يفترض وصول هذا الطلب دائمًا سيخلّف ثغرات.
لماذا قد تتحول طلبات استرداد الأموال من Apple إلى مشكلة في الإيرادات
المبلغ المسترد هو التكلفة الظاهرة، ونادرًا ما يكون الأكبر. فاسترداد فترة اشتراك يعكس إيرادات سبق أن احتسبتها، وينهي عادةً سلسلة التجديدات التي تليها، وهي تجديدات كانت على الأرجح مدرجة في توقعاتك.
ثم هناك الحالة. إذا لم يصل إشعار النتيجة أبدًا، يحتفظ العميل بالوصول المدفوع. قاعدة بياناتك تقول "نشط"، وApple تقول "مسترد"، ولا أحد يطابق بينهما حتى يشتكي أحد.
وحول ذلك تدور التكاليف الأقل وضوحًا: تقارير مدفوعات تحتاج إلى مطابقة يدوية، ومحادثات دعم حول الوصول ما كان ينبغي أن تكون ضرورية، وطلبات استرداد في App Store وصلت ليلًا وجرى الرد عليها متأخرًا. ومن دون سجل للاستردادات، تبقى الأسباب المتكررة غير مرئية.
هل يمكن للمطورين التحكم في قرار الاسترداد لدى Apple؟
لا. تتخذ Apple قرار الاسترداد النهائي. ويمكن للمطورين تقديم معلومات الاستهلاك المطلوبة عند الاقتضاء وإدارة حالة التطبيق الناتجة على جانبهم.
والوضوح بشأن هذا الفصل يوفر الكثير من الجهد الضائع.
ما تتحكم فيه
• ما إذا كانت الإشعارات تصل إلى خادمك الخلفي ويجري التعامل معها
• ما إذا كانت المعاملات مخزّنة ويمكن العثور عليها لاحقًا
• ما إذا كانت المعاملة مرتبطة بحساب مستخدم محدد
• ما إذا كانت بيانات الاستهلاك دقيقة ومجهّزة مسبقًا
• ما إذا كانت لديك موافقة صالحة لإرسالها
• ما إذا كنت ترد ضمن المهلة التي تحددها Apple
• ما إذا كانت الاستحقاقات والسجلات والتقارير تُحدَّث بعد النتيجة
ما لا تتحكم فيه
• قرار Apple النهائي بشأن أي استرداد بعينه
• كيفية موازنة Apple للعوامل التي يقوم عليها ذلك القرار
• سياسة الاسترداد الموجهة للعملاء لدى Apple وقواعد الأهلية
كيف ترد على طلبات استرداد الأموال من Apple
ثماني خطوات. ومعظمها يحدث قبل وجود أي طلب استرداد.
1. تأكد من وصول App Store Server Notifications إلى خادمك الخلفي
تصل أحداث الاسترداد إلى نقطة نهاية على الخادم تقوم أنت بتهيئتها. فإذا كان يتعذر الوصول إليها، أو لم يتم التحقق منها، أو كانت تفشل بصمت، فإن هذه الأحداث تضيع من منظورك. توثّق Apple الإعداد وتنسيق الحمولة الموقّعة في مرجع App Store Server Notifications. تحقق من التوقيع، وأعد استجابة نجاح، وسجّل ما استلمته قبل معالجته.
2. حدّد المعاملة والعميل
تشير الإشعارات إلى معرّفات المعاملات الخاصة بـ Apple، لا إلى معرّفاتك. تحتاج إلى سجل معاملات مخزّن للمطابقة معه، وإلى طريقة للوصول إلى حساب المستخدم. وهذا الجزء الثاني هو ما يتولاه appAccountToken، وهو UUID يُرفق وقت الشراء. وهو اختياري، ولهذا ينتهي الأمر بفرق كثيرة إلى كتابة استدلالات للمطابقة لاحقًا.
3. تحقق مما إذا كانت Apple قد طلبت معلومات الاستهلاك
يعني إشعار CONSUMPTION_REQUEST أن Apple تسأل عن استخدام العميل للمنتج أثناء تقييمها لطلب الاسترداد. وهو ليس إشعارًا بحدوث استرداد، ولا يصل مع كل استرداد. تعامل معه كنوع حدث مستقل له معالج خاص به.
4. تحقق من متطلبات الموافقة
أرسل بيانات الاستهلاك فقط عند استيفاء متطلبات Apple. وتوثيق Send Consumption Information من Apple صريح في هذا: يجب أن تحصل على موافقة صالحة من العميل قبل مشاركة بياناته، والحصول عليها مسؤوليتك أنت لا Apple. ولا يحمل الإشعار أي إشارة إلى الموافقة، فعليك أن تعرفها من سجلاتك الخاصة. وإذا لم يوافق العميل، فإن إرشادات Apple هي عدم الرد.
الموافقة إذن مسألة تخص التطبيق، وتُجمع قبل وجود أي طلب استرداد. وإضافتها لاحقًا لا تجدي.
5. جهّز معلومات استهلاك دقيقة
تصف الحمولة ما حدث فعليًا مع عملية الشراء، لذا استخرج القيم من سجلاتك بدلًا من تقديرها. توثّق Apple الحقول وقيمها الصالحة، بما في ذلك كيفية الإشارة إلى أنك لا تقدّم حقلًا معينًا. الدقة أهم من الصياغة: هذا مدخل في عملية Apple، وليس حجة تسوقها.
6. رد ضمن المهلة التي تحددها Apple
يطلب توثيق Apple الحالي الرد خلال 12 ساعة من الإشعار. راجع الصفحة بدلًا من الاعتماد على تنفيذ قديم — فقد راجعت Apple نقطة النهاية هذه وتوثّق الآن أكثر من إصدار. واثنتا عشرة ساعة هي أقوى حجة عملية لأتمتة هذه الخطوة، لأن الطلبات تصل ليلًا وفي عطلات نهاية الأسبوع.
7. تتبّع النتيجة النهائية
خزّن النتيجة. REFUND يعني أن الاسترداد مُنح. REFUND_DECLINED يعني أنه رُفض. REFUND_REVERSED يعني أن Apple عكست استردادًا سبق أن منحته. تتعامل الفرق عادةً مع الأولين وتنسى الثالث، ما يترك عميلًا من دون وصول يستحقه.
8. حدّث حالة الاستحقاق والوصول
يجب أن تطابق حالة الوصول في تطبيقك حالة المعاملة. عند منح استرداد، ألغِ الوصول بعد الاسترداد. وعند عكسه، أعد الوصول. اعتمد في ذلك على أحداث جانب الخادم بدلًا من عمليات التحقق على جانب العميل، لتبقى الحالة صحيحة حتى لو لم يفتح العميل التطبيق مرة أخرى.
كيف تتعامل مع استردادات Apple دون خسارة إيرادات أكثر من اللازم
معرفة كيفية التعامل مع استردادات Apple لا تعني محاولة إيقاف كل واحدة منها.
بعض الطلبات مشروعة. تم الخصم مرتين، أو لم يُفتح المحتوى، أو تجدد اشتراك بعد أن ظن أحدهم أنه ألغاه. والاستجابة المفيدة هنا هي إصلاح المشكلة الأساسية.
والباقي انضباط: سجلات معاملات دقيقة، ومعالجة سريعة للأحداث، وبيانات استهلاك صادقة، واستحقاقات متسقة، وسجل استردادات يمكنك الاستعلام منه. وهذا الأخير يكشف الأسباب المتكررة: منتج تفوق نسبة استرداده غيره بكثير، أو ارتفاع مفاجئ بعد إصدار، أو جدار دفع لا يوضح ما يفرضه من رسوم. لا شيء من ذلك يلغي الاستردادات. لكنه يقلل الخسائر التي يمكن تجنبها ويحافظ على دقة حالة التطبيق، وهذا هو الهدف الواقعي.
ماذا عن العملاء الذين يريدون طلب استرداد أموالهم من Apple؟
لا يطلب العملاء استرداد الأموال من المطورين. فإذا كنت تتساءل عن كيفية طلب استرداد مشتريات Apple، أو كيفية طلب استرداد محتوى App Store، فالمسار هو عملية Apple نفسها: سجّل الدخول في reportaproblem.apple.com، واختر "طلب استرداد الأموال"، وحدد السبب والعنصر، ثم أرسل الطلب. وتشرح صفحة Apple حول طلب استرداد الأموال للتطبيقات أو المحتوى الخطوات، وتشير إلى أن الحصول على تحديث بشأن الطلب يستغرق عادةً من 24 إلى 48 ساعة.
هذا هو النصف الموجه للعملاء. وكل ما عداه في هذه المقالة هو النصف الموجه للمطورين، والاثنان يسيران على جدولين زمنيين مختلفين.
سياسة الاسترداد لدى Apple مقابل إدارة الاستردادات لدى المطور
يُخلط بين هذين كثيرًا بما يستدعي الفصل بينهما. تحكم سياسة الاسترداد لدى Apple جانب العميل: من يمكنه طلب الاسترداد، وعبر أي عملية، وبأي شروط. وتذكر Apple أن الأهلية قد تختلف باختلاف البلد أو المنطقة، مع اعتبار شروط وأحكام Apple Media Services مرجعًا لذلك، وأن حقوق حماية المستهلك تنطبق حيثما ينص عليها القانون المحلي. ولا يحدد المطورون أيًا من ذلك.
أما إدارة الاستردادات لدى المطور فهي كل ما يقع على جانبك من الخط: استقبال الأحداث، وتحديد المعاملات، والرد عند الطلب، وتتبع النتائج، وتحديث الوصول، وفهم الأثر على الإيرادات. سياسة Apple تحدد ما يحدث للعميل. وأنظمتك تحدد ما يحدث لتطبيقك.
متى ينبغي للمطورين أتمتة التعامل مع استردادات Apple؟
تنجح المعالجة اليدوية ما دام الحجم منخفضًا ويستطيع شخص واحد الإلمام بها كلها.
وتفشل لأسباب عادية. تصل الإشعارات في الثالثة فجرًا. ينتقل المهندس الذي كتب معالج الاستردادات إلى فريق آخر. تُخزَّن معرّفات المعاملات في نظام والحسابات في نظام آخر. تنقضي مهل الرد قبل أن يقرأ أحد الإشعار، ويكتشف قسم المالية الفجوة عند إقفال الربع.
تغطي الأتمتة الأجزاء الحتمية: استقبال الإشعارات والتحقق منها، ومطابقة المعاملات مع المستخدمين، وتتبع المهل، وتحديث الاستحقاقات، والاحتفاظ بسجل قابل للبحث. وهي لا تؤثر في قرار Apple، وأي أداة توحي بخلاف ذلك تسيء تمثيل العملية.
ما الذي ينبغي أن تفعله برامج إدارة استردادات App Store فعليًا؟
ينبغي لبرامج إدارة استردادات App Store أن تسد الثغرات المحددة التي تتركها المعالجة اليدوية مفتوحة.
ينبغي أن تراقب الإشعارات وتتحقق منها، حتى لا تختفي الأحداث في نقطة نهاية معطلة. وأن تفصل بين أنواع أحداث الاسترداد، لأن طلب الاستهلاك ونتيجة الاسترداد يحتاجان إلى معالجة مختلفة. وأن تربط المعاملات بالحسابات، لأن هذا البحث هو حيث يتركز العمل اليدوي. وأن تتتبع مهل الرد، لأنها الموعد الذي يفوّته الناس. وحول ذلك: دعم سير عمل الاستهلاك بما في ذلك حالة الموافقة، وسجل استردادات قابل للبحث، ومزامنة الاستحقاقات، وتقارير واضحة بما يكفي لإظهار الأنماط.
القيمة ليست في عدد الميزات. بل في أن أيًا من هذه الخطوات لا يعتمد على تذكّر شخص ما أن يتحقق.
أين توثَّق هذه القواعد
كل ما ورد أعلاه بشأن Apple مستمد من توثيق Apple نفسها. اقرأ هذه المصادر مباشرة قبل البناء، وراجعها دوريًا، لأن واجهات API الخاصة بالاسترداد تغيرت أكثر من مرة.
Send Consumption Information — متطلب الموافقة، ومهلة الرد، وحقول الطلب. المصدر الموثوق للخطوات من 4 إلى 6.
App Store Server Notifications — إعداد نقطة النهاية، وتنسيق الحمولة الموقّعة، وأنواع الإشعارات، بما فيها CONSUMPTION_REQUEST وREFUND وREFUND_DECLINED وREFUND_REVERSED.
طلب استرداد الأموال للتطبيقات أو المحتوى — عملية Apple الموجهة للعملاء، والملاحظة بأن الأهلية تختلف باختلاف البلد أو المنطقة.
خلاصة
أنت لا تقرر نتائج الاسترداد لدى Apple. أنت تقرر مدى سرعة ودقة استجابة أنظمتك لها.
ويتلخص ذلك في بضعة أمور: إشعارات تصل، ومعاملات يمكنك تحديدها، ومعلومات دقيقة تُرسل عندما تطلبها Apple، ونتائج مسجّلة، واستحقاقات تطابق الواقع، ورؤية كافية لإدراك الأثر على الإيرادات.
إذا أردت التحقق من شيء واحد هذا الأسبوع، فتحقق من نقطة النهاية. تأكد من أن عنوان URL الخاص بـ App Store Server Notifications لديك نشط، وتم التحقق منه، ويسجّل ما يستلمه. فكل ما عداه في هذه المقالة يعتمد على عمل هذا الجزء الواحد.
إذا تجاوز نشاط الاستردادات قدرة التتبع اليدوي
عندما تصبح أحداث الاسترداد أكثر تكرارًا من أن تُراقب يدويًا، يمكن لنظام مخصص أن يراقبها، ويدير سير عمل الرد، ويتتبع النتائج، ويقلل العمل التشغيلي المتكرر. ويتولى RefundSensor هذا الجانب من العملية — جانب المطور، لا جانب Apple.
الأسئلة الشائعة
لا. تتخذ Apple قرار الاسترداد النهائي. ويمكن للمطورين فقط تقديم معلومات الاستهلاك عندما تطلبها Apple.
تأكد من وصول الإشعارات إلى خادمك الخلفي، وحدّد المعاملة، وتحقق من الموافقة، وقدّم بيانات استهلاك دقيقة عند طلبها، ثم حدّث نتيجة الاسترداد في نظامك.
هو إشعار يطلب معلومات حول كيفية استخدام العميل لعملية الشراء أثناء مراجعة Apple لطلب الاسترداد. ولا يعني أن الاسترداد قد تمت الموافقة عليه.
يحدد توثيق Apple الحالي مهلة رد مدتها 12 ساعة. وتساعد المعالجة الآلية على تجنب تفويت المواعيد النهائية.
لا. لا يمكن للمطورين حجب قرار Apple بشأن الاسترداد أو تجاوزه. فمعلومات الاستهلاك مجرد مدخل واحد قد تأخذه Apple في الاعتبار.
ألغِ الاستحقاق المرتبط عند منح الاسترداد. وإذا عكست Apple الاسترداد لاحقًا، فأعد الاستحقاق.
يطلب العملاء استرداد الأموال مباشرة عبر Apple باستخدام reportaproblem.apple.com. ولا يعالج المطورون طلب الاسترداد الخاص بالعميل.
نعم. يمكن أتمتة الإشعارات ومطابقة المعاملات والمواعيد النهائية وتحديثات الاستحقاقات وسجلات الاسترداد لتقليل العمل اليدوي.






