Modelul Hosted Payment Session POST

Acest model Hosted Payment Session necesită crearea codului de integrare pe partea server pentru a obține un simbol de sesiune de la eGenius Platform, pentru a utiliza identificatorul simbolului de sesiune returnat pentru a construi formularul pentru afișarea paginii de plată și pentru a analiza răspunsul la formular primit de la eGenius Platform.

Bune practici și sfaturi

Câmpul "gatewayFormResponse" în Răspuns de tranzacție

Hosted Payment Session returnează întotdeauna câmpul "gatewayFormResponse" chiar dacă acesta a fost inclus drept câmp post al formularului. Unele soluții web pot ridica o eroare sau restricționa accesul la acest câmp în acest scenariu. Dacă utilizați o soluție web care necesită câmpurile post ale formularului să corespundă celor prezentate inițial în formular, trebuie să vă asigurați că acest câmp este inclus în formular.

Identificator de sesiune ca un câmp ascuns

Nu includeți identificatorul de sesiune ca un câmp ascuns atunci când creați formularul de plată. Acest câmp trebuie să fie inclus numai în adresa URL a formularului. Dacă doriți stocarea acestuia în cadrul altor pagini în scop de referință, atunci este mai corect să îl stocați într-o sesiune HTTP.

Restricționarea lungimilor câmpurilor de introducere date ale formularului

Restricționarea lungimilor câmpurilor de introducere date ale formularului este considerată o bună practică și ajută la menținerea integrității datelor. În unele cazuri, datele trimise pot fi trunchiate de către Hosted Payment Session dacă lungimile câmpurilor nu sunt restricționate.

Adăugarea de prefixe la numele câmpurilor

Numele câmpurilor pot primi prefixe, dar numele trebuie să se termine cu numele recunoscute ale câmpurilor, după cum sunt definite în Referință câmpuri formular. De exemplu, "ctl00$MainContent$gatewayCardNumber" este un nume de câmp valid și va fi tratat exact la fel ca un câmp denumit "gatewayCardNumber". Această caracteristică este utilă în special integratorilor care utilizează o platformă .Net.

Sesiuni HTTP și cookies

Sesiunile HTTP (a nu se confunda cu sesiunile de plată) sunt adesea utilizate pentru a menține datele plătitorului, de exemplu, informațiile despre coșul de cumpărături, în decursul interacțiunii plătitorului cu un site web.

Cea mai răspândită abordare a menținerii sesiunilor este prin utilizarea de cookies. Trebuie avut în vedere că, dacă în browserul plătitorului (sau pe serverul dvs. web) nu sunt activate cookies, este posibil să fiți nevoit să acceptați, de asemenea, rescrierea adresei URL pentru a menține sesiunea HTTP într-o cookie. Pentru detalii, consultați documentația soluției web selectate de dvs.

Asigurarea tratării corespunzătoare a seturilor de caractere

Pentru a asigura faptul că Hosted Payment Sessiontratează corespunzător caracterele care sunt codificate cu un set de caractere diferit de cel implicit, ISO-8859-1, va trebui să specificați un parametru de interogare "charset" în adresa URL a formularului. De exemplu, pentru a specifica faptul că formularul trimis este codificat cu setul de caractere UTF-8, adresa URL a formularului va trebui să arate asemănător acesteia:

    https://egenius.unicredit.ro/form/<formSessionIdentifier>?charset=UTF-8
    

Aceasta va asigura, de asemenea, și faptul că răspunsul va fi codificat corect. Seturile de caractere acceptate pot fi consultate aici.

Browsere plătitor cu opțiunea JavaScript dezactivată

Tratați browserele care au opțiunea JavaScript dezactivată particularizând pagina "Continuare". Dacă un browser are opțiunea JavaScript dezactivată, plătitorului îi va fi afișată o pagină care îi solicită apăsarea unui buton pentru a fi redirecționat înapoi către site-ul dvs. Următoarele atribute ale acestei pagini sunt particularizabile:

  • Titlul paginii poate fi particularizat/internaționalizat prin specificarea unei valori pentru câmpul "gatewayRedirectDisplayTitle".
  • Textul butonului poate fi particularizat/internaționalizat prin specificarea unei valori pentru câmpul "gatewayRedirectDisplayContinueButtonText".
  • Culoarea de fundal poate fi particularizată prin specificarea unei valori pentru câmpul "gatewayRedirectDisplayBackgroundColor".

Dacă aceste valori nu sunt furnizate, sunt utilizate valorile implicite.

Securizarea site-ului dvs. prin utilizarea SSL

Cu toate că nu este strict necesar pentru integrarea cu soluția Hosted Payment Session, deoarece detaliile plătitorului sunt transmise prin intermediul SSL către Hosted Payment Session, aceasta oferă următoarele avantaje:

  • mărește încrederea plătitorului prin afișarea unui mic lacăt în browser

    SSL
  • evită afișarea pentru plătitor a casetei popup cu Avertismentul de securitate când trece de la site-ul securizat Hosted Payment Session înapoi la site-ul dvs. nesecurizat. Caseta popup cu Avertismentul de securitate îi solicită plătitorului să opteze dacă dorește continuarea trimiterii informațiilor.

Fluxul de informații din Hosted Payment Session

Procesul de plată detaliat pentru modelul Hosted Payment Session este prezentat mai jos.

Modelul de integrare POST a formularelor de plată găzduite

  1. Dvs. inițiați apelul eGenius PlatformAPI către eGenius Platform utilizând operațiunea Create Session. Această acțiune creează sesiune care va stoca detaliile cardului plătitorului. Consultați secțiunea Solicitarea unei sesiuni prin intermediul API.
  2. eGenius Platform răspunde cu identificatorul de sesiune.
  3. Site-ul dvs. construiește pagina de plată care include formularul de plată.
    • Formularul de plată trebuie să includă câmpurile acceptate de către Serviciul eGenius PlatformHosted Payment Session pe care trebuie să le capturați de la plătitor.
    • Acesta poate conține și câmpuri suplimentare pe care doriți să le capturați în acest pas. De exemplu, Adresă de livrare, Număr voucher etc.
    • Formularul de plată poate avea stilul pe care îl doriți dvs.
    • Consultați secțiunile Construirea unui formular de plată și Referință câmpuri Formular plăți găzduite.

  4. Formularul de plată este afișat pentru plătitor, așteptând introducerea detaliilor cardului și a altor informații solicitate.
    Acest formular este utilizat numai pentru colectarea detaliilor cardului și nu pentru realizarea unei plăți.
  5. Plătitorul introduce detaliile cardului și apasă butonul „Trimitere” de pe site-ul dvs. web, ceea ce trimite o solicitare HTTPS POST către serviciul Hosted Payment Session. Trebuie să încorporați identificatorul de sesiune în câmpul acțiune al formularului dvs. Consultați secțiunea Construirea unui formular de plată.
  6. eGenius Platform colectează, verifică (utilizând verificare de bază) și curăță detaliile cardului și trimite formularul validat/modificat înapoi către browser. Detaliile cardului, ca de exemplu numărul cardului, data de expirare a cardului și datele CSC/CVV sunt extrase din formular și adăugate la sesiune.
  7. Formularul validat este trimis din browserul plătitorului către dvs. utilizând adresa URL de returnare specificată în solicitarea Trimitere formular. Formularul validat include câmpurile de solicitare și câmpurile de răspuns de la serviciul Hosted Payment Session al eGenius Platform.
    Orice câmpuri specifice comerciantului pe care le-ați transmis în solicitarea de formular sunt returnate în răspunsul la formular fără a fi procesate.
  8. Site-ul dvs. validează câmpurile specifice comerciantului.
  9. Site-ul dvs. analizează orice erori returnate de serviciul Hosted Payment Session al eGenius Platform și afișează din nou pagina de plată dacă sunt întâlnite orice erori.

    Când toate erorile au fost rezolvate, puteți opta să afișați alte pagini pentru plătitor, în funcție de procesul operațiunii dvs., sau să realizați o tranzacție de stocare sau plată la momentul colectării detaliilor cardului.

    Înainte de a realiza tranzacția de plată, puteți trimite o solicitare de cotație de schimb pentru conversie valutară dinamică (DCC) pentru a colecta moneda contului plătitorului și suma comenzii în moneda respectivă.
    În acest punct puteți, de asemenea, autentifica plătitorul utilizând serviciul 3D-Secure. Rețineți că, în cazul în care plătitorul acceptă oferta DCC, trebuie să furnizați informațiile DCC în solicitarea de autentificare.
  10. Dvs. realizați un apel eGenius PlatformAPIpentru a iniția tranzacția de plată sau stocare specificând suma de plată (numai pentru tranzacția de plată) utilizând una dintre următoarele: Autorizare, plată, creare de simbol. Detaliile cardului pot fi furnizate utilizând Surse multiple de detalii card. Pentru mai multe informații, consultați secțiunea Realizarea unei operațiuni prin utilizarea sesiunii.
  11. eGenius Platform trimite rezultatul tranzacției înapoi către dvs. Puteți realiza o tranzacție ulterioară Save după o Pay/Authorize înainte ca sesiunea să expire.

Depanare și întrebări frecvente

Ce trebuie să fac dacă formularul de plată returnează o eroare?

Formularul de plată poate returna diferite tipuri de erori. Consultați secțiunea Tratarea erorilor.

De ce îmi apare afișată o pagină de eroare?

Dacă este încercată trimiterea unui formular incorect, va fi afișată o pagină de eroare. Următoarele cazuri vor avea ca rezultat afișarea unei pagini de eroare:

  • Metoda formularului nu este HTTP POST.
  • Adresa URL a formularului este formatată incorect.
  • Un parametru de interogare diferit de "charset" este transmis in adresa URL a formularului.
  • Un set de caractere neacceptat este transmis ca parametru de interogare în adresa URL a formularului.
  • Câmpul obligatoriu "gatewayReturnURL" nu a fost furnizat.
  • Câmpul obligatoriu "gatewayReturnURL" nu este o adresă URL absolută.
  • Nume rezervate de câmpuri sunt utilizate în formularul de plată. Pentru moment, singurul nume de câmp rezervat este "submit" (nu este sensibil la litere mari și mici), care nu trebuie setat ca atribut name al butonului.
  • Un câmp recunoscut a fost trimis cu mai multe valori. Această situație apare, în mod normal, când un câmp este definit de mai multe ori în cadrul formularului.
De ce nu pot avea un câmp cu atributul "name" setat cu valoarea "submit"?

Dacă există un câmp cu atributul "name" setat cu valoarea "submit" acesta va împiedica formularul să fie redirecționat înapoi către site-ul dvs. prin intermediul postării JavaScript. Această situație apare deoarece postarea prin intermediul JavaScript este realizată utilizând funcția form.submit(). Astfel, dacă există un element al formularului denumit "submit", atunci JavaScript va realiza în mod incorect referința pentru câmp în loc să execute funcția. Aceasta este o problemă cunoscută a limbajului JavaScript și nu există o soluție simplă pentru evitarea ei.

Ce se întâmplă dacă transmit câmpuri definite de comerciant în Formularul de plată?

Câmpurile definite de comerciant sunt returnate în răspunsul la formular fără a fi procesate sau salvate de către Hosted Payment Session.

Va observa plătitorul un tremur sau o sclipire în cadrul browserului după trimiterea detaliilor cardului?

Această situație apare deoarece browserul trebuie să randeze pagina HTML înainte de a executa codul JavaScript pentru a posta înapoi pe site-ul dvs. Tremurul este afișarea foarte rapidă a acestei pagini, înainte de a executa codul JavaScript. Pentru a asigura o experiență cursivă pentru plătitor, se recomandă ca atributele personalizabile ale paginii "Continue" să fie setate cu valori care mențin aspectul și senzația oferite de site-ul dvs. Consultați secțiunea Bune practici și sfaturi pentru detalii referitoare la personalizarea paginii "Continuare". Aceasta va asigura, de asemenea, ca plătitorii care nu au browsere în care este activat JavaScript, iau contactul cu o pagină "Continue" asemănătoare cu aspectul și senzația oferite de site-ul dvs.

Copyright © 2023 UniCredit Bank