بدء تدفق إعادة التوجيه

نظرة عامة

والغرض من عملية "بدء إعادة التوجيه" هو إعادة توجيه المستخدم إلى الجهة المسؤولة عن دمج الدفعات مع تقديم معلومات كافية لإتمام عملية الدفع. وبدورها، تعيد شركة الدمج توجيه المستخدِم إلى واجهة الويب الخاصة بجهة الإصدار لإعادة توجيه المعلومات التي تقدّمها Google. يمكن للمستخدم بعد ذلك اتّباع التعليمات التي تقدّمها جهة إصدار البطاقة لإكمال عملية دفع. سيؤدي هذا إلى تشغيل مسار إكمال إعادة التوجيه.

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

هناك طريقتان أمام المستخدم لاختيار جهة الإصدار التي سيستخدمها كطريقة دفع (FOP).

  1. يختار المستخدم جهة الإصدار في واجهة مستخدم Google.
  2. يختار المستخدم الشركة المتعهّدة في واجهة مستخدم Google وجهة الإصدار في واجهة المستخدم الخاصة بالعملية.

يختار المستخدم جهة إصدار البطاقة في واجهة مستخدم Google

في هذه الحالة، يختار المستخدم جهة إصدار أثناء اختيار طريقة الدفع (FOP) في واجهة مستخدم Google، وبالتالي سيحتوي الحقل issuerId في العنصر formOfPayment في RedirectRequest على معرّف فريد من إنشاء Google ويمثّل جهة الإصدار. إذا كانت شركة تكامل الدفع وجهة الإصدار هما الكيان نفسه، ستنشئ Google issuerId للشركة المتعهّدة للدفع. يستخدم طلب إعادة التوجيه طريقة HTTPS GET، مع معلمات مرمّزة في عنوان URL.

بدء مسار إعادة التوجيه (تم اختيار جهة الإصدار)

يوضّح مخطّط التسلسل التالي التفاعل بين متصفّح المستخدم وGoogle وجهة عملية الدمج وجهة الإصدار عندما يختار المستخدم جهة إصدار في واجهة مستخدم Google:

بدء مسار إعادة التوجيه مع اختيار جهة إصدار البطاقة

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

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

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

  1. يختار المستخدِم جهة إصدار البطاقة التي يريد استخدامها لإجراء عملية دفع. وهذا هو ما يؤدي إلى تشغيل تدفق "بدء إعادة التوجيه".
  2. تستدعي واجهة مستخدم Google خادم Google (الخلفية) لإنشاء طلب إعادة توجيه جديد.
  3. ينشئ خادم Google طلب إعادة توجيه.
  4. يتم إرسال طلب إعادة التوجيه إلى واجهة مستخدم Google.
  5. تعيد واجهة مستخدم Google توجيه المستخدم إلى خادم مسؤول عملية الدمج.
  6. تعالج جهة الدمج طلب إعادة التوجيه من Google وتنشئ طلب إعادة توجيه خاص بجهة الإصدار.
  7. تعيد شركة الدمج توجيه المستخدم إلى واجهة الويب الخاصة بجهة الإصدار.
  8. يُجري المستخدم عملية المصادقة في واجهة الويب الخاصة بجهة الإصدار.
  9. يتّبع المستخدم التعليمات الظاهرة على الشاشة لإكمال عملية الدفع.

اختيار المستخدم لعملية الدمج في واجهة مستخدم Google

في هذه الحالة، يختار المستخدم جهة الدمج في واجهة مستخدم Google، وبالتالي سيتم ضبط الحقل formOfPayment في RedirectRequest على noneChosen، لأنّ جهات الإصدار هي فقط التي تُعتبر طرق دفع صالحة. يجب أن توفّر جهة الدمج واجهة مستخدم تتيح للمستخدم اختيار إحدى جهات الإصدار المعتمَدة من Google. يستخدم طلب إعادة التوجيه طريقة HTTPS GET، مع معلمات مرمّزة في عنوان URL.

بدء مسار إعادة التوجيه (تم اختيار عملية الدمج)

يوضّح مخطّط التسلسل التالي التفاعل بين متصفّح المستخدم وGoogle وجهة عملية الدمج وجهة الإصدار عندما يختار المستخدم مسؤول عملية تكامل في واجهة مستخدم Google:

بدء مسار إعادة التوجيه مع اختيار شركة الدمج

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

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

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

  1. يختار المستخدم شركة تكامل (وليس جهة إصدار محدّدة) لإجراء عملية الدفع. وهذا هو ما يؤدي إلى تشغيل تدفق "بدء إعادة التوجيه".
  2. تستدعي واجهة مستخدم Google خادم Google (الخلفية) لإنشاء طلب إعادة توجيه جديد.
  3. ينشئ خادم Google طلب إعادة توجيه.
  4. يتم إرسال طلب إعادة التوجيه إلى واجهة مستخدم Google.
  5. تعيد واجهة مستخدم Google توجيه المستخدم إلى واجهة الويب الخاصة بالوحدة.
  6. تعالج جهة الدمج طلب إعادة التوجيه من Google.
  7. وتعرِض جهة الدمج للمستخدمِين جهات الإصدار المتاحة.
  8. يختار المستخدِم جهة إصدار البطاقة التي يريد استخدامها لإجراء عملية دفع.
  9. تُنشئ شركة الدمج طلب إعادة توجيه خاص بجهة الإصدار.
  10. تعيد شركة الدمج توجيه المستخدم إلى واجهة الويب الخاصة بجهة الإصدار.
  11. يُجري المستخدم عملية المصادقة في واجهة الويب الخاصة بجهة الإصدار.
  12. يتّبع المستخدم التعليمات الظاهرة على الشاشة لإكمال عملية الدفع.

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

تدابير السلامة

سيتضمّن عنوان URL لطلب إعادة التوجيه حقل callbackUrl غير مشفّر وحقل redirectRequest مشفّر. وسيحتوي كلا الحقلين على requestId الخاصة بالمعاملة الحالية. على المورّد التحقّق من أنّ requestId متطابقَين في كل من callbackUrl والحمولة المشفرة للتأكّد من ارتباطهما ببعضهما.