Acreditare înregistrată, tranzacții inițiate de posesorul cardului și de comerciant

Această pagină descrie modul de trimitere către gateway a tranzacțiilor inițiate de posesorul cardului și de comerciant pentru respectarea standardelor schemei de carduri în vederea procesării tranzacțiilor respective.

Puteți avea o integrare în care colectați detaliile de plată de la plătitori, le stocați și apoi le utilizați pentru a procesa plățile viitoare pentru plătitori. Dacă acesta este cazul, trebuie să trimiteți gateway-ului, în tranzacția inițială, informația că urmează să stocați detaliile de plată și să le utilizați în viitor. Trebuie, de asemenea, să furnizați aceste informații gateway-ului atunci când utilizați detaliile de plată stocate pentru a efectua plăți ulterioare, fie inițiate de către plătitor (tranzacție inițiată de posesorul cardului), fie de către dvs. ca urmare a acordului de plată cu plătitorul (tranzacție inițiată de comerciant).

Acest lucru are rolul de a asigura respectarea standardelor schemei de carduri pentru procesarea tranzacțiilor inițiate de posesorul cardului și de comerciant pe baza detaliilor de plată stocate (aceste standarde poartă și numele de cerințe privind acreditările înregistrate). Trimiterea către gateway a informațiilor de identificare a detaliilor de plată stocate, a tranzacțiilor inițiate de posesorul cardului și a celor inițiate de comerciant poate asigura:

  • o vizibilitate mai bună pentru emitenți a nivelurilor de risc ale tranzacțiilor
  • rate mai înalte de aprobare a autorizărilor și de vânzări finalizate
  • o experiență îmbunătățită a plătitorului
Puteți alege să stocați detaliile de plată în propria dvs. aplicație sau puteți utiliza crearea de simboluri pe gateway sau simbolurile schemei de carduri.

Gateway-ul acceptă următoarele plăți care utilizează detaliile de plată stocate începând din API v54:

Efectuarea plăților inițiate de posesorul cardului

O tranzacție inițiată de posesorul cardului este o tranzacție efectuată cu participarea activă a plătitorului. De exemplu, o tranzacție de comerț electronic sau efectuată în urma unei comenzi poștale sau telefonice.

Pentru a indica faptul că tranzacția a fost inițiată de plătitor, trebuie să setați transaction.source la INTERNET/MOTO/MAIL_ORDER/TELEPHONE_ORDER/VOICE_RESPONSE/CALL_CENTER. În cadrul acestor instrucțiuni, vom utiliza o plată prin internet (transaction.source = INTERNET) pentru a ilustra o tranzacție inițiată de posesorul cardului; puteți utiliza, însă, oricare dintre celelalte valori permise.

O tranzacție inițiată de posesorul cardului poate reprezenta o plată unică, pentru care detaliile de plată furnizate de plătitor nu vor fi, în mod normal, păstrate. Puteți, însă, încheia un acord cu plătitorul pentru a stoca detaliile de plată ale acestuia pentru utilizare ulterioară (în general, în cadrul unui proces de înscriere a clientului sau de creare a unui cont), efectuând ulterior tranzacții inițiate de posesorul cardului pe baza detaliilor de plată stocate.

Dacă plătitorul acceptă, în timpul unei interacțiuni cu acesta, stocarea detaliilor sale de plată în vederea utilizării ulterioare, trebuie să completați următoarele câmpuri în tranzacția inițială:

  • sourceOfFunds.type=CARD sau SCHEME_TOKEN
  • câmpurile sourceOfFunds.provided.card.* sau sourceOfFunds.token
  • transaction.source=INTERNET
  • sourceOfFunds.provided.card.storedOnFile:TO_BE_STORED

Pentru plățile ulterioare inițiate de plătitor (nu de către dvs.) și dacă sunt utilizate detaliile de plată stocate ale plătitorului, trebuie să completați:

  • sourceOfFunds.type=CARD sau SCHEME_TOKEN
  • câmpurile sourceOfFunds.provided.card.* sau sourceOfFunds.token
  • transaction.source=INTERNET
  • sourceOfFunds.provided.card.storedOnFile:STORED

Pentru informații privind modul în care trebuie să indicați gateway-ului dacă detaliile de plată sunt stocate, nestocate sau intenționați să le stocați, consultați Întrebările frecvente.

Efectuarea plăților inițiate de comerciant

O tranzacție inițiată de comerciant este una efectuată pe baza detaliilor de plată stocate, însă fără participarea activă a plătitorului. Puteți efectua tranzacții inițiate de comerciant dacă oferiți:

  • produse sau servicii care necesită efectuarea unei plăți din contul plătitorului pe baza unui orar predefinit, de exemplu o plată periodică ulterioară pentru un abonament la o publicație sau la o sală de fitness, sau
  • plata mai multor rate de către plătitor, pentru o singură achiziție, sau
  • un serviciu oferit plătitorului prin care plățile pentru servicii sunt efectuate la cerere, cum ar fi adăugarea de fonduri într-un cont atunci când soldul disponibil scade sub un prag definit.

În astfel de cazuri, va fi necesar să încheiați un acord cu plătitorul în privința acestor servicii. Plătitorul trebuie să fie de acord ca dvs. să îi stocați detaliile de plată în acest scop și trebuie să vă permită să inițiați ulterior plăți pe baza detaliilor de plată stocate, fără participarea activă a acestuia.

Detaliile acordului

Atunci când încheiați un acord cu plătitorul, prin care acesta vă permite să efectuați ulterior plăți inițiate de comerciant, este necesar să includeți, următoarele detalii ale acordului în tranzacția inițială din serie, respectiv în tranzacția inițiată de posesorul cardului:

  • agreement.id: O valoare unică, generată de către dvs. pentru a identifica un acord de plată încheiat cu plătitorul. Este necesar, de asemenea, să includeți această valoare în tranzacțiile ulterioare inițiate de comerciant, pentru a indica apartenența plăților la o serie. Acest lucru are rolul de a asigura respectarea cerințelor schemei de carduri, ID-ul acordului având funcția de identificator prin care prima tranzacție, inițiată de posesorul cardului, este asociată cu tranzacțiile ulterioare, inițiate de comerciant.
  • agreement.type: Indică dacă acordul comercial încheiat cu plătitorul are ca obiect plăți periodice, rate sau neprogramate. Acesta trebuie furnizat numai dacă încheiați un acord cu plătitorul în cadrul tranzacției inițiate de posesorul cardului.
ID-ul și tipul acordului nu trebuie trimise dacă intenționați să procesați numai tranzacții inițiate de posesorul cardului pe baza detaliilor de plată stocate.

Referință API detalii acord [REST][NVP]

Sursa tranzacției

Atunci când trimiteți plăți, trebuie să faceți distincția între prima tranzacție din serie, respectiv tranzacția inițiată de posesorul cardului, și orice plăți ulterioare inițiate de comerciant în aceeași serie. Puteți face acest lucru utilizând câmpul transaction.source, unde, pentru tranzacția inițială, trebuie să setați transaction.source=INTERNET sau orice altă valoare permisă pentru a indica faptul că tranzacția a fost inițiată de către plătitor. Pentru plățile ulterioare din aceeași serie, trebuie să setați transaction.source=MERCHANT pentru a indica faptul că tranzacția a fost inițiată de dvs. Furnizorul dvs. de servicii de plată trebuie activeze opțiunea „MERCHANT” ca sursă permisă a tranzacțiilor în legătura dvs. de achizitor comerciant.

Referință API Sursă tranzacție [REST][NVP]

Atunci când trimiteți prima tranzacție inițiată de posesorul cardului sau plăți ulterioare inițiate de comerciant în aceeași serie, trebuie să indicați gateway-ului dacă detaliile de plată sunt stocate, nestocate sau intenționați să le stocați. Pentru mai multe informații, consultați întrebările frecvente.

Plăți periodice

O plată periodică este un acord prin care plătitorul vă autorizează să procesați plăți pentru facturi periodice, la intervale stabilite (de exemplu, săptămânal sau lunar).

Puteți trimite către gateway plăți periodice pentru procesare dacă aveți un acord de plată cu plătitorul, prin care acesta acceptă stocarea de către dvs. a detaliilor de plată pentru utilizare ulterioară și vă autorizează să inițiați plăți periodice ulterioare fără participarea activă a acestuia.

