# استرداد الأموال في App Store: ما يراه المطوّر

> Apple وحدها تقرّر الاسترداد. يتلقى المطوّر CONSUMPTION_REQUEST، ويمكنه الرد خلال 12 ساعة، ثم يعرف القرار عبر REFUND.

الصفحة الأصلية: [استرداد الأموال في App Store: ما يراه المطوّر](https://devoria.fr/ar/blog/app-store-refund-what-developer-sees)
الكاتب: [Mehdi Azizi](https://devoria.fr/ar/mehdi-azizi)
النشر: 2026-11-04
آخر مراجعة للمحتوى: 2026-11-04


في App Store، **Apple هي التي تقبل طلب الاسترداد أو ترفضه، وليس المطوّر أبدًا.** يقدّم العميل طلبه على موقع Apple أو من داخل تطبيقك. إذا ربطت إشعارات خادم Apple، فستصلك إشعار `CONSUMPTION_REQUEST` لحظة تقديم الطلب، ثم `REFUND` أو `REFUND_DECLINED` عند صدور القرار. بين الاثنين، لديك 12 ساعة لإرسال بيانات الاستهلاك وتفضيلك، بشرط أن يكون العميل قد وافق على ذلك.

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

## من يقرّر استرداد الأموال في App Store؟

Apple، وApple وحدها. تصف [صفحة دعم Apple](https://support.apple.com/en-us/118223) مسار العميل: يسجّل الدخول إلى reportaproblem.apple.com، ويختار "Request a refund"، ويذكر السبب، ثم يحدد عملية الشراء المعنية. تنصحه Apple بالانتظار من 24 إلى 48 ساعة للحصول على رد.

يمكن للعميل أيضًا طلب الاسترداد من داخل تطبيقك. يوفّر StoreKit لذلك [نافذة طلب](https://developer.apple.com/documentation/storekit/transaction/beginrefundrequest%28in%3A%29-9k0pj)، متاحة منذ iOS 15. تنصح Apple باستدعائها من إعدادات الحساب أو من قائمة المساعدة. تعرض النافذة عملية الشراء وقائمة أسباب، وتستغرق Apple حتى 48 ساعة لتحسم الأمر.

**في الحالتين، ليس عليك الموافقة على شيء.** يمكنك فقط تقديم معلومات وتفضيل، وهما من بين عدة معايير في قرار Apple.

## ما يراه كل طرف، خطوة بخطوة

| الخطوة       | جهة العميل                            | جهة المطوّر                                 |
| ------------ | ------------------------------------- | ------------------------------------------- |
| الطلب        | نموذج Apple أو النافذة داخل التطبيق   | إشعار `CONSUMPTION_REQUEST`                 |
| خلال 12 ساعة | الانتظار                              | إمكانية إرسال بيانات الاستهلاك              |
| خلال 48 ساعة | رد Apple                              | إشعار `REFUND` أو `REFUND_DECLINED`         |
| بعد القبول   | إعادة المال إلى وسيلة الدفع الخاصة به | إزالة الشراء من الحقوق النشطة، ووحدات سالبة |
| بعد اعتراض   | إلغاء الاسترداد من قبل Apple          | إشعار `REFUND_REVERSED`، وإعادة الوصول      |

لا يعرض لك App Store Connect إلا عمليات الاسترداد المقبولة فعلًا، في Sales and Trends. **أما الطلب نفسه فلا يصل إلا عبر إشعارات الخادم.** بدونها، تكتشف الاسترداد بعد وقوعه.

## إشعارات الخادم الخاصة بالاسترداد

ترسل [App Store Server Notifications V2](https://developer.apple.com/documentation/appstoreservernotifications/notificationtype) خمسة أنواع مفيدة هنا. تستقبلها على عنوان HTTPS المسجّل في App Store Connect، واحد للإنتاج وواحد للـ sandbox.

| الإشعار               | ما يعلنه                                    | ما تفعله                             |
| --------------------- | ------------------------------------------- | ------------------------------------ |
| `CONSUMPTION_REQUEST` | العميل يطلب استرداد المال                   | الرد خلال 12 ساعة، إن وُجدت الموافقة |
| `REFUND`              | Apple أعادت مبلغ المعاملة                   | سحب المحتوى أو الوصول المسترد        |
| `REFUND_DECLINED`     | Apple رفضت الطلب                            | لا شيء، يستمر الوصول                 |
| `REFUND_REVERSED`     | Apple تلغي استردادًا بعد اعتراض من العميل   | إعادة ما سحبته                       |
| `REVOKE`              | شراء مشترك عبر Family Sharing لم يعد متاحًا | سحب الوصول من فرد العائلة            |

يجب أن يرد خادمك برمز HTTP بين 200 و206. وفقًا لـ[صفحة الرد على الإشعارات](https://developer.apple.com/documentation/appstoreservernotifications/responding-to-app-store-server-notifications)، تعيد Apple المحاولة خمس مرات في الحالة الأخرى، بعد 1 ثم 12 ثم 24 ثم 48 ثم 72 ساعة من المحاولة السابقة. في الـ sandbox، ترسل مرة واحدة فقط.

## Consumption API: ما يمكنك قوله لـ Apple

عندما يصل الطلب، يمكنك الرد عبر [Send Consumption Information](https://developer.apple.com/documentation/appstoreserverapi/send-consumption-information). القاعدة تختصرها جملة واحدة من Apple: "Respond within 12 hours of receiving the `CONSUMPTION_REQUEST` notification." والإصدار 2 من الـ API يسري على جميع أنواع المنتجات، بما فيها الاشتراكات.

حقول [الطلب](https://developer.apple.com/documentation/appstoreserverapi/consumptionrequest):

| الحقل                   | إلزامي | ما يقوله لـ Apple                                     |
| ----------------------- | ------ | ----------------------------------------------------- |
| `customerConsented`     | نعم    | العميل وافق على مشاركة بياناته                        |
| `deliveryStatus`        | نعم    | تم تسليم الشراء ويعمل، أو سبب عدم تسليمه              |
| `sampleContentProvided` | نعم    | كانت هناك تجربة أو مقتطف أو وصف متاح قبل الشراء       |
| `consumptionPercentage` | لا     | الجزء المستهلك، من 0 إلى 100 000 مقابل 0 إلى 100 %    |
| `refundPreference`      | لا     | تفضيلك: `DECLINE` أو `GRANT_FULL` أو `GRANT_PRORATED` |

هناك توضيحان مهمان. إذا لم تكن قيمة `deliveryStatus` هي `DELIVERED`، فيجب أن يكون الجزء المستهلك صفرًا. وفي الاسترداد التناسبي لاشتراك، تحذف الجزء المستهلك: Apple تحسبه بنفسها.

**الموافقة هي شرط كل شيء.** تكتب Apple: "You must obtain valid consent from the customer before sharing their personal data with Apple in the Send Consumption Information API." بدون موافقة، لا ترد. كما تمنع Apple استخدام نافذة التتبع الإعلاني لجمع هذه الموافقة: "Don't use the AppTrackingTransparency prompt to obtain consent".

## إذا كنت تستخدم RevenueCat

مع RevenueCat، هو الذي يستقبل إشعارات Apple ويرد على الطلب، عبر [Refund Control](https://www.revenuecat.com/docs/customers/refund-control). تختار سياسة من أربع: تفضيل الاسترداد الكامل، أو تفضيل الرفض، أو إرسال بيانات الاستهلاك فقط، أو عدم الرد.

تفعيل مشاركة البيانات يعني أنك تؤكد حصولك على موافقة عملائك. يقول RevenueCat ذلك بنفسه: "Enabling consumption data sharing confirms that you obtained consent from your Customers." وينصح أيضًا بحصر "Prefer no refund" في فئة محددة، وينبّهك عندما يشمل هذا التفضيل معظم عملائك.

لكي تستقبل الإشعارات على خادمك الخاص أيضًا، يوفّر RevenueCat حقل "Apple Server Notification Forwarding URL" في إعدادات التطبيق. وهو موصوف في [صفحته عن إشعارات Apple](https://www.revenuecat.com/docs/platform-resources/server-notifications/apple-server-notifications). هذا ما أستخدمه. وإعداد اشتراك مع RevenueCat تجده في [RevenueCat والاشتراك داخل تطبيق iOS](https://devoria.fr/ar/blog/revenuecat-ios-in-app-subscription-setup).

## الأثر على إيراداتك وعلى الاشتراك

**على الوصول.** وفقًا لـ[توثيق `currentEntitlements`](https://developer.apple.com/documentation/storekit/transaction/currententitlements)، "Products that the App Store has refunded or revoked don't appear in the current entitlements". إذا كان تطبيقك يتحقق من الحقوق باستخدام `currentEntitlements`، يختفي الوصول المسترد تلقائيًا. وتحمل المعاملة تاريخ السحب وسببه، في `revocationDate` و`revocationReason`.

**على التقارير.** وفقًا لـ[مساعدة تقرير المبيعات](https://developer.apple.com/help/app-store-connect/reference/reporting/summary-sales-report)، يظهر الاسترداد بوحدات وسعر عميل سالبين. بالنسبة للاشتراكات، تحسب [صفحة بيانات الاشتراك](https://developer.apple.com/help/app-store-connect/measure-app-performance/view-subscription-data) عمليات الاسترداد الكاملة والجزئية ضمن الأحداث، وتطرحها من الوحدات اليومية.

**على سمعتك.** تذكر [الإرشادات 5.6.4](https://developer.apple.com/app-store/review/guidelines/#5.6.4) طلبات الاسترداد المفرطة ضمن علامات الجودة غير الكافية. معدل الاسترداد المرتفع ليس مجرد خسارة مالية: قد تأخذه Apple في الاعتبار عند تقييم مدى احترامك لقواعد السلوك.

## حالتي: التنبيه الذي ربطته بتطبيقاتي

في 12 أكتوبر 2026، ربطت تنبيهًا بتطبيقاتي. يحوّل RevenueCat إشعارات Apple إلى مسار على devoria.fr. يتحقق هذا المسار من توقيع Apple، ثم يرسل لي تنبيهًا، دون ذكر المبلغ. أردت أن أرى الطلب لحظة وصوله، وليس النتيجة فقط.

في 18 أكتوبر، وصل أول طلب حقيقي على TradaZen، محاكي التداول الخاص بي. اشتراك سنوي، مدفوع في نهاية تجربة مجانية مدتها 7 أيام. السبب المذكور: شراء غير مقصود. ثلاثة دروس:

1. **قد يصل الطلب نفسه عدة مرات.** تلقيت التنبيه نفسه ثلاث مرات في المساء نفسه. منذ ذلك الحين، أزيل تكرار كل تنبيه بناءً على نوع الإشعار ومعرّف المعاملة.
2. **وصل القرار في أقل من يوم.** رفضت Apple بعد نحو 22 ساعة من الطلب. واحتفظ العميل بوصوله.
3. **الرفض ليس النهاية.** أعاد العميل نفسه تقديم طلب بعد يومين، على المعاملة نفسها.

> طلب "شراء غير مقصود" في نهاية تجربة لا يُكسب في الرد على Apple. بل يُمنع على شاشة الدفع (paywall)، قبل الدفعة الأولى.

## الحد من الطلبات المسيئة دون مخالفة القواعد

**ما هو مسموح:**

- **الرد على كل طلب ببيانات دقيقة**، عندما يكون العميل قد وافق.
- **التعبير عن تفضيل محدد**، مثل الرفض لشراء تم استهلاكه بالفعل، بدلًا من الرفض للجميع.
- **ربط كل `REFUND` بحساب عميل.** توصي بذلك [صفحة Apple عن إشعارات الاسترداد](https://developer.apple.com/documentation/storekit/handling-refund-notifications) لرصد عمليات الاسترداد المتكررة.
- **توضيح ما يشتريه العميل قبل الشراء.** تطلب [الإرشادات 3.1.2(c)](https://developer.apple.com/app-store/review/guidelines/#3.1.2) وصف ما يحصل عليه المستخدم مقابل السعر، قبل عرض الاشتراك عليه.

**ما هو ممنوع:**

- **إرسال بيانات كاذبة** لرفض الطلب، أو الرد دون موافقة.
- **جمع الموافقة عبر نافذة التتبع الإعلاني**، وهو ما تستبعده Apple صراحةً.
- **التحايل في الشراء.** تمنع [الإرشادات 5.6](https://developer.apple.com/app-store/review/guidelines/#5.6) دفع العملاء إلى مشتريات غير مرغوبة أو تحصيل ثمن ما لم يُسلَّم.
- **الضغط على عميل** يطلب استرداد ماله. القاعدة نفسها تفرض الاحترام في خدمة العملاء، دون ترهيب.

تبقى أفضل وسيلة في المرحلة السابقة: شاشة دفع توضح السعر، وتاريخ الدفعة الأولى، وطريقة الإلغاء. الأخطاء التي يجب تجنبها تجدها في [أخطاء شاشة الدفع](https://devoria.fr/ar/blog/ios-paywall-beginner-mistakes)، وقواعد التجربة في [التجربة المجانية على App Store](https://devoria.fr/ar/blog/introductory-offer-app-store-free-trial-ios).

## الاختبار قبل الإنتاج

وفقًا لـ[صفحة اختبار الطلبات](https://developer.apple.com/documentation/storekit/testing-refund-requests)، تقبل الـ sandbox واختبارات StoreKit في Xcode طلبات الاسترداد. في الـ sandbox، أي سبب يؤدي إلى قبول تلقائي. لمحاكاة الرفض، اختر "Other" واكتب `DECLINE`. وللاسترداد التناسبي، اكتب `GRANT_PRORATED`. في الـ sandbox، يجب أن يُرسل رد الاستهلاك خلال خمس دقائق.

## اشتراك يُسترد أقل

ينطلق [iOS & Android Kit](https://devoria.fr/ar/kits/ios) من كود تطبيقاتي، مع شاشات الترحيب وشاشة الدفع والاشتراكات مبرمجة مسبقًا، ويتبع أربع خطوات حتى App Store، بالوتيرة التي تناسبك. الإعداد الكامل مفصّل في صفحة [الاشتراك داخل تطبيق iOS](https://devoria.fr/ar/expertise/ios-in-app-subscription)، وقواعد Apple الخاصة بالاشتراك في [الإرشادات 3.1.2](https://devoria.fr/ar/blog/guideline-3-1-2-app-rejected-subscription).

قبل إطلاق شاشة الدفع، [احصل على تشخيصك المجاني](https://devoria.fr/ar/diagnostic): يخبرك بما يعيق مشروعك فعلًا ويرسل لك قائمتي لتجنب رفض Apple.

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

### هل يستطيع المطوّر رفض استرداد الأموال في App Store؟

لا. Apple تقرّر وحدها. يمكنك إرسال بيانات الاستهلاك وتفضيل، مثل `DECLINE`، وهما من بين عدة معايير. والكلمة الأخيرة لـ Apple.

### هل يُبلَّغ المطوّر بطلب الاسترداد؟

نعم، إذا ربط App Store Server Notifications V2. ترسل Apple `CONSUMPTION_REQUEST` لحظة الطلب، ثم `REFUND` أو `REFUND_DECLINED` عند القرار. بدون الإشعارات، لا ترى إلا عمليات الاسترداد المقبولة، في تقاريرك.

### كم تستغرق Apple لمعالجة طلب الاسترداد؟

تعلن Apple للعميل من 24 إلى 48 ساعة. ويذكر توثيق StoreKit مدة 48 ساعة كحد أقصى. ومن جهتك، لديك 12 ساعة لإرسال بيانات الاستهلاك.

### ماذا يحدث للوصول بعد الاسترداد؟

يخرج الشراء المسترد من الحقوق النشطة للعميل: لم يعد StoreKit 2 يعيده في `currentEntitlements`. وإذا ألغت Apple الاسترداد لاحقًا، يصلك `REFUND_REVERSED` ويجب عليك إعادة الوصول.

### هل تلزم موافقة العميل للرد على Apple؟

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

### هل تُحسب عمليات الاسترداد ضد تطبيقي؟

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


## مشروعك

[iOS & Android Kit](https://devoria.fr/ar/kits/ios): أنشئ تطبيقك لـ iPhone وAndroid باستخدام Claude Code: الكود الأساسي لتطبيقاتي، والمسار الكامل حتى النشر في المتاجر، وكل الحزم. ‏109 ⁦US$⁩.

[تشخيص: ما الذي يفصلك عن تطبيقك على iPhone](https://devoria.fr/ar/diagnostic): 7 أسئلة في 60 ثانية: تعرف ما الذي يعيقك فعلًا عن نشر تطبيقك على iPhone، ومسارك في 4 مراحل، والكيت المناسب لك.
