يتوفّر كلّ من 3DS1 و3DS2 لدمج الحجوزات الشاملة في "مركز الإجراءات". يمكنك تنفيذ أيّ من هذين الإجراءَين (أو كليهما) لعملية الدمج.
سيستوفي كلّ من 3DS1 أو 3DS2 متطلبات المصادقة القوية للعملاء في توجيهات PSD2، ولكن هناك بعض الاختلافات الرئيسية:
- 3DS1: يمكنك بدء 3DS1 لمعاملة عندما تتلقّى
إشارات تفيد بأنّ الرسوم احتيالية.
- يتطلب تنفيذ 3DS1 إجراء تغييرات على خادم الحجز.
- بروتوكول 3DS2: لن يتم استخدام بروتوكول 3DS2 إلا في المعاملات التي تنطبق عليها توجيهات PSD2 (يكون المصرف المُشترِك والمصرف الذي يتعامل معه العميل في المنطقة الاقتصادية الأوروبية).
- يتطلب تنفيذ 3DS2 إجراء تغييرات على خلاصة التاجر.
تنفيذ 3DS2
يتطلّب تنفيذ 3DS2 إضافة حقول إضافية إلى
خلاصة التاجر ضمن رسالة TokenizationConfig
. إذا كانت
جميع الدفعات تذهب إلى الحساب نفسه، عليك تكرار القيمة في كل إدخال
للتاجر. إذا كانت الدفعات ستُرسَل إلى حسابات مختلفة، يجب أن تكون القيم في
كل إدخال للتاجر خاصة بالحساب الذي يتلقّى الأموال
في المعاملة.
تغييرات على خلاصة التاجر
merchant_of_record_name
: اسم الجهة المسؤولة عن معالجة الدفعات (MOR) سيظهر هذا الاسم الواضح للمستخدمين في تحدّيات 3DS2.-
payment_country_code
: البلد الذي ستتم فيه معالجة المعاملة، بتنسيق ISO 3166-1 alpha-2 CardNetworkParameters
الرسالة: يتم تكرار هذه الرسالة مع القيم الخاصة بالشبكات المختلفة (لا يلزم ذلك إلا لبطاقات Visa وAmerican Express)card_network
: الشبكة (Visa أو American Express) التي تنطبق عليها هذه القيمacquirer_bin
: رقم تعريف المصرف للمصرف المُشترِك المستخدَم لمعالجة البطاقةacquirer_merchant_id
: معرّف التاجر الذي حددّه المصرف المُشترِي للتاجر لاستخدامه في تفويض المعاملات (لمعاملات Visa وAmerican Express).
من خلال إضافة هذه الحقول إلى خلاصة التاجر، ستتلقّى رمزًا مشفّرًا لبروتوكول 3DS2
ضمن unparsed_payment_method_token
الذي تلقّاه
خادم الحجز كلما انطبقت اللائحة PSD2 على المعاملة. يجب
إرسال unparsed_payment_method_token
ورمز التشفير المضمّن فيه
إلى شريك المعالجة وفقًا لصيغته.
تنفيذ 3DS1
تغييرات على خادم الحجز
سنُرسل طلبًا إلى CreateBooking
وإذا تبيّن لك أنّه يجب استخدام 3DS1 للمعاملة، يُرجى إرجاع Booking Failure
من طريقة CreateBooking
، وتحديد PAYMENT_REQUIRES_3DS1
كسبب. في ردّ الخطأ هذا،
عليك أيضًا تحديد رسالة ThreeDS1Parameters
ضمن رسالة PaymentFailureInformation
:
acs_url
= عنوان URL الذي يتم من خلاله تحميل نموذج لتقديمه إلى المستخدم للمصادقة.-
pa_req
= طلب مصادقة الدفع. ليتم نشره في نموذج ACSUrl. transaction_id
= معرّف يستخدمه موفِّر خدمة ACS. ليتم نشرها في نموذج ACSUrl.md_merchant_data
= بيانات لمشاركة "مركز الإجراءات" مع مزوّد خدمة ACS في حال توفّره
سنعيد بعد ذلك إرسال طلب
CreateBooking
الأصلي مع pa_response
الوارد في
رسالة PaymentInformation. سيحتوي الحقل pa_response
على الحمولة التي يتم إرجاعها إلينا من مقدّم خدمة المصادقة في الموقع (ACS)، ويجب
استخدامها من قِبلك لمنح الإذن بالمعاملة مع جهة المعالجة.
في ما يلي مخطّط بياني يصف عملية 3DS1: