إعداد Google Play
اربط Refund Sensor بـ Google Play Console عبر الإشعارات الفورية. أتمِت مراجعات رد المدفوعات وردّ خلال 24 ساعة لحماية إيراداتك.
قبل أن تبدأ
يتصل Refund Sensor بـ Google Play عبر حساب خدمة تنشئه أنت في مشروع Google Cloud الخاص بك. لا تنتهي صلاحيته ولا يحتاج إلى إعادة تفويض. ستحتاج إلى:
- مشروع Google Cloud على الحساب المالك لـ Play Console (المجاني يفي بالغرض).
- حساب خدمة بمفتاح JSON يمكنك تنزيله.
- وصول Play Console إضافةً إلى منح Pub/Sub Admin لذلك الحساب.
- أسماء الحزم أو عناوين Play Store التي تريد الدفاع عنها.
أنشئ حساب خدمة ومفتاحًا
- افتح Google Cloud Console بالحساب المالك لـ Play Console، واختر مشروعًا أو أنشئه. من القائمة اليسرى افتح IAM & Admin وانقر Service accounts.
- انقر + Create service account، وأعطه اسمًا مثل RefundSensor Google Play API، ثم انقر Create and continue وDone. يمكنك تخطي الأدوار الاختيارية هنا.
- انسخ بريد حساب الخدمة (ينتهي بـ
.iam.gserviceaccount.com). ستحتاجه في الخطوات التالية. - افتح حساب الخدمة، وانتقل إلى علامة التبويب Keys، وانقر Add key → Create new key، واختر JSON، وانقر Create. تنزّل Google ملف
.json. احفظه بأمان؛ لن تدعك Google تنزّله مجددًا.
فعّل الواجهات المطلوبة
يحتاج مشروعك إلى تفعيل واجهتَي Google (خطوة تُنفَّذ مرة لكل مشروع). في Google Cloud Console، ومع اختيار مشروعك، ابحث عن كل واحدة وفعّلها:
- Google Play Android Developer API، التي تتيح لحساب الخدمة قراءة بيانات الاسترداد والطلبات.
- Cloud Pub/Sub API، التي تشغّل إشعارات الاسترداد الفورية. تأكد أنها Cloud Pub/Sub وليست Pub/Sub Lite، فهي منتج مختلف.
أضف بيانات اعتمادك
في Refund Sensor، افتح Add app، واختر Google Play، وارفع ملف مفتاح .json. نتحقق منه لدى Google ونخزّنه مشفّرًا أثناء التخزين بـ AES-256-GCM.
امنح صلاحيات Play Console
ادعُ حساب الخدمة إلى Play Console وامنحه وصولًا ماليًا في موضعين، لأن بيانات الاسترداد (المشتريات الملغاة) تُقرأ على مستوى الحساب:
- في Google Play Console، افتح Users and permissions → Invite new users والصق بريد حساب الخدمة. يصبح حساب الخدمة نشطًا فور الحفظ؛ فهو لا يقبل الدعوة بنفسه.
- تحت App permissions، أضف كل تطبيق تريد الدفاع عنه وفعّل View financial data وManage orders and subscriptions.
- انتقل إلى علامة التبويب Account permissions (يسهل تفويتها) وتحت Financial data فعّل View financial data, orders and cancellation survey responses وManage orders and subscriptions، ثم احفظ.
امنح Pub/Sub Admin
تصل الإشعارات الفورية إلى Refund Sensor عبر موضوع Pub/Sub ننشئه ونربطه لك، فلا شيء تلصقه في Play Console. يحتاج فقط إلى إذن إدارة Pub/Sub. في IAM & Admin → IAM انقر Grant access، والصق بريد حساب الخدمة كـ principal، واختر الدور Pub/Sub Admin (roles/pubsub.admin)، واحفظ. اختر Pub/Sub Admin وليس Pub/Sub Lite Admin؛ فدور Lite لا يعمل وهو أكثر أسباب فشل الإعداد التلقائي شيوعًا.
أضف تطبيقاتك
في خطوة Add apps، الصق عنوان Play Store أو اسم حزمة واحدًا في كل سطر (اسم الحزمة هو القيمة بعد ?id= في رابط Play Store، مثل com.yourcompany.app). يتحقق Refund Sensor من كل واحد مقابل وصول Play Console للحساب المرتبط قبل الاستيراد، ويعلّم ما لا يستطيع رؤيته.
الإشعارات الفورية
مع تفعيل الواجهات ومنح Pub/Sub Admin، يؤدي استيراد تطبيق إلى إنشاء الموضوع واشتراك الدفع تلقائيًا وتسجيله كنقطة نهاية RTDN للتطبيق. عندئذٍ يعرض التطبيق Awaiting first refund event حتى تسلّم Google أول حدث حقيقي (لا يوجد زر اختبار على جانب Google). وإذا فشل الإعداد التلقائي، تعرض بطاقة التطبيق Real-time notifications not set up مع رابط يعيدك إلى هذا الدليل.
بمَ يرد Refund Sensor على Google Play
ليست كل مبالغ Google Play المستردة قابلة للاعتراض. الاسترداد العادي للمستخدم تقرره Google بنفسها، فتُسجَّل تلك للاطلاع لا للاعتراض عليها.
الاسترداد الوحيد الذي يمكنك الرد عليه فعلًا هو رد مدفوعات قيد المراجعة (إشعار Google pendingRefundReviewNotification). يمنحك نحو 24 ساعة ويعتد بالرد الأول. يرد عليه Refund Sensor تلقائيًا بتوصية رفض، داخل النافذة بمتسع كافٍ.
وكشبكة أمان، يطابق Refund Sensor أيضًا مع Voided Purchases API من Google، فيُسجَّل كل استرداد وشراء ملغى في لوحتك حتى عندما لا يكون هناك ما يُعترض عليه.

