واجهة برمجة التطبيقات لعمليات الشراء التي تم إلغاؤها

توفِّر واجهة برمجة التطبيقات Google Play Voided Purchases API قائمة بالطلبات التي ترتبط بعمليات الشراء التي ألغى المستخدم عرضها يمكنك استخدام معلومات من هذه القائمة لتطبيق نظام إبطال يمنع المستخدم من الوصول إلى المنتجات من تلك الطلبات.

تنطبق واجهة برمجة التطبيقات هذه على الطلبات داخل التطبيق لمرة واحدة واشتراكات التطبيقات.

يمكن إلغاء عملية شراء بالطرق التالية:

  • يطلب المستخدم استرداد أموال طلبه.
  • يلغي المستخدم طلبه.
  • تم استرداد رسوم أحد الطلبات.
  • إلغاء الطلب أو ردّ أمواله

  • تلغي Google الطلب أو تردّ أمواله.

باستخدام واجهة برمجة التطبيقات هذه، تساهمون في توفير تجربة أكثر توازنًا وإنصافًا للجميع من مستخدمي التطبيق، وخاصةً إذا كان تطبيقك لعبة

الحصول على إمكانية الوصول

للعمل مع واجهة Voided Purchases API، يجب أن يكون لديك إذن لعرض المعلومات المالية. تقديم التفويض باستخدام عميل OAuth أو حساب الخدمة الخاص بك. إذا كنت تستخدم حساب خدمة، فعِّل خيار "عرض الشؤون المالية" التقارير" إذن ضمن هذا الحساب.

لمزيد من المعلومات عن الحصول على إذن وصول مُصرَّح به إلى واجهات برمجة التطبيقات Google Play Developer API، يُرجى الاطّلاع على الأدلة التالية:

عرض عمليات الشراء التي تم إلغاؤها

يمكنك استخدام طريقة GET لطلب قائمة بعمليات الشراء المُلغاة. في طلبك، أدرِج اسم الحزمة المؤهَّل بالكامل لتطبيقك، مثل com.google.android.apps.maps - والرمز المميز للتفويض الذي تم استلامها عند الحصول على إذن بالوصول إلى واجهة برمجة التطبيقات.

GET https://www.googleapis.com/androidpublisher/v3/applications/
your_package_name/purchases/voidedpurchases?access_token=your_auth_token

يمكنك أيضًا تضمين المعلَمات التالية في طلبك، ولكل منها اختياري:

startTime

يشير الوقت بالمللي ثانية منذ حقبة يونكس إلى الأقدم عملية شراء مُلغاة تريد الاطّلاع عليها في الردّ بشكل افتراضي، تم ضبط startTime على 30 يومًا قبل.

لا يمكن أن تعرض واجهة برمجة التطبيقات سوى عمليات الشراء المُلغاة التي حدثت خلال الماضي. 30 يومًا. لا يتم تضمين عمليات الشراء الأقدم والمُلغاة في الرد، بغض النظر عن للقيمة التي قدّمتها للسمة startTime.

endTime

الوقت بالمللي ثانية منذ حقبة يونكس لأول مرة عملية شراء مُلغاة تريد الاطّلاع عليها في الردّ بشكل افتراضي، تم ضبط endTime على الوقت الحالي.

maxResults
الحد الأقصى لعدد عمليات الشراء المُلغاة والتي تظهر في كل ردّ من بشكلٍ افتراضي، تكون هذه القيمة 1000. تجدر الإشارة إلى أنّ الحد الأقصى لقيمة هذه المَعلمة هو أيضًا 1000.
رمز مميز
رمز مميز للمتابعة من رد سابق، مما يسمح لك بعرض المزيد نتائجك.
كتابة

نوع عمليات الشراء المُلغاة والتي تظهر في كل ردّ في حال الضبط على 0، لن يتم إرجاع سوى عمليات الشراء داخل التطبيق المُلغاة. في حال ضبط القيمة على 1، سيتم إلغاء كليهما داخل التطبيق. سيتم إرجاع عمليات الشراء التي تم إجراؤها وعمليات شراء الاشتراكات المُلغاة. القيمة التلقائية هي 0.

includeQuantityBasedPartialRefund

لتحديد ما إذا كان سيتم تضمين عمليات الشراء المُلغاة لعمليات رد الأموال الجزئية المستندة إلى الكمية التي لا تنطبق إلا على عمليات الشراء بكميات متعدّدة إذا كانت true، يمكن إرجاع المزيد من المشتريات المُلغاة والمُلغاة من خلال "voidedQuantity". تشير إلى كمية عملية ردّ الأموال الجزئية المستندة إلى الكمية. تشير رسالة الأشكال البيانية والقيمة التلقائية هي false.

الاستجابة هي سلسلة JSON تحتوي على قائمة بعمليات الشراء المُلغاة. إذا كان هناك نتائج أكثر من الرقم المحدّد في معلَمة طلب maxResults ، يتضمن الرد قيمة nextPageToken، والتي يمكنك تمريرها إلى طلب لاحق لعرض مزيد من النتائج. تعرض النتيجة الأولى في القائمة أقدم عملية شراء ملغاة

{
  "tokenPagination": {
    "nextPageToken": "next_page_token"
  },
  "voidedPurchases": [
    {
      "kind": "androidpublisher#voidedPurchase",
      "purchaseToken": "some_purchase_token",
      "purchaseTimeMillis": "1468825200000",
      "voidedTimeMillis": "1469430000000",
      "orderId": "some_order_id",
      "voidedSource": "0",
      "voidedReason": "4"
    },
    {
      "kind": "androidpublisher#voidedPurchase",
      "purchaseToken": "some_other_purchase_token",
      "purchaseTimeMillis": "1468825100000",
      "voidedTimeMillis": "1470034800000",
      "orderId": "some_other_order_id",
      "voidedSource": "2",
      "voidedReason": "5"
    },
  ]
}

الحصص

تضبط واجهة Voided Purchases API الحصص التالية على أساس كل حزمة:

  • 6000 طلب بحث في اليوم. (يبدأ اليوم وينتهي في منتصف الليل بتوقيت المحيط الهادئ.)
  • 30 طلب بحث خلال أي فترة تبلغ 30 ثانية.

إرشادات الطلبات الأولية

أثناء طلب البيانات من واجهة برمجة التطبيقات الأولي، يمكنك جلب جميع البيانات المتاحة تطبيقك. قد تستنفد هذه العملية حصتك اليومية، على الرغم من أنّه غير مرجّح. إلى للحصول على بيانات عمليات الشراء المُلغاة بطريقة أكثر أمانًا واتساقًا، اتّبِع الخطوات التالية أفضل الممارسات:

  • استخدِم القيمة التلقائية للمَعلمة maxResults. بهذه الطريقة، إذا كنت تستخدم حصة طلبات البحث بأكملها ليوم واحد، فيمكنك استرداد تفاصيل 6,000,000 عمليات الشراء المُلغاة.
  • إذا كان الردّ يتضمن قيمة لـ nextPageToken، يجب تعيين هذه القيمة إلى معلَمة token أثناء طلبك التالي.

أفضل الممارسات

عند استخدام واجهة برمجة التطبيقات هذه في تطبيقك، تذكّر أنّ هناك العديد من أسباب إلغاء عملية الشراء وأنه لا يوجد حل واحد يفي بالغرض جميع الحالات. يجب أن تضع المستخدمين في الاعتبار عند تصميم الإبطال والسياسات والاستراتيجيات. ولإجراء ذلك، يمكنك تطبيق الممارسات المقترَحة التالية:

  • يمكنك استخدام واجهة برمجة التطبيقات هذه باعتبارها أحد العناصر المتعددة في استراتيجية شاملة للتعامل مع والسلوك غير المرغوب فيه. عادةً ما يكون إلغاء الوصول إلى المنتجات داخل التطبيق أكثر فعالية عند دمجها مع تطبيق يقدم أسعارًا معقولة لعمليات الشراء داخل التطبيق تصميم التطبيق الذي يثني السلوك غير المرغوب فيه، وقاعدة المستخدمين القوية التي الثقافة التي ترفض هذا السلوك، بالإضافة إلى الدعم سريع الاستجابة والفعّال بشكل أفضل.
  • عليك إدارة سياسة الإبطال الخاصة بك بشكل موحّد لضمان العدالة لجميع المستخدمين.
  • ننصحك بإنشاء سياسة مرحلية عند التعامل مع السلوك غير المرغوب فيه. بالنسبة على سبيل المثال، ابدأ بتحذيرات داخل التطبيق بشأن المخالفات المبكرة، ثم صعِّد الردود مع استمرار السلوك غير المرغوب فيه للمستخدم. كحلٍ أخير، يمكنك تمنع المستخدم من التفاعل مع تطبيقك على الإطلاق.
  • عند طرح سياسة الإبطال، وفي كل مرة تقوم فيها بتحديثها، استخدم الخاصة بتطبيقك لإبلاغ المستخدمين بالتغييرات. منح المستخدمين لفهم هذه التغييرات بوضوح قبل دخولها حيز التنفيذ في تطبيقك.
  • تحلَّ بالشفافية مع المستخدمين وأخبِرهم متى اتخذت إجراءً، مثل إبطال وصولهم إلى منتج داخل التطبيق. من الناحية المثالية، يجب أن يكون المستخدمون قادرين على والنزاع على قراراتك، وينبغي التعامل مع هذه النزاعات بإنصاف.
  • مراقبة نماذج الملاحظات والمنتديات لفهم ما يدفع المستخدمين إلى السلوك بطرق غير مرغوب فيها وكيفية تنفيذه لهذا السلوك. اتّخاذ إجراءات استنادًا إلى هذه الأفكار كخط دفاعي أول.