تدفق رد الأموال

نظرة عامة

يمكن بدء عمليات ردّ الأموال من خلال إجراء مستخدم نشط (الضغط على الزر "ردّ الأموال") أو يمكن إجراؤها تلقائيًا نيابةً عن المستخدِم. بغض النظر عن العامل المشغِّل، سيتم إرسال طلب غير متزامن لردّ الأموال من Google إلى شركة تكامل الدفعات. ويجب أن تقرّ الشركة المتعهّدة بالطلب وأن ترسل إشعارًا إلى Google عند اكتمال طلب استرداد الأموال.

آلية عمل التدفق

تدفق رد الأموال

في ما يلي مثال على تدفق ردّ الأموال غير المتزامن الذي بدأه المستخدم:

تدفق رد الأموال

فيما يلي قائمة الكائنات في الرسم التخطيطي أعلاه:

  • المستخدم: هو الشخص الذي يريد استرداد الأموال بشكل كامل أو جزئي.
  • خادم Google: خادم الخلفية في Google الذي يرسل أمر ردّ الأموال إلى وحدة تكامل الدفع.
  • الجهة المتعهّدة للدفعات: الشركة المتعهّدة التي تعيد توجيه طلب ردّ الأموال إلى جهة الإصدار المناسبة.
  • جهة الإصدار: جهة الإصدار المُستخدَمة للدفع، والتي تقبل طلب ردّ الأموال.

يبدأ المستخدم عملية رد الأموال في هذا المثال.

  1. يبدأ المستخدم عملية ردّ الأموال إلى خادم Google.
  2. تستدعي Google نقطة النهاية AsynchronousRefund لدى شركة تكامل عمليات الدفع.
  3. يرسل مسؤول عملية الدمج ردًا Acknowledged إلى Google.
  4. تطلب الشركة التي تُجري عملية الدمج نقطة نهاية Refund المناسبة في جهة الإصدار.
  5. تعالج جهة الإصدار عملية ردّ الأموال وتردّ على جهة عملية الدمج بـ "Success".
  6. وتطلب وحدة الدمج نقطة نهاية RefundResultNotification على خادم Google لإعلام Google بالنتيجة.
  7. تقرّ Google ببنود RefundResultNotification.
  8. تعدِّل Google الأموال المتاحة للمستخدم.
  9. ويردّ المستخدم المبلغ المدفوع.

أفضل الممارسات والاعتبارات الأخرى

نظرًا لأنّ بعض منتجات Google، مثل AdWords، تدعم عمليات ردّ الأموال طالما وجود رصيد في الحساب، يجب دعم طلبات ردّ الأموال للمعاملات لفترة غير محدَّدة. في حال فرض قيود فنية، يجب أن تكون فترة ردّ الأموال هي المدة التي تسمح بها المنصّة.

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

يمكن بدء عملية ردّ الأموال في غضون ثوانٍ من تاريخ التقاط الصورة. ويتم تحديد توقيت عمليات ردّ الأموال وفقًا لتقدير Google.

لا ينبغي أبدًا افتراض أنّ عملية ردّ الأموال هي ردّ الأموال بالكامل. يجب دائمًا مراعاة الحقل refundAmount عند ردّ أموال الحساب.

يجب إتاحة إمكانية ردّ جزء من الأموال المدفوعة. على سبيل المثال، لنفترض أنّه تم إجراء معاملة بقيمة 11 دولار أمريكي (أو ما يعادله بالعملة المحلية)، وتمكّن أحد المستخدمين من استرداد جزء من الأموال المدفوعة بمبلغ 4.00 دولارات أمريكية (أو ما يعادله بالعملة المحلية) و5.00 دولارات أمريكية (أو ما يعادله بالعملة المحلية) بنجاح من المعاملة الأصلية. في هذه الحالة، سيكون لجميع عمليات ردّ الأموال الثلاث قيم captureRequestId نفسها، ولكن قيم requestId مختلفة. بالإضافة إلى ذلك، سيتبقّى سعر هذه المعاملة 1.00 دولار أمريكي (أو ما يعادله بالعملة المحلية) فقط.

لنفترض الآن أن هناك عملية شراء بقيمة 12.00 دولار أمريكي (أو ما يعادله بالعملة المحلية). في هذا المثال، يمكن للمستخدم إجراء عمليتين لاسترداد الأموال، كلٌّ منهما بقيمة 6.00 دولارات أمريكية (أو ما يعادله بالعملة المحلية). إذا كانت عمليتَا ردّ الأموال هاتين قيمتَي requestId مختلفتَين (وقيم captureRequestId نفسها)، يجب التعامل معهما على أنّهما يتضمّنان عمليات ردّ أموال منفصلة للمعاملة نفسها. في هذه الحالة، سيكون لدى المستخدم 0 دولار أمريكي في المعاملة بعد اكتمال عمليات ردّ الأموال هذه.