אפשר להשתמש גם ב-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: