Sesiune de plată

O sesiune de plată, sau pe scurt o sesiune, este un container temporar pentru orice câmpuri de solicitare și valori ale operațiunilor care au legături de referință cu o sesiune. Aceasta vă permite să utilizați o sesiune în cadrul unei operațiuni pentru a referi câmpurile și valorile din cadrul solicitării, în loc să le furnizați direct în solicitarea de operațiune. Când eGenius Platform primește o operațiune care include o referință a unei sesiuni, formează solicitarea finală combinând câmpurile de solicitare din cadrul sesiunii și cele furnizate direct în cadrul solicitării.

Utilizarea sesiunilor permite existența unor integrări mai sofisticate în care părți diferite ale solicitării sunt capturate în diferite puncte în procesul de plată sau prin intermediul unor canale diferite. De exemplu, procesele de plată pentru Hosted Session și portofelele electronice (de exemplu, Masterpass) utilizează sesiuni pentru a colecta și stoca informațiile sensibile ale plătitorilor. Această caracteristică reduce costurile de conformitate și implementare PCI datorită faptului că dvs. nu manipulați sau stocați niciun fel de detalii de plată pe serverul dvs.

Avantaje cheie

  • Reduce costurile de conformitate PCI, nefiind necesar ca dvs. să stocați sau să manipulați niciun fel de detalii de plată.
  • Facilitează integrarea, deoarece nu este necesar ca dvs. să manipulați direct valorile pentru câmpurile solicitării stocate în cadrul sesiunii.
  • Reduce fraudele interne, personalul dvs. având acces limitat la detaliile plătitorului.
  • Vă permite să actualizați câmpurile de solicitare și valorile stocate cu ajutorul unei sesiuni. Această caracteristică este utilă atunci când un card de credit expiră sau alte detalii ale plătitorului se modifică.
  • Vă permite să colectați câmpurile de solicitare și valorile conținute într-o sesiune specificând identificatorul de sesiune.

Utilizarea sesiunilor

Crearea unei sesiuni

Ca prim pas, trebuie să creați o sesiune, pe care apoi o puteți actualiza cu câmpurile de solicitare și valorile pe care doriți să le stocați în cadrul sesiunii.

Puteți crea o sesiune folosind:

  • Apelul Create Session, care returnează un identificator de sesiune unic pe care trebuie să îl furnizați în solicitările ulterioare pentru a face referire la conținutul sesiunii.

    Opțional, puteți introduce limita de autentificare (session.authenticationLimit), care indică numărul de operațiuni care pot fi trimise către gateway folosind ID-ul sesiunii ca parolă. Dacă această valoare nu este furnizată, gateway-ul setează o valoare implicită.

    Acesta returnează următoarele câmpuri:

    • session.id: Un identificator de sesiune unic, pe care trebuie să îl furnizați în solicitările ulterioare pentru a face referire la conținutul sesiunii.
    • session.authenticationLimit: Limita introdusă în solicitare sau valoarea implicită a gateway-ului.
    • session.aes256Key: Cheia pe care o puteți utiliza pentru a decripta datele sensibile transmise site-ului dvs. web prin browserul sau dispozitivul mobil al plătitorului.
    • session.version: Puteți utiliza acest câmp pentru a implementa blocarea optimistă a conținutului sesiunii.
    • session.updateStatus: Un rezumat al rezultatului ultimei încercări de modificare a sesiunii.

    Referință API Create Session[REST][NVP]

  • Serviciul Hosted Session.

    Referința session.js[JavaScript]

Actualizarea unei sesiuni

Puteți adăuga sau actualiza câmpurile de solicitare într-o sesiune utilizând:

Nu puteți să ștergeți câmpuri dintr-o sesiune, dar puteți suprascrie valorile câmpurilor existente.
Utilizarea unei sesiuni

O sesiune care conține câmpurile de solicitare și valorile poate fi utilizată în oricare dintre următoarele operațiuni:

Este recomandat să colectați detaliile de sesiune utilizând operațiunea Retrieve Session și să verificați conținutul sesiunii înainte de a iniția o operațiune de plată sau creare de simbol.

Puteți să realizați mai multe operațiuni utilizând aceeași sesiune, de exemplu Pay și Tokenization. Această caracteristică este utilă dacă doriți să realizați o plată și să salvați, de asemenea, detaliile cardului. Rețineți că versiunea API pentru operațiunile care sunt realizate cu o referință a sesiunii trebuie să fie aceeași cu versiunea API utilizată la actualizarea sau adăugarea câmpurilor de solicitare în cadrul sesiunii.

În momentul în care inițiați o operațiune care include o referire la o sesiune (exceptând Open Wallet, Update Session, Update Session From Wallet), codul de securitate al cardului, dacă este stocat în cadrul sesiunii, este șters. Această caracteristică este necesară pentru a respecta regulamentele PCI. Dacă doriți să salvați detaliile cardului pentru utilizare ulterioară, puteți face acest lucru apelând operațiunea Tokenization utilizând sesiunea.

Reguli de precedență

Când trimiteți o solicitare de operațiune, câmpurile de solicitare și valorile stocate cu ajutorul sesiunii sunt utilizate numai dacă nu le furnizați direct în solicitare.

Colectarea câmpurilor dintr-o sesiune

Puteți obține câmpurile de solicitare și valorile stocate într-o sesiune furnizând identificatorul sesiunii.

Referință API Retrieve Session[REST][NVP]

Luarea de decizii de operare pe baza conținutului sesiunii

Dacă luați decizii de operare pe baza datelor obținute dintr-o sesiune, ar trebui să utilizați capacitatea de blocare optimistă a sesiunii. Aceasta asigură faptul că datele pe care le-ați utilizat pentru luarea deciziei sunt aceleași cu cele utilizate pentru procesarea operațiunii solicitate.

Pentru a utiliza capacitatea de blocare optimistă trebuie să:

  • Colectați în mod securizat conținutul sesiunii utilizând operațiunea Retrieve Session.
  • Înregistrați valoarea session.version din conținutul returnat al sesiunii.
  • Luați deciziile de operare pe baza conținutului returnat al sesiunii.
  • Când trimiteți operațiunea de solicitare către gateway, transmiteți session.version împreună cu identificatorul sesiunii ca parte a operațiunii.

Dacă s-a modificat conținutul sesiunii de când ați înregistrat session.version, gateway-ul va respinge operațiunea și va returna error.cause=INVALID_REQUEST.

Exemple de decizii de operare bazate pe conținutul sesiunii includ:

  • Calcularea sumei de suprataxare pe baza tipului de card furnizat de către plătitor.
  • Calcularea costului de livrare pe baza adresei de livrare furnizată de către plătitor.

Referință API Retrieve Session[REST][NVP]

Plată[REST][NVP]

Copyright © 2021 UniCredit Bank