Implementarea unei integrări Hosted Checkout

Cerințe preliminare

  • Asigurați-vă că profilul dvs. comerciant este activat pentru serviciul de Hosted Checkout.
  • Este recomandat să optați pentru serviciul Notificări, pentru a putea primi notificări (e-mail/Webhook) în cazul în care o plată a avut succes. În numele dvs., gateway-ul poate trimite, de asemenea, notificări prin e-mail plătitorului.
  • Înainte de a începe integrarea dvs., consultați secțiunea Bune practici și Sfaturi.

Solicitarea unei interacțiuni Hosted Checkout

Solicitarea unei interacțiuni Hosted Checkout este un proces simplu:

  1. Solicitați o sesiune de validare utilizând operațiunea Create Checkout Session. Solicitarea trebuie să includă date despre plată și interacțiune, precum și instrucțiuni de finalizare. Un exemplu de fragment curl de cod pentru operațiune Create Checkout Session este prezentat mai jos.
    curl https://egenius.unicredit.ro/api/nvp/version/61 \
    -d "apiOperation=CREATE_CHECKOUT_SESSION" \
    -d "apiPassword=$PWD" \
    -d "apiUsername=merchant.<your_merchant_id>" \
    -d "merchant=<your_merchant_id>" \
    -d "interaction.operation=AUTHORIZE" \
    -d "order.id=<unique_order_id>" \
    -d "order.amount=100.00" \
    -d "order.currency=USD"
    
    Pentru informații despre cum sunt generate parolele API, consultați Generarea de parole pentru API.

    Un răspuns care indică succesul acestei operațiuni va conține parametrii session.id și successIndicator. Puteți salva valoarea returnată în parametrul successIndicator în cadrul sistemului magazinului dvs., pentru a verifica succesul sau eșuarea plății. Consultați Obținerea rezultatului plății.

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

  2. Realizați o referință a fișierului checkout.js de pe serverele gateway. Această acțiune va plasa obiectul Checkout într-un scop global.
    <script src="https://egenius.unicredit.ro/checkout/version/61/checkout.js" data-error="errorCallback" data-cancel="cancelCallback"></script>
    
    Dacă dețineți drepturi de a efectua ambele tipuri de tranzacții Authorization și Purchase, trebuie să utilizați Hosted Checkout versiunea 52 sau mai recentă pentru integrare.

    Referință checkout.js[JavaScript]

  3. Apelați Checkout.configure(), transmițând un obiect JSON care include session.id returnat și alți parametri ai solicitării.
    Checkout.configure({
                  session: { 
                	id: '<your_create_checkout_session_ID>'
           			},
                  interaction: {
                        merchant: {
                            name: 'Your merchant name',
                            address: {
                                line1: '200 Sample St',
                                line2: '1234 Example Town'            
                            }    
                        }
                   }
                });
    
    Datele transmise în Checkout.configure() nu vor suprascrie niciodată datele furnizate de dvs. în operația Create Checkout Session.
  4. Inițiați procesul de plată apelând una dintre următoarele:
    • Pentru a afișa interacțiunea de validare în cadrul unei Lightbox:
      Checkout.showLightbox()
    • Pentru a afișa interacțiunea de validare pe o Hosted Payment Page:
      Checkout.showPaymentPage()

Exemplu de cod HTML pentru solicitarea unei interacțiuni de validare

<html>
    <head>
        <script src="https://egenius.unicredit.ro/checkout/version/61/checkout.js" data-error="errorCallback" data-cancel="cancelCallback"></script>
        <script type="text/javascript">
            function errorCallback(error) {
                  console.log(JSON.stringify(error));
            }
            function cancelCallback() {
                  console.log('Payment cancelled');
            }
            Checkout.configure({
              session: { 
            	id: '<your_create_checkout_session_ID>'
       			},
              interaction: {
                    merchant: {
                        name: 'Your merchant name',
                        address: {
                            line1: '200 Sample St',
                            line2: '1234 Example Town'            
                        }    
                    }
               }
            });
        </script>
    </head>
    <body>
       ...
      <input type="button" value="Pay with Lightbox" onclick="Checkout.showLightbox();" />
      <input type="button" value="Pay with Payment Page" onclick="Checkout.showPaymentPage();" />
       ...
    </body>
</html>
Valorile care controlează comportamentul Hosted Checkout pot fi transmise în Checkout.configure() ca:
  • Text – de ex. quantity : 300
  • Funcții care returnează o valoare, de ex. quantity : function() { return 100 + 200 }.

Funcțiile sunt executate la declanșarea procesului de plată.

Funcții callback

<script src="https://egenius.unicredit.ro/checkout/version/61/checkout.js"
         data-cancel="cancelCallback"
         data-beforeRedirect="Checkout.saveFormFields"
         data-afterRedirect="Checkout.restoreFormFields">
</script>

<script>
     function cancelCallback() { 
          confirm('Are you sure you want to cancel?');
         // code to manage payer interaction
    }
// or if you want to provide a URL:
// cancelCallback = "someURL"
</script>

Funcțiile callback sunt furnizate pentru a procesa evenimente care pot apărea în timpul interacțiunii de plată.

Utilizarea funcțiilor callback este opțională, dar trebuie să le definiți pe cele de care aveți nevoie în corpul aceleiași etichete <script> care realizează referința pentru checkout.js.

Toate funcțiile callback definite trebuie să aibă o implementare. Aceasta va fi invocată când este declanșat evenimentul relevant.

Funcții callback de bază

Funcțiile callback de bază sunt furnizate pentru a procesa următoarele evenimente:

  • cancel: Când plătitorul revocă interacțiunea de plată.
  • error: Când este întâlnită o eroare.
  • complete: Când plătitorul finalizează interacțiunea de plată.
  • timeout: Dacă plata nu este finalizată în durata disponibilă pentru efectuarea plății de către plătitor.

Acestea pot fi funcții sau adrese URL. Dacă într-o funcție callback furnizați o adresă URL în locul unei funcții, plătitorul va fi redirecționat către această adresă URL în momentul în care este declanșat evenimentul.

Funcții callback de redirecționare

Deoarece Hosted Checkout acceptă interacțiuni de plată care necesită redirecționarea plătitorului către alte site-uri web pentru a continua plata (de ex. PayPal), sunt furnizate funcții callback pentru a administra procesul care are loc înainte de redirecționare și după revenirea la Hosted Checkout pentru finalizarea procesării tranzacției.

  • beforeRedirect: Înainte de afișarea pentru plătitor a interfeței de plată. Returnează datele necesare pentru restaurarea stării paginii pentru utilizarea de către afterRedirect.
  • afterRedirect: Când plătitorul revine după finalizarea interacțiunii de plată. Utilizează datele salvate de către beforeRedirect pentru a returna starea salvată a interfeței de plată.

Obiectul Checkout furnizează, de asemenea, două funcții pentru a vă ajuta să implementați funcțiile callback beforeRedirect și afterRedirect:

  • saveFormFields: Salvează toate câmpurile curente ale formularului pentru utilizarea de către restoreFormFields. Utilizați-o în implementarea dvs. pentru funcția callback beforeRedirect sau implementați beforeRedirect ca Checkout.saveFormFields.
  • restoreFormFields: Restaurează câmpurile formularului salvate de către saveFormFields. Utilizați-o în implementarea dvs. pentru funcția callback afterRedirect sau implementați afterRedirect ca Checkout.restoreFormFields.

Referință checkout.js[JavaScript]

Obținerea rezultatului plății

Prin readucerea plătitorului pe site-ul magazinului dvs.

După ce interacțiunea de plată este finalizată, puteți să readuceți plătitorul pe site-magazinului dvs. și să îi afișați propria dvs. pagină de confirmare: Puteți, de asemenea, actualiza sistemul magazinului dvs. cu detaliile plății.

Pentru a readuce plătitorul pe site-ul magazinului dvs., trebuie să:

  • furnizați interaction.returnUrl în operațiunea Create Checkout Session SAU
  • să definiți funcția callback complete în solicitarea Hosted Checkout. Consultați Funcții callback de bază.

Gateway-ul trimite rezultatul plății într-un parametru resultIndicator care este fie:

  • adăugat la adresa URL (interaction.returnUrl) utilizată pentru returnarea plătitorului către site-ul magazinului dvs., FIE
  • furnizat ca parametru de intrare pentru funcția furnizată în funcția callback complete sau adăugat adresei URL furnizate în funcția callback complete.

Puteți determina succesul plății comparând parametrul resultIndicator cu parametrul successIndicator returnat în cadrul răspunsului Create Checkout Session. Dacă cei doi parametri sunt identici înseamnă că plata s-a realizat cu succes.

Valoarea din parametrul resultIndicator nu trebuie utilizată niciodată ca număr al confirmării.

În cazul succesului, prezentați plătitorului o confirmare de plată pe site-ul magazinului dvs. și actualizați sistemul dvs. de vânzări cu detaliile plății. Puteți să colectați aceste date utilizând operațiunea Retrieve Order.

Prin Administrare cont comerciant

Detaliile plății sunt înregistrate în Administrare cont comerciant în cadrul paginii Detalii comenzi și tranzacții. Puteți să căutați plata și puteți, de asemenea, să realizați operațiuni ulterioare.

Utilizarea Reporting

Dacă vă abonați la Reporting, puteți descărca date despre plată Hosted Checkout într-un raport formatat de la eGenius Platform.

Prin Notificări e-mail sau Webhook

Dacă vă abonați la serviciul de notificări e-mail în Administrare cont comerciant, veți primi o notificare e-mail pentru fiecare plată realizată cu succes.

Puteți, de asemenea, să vă abonați la serviciul Notificări Webhook pentru a primi o notificare API pentru fiecare actualizare referitoare la plată.

Particularizarea experienței plății

Hosted Checkout vă permite să controlați afișarea de informații despre compania dvs. și interacțiunea cu plătitorul fie prin intermediul operației Create Checkout Session, fie prin metoda Checkout.configure(). Rețineți că datele furnizate în solicitarea Create Checkout Session vor avea întotdeauna prioritate în fața datelor furnizate în metoda Checkout.configure(). Pentru securitate sporită, este recomandat să furnizați datele dintr-o sesiune folosind operația Create Checkout Session.

Exemplu de solicitare Create Checkout Session
URL https://egenius.unicredit.ro/api/rest/version/61/merchant/{merchantId}/session
Metoda HTTP POST
{
    "apiOperation": "CREATE_CHECKOUT_SESSION",
    "interaction": {
        "operation": "AUTHORIZE"
    },
    "order"      : {
        "amount"     : "122.0",
        "currency"   : "USD",
        "description": "Ordered goods",
        "id": "232E32323ddd"
    }
}
Exemplu de solicitare Checkout.configure( )
Checkout.configure({
session: { 
           id: '<your_create_checkout_session_ID>'
       			},
    billing    : {
        address: {
            street       : '123 Customer Street',
            city         : 'Metropolis',
            postcodeZip  : '99999',
            stateProvince: 'NY',
            country      : 'USA'
        }
    },
    interaction: {
        merchant      : {
            name   : 'Your merchant name',
            address: {
                          line1: '200 Sample St',
                          line2: '1234 Example Town'            
            },
            email  : 'order@yourMerchantEmailAddress.com',
            phone  : '+1 123 456 789 012',
            logo   : 'https://imageURL'
        },
        locale        : 'en_US',
        theme         : 'default',
        displayControl: {
            billingAddress  : 'OPTIONAL',
            customerEmail   : 'OPTIONAL',
            orderSummary    : 'SHOW',
            shipping        : 'HIDE'
        }
    }
});
Câmpurile din grupul de parametri interaction.merchant vor fi afișate pe pagina de confirmare doar pentru integrarea Pagină de plăți găzduite, nu și pentru Lightbox.

Afișarea de informații de marcă

Acestea includ sigla dvs. precum și detaliile de contact.

Pentru mai multe detalii consultați:

Administrarea afișării adreselor de facturare și e-mail ale plătitorului

După colectarea adreselor de facturare și de e-mail de la plătitorul dvs., puteți să afișați aceste informații și să controlați dacă sunt editabile prin setarea câmpurilor relevante interaction.displayControl.billingAddress și interaction.displayControl.customerEmail cu una dintre următoarele valori:

  • HIDE: Dacă nu doriți ca Hosted Checkout să afișeze aceste câmpuri.
  • MANDATORY: Dacă doriți ca Hosted Checkout să afișeze aceste câmpuri și să facă obligatorie introducerea de date de către plătitor.
  • OPTIONAL: Dacă doriți ca Hosted Checkout să afișeze aceste câmpuri, dar să permiteți plătitorului să opteze pentru omiterea introducerii informațiilor în ele.
  • READ_ONLY: Dacă doriți ca Hosted Checkout să afișeze aceste câmpuri, dar să nu permită plătitorului editarea lor.

Administrarea afișării rezumatelor comenzilor

În mod implicit, rezumatul comenzii este afișat pentru plătitor înainte ca acesta să poată trimite plata. Puteți, însă, controla afișarea setând câmpul interaction.displayControl.orderSummary la una dintre următoarele opțiuni:

  • HIDE: Dacă nu doriți ca Hosted Checkout să afișeze rezumatul comenzii.
  • SHOW_PARTIAL: Dacă doriți ca Hosted Checkout să afișeze rezumatul comenzii, care poate să nu includă detaliile plății.
  • SHOW: Dacă doriți ca Hosted Checkout să afișeze rezumatul comenzii, care poate include detaliile plății.

Administrarea afișării detaliilor de livrare

După colectarea detaliilor de livrare de la plătitorul dvs., puteți să controlați afișarea acestora prin setarea câmpului interaction.displayControl.shipping la una dintre următoarele valori:

  • HIDE: Dacă nu doriți ca Hosted Checkout să afișeze aceste câmpuri.
  • READ_ONLY: Dacă doriți ca Hosted Checkout să afișeze aceste câmpuri, dar să nu permită plătitorului editarea lor.
Plătitorul nu va putea edita niciunele dintre detaliile de livrare furnizate anterior.

Funcționalitatea casetei de selectare Aceeași cu adresa de livrare nu va fi disponibilă dacă detaliile de livrare necesare nu au fost furnizate.

Gestionarea afișării confirmărilor de plată

În mod implicit, confirmarea plății nu este solicitată de la plătitor. Puteți, însă, controla afișarea setând câmpul interaction.displayControl.paymentConfirmation la una dintre următoarele opțiuni:

  • SHOW: Dacă doriți ca Hosted Checkout să afișeze confirmarea plății.
  • HIDE: Dacă nu doriți ca Hosted Checkout să afișeze confirmarea plății.

Administrarea limbii și a temei

Implicit, limba afișată cu Hosted Checkout este stabilită de setarea din browserul plătitorului. Totuși, puteți evita acest comportament specificând un identificator de limbă sau o etichetă de limbă IETF în câmpul locale; de ex. en_US, es, fr_CA. Dacă limba specificată de dvs. nu este acceptată de eGenius Platform, Hosted Checkout este afișată în limba cea mai apropiată.

Implicit, tema setată ca implicită de către furnizorul dvs. de servicii de plată controlează aspectul și stilul Hosted Checkout. Dacă furnizorul dvs. de servicii de plată acceptă mai multe teme, puteți alege să înlocuiți tema implicită furnizând câmpul interaction.theme în solicitarea dvs.

Tema disponibilă pentru dvs. în acest moment este default.

ID comandă

Este recomandat să includeți order.id în solicitarea dvs. pentru a identifica cu ușurință o plată inițiată din cadrul Hosted Checkout. Puteți utiliza un identificator generat de către coșul dvs. de cumpărături sau puteți furniza propriul identificator. Totuși, asigurați-vă că acesta este unic.

Dacă nu furnizați o valoare în câmpul order.id, eGenius Platform va genera automat o valoare pentru dvs.

Număr card

Atunci când un plătitor alege să plătească cu cardul, poate introduce detaliile cardului de credit sau ale celui de debit în timpul interacțiunii de validare. Cu toate acestea, dacă cel puțin unul dintre achizitorii dvs. acceptă carduri combo, și anume, carduri care pot fi folosite fie pe post de card de debit, fie pe post de card de credit, plătitorul va trebui să selecteze o metodă de plată pe pagina de plată — Card de debit sau Card de credit — pentru a specifica modul de operare a cardului pentru plata respectivă.

Autentificarea 3D-Secure

În cazul integrărilor Hosted Checkout versiunea 55 și versiunile ulterioare, autentificarea EMV 3DS va fi automat disponibilă după ce furnizorul dvs. de servicii de plată activează cu succes serviciul.

Asigurarea conformității cu criteriile WCAG (Web Content Accessibility Guidelines – Îndrumările privind accesibilitatea conținutului web)

Hosted Checkout poate fi configurat pentru a crea o experiență de utilizare care respectă criteriile WCAG 2.0, nivelul AA. Consultați Îndrumările WCAG 2.0 și asigurați-vă că site-ul dvs. web se conformează acestui standard tehnic.

Detalii
Checkout.configure({
    merchant   : '<your_merchant_id>',
    order      : {
        amount     : function () { //Dynamic calculation of amount
            return 80 + 20
        },
        currency   : 'USD',
        description: 'Ordered goods',
        id: '<unique_order_id>'
    },
    ....
    ....
    ....
    interaction: {
        ....
        ....
        ....
        displayControl: {
            orderSummary    	: 'SHOW',
            paymentConfirmation	: 'SHOW',
            billingAddress 	: 'OPTIONAL',
            customerEmail   	: 'OPTIONAL',
            shipping        	: 'HIDE'
        }
    }
});

Pentru conformitatea cu WCAG, trebuie să afișați rezumatul comenzii și confirmarea plății către plătitor înainte ca acesta să trimită plata. Setați următorii parametri de afișare la „SHOW” în metoda Checkout.configure():

  • interaction.displayControl.orderSummary=SHOW
  • interaction.displayControl.paymentConfirmation=SHOW

Setați atributul lang

Adăugați atributul lang la elementul html.

<html lang="en">
    <head></head>
    <body></body>
</html>

Ofertă plăți structurate

Dacă aveți funcționalitatea plăți structurate configurată pentru profilul dvs. de comerciant, toate structurările de plăți din configurația dvs. de comerciant vor fi afișate implicit pentru plătitor în timpul Hosted Checkout. Totuși, structurările de plăți disponibile pentru plătitor vor fi determinate în funcție de numărul cardului introdus de către plătitor și de moneda utilizată pentru comandă.

Limitarea plăților structurate disponibile

Puteți să limitați structurările de plăți disponibile specificând restricții asupra structurărilor de plăți pentru fiecare tranzacție în parte. Această opțiune este utilă dacă doriți să asigurați faptul că opțiunile de plată structurată oferite plătitorului se conformează unor criterii prestabilite, evitând astfel procesarea plății dacă plătitorul intervine asupra datelor referitoare la plata structurată. Puteți utiliza următoarele câmpuri în cadrul solicitării pentru a defini restricțiile:

  • constraints.paymentPlans.supported[n]: Plățile structurate oferite pentru această tranzacție.
  • constraints.paymentPlans.numberOfPayments: Numărul de rate permis pentru plata structurată.
  • constraints.paymentPlan.numberOfDeferrals: Numărul de luni de grație permis pentru plata structurată.
Afișarea termenilor de plată pentru o plată structurată

Implicit, termenii de plată pentru o plată structurată, dacă sunt disponibili, sunt afișați la momentul Hosted Checkout. Puteți face ca aceștia să nu fie vizibili, setând interaction.displayControl.paymentTerms=HIDE în Checkout.configure().

Dacă oferiți planul AMEX, poate fi necesar, în unele regiuni, să informați plătitorul referitor la termenii de plată, înaintea procesării plății.

Asistență pentru Verificare posesor card

Pentru și plăți , Hosted Checkout acceptă numai verificarea detaliilor de plată.

Puteți realiza aceasta setând interaction.operation=VERIFY în cadrul solicitării Create Checkout Session.

Hosted Checkout utilizează metodele de verificare acceptate de achizitorul configurat și datele furnizate în solicitare.

Puteți afla succesul operațiunii de verificare comparând resultIndicator și successIndicator.

Dacă interacțiunea a eșuat, Hosted Checkout afișează un mesaj care indică faptul că verificarea a eșuat și afișează un mesaj solicitând plătitorului să încerce din nou.

Asistență pentru integrări non-eCommerce

Puteți utiliza Hosted Checkout cu orice sursă de tranzacție configurată pentru profilul comerciant (Internet, Call Center, comandă telefonică etc.).

Detalii

Puteți realiza aceasta furnizând transaction.source în cadrul solicitării Create Checkout Session.

Dacă Hosted Checkout este solicitată cu transaction.source diferit de INTERNET, opțiunile de plată care necesită ca plătitorul să fie prezent nu vor fi acceptate.

Dacă nu furnizați transaction.source în cadrul solicitării:

  • Aceasta primește implicit valoarea INTERNET dacă aceasta este acceptată de legătura achizitor comerciant.
  • Dacă aceasta nu este acceptată, devine implicit sursa de tranzacție din profilul dvs. comerciant.

Verificare Cod de securitate card

Puteți să verificați dacă este obligatorie furnizarea de către plătitori a Codului de securitate card (CSC) pentru procesarea plății setând interaction.displayControl.cardSecurityCode în solicitarea Create Checkout Session cu una dintre următoarele valori:

  • OPTIONAL: Dacă doriți ca Hosted Checkout să afișeze câmpul de introducere pentru Cod de securitate a cardului, dar introducerea datelor în acest câmp nu este obligatorie.
  • MANDATORY (implicit): Dacă doriți ca Hosted Checkout să afișeze câmpul de introducere pentru Cod de securitate a cardului și introducerea acestuia să fie obligatorie.
Fiți atenți dacă alegeți să faceți introducerea Codului de securitate card opțională, deoarece unii achizitori pot să solicite această informație pentru procesarea tranzacției.

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

Evitare caracteristici de securitate

Dacă profilul dvs. este configurat pentru autentificarea 3-D Secure sau un serviciu de management al riscului aveți opțiunea de a ocoli aceste servicii dacă doriți.

Detalii
  • Evitarea autentificării pentru plată: Setați interaction.action.3DSecure=BYPASS în cadrul solicitării Create Checkout Session. Puteți seta interaction.action.3DSecure=USE_GATEWAY_RECOMMENDATION să ofere 3DS în mod condiționat. Pentru mai multe informații, consultați Dynamic 3DS.
  • Evitarea evaluării riscului: Setați risk.bypassMerchantRiskRules=ALL în cadrul solicitării Create Checkout Session.

Testați integrarea

Înainte de a începe lucrul în mediul real, trebuie să testați integrarea pentru a vă asigura de funcționarea corectă.

Depanare și întrebări frecvente

Ce trebuie să fac dacă Hosted Checkout returnează o eroare?

Hosted Checkout poate returna un număr de erori de integrare. Consultați secțiunea Testați integrarea.

De ce primesc o pagină de eroare?

Atunci când este încercată o solicitare Hosted Checkout incorectă, este returnată o pagină de eroare. Cauzele normale ale erorilor includ:

  • Nu au fost furnizate valori pentru câmpurile obligatorii.
  • Adresele URL furnizate în solicitare nu sunt absolute.
Ce se întâmplă dacă plătitorul trimite de două ori (apasă de două ori) butonul "Plată"?

Dacă plătitorul apasă de două ori butonul "Plată", tranzacția nu va fi repetată cu banca dvs. sau a plătitorului.

Unde pot găsi protocolul PAGE și pagina de referință API pentru solicitarea PAY Hosted Payment Page?

Protocolul PAGE este înlocuit printr-o soluție mai nouă de integrarea JavaScript Hosted Checkout.

Pentru integrările Hosted Payment Page existente, consultați ghidul de integrare și referința API (faceți clic aici (HTML) sau aici (WADL)).

Browserele Microsoft sunt acceptate de Hosted Checkout?

Da. Sunt acceptate IE 11 (modul non-enterprise) și Edge 18.

Bune practici și sfaturi

Cât de sigură este integrarea Hosted Checkout?

Modelul Hosted Checkout este securizat deoarece este nevoie să vă autentificați pe gateway, iar detaliile de plată sunt colectate în pagina de plată și sunt trimise direct din browserul plătitorului către gateway.

Dacă optați să nu readuceți plătitorul înapoi la site-ul magazinului dvs., este recomandat să verificați mesajul e-mail de notificare sau să vă conectați la Administrare cont comerciant pentru a vă asigura că detaliile comenzii sunt corecte, înainte de a livra bunurile sau serviciile către plătitor.
Există restricții referitoare la dimensiunea fișierului și dimensiunile siglei comerciantului afișate pe pagina de plată?

Deși, prin concepție, nu există nicio restricție asupra dimensiunii fișierului, recomandăm ca acesta să nu depășească 100 kB pentru a asigura o încărcare rapidă a paginii. Dimensiunile recomandate pentru siglă sunt 140 width × 140 height (pixels).

Pot utiliza orice furnizor de servicii de găzduire pentru găzduirea imaginii siglei?

Da, puteți găzdui imaginea siglei dvs. la orice furnizor de servicii de găzduire; totuși, este obligatoriu ca adresa URL să fie securizată (HTTPS). Dacă furnizorul dvs. de servicii de găzduire nu acceptă adrese URL securizate, vă prezentăm o listă a furnizorilor care vă pot oferi gratuit găzduire HTTPS: https://www.google.com.au/search?q=secure+image+hosting+providers

De ce uneori nu este afișată caseta de selectare Aceeași cu adresa de livrare?

Această casetă de selectare este vizibilă numai dacă au fost furnizate toate câmpurile necesare din adresa de livrare. Trebuie să vă asigurați ca fie plătitorul să furnizeze aceste informații, fie dvs. să furnizați informațiile care lipsesc (ca, de exemplu, shipping.country în cazul în care bunurile nu sunt livrate internațional).

Cum îmi pot optimiza interacțiunile mobile cu Hosted Checkout?

Dacă doriți să oferiți clienților o experiență mobilă bună, inclusiv prin optimizarea experienței dvs. Hosted Checkout pe dispozitive mobile, bunele practici includ adăugarea meta-etichetei „viewport” pe pagina site-ului dvs. De exemplu,

<meta name="viewport" content="width=device-width, initial-scale=1">

Rețineți că este important să alegeți valorile viewport corecte pentru paginile dvs. și să vă testați site-ul cu aceste modificări.

Copyright © 2021 UniCredit Bank