Secure Remote Commerce

Secure Remote Commerce (SRC) este o opțiune de validare inteligentă, online, care nu necesită parolă și oferă o experiență de validare rapidă și facilă pentru plătitori. SRC oferă un singur buton de validare (denumit și „Click to Pay”) și un proces de validare standardizat pentru toate schemele de card participante, inclusiv Mastercard, Visa, American Express, Discover și altele. SRC se bazează pe specificațiile SRC EMVCo și înlocuiește Masterpass, Visa Checkout și Amex Express Checkout.

Plătitorul poate crea un profil SRC folosind adresa de e-mail. La validare, plătitorul trebuie să furnizeze adresa de e-mail și să efectueze un pas de verificare suplimentar, cu un cod de unică folosință. De asemenea, pot alege și opțiunea „Ține-mă minte” pentru a sări ulterior peste pasul de verificare atunci când utilizează același browser.

Plătitorul poate stoca mai multe carduri de credit, de debit sau preplătite, adresele de facturare asociate și mai multe adrese de expediere în profilul SRC. Detaliile cardului sunt stocate în siguranță, iar securitatea este sporită cu funcția de creare a simbolurilor în rețea.

SRC îi permite plătitorului să selecteze detaliile de plată care trebuie utilizate pentru plată; cu toate acestea, plata în sine este procesată cu ajutorul achizitorului configurat pentru profilul dvs. de comerciant din gateway.

SRC este acceptat pe pagina de plată a gateway-ului (Hosted Checkout) sau printr-un SDK JavaScript, dacă folosiți propria pagină de plată.

SRC este disponibil momentan într-un număr restrâns de țări. Întrebați your payment service provider dacă este disponibil în țara dvs. Mastercard Gateway acceptă SRC din DirectAPI versiunea 57 și acceptă în prezent SRC pentru cardurile Mastercard, Visa și American Express.

Avantaje cheie Copied to Clipboard

SRC oferă următoarele beneficii:

  • Opțiune de validare rapidă și facilă pentru plătitori, cu risc redus de abandonare la validare
  • Rate mai mari de aprobare la autorizare dacă utilizați simbolurile din rețea
  • Rată scăzută de fraudare din partea plătitorilor
  • Schimb securizat al datelor de plată, inclusiv detaliile cardurilor și adresele de facturare și livrare

Cerințe preliminare Copied to Clipboard

Dacă doriți să oferiți SRC ca opțiune de validare pentru plătitorii dvs.:

  • Contactați your payment service provider pentru a vă asigura că SRC este disponibil.
  • În meniul Administrare din Merchant Administration, faceți clic pe Configurație SRC, urmați instrucțiunile de înscriere SRC și activați SRC pentru profilul dvs. de comerciant. Trebuie să dețineți privilegiile necesare pentru a actualiza configurația SRC.

SRC ca opțiune de validare în Hosted Checkout Copied to Clipboard

Dacă folosiți pagina de plată a gateway-ului (Hosted Checkout), SRC va fi opțiunea furnizată automat ca opțiune de validare a plătitorilor dvs. dacă ați activat SRC în profilul dvs. de comerciant și folosiți DirectAPI versiunea 57 sau o versiune mai recentă atunci când remiteți solicitarea Create Checkout Session pentru a iniția interacțiunea Hosted Checkout.

Chiar dacă profilul SRC al plătitorului poate conține carduri pentru orice scheme de card acceptate, plătitorul poate folosi SRC la tranzacție doar pentru cardurile pentru care:

  • schema de card a fost activată pentru SRC în profilul dvs. de comerciant și
  • profilul dvs. comerciant este configurat să proceseze cardurile cu această schemă și moneda de tranzacție.

Adresă de livrare: Plătitorii nu vor putea selecta o adresă de livrare în timpul interacțiunii SRC, deoarece colectarea adresei de expediere nu este acceptată momentan prin Hosted Checkout.

Adresă de facturare: O adresă de facturare va fi colectată întotdeauna în timpul interacțiunii SRC.

Autentificarea 3-D Secure: Dacă aveți configurată Autentificarea 3-D Secure (3DS), Hosted Checkout va efectua automat autentificarea 3DS după interacțiunea SRC.

Configurarea SRC pentru Hosted Checkout

Pentru a utiliza Hosted Checkout, urmați pașii definiți în Implementarea unei integrări Hosted Checkout.

Când apelați Checkout.configure(), includeți următoarele detaliile:

Țara interacțiunii În cazul unei interacțiuni SRC, țara în care are loc interacțiunea determină conținutul specific țării prezentat plătitorului în timpul interacțiunii SRC, cum ar fi Termenii și condițiile.
Valoarea pe ați configurat-o în profilul dvs. de comerciant din gateway este folosită implicit. Adăugați câmpul interaction.country la metoda Checkout.configure(), dacă doriți să suprascrieți această valoare pentru interacțiune.
Setări regionale interacțiune Pentru o interacțiune SRC, setările regionale pentru interacțiune determină limba de pe afișaj.
Implicit, se utilizează limba configurată în browserul plătitorului. În cazul în care limba plătitorului nu se poate determina sau nu este acceptată, se utilizează en_US. Dacă doriți să suprascrieți această valoare, adăugați câmpul interaction.locale la metoda Checkout.configure(). În prezent, limbile acceptate sunt engleză (UK) (en_UK), spaniolă (Spania) (es_ES), franceză (Canada) (fr_CA), portugheză (Brazilia) (pt_BR) și chineză (Hong Kong) (zh_HK).
Nume comerciant Introduceți numele dvs. de tranzacționare, și anume, numele cunoscut de plătitor. Numele poate fi afișat în timpul interacțiunii SRC.
URL comerciant Introduceți adresa URL a site-ului dvs. web pe care o folosește plătitorul. De exemplu, https://example.com. Adresa URL poate fi afișată în timpul interacțiunii SRC.
E-mail plătitor Adresa de e-mail a plătitorului va fi colectată întotdeauna în timpul interacțiunii SRC. Dacă cunoașteți deja adresa de e-mail a plătitorului, adăugați customer.email:<adresa de e-mail a plătitorului> în Checkout.configure() pentru ca plătitorul să poată sări peste pasul de introducere a adresei de e-mail în timpul interacțiunii SRC.

<html>
    <head>
      <script src="https://ap-gateway.mastercard.com/static/srci/1.2.0/srci.min.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({
          merchant: "<gateway_merchant_ID>",
          session: {
            id: "<session_ID>",
          },
          customer: {
            email: "<payer_email_address>"
          },
          order: {
            amount: "60",
            currency: "USD",
            description: "High level description of the goods contained in the order",
            id: "<your_unique_order_ID>",
          },
          interaction: {
            country: "USA",
            locale: "en_US",
            operation: "AUTHORIZE",
            merchant: {
              name: "<merchant_name>",
              url: "<website_URL>",
              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>

SRC ca opțiune de validare pe pagina dvs. de plată

Dacă utilizați propria dvs. pagină de plată și doriți să oferiți SRC ca opțiune de validare pentru plătitori, folosiți SDK-ul SRCI JavaScript (srci.js) furnizat de gateway.

Aceasta este o integrare JavaScript pe partea clientului care vă permite să inițiați interacțiunea SRC direct din browserul plătitorului și garantează faptul că detaliile de plată selectate de plătitor în timpul interacțiunii SRC sunt remise direct din browserul plătitorului către gateway.

Pentru a utiliza SDK-ul SRCI JavaScript, urmați pașii de mai jos.

Pasul 1: Creați o sesiune

Creați o sesiune trimițând o solicitare Create Session din aplicația de pe serverul dvs. Răspunsul returnează un ID de sesiune pe care trebuie să îl utilizați la pașii ulteriori pentru a referenția sesiunea respectivă.

Pasul 2: Actualizați sesiunea cu valoarea comenzii și moneda

Actualizați sesiunea cel puțin cu suma și moneda comenzii, trimițând o solicitare Update Session din aplicația de pe serverul dvs. Acest pas este necesar pentru interogarea ulterioară privind disponibilitatea SRC pentru plățile în această monedă.

Exemplu de solicitare
URL https://ap-gateway.mastercard.com/api/rest/version/72/merchant/<your_merchant_ID>/session/<your_session_ID>
Metoda HTTP PUT
   
 {
   "order":{
      "amount":100.00,
      "currency":"USD"
   }
}

Pasul 3: Includeți SDK-ul SRCI JavaScript în pagina dvs. de plată

Includeți SDK-ul SRCI JavaScript (srci.js) furnizat de gateway în pagina dvs. de plată adăugând un element script în elementul head. Această acțiune plasează un obiect SRCi în spațiul de nume al ferestrei.

<script type="text/javascript" src="https://ap-gateway.mastercard.com/static/srci/1.2.0/srci.min.js"></script>

Pasul 4: Configurați interacțiunea SRC

Atunci când încărcați pagina de plată, inițiați interacțiunea SRC invocând metoda SRCi.configure().


<html>
    <head>
        <script type="text/javascript" src="https://ap-gateway.mastercard.com/static/srci/1.2.0/srci.min.js"></script>
        <script type="text/javascript">
          var callback = function (response) {
            if(response.result === "SUCCESS") {
              console.log("Response from SDK: %s", response.restApiResponse);
            } else if(response.result === "ERROR") {
              console.log("An error occurred");
            }
          } 
 
          SRCi.configure(
            "<your_gateway_merchant_ID>",
            "<your_merchant_name>",
            "<your_merchant_URL>",
            "<your_session_ID>", 
            { wsVersion: 57 },
            callback     
          );
        </script>
    </head>
    <body>
     ...
    </body>
</html>

Detalii comerciant

merchantId este necesar astfel încât gateway-ul să poată determina în mod corect opțiunile dvs. de plată.

Câmpurile merchantName și merchantUrl sunt remise către Serverul SRC. Aceste detalii pot fi afișate pentru plătitor în timpul interacțiunii SRC.

Introduceți numele dvs. de tranzacționare, și anume, numele cunoscut de plătitor și adresa URL a site-ului web folosit de plătitor.

Versiune

Setați această valoare la 57. Aceasta este versiunea pe care ați folosit-o la remiterea solicitării Create Session.

Callback

Utilizați parametrul callback pentru a defini acțiunile care vor fi invocate după finalizarea SRCi.configure(). De exemplu, este posibil să vreți să înregistrați dacă metoda a avut succes:


var srciConfigCallback = function (resp) {
	var response = resp.restApiResponse;
	if (response.result === "ERROR") {
		console.error("SRC could not successfully be configured");
	} else if (response.result === "SUCCESS") {
		console.log("SRC was successfully configured");
	}
}

  

Apelarea SRCi.configure() poate returna următoarele răspunsuri de eroare:

response.cause resp.explanation Acțiune necesară
Eroare Argument lipsă: Merchant ID, Merchant Name, Merchant URL, Hosted Session ID și o funcție de callback sunt toate argumente necesare pentru metoda configure(). Reparați integrarea. Trebuie să furnizați toate câmpurile de solicitare obligatorii
Eroare Argument lipsă: URL comerciant este un argument obligatoriu pentru metoda configure() Reparați integrarea. Trebuie să furnizați câmpul URL comerciant.
Eroare Callback trebuie să fie o funcție. Reparați integrarea.
Eroare Versiunea API trebuie să fie <MIN_VERSION> sau mai recentă. Reparați integrarea. Setați valoarea wsVersion la 57.

Dacă este returnată o eroare, nu treceți la pasul următor. Oferiți plătitorului o altă metodă de plată.

Configurație avansată

SDK recuperează detaliile despre configurația profilului dvs. de comerciant pentru SRC (inclusiv, de exemplu, lista cu toate schemele pentru care SRC este disponibil) folosind operațiunea Payment Options Inquiry. Cu toate acestea, dacă ați remis deja o solicitare Payment Options Inquiry în cadrul sesiunii plătitorului, puteți include aceste detalii prin adăugarea elementului configuration la solicitare.

În această situație, SDK nu realizează din nou solicitarea Payment Options Inquiry. Parametrul wsVersion indică versiunea DirectAPI pe care ați utilizat-o pentru a remite solicitarea Payment Options Inquiry.

Exemplu de cod HTML

<html>
    <head>
        <script type="text/javascript" src="https://ap-gateway.mastercard.com/static/srci/1.2.0/srci.min.js"></script>
            // Response from the Payment Options Inquiry call. This value to SRCi.configure() is optional. If it is not passed in, a call will be made from the SDK to the API to retrieve it.
          var paymentOptionsInquiryResponse = {
            merchant: "<gateway_merchant_ID>",
            paymentTypes: {
              card: {
                cardTypes: [{
                  cardType: "MASTERCARD",
                  schemeTokenTypes: "CRYPTOGRAM_3DSECURE"
                }, {
                  cardType: "VISA",
                  schemeTokenTypes: "CRYPTOGRAM_3DSECURE"
                }, {
                  cardType: "AMEX",
                  schemeTokenTypes: "DYNAMIC_CSC_AND_EXPIRY"
                }],
                walletProviders: [{
                  secureRemoteCommerce: {
                    defaultPayerCountry: "USA",
                    shippingAddressCountries : "USA,CAN"
                    scheme: [{
                      dpaId: "<DPA_ID>", // As configured for this scheme on your merchant profile.
                      name: "MASTERCARD"
                    }, {
                      dpaId: "<DPA_ID>", // As configured for this scheme on your merchant profile.
                      name: "VISA"
                    }, {
                      name: "AMERICAN_EXPRESS"
                    }]
                  },
                  walletProvider: "SECURE_REMOTE_COMMERCE"
                }]
              }
            },
            result: "SUCCESS"
          }
 
          SRCi.configure({
              "<gateway_merchant_ID>",
               "<merchant_name>",
               "<merchant_URL>",
               "<session_ID>",
               configuration: {
                 wsVersion: 57,
                 paymentOptions: paymentOptionsInquiryResponse
               }, 
               callback: function (response) {
                 if(response.result === "SUCCESS") {
                   console.log("Response from SDK: %s", response.restApiResponse);
                 } else if(response.result === "ERROR") {
                   console.log("An error occurred");
                 }
               }      
            });
        </script>
    </head>
    <body>
     ...
    </body>
</html>

Exemplu de răspuns SRCi.configure()

Exemplul următor prezintă un apel SRCi.configure() reușit.


{
    result: "SUCCESS"
    restApiResponse: <Payments Options Inquiry response>
   }  

Răspunsul conține răspunsul Payments Options Inquiry în câmpul restApiResponse, care are doar rol informativ. Cu toate acestea, este posibil să vreți să folosiți aceste informații ulterior, în timpul sesiunii plătitorului pentru a evita folosirea solicitării PAYMENT_OPTIONS_INQUIRY pentru a le recupera.

Exemplul următor prezintă un apel SRCi.configure() nereușit.


{
    result: "ERROR"
    cause: <cause>
    explanation: <explanation>
   }  

În acest caz, solicitați plătitorului să selecteze o altă opțiune de validare.

Pasul 5: Afișați SRC ca opțiune de validare

Dacă SRCi.configure() a reușit, afișați SRC ca opțiune de validare pe pagina dvs. de plată. Pentru cerințele de branding, consultați Indicații privind interfața cu utilizatorul SRC.

Utilizați detaliile de configurare SRC returnate în răspunsul Payment Options Inquiry, pentru a determina ce sigle de schemă trebuie afișate în buton. Pentru fiecare schemă acceptată, răspunsul Payment Options Inquiry conține numele schemei în câmpul paymentTypes.card.walletProviders[n].secureRemoteCommerce.scheme[n].name.

Pasul 6: Lansați UI SRC

Atunci când plătitorul selectează SRC ca opțiune de validare, lansați UI SRC invocând metoda SRCi.launchUI().

var payloadCallback = function (correlationId, scheme) {
      console.log("Payload callback complete with correlation id %s and scheme %s", correlationId, scheme);
    };
     
    var errorCallback = function (error) {
      console.log("Error callback triggered with error: %s", error);
    };
     
    var cancelCallback = function () {
      console.log("Cancel callback triggered");
    };
     
    SRCi.launchUI({
        orderAmount: "100.00",
        orderCurrency: "USD"
      },
      payloadCallback,
      errorCallback,
      cancelCallback
    );

În plus față de câmpurile obligatorii, trebuie să completați câteva câmpuri opționale:


SRCi.launchUI(
   {
      "orderAmount":"60"
	  "orderCurrency":"USD",
      "customerEmail":"<payer_email_address>",
      "collectShippingAddress":true,
      "interactionCountry":"CAN"
      "interactionLocale":"fr"
   }
);    

Colectare adrese de e-mail plătitor

Adresa de e-mail a plătitorului va fi colectată întotdeauna în timpul interacțiunii SRC. Dacă cunoașteți deja adresa de e-mail a plătitorului, adăugați câmpul customerEmail în metoda SRCi.launchUI() pentru ca plătitorul să poată sări peste pasul de introducere a adresei de e-mail în timpul interacțiunii SRC.

Colectare adrese de facturare

O adresă de facturare va fi colectată întotdeauna în timpul interacțiunii SRC.

Colectare adrese de livrare

În mod implicit, SRC nu va colecta adresa de livrare a plătitorului. Dacă doriți ca SRC să colecteze adresa de livrare a plătitorului, adăugați collectShippingAddress:true la metoda SRCi.launchUI().

În mod implicit, plătitorul poate selecta orice țară pentru adresa de livrare. Pentru a restricționa lista de țări în care livrați bunuri, trebuie să vă configurați profilul de comerciant pentru SRC prin Merchant Administration, fie cu o listă de țări permise, fie cu o listă de țări exceptate. Acolo unde ați definit restricții, plătitorul va putea selecta adrese de livrare doar în țările permise.

Nu puteți suprascrie țările de livrare acceptate pentru o solicitare specifică.

Țara interacțiunii

Țara în care are loc interacțiunea determină conținutul specific țării prezentat plătitorului în timpul interacțiunii SRC, cum ar fi Termenii și condițiile. Valoarea pe ați configurat-o în profilul dvs. de comerciant din gateway este folosită implicit. Adăugați câmpul interactionCountry la metoda SRCi.launchUI(), dacă doriți să suprascrieți această valoare pentru interacțiune.

Setări regionale interacțiune

Setările regionale pentru interacțiune determină limba folosită pentru interacțiunea SRC. Implicit, se utilizează limba configurată în browserul plătitorului. În cazul în care limba plătitorului nu se poate determina sau nu este acceptată, se utilizează en_US. Adăugați câmpul interactionLocale la metoda SRCi.launchUI() dacă doriți să suprascrieți această valoare. În prezent, limbile acceptate sunt engleză (UK) (en_UK), spaniolă (Spania) (es_ES), franceză (Canada) (fr_CA), portugheză (Brazilia) (pt_BR) și chineză (Hong Kong) (zh_HK).

Callback

Trebuie să definiți acțiunile care vor fi invocate după finalizarea SRCi.launchUI(), după cum urmează:

payloadCallback Funcția de callback care va fi declanșată atunci când plătitorul finalizează interacțiunea în UI SRC.

Această funcție utilizează două argumente, correlationId și scheme
  • scheme identifică schema de card.
  • correlationId este un identificator unic pentru interacțiunea SRC (pentru această schemă).

  • Aceste detalii trebuie utilizate ulterior pentru recuperarea detaliilor de plată pentru această interacțiune SRC (consultați pasul 7).
errorCallback Funcția callback care va fi declanșată dacă intervine o eroare la încărcarea UI SRC. Această funcție utilizează un argument care va fi populat cu un obiect de eroare care conține detaliile de eroare.

Tip Mesaj de eroare Acțiune necesară
Eroare Argument lipsă: orderAmount sau orderCurrency Reparați integrarea. Trebuie să adăugați valoarea și moneda comenzii în sesiune, consultați pasul 2.
Eroare Nu există nicio metodă de plată comercială la distanță securizată pentru ID comerciant Reparați integrarea. Trebuie să oferiți SRC ca opțiune de plată pentru plătitor doar dacă SRCi.configure() a reușit.
Eroare Nu sunt completate date pentru răspunsul de la interogarea opțiunilor de plată Oferiți plătitorului o altă metodă de plată.
Eroare Format de e-mail nevalid Reparați integrarea. Câmpul customerEmail trebuie să conțină o adresă de e-mail validă.
Avertisment transactionAmount și transactionCurrency au fost redenumite și vor fi perimate în următoarea ediție majoră. Vă recomandăm să folosiți nume orderAmount și orderCurrency noi. Reparați integrarea. Utilizați nume de câmp noi, și anume, orderAmount și orderCurrency.
Avertisment dpaShippingPreference a fost redenumit și va fi perimat în următoarea ediție majoră. Vă recomandăm să folosiți numele collectShippingAddress nou. Reparați integrarea. Utilizați numele de câmp nou, și anume, collectShippingAddress.
cancelCallback Funcția de callback care va fi declanșată atunci când plătitorul anulează interacțiunea SRC sau se închide UI SRC. Nu utilizează niciun argument.

Pasul 7: Actualizați sesiunea cu detaliile de plată SRC

După ce plătitorul dvs. a finalizat cu succes interacțiunea SRC, trebuie să solicitați gateway-ului să recupereze detaliile de plată pentru interacțiunea SRC și să le stocați în sesiune.

Trimiteți o solicitare Update Session From Wallet cu:

  • ID-ul de sesiune în adresa URL a solicitării și
  • correlationId și schema returnate în payloadCallback
Exemplu de solicitare
URL https://ap-gateway.mastercard.com/api/rest/version/72/merchant/<your_merchant_ID>/session/<your_session_ID>
Metoda HTTP POST

{
   "apiOperation":"UPDATE_SESSION_FROM_WALLET",
   "order":{
      "walletProvider":"SECURE_REMOTE_COMMERCE"
   },
   "wallet":{
      "secureRemoteCommerce":{
         "srcCorrelationId":"<correlationId_provided_in_payloadCallback>",
         "scheme":"<scheme_provided_in_payloadCallback>"
      }
   }
}    

Dacă sesiunea a fost actualizată cu succes cu detaliile de plată din interacțiunea SRC, puteți continua. Dacă sesiunea nu a fost actualizată cu succes, cereți plătitorului să selecteze o altă opțiune de validare.

Pasul 8: Efectuați Autentificarea 3-D Secure (opțional)

Dacă doriți să autentificați plătitorul, efectuați Autentificarea 3-D Secure folosind sesiunea. Consultați Implementarea integrării 3DS cu ajutorul API-ului 3DS JavaScript pentru detalii.

Pasul 9: Efectuați operațiunea de plată

Dacă sesiunea a fost actualizată cu succes cu detaliile de plată din interacțiunea SRC (și Autentificarea 3-D Secure, dacă aceasta este efectuată la pasul 8), utilizați sesiunea pentru a remite plata spre procesare din aplicația de pe serverul dvs. De exemplu, puteți remite o solicitare Authorize. Detaliile de plată stocate în sesiunea interacțiunii SRC sunt utilizate pentru procesarea plății. Puteți utiliza sesiunea pentru mai multe operațiuni API; consultați Utilizarea unei sesiuni pentru mai multe informații.

Exemplu de solicitare
URL https://ap-gateway.mastercard.com/api/rest/version/72/merchant/<your_merchant_ID>/order/<your_order_ID>/transaction/<your_transaction_ID>
Metoda HTTP PUT
          
{
   "session":{
      "id":"<session_ID>"
   }   "..."
}
Exemplu de cod HTML

Următorul exemplu de cod HTML prezintă modalitatea de integrare a SRCi.js pe pagina dvs. de plată. Rețineți următoarele:

  • SRCi.configure() trebuie apelat imediat după încărcarea scriptului srci.min.js pe pagină. Încercarea de apelare SRCi.configure() în funcția de manipulare a clicurilor pe buton va cauza unele browsere să blocheze deschiderea ferestrei de plată SRC.
  • Funcția de manipulare a evenimentelor asociate cu butonul „Plată” trebuie să verifice inițial dacă SDK-ul JavaScript este configurat integral. Încercarea de apelare SRCi.launchUI() înainte de configurarea cu succes va declanșa erori și va afecta negativ experiența plătitorului.
  • Butonul „Plată” trebuie dezactivat chiar înainte de apelarea SRCi.launchUI() și trebuie reactivat în fiecare dintre callback-uri. Încercarea de apelare repetată a SRCi.launchUI() se poate solda cu un comportament imprevizibil.

<html>
    <head>
        <script type="text/javascript" src="https://ap-gateway.mastercard.com/static/srci/1.2.0/srci.min.js"></script>
         
        <script type="text/javascript">
            var configured = false;
 
            //SRCi global object is initialized by srci script
            SRCi.configure(
                "<gateway_merchant_ID>",
                "<merchant_name>",
                "<merchant_URL>",
                "<session_ID>", 
                { wsVersion: 57 },
              function (response) {
                if(response.result === "SUCCESS") {
                  configured = true;
                  console.log("Response from SDK: %s", response.restApiResponse);
                } else if(response.result === "ERROR") {
                  console.log("An error occurred");
                }
              }      
            );
 
            var payloadCallback = function (correlationId, scheme) {
              console.log("Payload callback complete with correlation id %s and scheme %s", correlationId, scheme);
              enablePayButton();
            };
  
            var errorCallback = function (error) {
              console.log("Error callback triggered with error %s",  error);
              enablePayButton();
            };
  
            var cancelCallback = function () {
              console.log("Cancel callback triggered");
              enablePayButton();
            };
  
            function enablePayButton() {
              document.getElementById("payButton").disabled = false;
            }
 
            function disablePayButton() {
              document.getElementById("payButton").disabled = true;
            }
 
            function pay() {
              if (configured) {
                // ensure only one payment window is launched
                disablePayButton();
 
                SRCi.launchUI({
                    orderAmount: "100.00",
                    orderCurrency: "USD"
                  },
                  payloadCallback,
                  errorCallback,
                  cancelCallback
                );
              } else {
                console.error("SRCi is not configured");
              }
            }
            </script>
    </head>
    <body>
        <button id="payButton" type="button" onclick="pay();">Pay</button>
    </body>
</html>    

detalii de plată SRC Copied to Clipboard

Această secțiune descrie detaliile de plată returnate pentru interacțiunile SRC.

Tipul de detalii de plată returnate pentru interacțiunile SRC

SRC acceptă returnarea diferitelor tipuri de detalii de plată pentru procesare. Detaliile de plată returnate de sistemul SRC depind de tipul solicitat de gateway, de configurația din sistemul SRC și de schema de card. SRC returnează de regulă un simbol de rețea, data expirării simbolului și criptograma completă (dacă este acceptată de schema de card).

Cu toate acestea, acolo unde gateway-ul nu poate trimite un simbol de rețea cu criptograma completă către achizitor, SRC trebuie să furnizeze în schimb un simbol de rețea, data expirării simbolului și codul de securitate a cardului (CSC) dinamic. Gateway-ul va asigura automat faptul că este solicitat tipul corect de detaliu de plată.

Dacă un card nu acceptă crearea simbolurilor în rețea (de exemplu, acolo unde emitentul nu participă), SRC returnează detaliile cardului (numărul de card și data expirării cardului) în locul detaliilor simbolului în rețea (simbol în rețea, data expirării simbolului și criptograma sau CSC dinamic).

Dacă sunteți un comerciant din S.U.A. și ați indicat că doriți să vă utilizați drepturile prevăzute în amendamentul Durbin, SRC furnizează detaliile cardului (numărul de card și data de expirare a cardului) pentru cardurile de debit.

Detaliile de plată SRC din răspunsul la tranzacție prin API

Detaliile de plată selectate de plătitor în timpul interacțiunii SRC sunt stocate în sesiune și sunt returnate în răspunsul la tranzacție pentru solicitările API efectuate prin intermediul sesiunii. Atunci când SRC furnizează detaliile simbolului de rețea, sunt furnizate atât detaliile simbolului de rețea, cât și detaliile cardului (ascunse).

În funcție de tipul de detalii de plată returnate de sistemul SRC, veți primi următoarele detalii în răspunsul API.

Simbol de rețea cu criptogramă completă
(American Express nu acceptă acest tip de simbol de rețea)
(Criptograma nu este returnată în răspunsurile de tranzacție)
  • Răspunsul conține sourceOfFunds.type=SCHEME_TOKEN
  • Detaliile cardului (ascunse) sunt returnate în câmpurile următoare:
    • sourceOfFunds.provided.card.number
    • sourceOfFunds.provided.card.expiry.year
    • sourceOfFunds.provided.card.expiry.month
  • Detaliile simbolului de rețea sunt returnate în câmpurile următoare:
    • sourceOfFunds.provided.card.deviceSpecificNumber
    • sourceOfFunds.provided.card.deviceSpecificExpiry.month
    • sourceOfFunds.provided.card.deviceSpecificExpiry.year
Simbolul în rețea cu CSC dinamic
(CSC nu este returnat în răspunsurile de tranzacție)
  • Răspunsul conține sourceOfFunds.type=SCHEME_TOKEN
  • Detaliile cardului (ascunse) sunt returnate în câmpurile următoare:
    • sourceOfFunds.provided.card.number
    • sourceOfFunds.provided.card.expiry.year
    • sourceOfFunds.provided.card.expiry.month
  • Detaliile simbolului de rețea sunt returnate în câmpurile următoare:
    • sourceOfFunds.provided.card.deviceSpecificNumber
    • sourceOfFunds.provided.card.deviceSpecificExpiry.month
    • sourceOfFunds.provided.card.deviceSpecificExpiry.year
Numărul de card și data de expirare
  • Răspunsul conține sourceOfFunds.type=CARD
  • Detaliile cardului (ascunse) sunt returnate în câmpurile următoare.
    • sourceOfFunds.provided.card.number
    • sourceOfFunds.provided.card.expiry.year
    • sourceOfFunds.provided.card.expiry.month

Detalii plătitor

Numele și numărul de telefon al plătitorului sunt furnizate în răspunsul de tranzacție în grupul de parametri customer.

Adresa de e-mail a plătitorului este furnizat în răspunsul de tranzacție în câmpul customer.email, dacă ați setat consumerEmailAddressRequested la true.

Detalii adresă de facturare

Detaliile adresei de facturare asociate cu cardul sunt furnizate în răspunsul de tranzacție în grupul de parametri billing.address.

Detalii adresă de livrare

Dacă ați setat collectShippingAddress la true, detaliile adresei de livrare sunt furnizate în răspunsul de tranzacție în grupul de parametri shipping.address.

Tranzacții inițiate de comerciant Copied to Clipboard

Nu trebuie să oferiți opțiunea SRC ca opțiune de validare pentru plătitori, dacă doriți să utilizați ulterior detaliile de plată respective pentru a iniția plățile dintr-o serie, cum ar fi plățile periodice sau în rate. Această caracteristică va fi acceptată într-o ediție viitoare.

Testarea integrării Copied to Clipboard

După ce ați terminat integrarea cu gateway-ul pentru SRC, o puteți testa folosind profilul de testare comerciant (ID-ul de comerciant cu prefixul TEST). Atunci când folosiți profilul de testare comerciant, gateway-ul oferă un simulator pentru interacțiunea SRC. Simulatorul SRC utilizează un set de detalii de plată predefinite care nu pot fi modificate. Pe baza detaliilor de plată predefinite, puteți declanșa și testa scenarii diferite, așa cum se descrie mai jos.

Cea de-a doua coloană din tabelele de mai jos indică ultimele 4 cifre ale FPAN selectat de plătitor în timpul interacțiunii SRC. Pentru a declanșa un scenariu, selectați FPAN corespunzător pe simulator în timpul interacțiunii plătitorului cu SRC.

Scenariu: SRC returnează un simbol de rețea și o criptogramă completă
Schemă Ultimele 4 cifre FPAN ID corelație SRC Răspuns API UPDATE_SESSION_FROM_WALLET obținut Răspuns API AUTHORIZE sau PAY obținut
Mastercard xxx0007 783a935d-c6a9-4289-b19d-c3336f998b57
  • order.walletProvider=MASTERPASS_ONLINE
  • sourceOfFunds.type=SCHEME_TOKEN
  • sourceOfFunds.provided.card.scheme=MASTERCARD
  • sourceOfFunds.provided.card.brand=MASTERCARD
  • sourceOfFunds.provided.card.fundingMethod=DEBIT
  • sourceOfFunds.provided.card.number=511111xxxxxx1118-Token
  • sourceOfFunds.provided.card.expiry.month=10-Token Expiry
  • sourceOfFunds.provided.card.expiry.year=25-Token Expiry
  • sourceOfFunds.provided.card.devicePayment.3DSecure.
    onlinePaymentCryptogram=1234-Cryptogram
  • sourceOfFunds.provided.card.maskedFpan=222300xxxxxx0007-FPAN
  • sourceOfFunds.provided.card.maskedFpanExpiry.month=5-FPAN Expiry
  • sourceOfFunds.provided.card.maskedFpanExpiry.year=21-FPAN Expiry
Adresă de livrare
  • shipping.address.contact.firstName=Iggy
  • shipping.address.contact.lastName=Peck
  • shipping.address.street=2200 Mastercard Blvd
  • shipping.address.street2=O'Fallon, adresă extinsă
  • shipping.address.city=St. Louis
  • shipping.address.stateProvince=MO
  • shipping.address.postcode=63368-7263
  • shipping.address.country=USA
Detalii client
  • customer.email=john.smith@example.com
  • customer.firstName=John
  • customer.lastName=Smith
  • customer.mobilePhone=+1 2128881234
Adresă de facturare
  • billing.address.city = Brisbane
  • billing.address.country = AUS
  • billing.address.postcodeZip = 4000
  • billing.address.stateProvince = QLD
  • billing.address.street = 333 Ann Street
  • billing.address.street2 = Floor 14, CBD
  • order.walletProvider=MASTERPASS_ONLINE
  • sourceOfFunds.type=SCHEME_TOKEN
  • sourceOfFunds.provided.card.scheme=MASTERCARD
  • sourceOfFunds.provided.card.brand=MASTERCARD
  • sourceOfFunds.provided.card.fundingMethod=DEBIT
  • sourceOfFunds.provided.card.number=222300xxxxxx0007-FPAN
  • sourceOfFunds.provided.card.expiry.month=5-FPAN Expiry
  • sourceOfFunds.provided.card.expiry.year=21-FPAN Expiry
  • sourceOfFunds.provided.card.deviceSpecificNumber=
    511111xxxxxx1118-Token
  • sourceOfFunds.provided.card.deviceSpecificExpiry.month=
    10-Token Expiry
  • sourceOfFunds.provided.card.deviceSpecificExpiry.year=
    25-Token Expiry
Adresă de livrare
  • shipping.address.contact.firstName=Iggy
  • shipping.address.contact.lastName=Peck
  • shipping.address.street=2200 Mastercard Blvd, O'Fallon, adresă extinsă
  • shipping.address.city=St. Louis
  • shipping.address.stateProvince=MO
  • shipping.address.postcode=63368-7263
  • shipping.address.country=USA
Detalii client
  • customer.email=john.smith@example.com
  • customer.firstName=John
  • customer.lastName=Smith
  • customer.mobilePhone=+1 2128881234
Adresă de facturare
  • billing.address.city = Brisbane
  • billing.address.country = AUS
  • billing.address.postcodeZip = 4000
  • billing.address.stateProvince = QLD
  • billing.address.street = 300 Adelaide Street, Floor 21
Visa xxx0003 12345671-visaTAVV-expiry0822-colShiptrue
  • order.walletProvider=VISA_CHECKOUT
  • sourceOfFunds.type=SCHEME_TOKEN
  • sourceOfFunds.provided.card.scheme=VISA
  • sourceOfFunds.provided.card.brand=VISA
  • sourceOfFunds.provided.card.fundingMethod=CREDIT
  • sourceOfFunds.provided.card.number=453224xxxxxx4198-Token
  • sourceOfFunds.provided.card.expiry.month=8-Token Expiry
  • sourceOfFunds.provided.card.expiry.year=22-Token Expiry
  • sourceOfFunds.provided.card.nameOnCard=Mr. John Smith 
  • sourceOfFunds.provided.card.devicePayment.3DSecure.eciIndicator.
    onlinePaymentCryptogram=AgAAAAAABkwdwbyAkpPMQAAAAAA=-Cryptogram
  • sourceOfFunds.provided.card.devicePayment.3DSecure.
    eciIndicator=07
  • sourceOfFunds.card.maskedFpan=444411xxxxxx3333-FPAN
  • sourceOfFunds.card.maskedFpanExpiry.month=8-FPAN Expiry  
  • sourceOfFunds.card.maskedFpanExpiry.year=22-FPAN Expiry
Adresă de livrare
  • shipping.address.contact.firstName=Tony
  • shipping.address.contact.lastName=Tyre
  • shipping.address.street=Level 42, 700 Somewhere Street
  • shipping.address.city=Brisbane
  • shipping.address.stateProvince=QLD
  • shipping.address.postcodeZip=4000
  • shipping.address.country=AUS
Detalii client
  • customer.email=john.smith@example.com
  • customer.firstName=John
  • customer.lastName=Smith
  • customer.mobilePhone=+61 0444111222
  • customer.phone=+61 0444111222
Adresă de facturare
  • billing.address.city=Brisbane
  • billing.address.country=AUS
  • billing.address.postcodeZip=4000
  • billing.address.stateProvince=QLD
  • billing.address.street=300 Adelaide Street
  • billing.address.street2=Floor 21
  • order.walletProvider=VISA_CHECKOUT
  • sourceOfFunds.type=SCHEME_TOKEN
  • sourceOfFunds.provided.card.scheme=VISA
  • sourceOfFunds.provided.card.brand=VISA
  • sourceOfFunds.provided.card.fundingMethod=CREDIT
  • sourceOfFunds.provided.card.number=444411xxxxxx3333-FPAN
  • sourceOfFunds.provided.card.expiry.month=8-FPAN Expiry
  • sourceOfFunds.provided.card.expiry.year=22-FPAN Expiry
  • sourceOfFunds.provided.card.nameOnCard=Mr. John Smith 
  • sourceOfFunds.provided.card.deviceSpecificNumber=
    453224xxxxxx4198-Token
  • sourceOfFunds.provided.card.deviceSpecificExpiry.month=
    8-Token Expiry
  • sourceOfFunds.provided.card.deviceSpecificExpiry.year=
    22-Token Expiry
Adresă de livrare
  • shipping.address.contact.firstName=Tony
  • shipping.address.contact.lastName=Tyre
  • shipping.address.street=Level 42, 700 Somewhere Street
  • shipping.address.city=Brisbane
  • shipping.address.stateProvince=QLD
  • shipping.address.postcodeZip=4000
  • shipping.address.country=AUS
Detalii client
  • customer.email=john.smith@example.com
  • customer.firstName=John
  • customer.lastName=Smith
  • customer.mobilePhone=+61 0444111222
  • customer.phone=+61 0444111222
Adresă de facturare
  • billing.address.city=Brisbane
  • billing.address.country=AUS
  • billing.address.postcodeZip=4000
  • billing.address.stateProvince=QLD
  • billing.address.street=300 Adelaide Street, Floor 21
Scenariu: SRC returnează un simbol în rețea și un cod de securitate a cardului dinamic
Schemă Ultimele 4 cifre FPAN ID corelație SRC Răspuns API UPDATE_SESSION_FROM_WALLET obținut Răspuns API AUTHORIZE sau PAY obținut
Mastercard xxx0008 261af700-e576-43bf-af92-bd0f6810e8fb
  • order.walletProvider=MASTERPASS_ONLINE
  • sourceOfFunds.type=SCHEME_TOKEN
  • sourceOfFunds.provided.card.scheme=MASTERCARD
  • sourceOfFunds.provided.card.brand=MASTERCARD
  • sourceOfFunds.provided.card.fundingMethod=CREDIT 
  • sourceOfFunds.provided.card.number=520424xxxxxx5996-Token
  • sourceOfFunds.provided.card.expiry.month=11-Token Expiry 
  • sourceOfFunds.provided.card.expiry.year=22-Token Expiry 
  • sourceOfFunds.provided.card.securityCode=xxx-Dynamic CSC
  • sourceOfFunds.provided.card.maskedFpan=512345xxxxxx0008-FPAN
  • sourceOfFunds.provided.card.maskedFpanExpiry.month=5-FPAN Expiry 
  • sourceOfFunds.provided.card.maskedFpanExpiry.year=21-FPAN Expiry
Adresă de livrare
  • shipping.address.contact.firstName=Iggy
  • shipping.address.contact.lastName=Peck
  • shipping.address.street=2200 Mastercard Blvd
  • shipping.address.street2=O'Fallon, adresă extinsă
  • shipping.address.city=St. Louis
  • shipping.address.stateProvince=MO
  • shipping.address.postcode=63368-7263
  • shipping.address.country=USA
Detalii client
  • customer.email=john.smith@example.com
  • customer.firstName=John
  • customer.lastName=Smith
  • customer.mobilePhone=+1 2128881234
Adresă de facturare
  • billing.address.city = Brisbane
  • billing.address.country = AUS
  • billing.address.postcodeZip = 4000
  • billing.address.stateProvince = QLD
  • billing.address.street = 333 Ann Street
  • billing.address.street2 = Floor 14, CBD
  • order.walletProvider=MASTERPASS_ONLINE
  • sourceOfFunds.type=SCHEME_TOKEN
  • sourceOfFunds.provided.card.scheme=MASTERCARD
  • sourceOfFunds.provided.card.brand=MASTERCARD
  • sourceOfFunds.provided.card.fundingMethod=CREDIT 
  • sourceOfFunds.provided.card.number=512345xxxxxx0008-FPAN
  • sourceOfFunds.provided.card.expiry.month=05-FPAN Expiry
  • sourceOfFunds.provided.card.expiry.year=11-FPAN Expiry
  • sourceOfFunds.provided.card.deviceSpecificNumber=
    520424xxxxxx5996-Token 
  • sourceOfFunds.provided.card.deviceSpecificExpiry.month=
    11-Token Expiry 
  • sourceOfFunds.provided.card.deviceSpecificExpiry.year=
    22-Token Expiry 
Adresă de livrare
  • shipping.address.contact.firstName=Iggy
  • shipping.address.contact.lastName=Peck
  • shipping.address.street=2200 Mastercard Blvd,O'Fallon, adresă extinsă
  • shipping.address.city=St. Louis
  • shipping.address.stateProvince=MO
  • shipping.address.postcode=63368-7263
  • shipping.address.country=USA
Detalii client
  • customer.email=john.smith@example.com
  • customer.firstName=John
  • customer.lastName=Smith
  • customer.mobilePhone=+1 2128881234
Adresă de facturare
  • billing.address.city = Brisbane
  • billing.address.country = AUS
  • billing.address.postcodeZip = 4000
  • billing.address.stateProvince = QLD
  • billing.address.street = 333 Ann Street, Floor 14, CBD
Visa xxx0002 12345671-visaDTVV-expiry0822-colShiptrue
  • order.walletProvider=VISA_CHECKOUT
  • sourceOfFunds.type=SCHEME_TOKEN
  • sourceOfFunds.provided.card.scheme=VISA
  • sourceOfFunds.provided.card.brand=VISA
  • sourceOfFunds.provided.card.fundingMethod=CREDIT
  • sourceOfFunds.provided.card.number=453224xxxxxx4198-Token
  • sourceOfFunds.provided.card.expiry.month=8-Token Expiry 
  • sourceOfFunds.provided.card.expiry.year=22-Token Expiry 
  • sourceOfFunds.provided.card.nameOnCard=Mr. John Smith
  • sourceOfFunds.provided.card.securityCode=xxx-Dynamic CSC
  • sourceOfFunds.provided.card.devicePayment.3DSecure.
    eciIndicator=07 
  • sourceOfFunds.card.maskedFpan=444411xxxxxx3333-FPAN
  • sourceOfFunds.card.maskedFpanExpiry.month=8-FPAN Expiry  
  • sourceOfFunds.card.maskedFpanExpiry.year=22-FPAN Expiry
Adresă de livrare
  • shipping.address.contact.firstName=Tony
  • shipping.address.contact.lastName=Tyre
  • shipping.address.street=Level 42
  • shipping.address.street2=700 Somewhere Street
  • shipping.address.city=Brisbane
  • shipping.address.stateProvince=QLD
  • shipping.address.postcodeZip=4000
  • shipping.address.country=AUS
Detalii client
  • customer.email=john.smith@example.com
  • customer.firstName=John
  • customer.lastName=Smith
  • customer.mobilePhone=+61 0444111222
  • customer.phone=+61 0444111222
Adresă de facturare
  • billing.address.city=Brisbane
  • billing.address.country=AUS
  • billing.address.postcodeZip=4000
  • billing.address.stateProvince=QLD
  • billing.address.street=300 Adelaide Street
  • billing.address.street2=Floor 21
  • order.walletProvider=VISA_CHECKOUT
  • sourceOfFunds.type=SCHEME_TOKEN
  • sourceOfFunds.provided.card.scheme=VISA
  • sourceOfFunds.provided.card.brand=VISA
  • sourceOfFunds.provided.card.fundingMethod=CREDIT
  • sourceOfFunds.provided.card.number=444411xxxxxx3333-FPAN Expiry
  • sourceOfFunds.provided.card.expiry.month=8-FPAN Expiry
  • sourceOfFunds.provided.card.expiry.year=22-FPAN Expiry
  • sourceOfFunds.provoded.card.nameOnCard=Mr. John Smith 
  • sourceOfFunds.provided.card.deviceSpecificNumber=
    453224xxxxxx4198-Token
  • sourceOfFunds.provided.card.deviceSpecificExpiry.month=
    8-Token Expiry
  • sourceOfFunds.provided.card.deviceSpecificExpiry.year=
    22-Token Expiry
Adresă de livrare
  • shipping.address.contact.firstName=Tony
  • shipping.address.contact.lastName=Tyre
  • shipping.address.street=Level 42, 700 Somewhere Street
  • shipping.address.city=Brisbane
  • shipping.address.stateProvince=QLD
  • shipping.address.postcodeZip=4000
  • shipping.address.country=AUS
Detalii client
  • customer.email=john.smith@example.com
  • customer.firstName=John
  • customer.lastName=Smith
  • customer.mobilePhone=+61 0444111222
  • customer.phone=+61 0444111222
Adresă de facturare
  • billing.address.city=Brisbane
  • billing.address.country=AUS
  • billing.address.postcodeZip=4000
  • billing.address.stateProvince=QLD
  • billing.address.street=300 Adelaide Street, Floor 21
American Express xxx0017 cf3de1e0-55a2-44cf-9563-5ef9e648c492
  • order.walletProvider=AMEX_EXPRESS_CHECKOUT
  • sourceOfFunds.type=SCHEME_TOKEN
  • sourceOfFunds.provided.card.scheme=AMEX
  • sourceOfFunds.provided.card.brand=AMEX
  • sourceOfFunds.provided.card.fundingMethod=CREDIT 
  • sourceOfFunds.provided.card.number=370295xxxxx0017-Token 
  • sourceOfFunds.provided.card.expiry.month=12-Token Expiry
  • sourceOfFunds.provided.card.expiry.year=22-Token Expiry
  • sourceOfFunds.provided.card.securityCode=xxxx-Dynamic CSC
  • sourceOfFunds.provided.card.maskedFpan=349956xxxxxx6071-FPAN 
  • sourceOfFunds.provided.card.maskedFpanExpiry.month=5-FPAN Expiry
  • sourceOfFunds.provided.card.maskedFpanExpiry.year=21-FPAN Expiry
Adresă de livrare
  • shipping.address.contact.firstName=Iggy
  • shipping.address.contact.lastName=Peck
  • shipping.address.street=2200 Mastercard Blvd
  • shipping.address.street2=O'Fallon, adresă extinsă
  • shipping.address.city=St. Louis
  • shipping.address.stateProvince=MO
  • shipping.address.postcode=63368-7263
  • shipping.address.country=USA
Detalii client
  • customer.email=john.smith@example.com
  • customer.firstName=John
  • customer.lastName=Smith
  • customer.mobilePhone=+1 2128881234
Adresă de facturare
  • billing.address.city=Brisbane
  • billing.address.country=AUS
  • billing.address.postcodeZip=4000
  • billing.address.stateProvince=QLD
  • billing.address.street=333 Ann Street
  • billing.address.street2=Floor 14, CBD
  • order.walletProvider=AMEX_EXPRESS_CHECKOUT
  • sourceOfFunds.type=SCHEME_TOKEN
  • sourceOfFunds.provided.card.scheme=AMEX
  • sourceOfFunds.provided.card.brand=AMEX
  • sourceOfFunds.provided.card.fundingMethod=CREDIT 
  • sourceOfFunds.provided.card.number=349956xxxxxx6071-FPAN 
  • sourceOfFunds.provided.card.expiry.month=5-FPAN Expiry
  • sourceOfFunds.provided.card.expiry.year=21- FPAN Expiry
  • sourceOfFunds.provided.card.deviceSpecificNumber=
    370295xxxxx0017-Token 
  • sourceOfFunds.provided.card.deviceSpecificExpiry.month=
    12-Token Expiry
  • sourceOfFunds.provided.card.deviceSpecificExpiry.year=
    22-Token Expiry
Adresă de livrare
  • shipping.address.contact.firstName=Iggy
  • shipping.address.contact.lastName=Peck
  • shipping.address.street=2200 Mastercard Blvd
  • shipping.address.street2=O'Fallon, adresă extinsă
  • shipping.address.city=St. Louis
  • shipping.address.stateProvince=MO
  • shipping.address.postcode=63368-7263
  • shipping.address.country=USA
Detalii client
  • customer.email=john.smith@example.com
  • customer.firstName=John
  • customer.lastName=Smith
  • customer.mobilePhone=+1 2128881234
Adresă de facturare
  • billing.address.city=Brisbane
  • billing.address.country=AUS
  • billing.address.postcodeZip=4000
  • billing.address.stateProvince=QLD
  • billing.address.street=333 Ann Street, Floor 14, CBD
Scenariu: SRC returnează numărul de card și data expirării cardului (cardul nu acceptă crearea simbolurilor în rețea)
Schemă Ultimele 4 cifre FPAN ID corelație SRC Răspuns API UPDATE_SESSION_FROM_WALLET obținut Răspuns API AUTHORIZE sau PAY obținut
Mastercard xxx0305 8e455e8b-4e52-46cf-a3da-83aa3cf9a76e
  • order.walletProvider=MASTERPASS_ONLINE
  • sourceOfFunds.type=CARD
  • sourceOfFunds.provided.card.scheme=MASTERCARD
  • sourceOfFunds.provided.card.brand=MASTERCARD
  • sourceOfFunds.provided.card.fundingMethod=CREDIT 
  • sourceOfFunds.provided.card.number =550690xxxxxx0305-FPAN  
  • sourceOfFunds.provided.card.expiry.month=5-FPAN Expiry
  • sourceOfFunds.provided.card.expiry.year=21-FPAN Expiry
  • sourceOfFunds.provided.card.nameOnCard=John Smith
  • sourceOfFunds.provided.card.maskedFpan=550690xxxxxx0305-FPAN 
  • sourceOfFunds.provided.card.maskedFpanExpiry.month=5-FPAN Expiry  
  • sourceOfFunds.provided.card.maskedFpanExpiry.year=21-FPAN Expiry
Adresă de livrare
  • shipping.address.contact.firstName=Iggy
  • shipping.address.contact.lastName=Peck
  • shipping.address.street=2200 Mastercard Blvd
  • shipping.address.street2=O'Fallon, adresă extinsă
  • shipping.address.city=St. Louis
  • shipping.address.stateProvince=MO
  • shipping.address.postcode=63368-7263
  • shipping.address.country=USA
Detalii client
  • customer.email=john.smith@example.com
  • customer.firstName=John
  • customer.lastName=Smith
  • customer.mobilePhone=+1 2128881234
Adresă de facturare
  • billing.address.city=Brisbane
  • billing.address.country=AUS
  • billing.address.postcodeZip=4000
  • billing.address.stateProvince=QLD
  • billing.address.street=300 Adelaide Street
  • Floor 21
  • order.walletProvider=MASTERPASS_ONLINE
  • sourceOfFunds.type=CARD
  • sourceOfFunds.provided.card.scheme=MASTERCARD
  • sourceOfFunds.provided.card.brand=MASTERCARD
  • sourceOfFunds.provided.card.fundingMethod=CREDIT 
  • sourceOfFunds.provided.card.number =550690xxxxxx0305-FPAN 
  • sourceOfFunds.provided.card.expiry.month=5-FPAN Expiry
  • sourceOfFunds.provided.card.expiry.year=21- FPAN Expiry
  • sourceOfFunds.provided.card.nameOnCard=John Smith
Adresă de livrare
  • shipping.address.contact.firstName=Iggy
  • shipping.address.contact.lastName=Peck
  • shipping.address.street=2200 Mastercard Blvd
  • shipping.address.street2=O'Fallon, adresă extinsă
  • shipping.address.city=St. Louis
  • shipping.address.stateProvince=MO
  • shipping.address.postcode=63368-7263
  • shipping.address.country=USA
Detalii client
  • customer.email=john.smith@example.com
  • customer.firstName=John
  • customer.lastName=Smith
  • customer.mobilePhone=+1 2128881234
Adresă de facturare
  • billing.address.city=Brisbane
  • billing.address.country=AUS
  • billing.address.postcodeZip=4000
  • billing.address.stateProvince=QLD
  • billing.address.street=333 Ann Street, Floor 14, CBD
Visa xxx0001 12345671-visa1-expiry0822
  • order.walletProvider=VISA_CHECKOUT
  • sourceOfFunds.type=CARD
  • sourceOfFunds.provided.card.scheme=VISA
  • sourceOfFunds.provided.card.brand=VISA
  • sourceOfFunds.provided.card.fundingMethod=CREDIT
  • sourceOfFunds.provided.card.number=400552xxxxxx4821-FPAN
  • sourceOfFunds.provided.card.expiry.month=8-FPAN Expiry
  • sourceOfFunds.provided.card.expiry.year=22-FPAN Expiry
  • sourceOfFunds.provided.card.nameOnCard=Mr. John Smith
  • sourceOfFunds.card.maskedFpan=400552xxxxxx4821-FPAN
  • sourceOfFunds.card.maskedFpanExpiry.month=8-FPAN Expiry 
  • sourceOfFunds.card.maskedFpanExpiry.year=22-FPAN Expiry
Detalii client
  • customer.email=john.smith@example.com
  • customer.firstName=John
  • customer.lastName=Smith
  • customer.mobilePhone=+61 0444111222
  • customer.phone=+61 0444111222
Adresă de facturare
  • billing.address.city=Brisbane
  • billing.address.country=AUS
  • billing.address.postcodeZip=4000
  • billing.address.stateProvince=QLD
  • billing.address.street=300 Adelaide Street
  • billing.address.street2=Floor 21
  • order.walletProvider=VISA_CHECKOUT
  • sourceOfFunds.type=CARD
  • sourceOfFunds.provided.card.scheme=VISA
  • sourceOfFunds.provided.card.brand=VISA
  • sourceOfFunds.provided.card.fundingMethod=CREDIT
  • sourceOfFunds.provided.card.number=400552xxxxxx4821-FPAN
  • sourceOfFunds.provided.card.expiry.month=8-FPAN Expiry
  • sourceOfFunds.provided.card.expiry.year=22-FPAN Expiry
  • sourceOfFunds.provided.card.nameOnCard=Mr. John Smith 
Detalii client
  • customer.email=john.smith@example.com
  • customer.firstName=John
  • customer.lastName=Smith
  • customer.mobilePhone=+61 0444111222
  • customer.phone=+61 0444111222
Adresă de facturare
  • billing.address.city=Brisbane
  • billing.address.country=AUS
  • billing.address.postcodeZip=4000
  • billing.address.stateProvince=QLD
  • billing.address.street=300 Adelaide Street, Floor 21
American Express xxx4564 bb978084-42b7-4985-af9d-2e41ee0a370c
  • order.walletProvider=AMEX_EXPRESS_CHECKOUT
  • sourceOfFunds.type=CARD
  • sourceOfFunds.provided.card.scheme=AMEX
  • sourceOfFunds.provided.card.brand=AMEX
  • sourceOfFunds.provided.card.fundingMethod=CREDIT 
  • sourceOfFunds.provided.card.number=345678xxxxx4564-FPAN
  • sourceOfFunds.provided.card.expiry.month=5-FPAN  Expiry
  • sourceOfFunds.provided.card.expiry.year=21-FPAN Expiry
  • sourceOfFunds.provided.card.nameOnCard=Mr. John Smith 
  • sourceOfFunds.provided.card.maskedFpan=345678xxxxx4564-FPAN
  • sourceOfFunds.provided.card.maskedFpanExpiry.month=5-FPAN Expiry 
  • sourceOfFunds.provided.card.maskedFpanExpiry.year=21-FPAN Expiry
Adresă de livrare
  • shipping.address.contact.firstName=Iggy
  • shipping.address.contact.lastName=Peck
  • shipping.address.street=2200 Mastercard Blvd
  • shipping.address.street2=O'Fallon, adresă extinsă
  • shipping.address.city=St. Louis
  • shipping.address.stateProvince=MO
  • shipping.address.postcode=63368-7263
  • shipping.address.country=USA
Detalii client
  • customer.email=john.smith@example.com
  • customer.firstName=John
  • customer.lastName=Smith
  • customer.mobilePhone=+1 2128881234
Adresă de facturare
  • billing.address.city=Brisbane
  • billing.address.country=AUS
  • billing.address.postcodeZip=4000
  • billing.address.stateProvince=QLD
  • billing.address.street=333 Ann Street
  • billing.address.street2=Floor 21
  • order.walletProvider=AMEX_EXPRESS_CHECKOUT
  • sourceOfFunds.type=CARD
  • sourceOfFunds.provided.card.scheme=AMEX
  • sourceOfFunds.provided.card.brand=AMEX
  • sourceOfFunds.provided.card.fundingMethod=CREDIT 
  • sourceOfFunds.provided.card.number=345678xxxxx4564-FPAN
  • sourceOfFunds.provided.card.expiry.month=5-FPAN  Expiry
  • sourceOfFunds.provided.card.expiry.year=21-FPAN Expiry
  • sourceOfFunds.provided.card.nameOnCard=Mr. John Smith 
Adresă de livrare
  • shipping.address.contact.firstName=Iggy
  • shipping.address.contact.lastName=Peck
  • shipping.address.street=2200 Mastercard Blvd
  • shipping.address.street2=O'Fallon, adresă extinsă
  • shipping.address.city=St. Louis
  • shipping.address.stateProvince=MO
  • shipping.address.postcode=63368-7263
  • shipping.address.country=USA
Detalii client
  • customer.email=john.smith@example.com
  • customer.firstName=John
  • customer.lastName=Smith
  • customer.mobilePhone=+1 2128881234
Adresă de facturare
  • billing.address.city=Brisbane
  • billing.address.country=AUS
  • billing.address.postcodeZip=4000
  • billing.address.stateProvince=QLD
  • billing.address.street = 333 Ann Street, Floor 14, CBD

Testarea SRC cu autentificarea 3-D Secure Copied to Clipboard

Dacă profilul dvs. de comerciant este activat pentru Autentificarea EMV 3-D Secure (3DS2) puteți utiliza detaliile de testare SRC afișate în tabelul de mai jos pentru a declanșa un flux fluidizat sau un flux de testare.

Scenariu: Fluxul de testare 3DS2
Schemă Ultimele 4 cifre FPAN ID corelație SRC Răspuns API obținut
Mastercard xxx0009 1049624e-cc67-45f6-bd5f-c625eb4c6cc1
  • order.walletProvider=MASTERPASS_ONLINE
  • sourceOfFunds.type=SCHEME_TOKEN
  • sourceOfFunds.provided.card.scheme=MASTERCARD
  • sourceOfFunds.provided.card.brand=MASTERCARD
  • sourceOfFunds.provided.card.deviceSpecificNumber = 512345xxxxxx8212
  • sourceOfFunds.provided.card.deviceSpecificExpiry.month = 5
  • sourceOfFunds.provided.card.deviceSpecificExpiry.year = 21
  • sourceOfFunds.provided.card.number = 512345xxxxxx0009
  • sourceOfFunds.provided.card.expiry.month = 9
  • sourceOfFunds.provided.card.expiry.year = 55
Visa xxx4222 12345671-SRC3DSChallenge-expiry0822-colShiptrue
  • order.walletProvider=VISA_CHECKOUT
  • sourceOfFunds.type = SCHEME_TOKEN
  • sourceOfFunds.provided.card.scheme = VISA
  • sourceOfFunds.provided.card.brand= VISA
  • sourceOfFunds.provided.card.devicePayment.3DSecure.eciIndicator=07
  • sourceOfFunds.provided.card.devicePayment.3DSecure.onlinePaymentCryptogram=AgAAAAAABkwdwbyAkpPMQAAAAAA=
  • sourceOfFunds.provided.card.number = 453224xxxxxx4222
  • sourceOfFunds.provided.card.expiry.month = 8
  • sourceOfFunds.provided.card.expiry.year = 22
American Express xxx0017 16e051bc-bd25-46db-a7d3-d2944fbb05cf
  • order.walletProvider=AMEX_EXPRESS_CHECKOUT
  • sourceOfFunds.type = SCHEME_TOKEN
  • sourceOfFunds.provided.card.scheme = AMEX
  • sourceOfFunds.provided.card.brand= AMEX
  • sourceOfFunds.provided.card.deviceSpecificNumber = 373224xxxxx9117
  • sourceOfFunds.provided.card.deviceSpecificExpiry.month = 5
  • sourceOfFunds.provided.card.deviceSpecificExpiry.year = 21
  • sourceOfFunds.provided.card.number = 373224xxxxxx4570
  • sourceOfFunds.provided.card.expiry.month = 5
  • sourceOfFunds.provided.card.expiry.year = 21
Scenariu: Procesul fluidizat 3DS2
Schemă Ultimele 4 cifre FPAN ID corelație SRC Răspuns API obținut
Mastercard xxx0010 16e051bc-bd25-46db-a7d3-d2944fbb05cf
  • order.walletProvider=MASTERPASS_ONLINE
  • sourceOfFunds.type=SCHEME_TOKEN
  • sourceOfFunds.provided.card.scheme=MASTERCARD
  • sourceOfFunds.provided.card.brand=MASTERCARD
  • sourceOfFunds.provided.card.deviceSpecificNumber = 512345xxxxxx8170
  • sourceOfFunds.provided.card.deviceSpecificExpiry.month = 5
  • sourceOfFunds.provided.card.deviceSpecificExpiry.year = 21
  • sourceOfFunds.provided.card.number = 512345xxxxxx0010
  • sourceOfFunds.provided.card.expiry.month = 8
  • sourceOfFunds.provided.card.expiry.year = 55
Visa xxx4180 12345671-SRC3DSFrictionless-expiry0822-colShiptrue
  • order.walletProvider=VISA_CHECKOUT
  • sourceOfFunds.type = SCHEME_TOKEN
  • sourceOfFunds.provided.card.scheme = VISA
  • sourceOfFunds.provided.card.brand= VISA
  • sourceOfFunds.provided.card.devicePayment.3DSecure.eciIndicator=07
  • sourceOfFunds.provided.card.devicePayment.3DSecure.onlinePaymentCryptogram=AgAAAAAABkwdwbyAkpPMQAAAAAA=
  • sourceOfFunds.provided.card.number = 453224xxxxxx4180
  • sourceOfFunds.provided.card.expiry.month = 8
  • sourceOfFunds.provided.card.expiry.year = 22
American Express xxx4564 17e051bc-bd25-46db-a7d3-d2944fbb05cf
  • order.walletProvider=AMEX_EXPRESS_CHECKOUT
  • sourceOfFunds.type = SCHEME_TOKEN
  • sourceOfFunds.provided.card.scheme = AMEX
  • sourceOfFunds.provided.card.brand= AMEX
  • sourceOfFunds.provided.card.maskedFpan = 373224xxxxx9299
  • sourceOfFunds.provided.card.maskedFpanExpiry.month = 5
  • sourceOfFunds.provided.card.maskedFpanExpiry.year = 21
  • sourceOfFunds.provided.card.securityCode = xxx
  • sourceOfFunds.provided.card.number =373224xxxxx4571
  • sourceOfFunds.provided.card.expiry.month = 5
  • sourceOfFunds.provided.card.expiry.year = 21