Pentru a permite acest lucru, trebuie să completați următoarele câmpuri în tranzacția inițială a seriei:

  • sourceOfFunds.type=CARD sau SCHEME_TOKEN
  • câmpurile sourceOfFunds.provided.card.* sau sourceOfFunds.token
  • transaction.source=INTERNET
  • sourceOfFunds.provided.card.storedOnFile=TO_BE_STORED
  • agreement.id
  • agreement.type=RECURRING

Pentru plățile ulterioare din serie care sunt inițiate de către dvs., trebuie să completați:

  • sourceOfFunds.type=CARD sau SCHEME_TOKEN
  • câmpurile sourceOfFunds.provided.card.* sau sourceOfFunds.token
  • transaction.source=MERCHANT
  • sourceOfFunds.provided.card.storedOnFile=STORED
  • agreement.id: Valoarea agreement.id trebuie să fie identică cu cea furnizată în tranzacția inițială. Acest lucru permite gateway-ului să asocieze plățile dintr-o serie.

Plata ratelor

Plata ratelor este un acord prin care plătitorul autorizează efectuarea mai multor plăți pentru o singură achiziție, procesate la intervale stabilite. De exemplu, o achiziție poate fi plătită în șase rate lunare.

Puteți trimite către gateway plăți de rate pentru procesare dacă aveți un acord de plată cu plătitorul, prin care acesta acceptă stocarea de către dvs. a detaliilor de plată pentru utilizare ulterioară și vă autorizează să inițiați plăți de rate ulterioare fără participarea activă a acestuia.

Pentru a permite acest lucru, trebuie să completați următoarele câmpuri în tranzacția inițială a seriei:

  • sourceOfFunds.type=CARD sau SCHEME_TOKEN
  • câmpurile sourceOfFunds.provided.card.* sau sourceOfFunds.token
  • transaction.source=INTERNET
  • sourceOfFunds.provided.card.storedOnFile=TO_BE_STORED
  • agreement.id
  • agreement.type=INSTALLMENT

Pentru plățile de rate ulterioare din serie care sunt inițiate de către dvs., trebuie să completați:

  • sourceOfFunds.type=CARD sau SCHEME_TOKEN
  • câmpurile sourceOfFunds.provided.card.* sau sourceOfFunds.token
  • transaction.source=MERCHANT
  • sourceOfFunds.provided.card.storedOnFile=STORED
  • agreement.id: Valoarea agreement.id trebuie să fie identică cu cea furnizată în tranzacția inițială. Acest lucru permite gateway-ului să asocieze plățile dintr-o serie.

Plăți neplanificate

O plată neplanificată este un acord prin care plătitorul autorizează comerciantul să retragă automat fonduri pentru o plată, pentru o achiziție convenită, atunci când acest lucru este necesar (fără planificare). De exemplu, adăugarea automată de fonduri atunci când soldul contului scade sub un anumit prag.

Puteți trimite către gateway plăți neplanificate pentru procesare dacă aveți un acord de plată cu plătitorul, prin care acesta acceptă stocarea de către dvs. a detaliilor de plată pentru utilizare ulterioară și vă autorizează să inițiați plăți neplanificate ulterioare fără participarea activă a acestuia.

Pentru a permite acest lucru, trebuie să completați următoarele câmpuri în tranzacția inițială a seriei:

  • sourceOfFunds.type=CARD sau SCHEME_TOKEN
  • câmpurile sourceOfFunds.provided.card.* sau sourceOfFunds.token
  • transaction.source=INTERNET
  • sourceOfFunds.provided.card.storedOnFile=TO_BE_STORED
  • agreement.id
  • agreement.type=UNSCHEDULED

Pentru plățile neplanificate ulterioare din serie care sunt inițiate de către dvs., trebuie să completați:

  • sourceOfFunds.type=CARD sau SCHEME_TOKEN
  • câmpurile sourceOfFunds.provided.card.* sau sourceOfFunds.token
  • transaction.source=MERCHANT
  • sourceOfFunds.provided.card.storedOnFile=STORED
  • agreement.id: Valoarea agreement.id trebuie să fie identică cu cea furnizată în tranzacția inițială. Acest lucru permite gateway-ului să asocieze plățile dintr-o serie.

Întrebări frecvente

Cum pot indica gateway-ului dacă detaliile de plată sunt stocate, nestocate sau intenționați să le stocați?

Pentru a respecta standardele schemei de carduri pentru procesarea tranzacțiilor inițiate de posesorul cardului și a celor inițiate de comerciant, trebuie să indicați gateway-ului dacă detaliile de plată sunt stocate, nestocate sau intenționați să le stocați folosind câmpul sourceOfFunds.provided.card.storedOnFile.

Pentru tranzacția inițială, respectiv cea inițiată de posesorul cardului:

  • dacă este vorba despre o singură plată și nu intenționați să stocați detaliile plății, puteți omite câmpul sourceOfFunds.provided.card.storedOnFile.
  • dacă este vorba despre o plată pentru care intenționați să stocați detaliile plății în vederea utilizării ulterioare, setați sourceOfFunds.provided.card.storedOnFile=TO_BE_STORED. Acest lucru indică gateway-ului că plătitorul a acceptat stocarea detaliilor de plată. Trebuie să setați această valoare:

    • indiferent de locul unde stocați detaliile de plată — în propria dvs. aplicație (necesită conformitatea cu PCI), prin crearea de simboluri pe gateway sau în simbolurile schemei de carduri.
    • indiferent dacă stocați detaliile de plată înainte sau după trimiterea tranzacției către gateway.

Pentru plățile ulterioare, fie că este vorba despre o tranzacție inițiată de posesorul cardului, care utilizează detaliile stocate ale plătitorului, sau despre o tranzacție inițiată de comerciant care utilizează detaliile de plată stocate, setați sourceOfFunds.provided.card.storedOnFile=STORED

Dacă utilizați crearea de simboluri pe gateway, gateway-ul va seta valorile implicite pentru dvs.

  • Dacă crearea de simboluri nu este activată pentru dvs., gateway-ul va seta sourceOfFunds.provided.card.storedOnFile=NOT_STORED
  • Dacă creați simboluri pentru detaliile cardului, gateway-ul va seta sourceOfFunds.provided.card.storedOnFile=TO_BE_STORED
  • Atunci când utilizați tranzacții ulterioare folosind simbolul de pe gateway, gateway-ul va seta sourceOfFunds.provided.card.storedOnFile=STORED

Referință API Stocare internă [REST][NVP]

Cum procedez dacă nu am un ID de acord?

Dacă nu aveți un identificator unic pentru acordul dvs. cu plătitorul, puteți să:

  • Generați un astfel de ID de acord în scopul interacțiunii cu gateway-ul. Apoi, va fi necesar să îl stocați și să îl trimiteți către gateway pentru toate plățile din serie, inclusiv pentru tranzacțiile inițiate de posesorul cardului.
  • Utilizați un identificator existent (pe care îl stocați deja în sistem), cum ar fi ID-ul comenzii pentru prima plată din serie.

Este necesar să trimit o plată atunci când stabilesc acordul de plată?

Dacă, în momentul stabilirii unui acord de plată cu plătitorul, nu intenționați să percepeți nicio plată de la acesta – de exemplu, dacă este vorba despre un abonament la o publicație, iar prima plată este programată în 30 de zile, trebuie să trimiteți o solicitare de verificare cu detaliile acordului:

  • agreement.id
  • agreement.type

Tranzacția de verificare va deveni prima tranzacție inițiată de posesorul cardului din serie. Pentru orice plăți ulterioare, utilizați agreement.id pentru a asocia plățile din serie.

Ce se întâmplă dacă se modifică PAN pentru un acord?

Detaliile de plată asociate unui acord se pot schimba, de exemplu, dacă:

  • plătitorul și-a pierdut cardul și primește un card nou
  • plătitorul își schimbă banca
  • cardul nu are fonduri suficiente, iar plătitorul a furnizat alte detalii de plată

Dacă detaliile cardului s-au schimbat (exceptând cazul reemiterii unui card expirat, împreună cu simbolurile schemei de carduri), trebuie să efectuați o tranzacție inițiată de către posesorul cardului folosind același ID de acord pentru a actualiza detaliile de plată/simbolul de pe gateway înainte de a efectua o tranzacție inițiată de comerciant folosind noul număr de card. În funcție de modelul dvs. de afaceri, puteți alege să creați un acord nou.

Dacă utilizați un simbol de schemă, numărul de card stocat și asociat simbolului schemei poate fi actualizat automat de către schemă.

Copyright © 2021 UniCredit Bank