הוספת תמיכה ב-3DS1 וב-3DS2

אפשר להשתמש גם ב-3DS1 וגם ב-3DS2 בשילוב של Reservations End-to-End במרכז הפעולות. אפשר להטמיע את אחת מהאפשרויות האלה (או את שתיהן) בשילוב.

הן 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 = נתונים שמערכת Actions Center תשתף עם ספק ACS, אם הם יסופקו.

לאחר מכן נשלח מחדש את הבקשה המקורית של CreateBooking עם הערך של pa_response שמופיע בהודעה PaymentInformation. השדה pa_response יכיל את עומס העבודה (payload) שמוחזר אלינו מספק ACS, ואתם צריכים להשתמש בו כדי לאשר את העסקה מול מעבד התשלומים.

בתרשים הבא מתוארת התהליך של 3DS1:

איור 1: תרשים התהליך של 3DS1
איור 1: תרשים תהליך 3DS1