الإجابة المختصرة: أقل مما تتصور، ومعظمها يكتفي بالاستماع فقط.
يُعد Google Play RTDN بمثابة القناة الناقلة. فهو ينقل عمليات التجديد، وحالات الإلغاء، وعمليات الشراء المُبطلة، ومنذ منتصف عام 2026، رسالة تفيد بأن عملية استرداد مصرفي قيد المراجعة وأن أمامك 24 ساعة لإبداء رأيك. هذه الرسالة الأخيرة هي المكان الوحيد الذي يحدث فيه فعليًا الدفاع عن المبالغ المستردة في Google Play. أما كل ما عداها في هذا التدفق فهو مجرد إخبار من Google بما قررته بالفعل.
فعندما يسأل أحدهم عن الأدوات التي تتكامل مع إشعارات المطورين الفورية في Google Play من أجل الدفاع عن المبالغ المستردة، فهو في الواقع يطرح سؤالين: أيّ الأدوات يمكنها سماع هذا التدفق، وأيّها يمكنها الرد عليه. أما بالنسبة لجانب Apple، فإن شرح CONSUMPTION_REQUEST الخاص بنا يتناول المشكلة نفسها على iOS.
أبرز النقاط
يُعد Google Play RTDN عبارة عن موضوع (topic) في نظام Pub/Sub. تنشر Google الرسائل وأنت تشترك فيها.
هناك نوع واحد فقط من إشعارات RTDN يتيح لك الرد: PendingRefundReviewNotification. يُطلق هذا الإشعار عند حدوث استرداد مصرفي، ويمنحك 24 ساعة.
اعتبارًا من 3 أغسطس 2026، أصبحت أنت من يتحمل تكلفة الاسترداد المصرفي: سعر الشراء مطروحًا منه رسوم Google، بالإضافة إلى رسوم بنكية تتراوح بين 15 و25 دولارًا.
تستقبل معظم منصات الاشتراكات إشعارات استرداد الأموال من Google Play، لكن القليل جدًا منها يرسل ردًا.
تستجيب RevenueCat لمراجعات الاسترداد المصرفي، لكن وفقًا لوثائقها الخاصة، لا ترسل أي بيانات استهلاك، بل تفضيلًا واحدًا وعلامة واحدة فقط.
إذا فاتتك مهلة الـ24 ساعة، فإن Google تخوض النزاع دون أي مساهمة منك.
ما الذي يرسله Google Play RTDN فعليًا
تصل إشعارات المطورين الفورية إلى موضوع (topic) في Google Cloud Pub/Sub تملكه أنت. كل رسالة عبارة عن كتلة بيانات مشفّرة بترميز base64 تحمل واحدة من خمس حمولات بيانات (payloads): أحداث الاشتراكات، وأحداث المنتجات ذات الشراء الواحد، وإشعار اختبار (test ping)، والنوعان اللذان يهمّاننا هنا.
يُعد VoidedPurchaseNotification هو إشعار استرداد الأموال التقليدي في Google Play. فهو يشير إلى أن عملية شراء قد استُردت أموالها، أو خضعت لاسترداد مصرفي، أو أُلغيت بطريقة أخرى. يحتوي على أربعة حقول: purchaseToken وorderId وproductType وrefundType. وهو مفيد لإلغاء الوصول، لكنه عديم الفائدة للاعتراض، لأن الأموال تكون قد ذهبت بالفعل.
أما PendingRefundReviewNotification فهو الإشعار الجديد. ويوضح مرجع RTDN الخاص بـ Google أنه يُرسل "عندما يطلب مستخدم استردادًا مصرفيًا مقابل عملية شراء، ويتطلب هذا الطلب مراجعة من المطوّر". تحصل على pendingRefundToken، وorderId، وrefundReason الذي يكون حاليًا دائمًا 7، أي CHARGEBACK. عندها تبدأ مهلة الـ24 ساعة.
إذن، تأتي إشعارات استرداد الأموال في Google Play RTDN بنوعين: أحدهما إيصال، والآخر سؤال.
لماذا أصبحت مهلة الـ24 ساعة مهمة فجأة
لسنوات، كانت حالات الاسترداد المصرفي على أندرويد مشكلة Google. كان المستخدم يعترض على عملية دفع لدى بنكه، فتتحمل Google التكلفة، وتحصل أنت على إشعار شراء مُبطل وتمضي قدمًا.
انتهى ذلك بالنسبة للطلبات التي تمت بعد 3 أغسطس 2026. أصبحت الآن تدفع سعر الشراء مطروحًا منه رسوم خدمة Play، بالإضافة إلى أي رسوم استرداد مصرفي يفرضها البنك. تغطي Google رسوم خدمتها الخاصة فقط، ولا شيء غير ذلك.
تتراوح رسوم شبكات البطاقات بين 15 و25 دولارًا لكل نزاع، وأحيانًا أكثر من ذلك. فحزمة عملات بسعر 4.99 دولار تتعرض لاسترداد مصرفي تكلفك نحو 3.50 دولار من العائدات المفقودة، بالإضافة إلى 20 دولارًا كرسوم. أي أن 23 دولارًا تضيع مقابل عملية بيع بأربعة دولارات.
في المقابل، فتحت Google واجهة برمجة ReviewRefund API. فعندما يصل إشعار PendingRefundReviewNotification، ترسل طلب POST إلى orders.reviewrefund مع الرمز (token)، وrefundPreference (وهو إما DECLINE أو APPROVE أو NEUTRAL)، وما إذا كنت قد قدمت عينة مجانية، ونسبة استهلاك بوحدة الملي-وحدة (milliunits)، وما يصل إلى 1000 حدث استخدام. وتتولى Google بعد ذلك عرض ذلك على البنك نيابة عنك.
إذا فاتتك المهلة، تدخل Google النزاع خالية الوفاض. تشير أرقام القطاع إلى أن معدلات الفوز في حالات الاسترداد المصرفي دون مساعدة تبلغ نحو 20 إلى 30 بالمئة. أما مع تقديم الأدلة، فيدّعي بعض المزودين نسبة 80 بالمئة. خذ الرقمين بشيء من التحفظ، لكن الاتجاه العام واضح.
الأدوات، مرتبة حسب ما تفعله فعليًا
تدّعي منتجات كثيرة أنها "تدعم Google Play RTDN"، لكن معظمها يقصد أنها تشترك في الموضوع (topic) فقط، والقليل جدًا منها يقصد أنها ترد فعليًا.
Refund Sensor. مصمم خصيصًا لهذه المهمة. يقوم بتهيئة موضوع Pub/Sub في مشروع Cloud الخاص بك، ويسجله في Play Console، وعندما يصل إشعار PendingRefundReviewNotification، يرسل توصية DECLINE مصحوبة بأدلة التسليم والاستهلاك عبر واجهة Review Refund API. يقتصر الإعداد على تسجيل الدخول عبر Google ومنح صلاحيتين في Play Console، دون الحاجة إلى SDK. وحتى وقت كتابة هذا المقال، تُعد من الأدوات القليلة التي تقدّم أدلة فعلية وليس مجرد تفضيل. التفاصيل متوفرة على صفحة الدفاع الخاصة بـ Google Play.
RevenueCat. تستقبل RTDN، وتستطلع Voided Purchases API بشكل دوري، وتلغي الأذونات (entitlements) عند الاسترداد. في يوليو 2026 أضافوا Google إلى ميزة Refund Control، لذا أصبحوا الآن يستجيبون لمراجعات الاسترداد المصرفي. لكن اطّلع على وثائقهم الخاصة. فعلى Google، يرسلون الرمز (token)، وحقل sampleContentProvided مضبوطًا على true، وتفضيلك. وبكلماتهم: "لا تجمع RevenueCat حاليًا أو ترسل نسب استهلاك أو أحداث استخدام." أي تصويت دون حجة. وهذا مناسب إذا كنت تستخدمها بالفعل، لكنه ليس دفاعًا كاملاً.
Adapty. مستقبِل قوي لإشعارات RTDN. توضح وثائقهم كيفية لصق اسم الموضوع (topic) في Play Console والضغط على زر الاختبار. تظهر عمليات الاسترداد في تدفق الأحداث وتُطلق webhooks. لم أجد أي تكامل مع ReviewRefund. استماع فقط لا غير.
Qonversion وGlassfy وغيرهما. القصة نفسها. تستهلك إشعارات المطورين الفورية في Google Play للحفاظ على تحديث حالة الاشتراك. ولا تتعامل أي منها مع مراجعة الاسترداد المصرفي، وفقًا لوثائقها العامة.
خادمك الخاص (backend). خيار متاح دائمًا. اشتراك في Pub/Sub، وأداة فك ترميز، وبحث عن الطلب، واستعلام استخدام، وطلب POST واحد موثّق. الجزء الصعب ليس الكود، بل أن الإشعار قد يصل الساعة 2 صباحًا يوم الأحد، والمهلة لا تهتم بذلك.
إذا كنت تبحث عن برنامج لإدارة حالات الاسترداد المصرفي في Google Play، فاطرح على كل مزود سؤالًا واحدًا: عندما يصل إشعار مراجعة، ما الذي ترسله بالضبط كرد؟ "تفضيلك" مجرد بداية، أما بيانات الاستهلاك فهي الدفاع الحقيقي.
كيفية دمج Google Play RTDN بنفسك للدفاع عن المبالغ المستردة
إذا كنت تفضل البناء بنفسك بدلًا من الشراء، فهذه هي الخطوات.
فعّل واجهة برمجة Cloud Pub/Sub API في مشروع Google Cloud. أنشئ موضوعًا (topic). امنح [email protected] دور Pub/Sub Publisher عليه. فإذا غاب هذا الدور، لن يصل أي شيء إطلاقًا. وهذه هي الشكوى الأكثر شيوعًا في منتديات RevenueCat.
في Play Console، انتقل إلى Monetize، ثم Monetization setup. فعّل خيار "Enable real-time notifications"، والصق اسم الموضوع الكامل (projects/your-project/topics/your-topic)، ثم اضغط على Send test notification. إذا وصل الإشعار، فهذا يعني أن القناة تعمل.
أنشئ اشتراكًا في Pub/Sub، سواء بنمط push أو pull. فك ترميز حقل البيانات. وقسّم المعالجة حسب نوع الحمولة (payload).
بالنسبة لـ PendingRefundReviewNotification: ابحث عن الطلب، واستخرج بيانات الاستخدام الفعلية، وحدد تفضيلًا، وأرسل طلب POST إلى reviewrefund مع pendingRefundToken. خلال 24 ساعة وإلا فلا داعي للمحاولة. أما بالنسبة لـ VoidedPurchaseNotification: ألغِ الوصول. يتناول مقالنا عن إلغاء الوصول بعد الاسترداد سبب سهولة الخطأ في هذه الخطوة على Google تحديدًا.
سجّل كل شيء. فمعدل الاستجابة ومعدل الفوز رقمان منفصلان.
هناك شيء واحد لا توفره Google: إشعار PendingRefundReviewNotification للاختبار. لذا عليك إعداد النظام ثم انتظار حالة استرداد مصرفي حقيقية. ولهذا السبب تعرض الأدوات المُستضافة عبارة "awaiting first refund event" بدلًا من علامة صح خضراء.
أفضل الأدوات لدمج Google Play RTDN، إذا اضطررت إلى ترتيبها
فيما يتعلق بالدفاع عن المبالغ المستردة في Google Play تحديدًا، أي الرد على مراجعة الاسترداد المصرفي بأدلة، فالقائمة قصيرة. تقوم Refund Sensor بذلك ببيانات استهلاك ودون كتابة كود. أما RevenueCat فتقوم بذلك بتفضيل فقط، وهو أفضل من الصمت لكن ليس بكثير. أما البقية فتكتفي بمراقبة التدفق.
أما بالنسبة للبنية الأساسية العامة لـ RTDN ومزامنة الأذونات، فكل من RevenueCat وAdapty ناضجتان وموثقتان جيدًا.
أما إذا كنت تفضل عدم التعامل مع أي من ذلك، فإن الاستعانة بجهة بيع مسجلة (merchant of record) مثل Tebex أو Xsolla عبر متجر ويب تنقل المسؤولية خارج سجلاتك. لكنها تنقل أيضًا عملية الشراء خارج Play، ولا تفعل شيئًا لتلك التي تبقى عليه.
اختر بناءً على المشكلة التي تواجهها.
الخلاصة
صُمم Google Play RTDN لإخبارك بالأشياء. ولم يبدأ في طرح الأسئلة إلا مؤخرًا. يُعد PendingRefundReviewNotification أول مرة تريد فيها Google سماع وجهة نظرك في قصة استرداد أموال على أندرويد، وقد ظهر في الموسم نفسه الذي بدأت فيه Google تجعلك تدفع ثمن الحالات التي تخسرها.
وهذا يغيّر الحسابات. فأداة تكتفي بالاستماع إلى إشعارات استرداد الأموال في Google Play كانت مقبولة حين كانت عملية استرداد خاسرة تكلفك قيمة البيع فقط. أما الآن، فالتكلفة هي قيمة البيع بالإضافة إلى رسوم بنكية، والشيء الوحيد الذي يقف بينك وبين تلك الفاتورة هو طلب POST خلال 24 ساعة.
قم بإعداد الموضوع (topic). تحقق مما ترسله منصتك فعليًا كرد. وإذا كانت الإجابة لا شيء، أو مجرد تفضيل، فسدّ هذه الفجوة قبل أن تكتشفها حالة الاسترداد المصرفي التالية.
الأسئلة الشائعة
فقط عمليات الاسترداد التي تُبطل عملية الشراء، على شكل VoidedPurchaseNotification. أما عمليات الاسترداد التي تتم عبر Play Console دون تفعيل خيار "Remove entitlement" فلا تظهر إطلاقًا في RTDN أو في Voided Purchases API.
لا. تقرر Google عمليات الاسترداد العادية بمفردها. تغطي عملية المراجعة فقط حالات الاسترداد المصرفي (chargebacks)، حيث يلجأ المستخدم إلى بنكه.
تمضي Google قدمًا دون مدخلاتك. وإذا تم تثبيت الاسترداد المصرفي، فستدفع سعر الشراء مطروحًا منه رسوم Google، بالإضافة إلى رسوم الاسترداد المصرفي التي يفرضها البنك.
جزئيًا. منذ يوليو 2026، أصبحت ترسل تفضيل الاسترداد (refund preference) وحقل sampleContentProvided. لكن دون نسب استهلاك أو أحداث استخدام، وفقًا لوثائقها الخاصة.
إذا قمت ببنائه بنفسك، فنعم. أما الأدوات المُستضافة مثل Refund Sensor فتقوم بإعداد الموضوع (topic) والرد نيابة عنك بعد تسجيل الدخول عبر Google ومنح صلاحيتين في Play Console.
ليس حاليًا. زر الاختبار في Play Console يرسل فقط إشعار TestNotification. يتعين عليك انتظار حالة استرداد مصرفي حقيقية.



