Date de nivel II și nivel III

O tranzacție cu cardul de credit poate fi trimisă cu trei niveluri de date despre tranzacție: Nivelul I, nivelul II și nivelul III. Fiecare nivel este definit de cantitatea informațiilor furnizate pentru procesarea tranzacției.

  • Nivelul I include date standard despre tranzacție, precum data, numărul cardului și valoarea totală a achiziției.
  • Nivelul II include datele de la nivelul I, plus informații suplimentare privind tranzacția, cum ar fi numărul de referință al clientului, numărul facturii și valoarea taxei pe vânzări.
  • Nivelul III include datele de la nivelul II, plus detaliile articolelor-rând.

Dacă acceptați cardurile de afaceri, cele corporative sau cele de achiziții, furnizarea datelor de nivel II/III pentru tranzacția dvs. poate face ca tranzacția să fie eligibilă pentru comisioane de procesare mai scăzute. Compania clientului dvs. poate beneficia, de asemenea, de extrase de card desfășurate, precum și de informații care vor facilita și optimiza procesele de afaceri precum autorizațiile de achiziție, reconcilierea și raportarea.

Rețineți că gateway-ul nu garantează faptul că datele furnizate în cadrul tranzacției sunt suficiente pentru ca aceasta să fie eligibilă pentru anumite comisioane de procesare prevăzute de schema cardului.

Datele de nivel II/III sunt acceptate în API începând cu versiunea 42.

Furnizarea datelor de nivel II/III în operațiunile inițiale

Atunci când creați o comandă, toate datele de nivel II sau III furnizate se vor aplica tuturor tranzacțiilor din comandă.

Dacă utilizați gateway-ul pentru a efectua autentificarea 3DS și tranzacțiile de plată, atunci puteți crea o comandă trimițând o solicitare INITIATE_AUTHENTICATION urmată de o solicitare AUTHENTICATE_PAYER cu date de Nivel II/III și furniza authentication.transactionId în solicitarea ulterioară AUTHORIZE, PAY sau VERIFY, iar datele de nivel II/III vor fi completate din autentificarea la care se face referire.

În cazul în care valoarea order.amount furnizată în cererea de autorizare, plată sau verificare diferă de valoarea order.amount din autentificare, atunci datele de Nivel II/III nu sunt copiate din autentificare. În acest caz, trebuie să furnizați date de Nivel II/III privind tranzacția financiară, deoarece acestea nu pot fi preluate implicit din comandă.

Dacă ați furnizat date de Nivel II/III în solicitarea AUTHENTICATE_PAYER, apoi furnizați authentication.transactionId în solicitarea ulterioară AUTHORIZE, PAY sau VERIFY, puteți trimite în continuare aceleași date de Nivel II/III sau date diferite în solicitarea dvs. financiară pentru a înlocui datele de nivel II/III furnizate în autentificare.

Câmpurile de Nivel II sunt acceptate începând cu versiunea 64, iar cele de Nivelul III – începând cu versiunea 77 a solicitării AUTHENTICATE_PAYER.

Referința API Authenticate Payer [REST][NVP]

Furnizarea datelor de nivel II/III în operațiunile ulterioare

Este necesar să furnizați date de nivel II/III pentru operațiunile ulterioare (Capture sau Refund) numai dacă doriți să:

  • suprascrieți datele furnizate pentru comandă

    Puteți suprascrie datele de nivel II/III pentru comandă furnizând date la nivel de comandă. Acest lucru poate fi util pentru corectarea informațiilor furnizate la crearea comenzii. Informațiile actualizate se vor aplica apoi tuturor tranzacțiilor ulterioare din cadrul comenzii. De exemplu, order.customerReference

    Pot fi suprascrise numai câmpurile la nivel de comandă prezente în solicitarea de tranzacție. De exemplu, order.amount poate fi furnizat într-o solicitare de tranzacție de autorizare, dar nu și într-o solicitare ulterioară pentru o tranzacție de decontare.

    Consultați coloana Câmp la nivel de comandă din tabelele pentru nivelurile II/III de mai jos.

  • furnizați date care se aplică numai tranzacției

    Puteți furniza numai date de nivel II/III care se aplică numai tranzacției respective. De exemplu, transaction.taxAmount

    Consultați coloana Câmp la nivel de tranzacție din tabelele pentru nivelurile II/III de mai jos.

  • efectuați tranzacții de decontare sau rambursare atunci când valoarea tranzacției diferă de cea a comenzii. În aceste cazuri, trebuie să furnizați date de nivel II/III despre tranzacție, cum ar fi cantitățile sau detaliile articolelor-rând, acestea neputând fi preluate ca implicite din comandă.

Trimiterea către achizitor a datelor de nivel II/III

Atunci când gateway-ul trimite achizitorului date de nivel II/III, valorile furnizate în cadrul tranzacției au prioritate în raport cu cele furnizate la nivel de comandă. Dacă nu furnizați valori pentru tranzacție, gateway-ul va utiliza valorile furnizate la nivel de comandă pentru a le trimite achizitorului, numai dacă este cazul.

Datele de nivel II/III vor fi trimise achizitorului numai pentru tranzacțiile de decontare și rambursare, nu și pentru cele de autorizare sau verificare.
Datele de nivel II

Pentru a furniza următoarele date de nivel II în solicitarea dvs. de tranzacție, utilizați câmpurile API corespunzătoare la nivel de comandă și/sau la nivel de tranzacție, conform tabelului de mai jos.

Datele de nivel II Câmp la nivel de comandă Câmp la nivel de tranzacție
Dată comandă client order.customerOrderDate  
Valoarea comenzii (suma care va fi autorizată, trimisă în momentul creării unei comenzi) order.amount

Dacă furnizați orice subtotaluri ((order.itemAmount, order.shippingAndHandlingAmount, order.taxAmount, order.gratuityAmount, order.cashbackAmount), order.discount.amount), atunci valoarea comenzii TREBUIE să fie egală cu suma subtotalurilor, minus valoarea reducerii.
 
Cantitate articol order.itemAmount

Dacă nu furnizați acest câmp, dar furnizați orice date privind articolele-rând, această valoare este calculată ca sumă a valorilor totale ale articolelor (order.item[n].unitPrice x order.item[n].quantity) pentru toate articolele-rând. Dacă furnizați atât acest câmp, cât și valorile oricăror articole-rând, valoarea din acest câmp TREBUIE să fie egală cu valoarea calculată.
Dacă zecimalele din valoarea calculată depășesc unitățile secundare ale monedei plătitorului, gateway-ul va rotunji totalul folosind algoritmul de rotunjire a jumătății la un număr par. De exemplu, dacă avem valoarea 2,555 (cantitatea) înmulțită cu 3 (prețul unitar), ceea ce are ca rezultat produsul 7,665, iar moneda plătitorului (USD) are 2 unități secundare, valoarea rotunjită a articolului va fi de 7,66.
Asigurați-vă că aplicați această rotunjire atunci când completați câmpurile cu valoarea articolelor în cadrul solicitării.
transaction.itemAmount
Sumă expediere și manipulare order.shippingAndHandlingAmount
Suma totală pentru expediere și manipulare pentru tranzacție, inclusiv orice taxe aplicabile.
transaction.shippingAndHandlingAmount
Valoare taxe expediere și manipulare order.shippingAndHandlingTaxAmount
Acest câmp este acceptat numai începând cu versiunea 67.
Valoarea taxelor aplicate pentru expediere și manipulare pentru tranzacție. Această sumă este inclusă în costul de expediere și manipulare introdus în câmpul order.shippingAndHandlingTaxAmount.
transaction.shippingAndHandlingTaxAmount
Rată taxe expediere și manipulare order.shippingAndHandlingTaxRate
Acest câmp este acceptat numai începând cu versiunea 67.
Rata taxei aplicată sumei de plată pentru expediere și manipulare pentru comandă, pentru determinarea valorii taxei de expediere și manipulare.
Pentru o rată a taxei de 2,5%, introduceți 0,025.
transaction.shippingAndHandlingTaxRate
Valoare taxe vamale order.dutyAmount
Acest câmp este acceptat numai începând cu versiunea 67.
Valoarea taxelor vamale pentru tranzacție.
transaction.dutyAmount
Sumă taxe order.taxAmount
Dacă nu furnizați acest câmp, dar furnizați orice date privind articolele-rând, această valoare este calculată ca sumă a valorilor totale ale taxelor (order.item[n].unitTaxAmount x order.item[n].quantity) pentru toate articolele-rând. Dacă furnizați atât acest câmp, cât și valorile oricăror articole-rând, valoarea din acest câmp TREBUIE să fie egală cu valoarea calculată.
Dacă zecimalele din valoarea calculată depășesc unitățile secundare ale monedei plătitorului, gateway-ul va rotunji totalul folosind algoritmul de rotunjire a jumătății la un număr par. De exemplu, dacă avem valoarea 2,555 (cantitatea) înmulțită cu 3 (prețul unitar), ceea ce are ca rezultat produsul 7,665, iar moneda plătitorului (USD) are 2 unități secundare, valoarea rotunjită a articolului va fi de 7,66.
Asigurați-vă că aplicați această rotunjire atunci când completați câmpurile cu valoarea articolelor în cadrul solicitării.
transaction.taxAmount
Tip de taxă [n] order.tax[n].type

Poate fi necesar să introduceți valoarea de enumerare corectă, conform cerințelor achizitorului. Vă rugăm să contactați furnizorul de servicii de plată pentru detalii.
transaction.tax[n].type

Poate fi necesar să introduceți valoarea de enumerare corectă, conform cerințelor achizitorului. Vă rugăm să contactați furnizorul de servicii de plată pentru detalii.
Valoare taxe [n] order.tax[n].amount transaction.tax[n].amount
Cotă taxă [n] order.tax[n].rate transaction.tax[n].rate
Marcaj scutire de taxe order.taxStatus transaction.taxStatus
Sumă reducere order.discount.amount transaction.discountAmount
Referință achiziție comerciant order.reference

Dacă această valoare nu este introdusă, gateway-ul utilizează valoarea din order.id (câmp obligatoriu).
 
Număr factură order.invoiceNumber
 
Număr de referință client/posesor card order.customerReference  
Nume solicitant order.requestorName  
ID fiscal comerciant – federal/național order.taxRegistrationId Dacă sunteți un comerciant din SUA, introduceți-vă ID-ul fiscal federal.
Dacă sunteți un comerciant din Canada, introduceți-vă contul HST (Harmonized Sales Tax – taxă pe vânzări armonizată) de la Agenția fiscală canadiană.
ID fiscal comerciant – stat/provincie/local order.localTaxRegistrationId  
Cod înregistrare TVA client customer.taxRegistrationId  
Adresă comerciant – cod ZIP/poștal Valoarea configurată în profilul dvs. de comerciant va fi trimisă achizitorului.
Adresă comerciant – stat/provincie Valoarea configurată în profilul dvs. de comerciant va fi trimisă achizitorului.
Cod zip/poștal de origine pentru expediere shipping.origin.postcodeZip
Dacă acesta nu este furnizat, valoarea configurată în profilul dvs. de comerciant poate fi trimisă achizitorului.
 
Stradă destinație de livrare shipping.address.street
shipping.address.street2
 
Oraș destinație de livrare shipping.address.city  
Stat/provincie destinație de livrare shipping.address.stateProvince
Trebuie să introduceți codul din trei caractere de subdiviziune a țării conform ISO 3166-2. Dacă destinația este un teritoriu S.U.A., introduceți codul de țară. De exemplu, GUM atât în câmpul shipping.address.country, cât și în câmpul shipping.address.stateProvince. Completați acest câmp numai dacă toate articolele incluse în comandă sunt expediate la aceeași destinație.
 
Țară destinație de livrare  shipping.address.country
Dacă destinația este un teritoriu S.U.A., introduceți codul de țară. De exemplu, GUM atât în câmpul shipping.address.country, cât și înb câmpul shipping.address.stateProvince. Completați acest câmp numai dacă toate articolele incluse în comandă sunt expediate la aceeași destinație.
 
Cod zip/poștal destinație de livrare shipping.address.postcodeZip  
Nume adresă de facturare customer.firstName
customer.lastName
 
Adresă de facturare Stradă 1 billing.address.street  
Adresă de facturare Stradă 2 billing.address.street2  
Adresă de facturare Oraș billing.address.city  
Adresă de facturare Stat billing.address.stateProvince  
Cod ZIP/poștal adresă de facturare billing.address.postcodeZip  
Adresă de facturare Țară billing.address.country  

Referință API date de nivel II [REST][NVP]

Datele de nivel III

Datele de nivel III includ datele de la nivelul II indicate mai sus, plus detaliile articolelor-rând. Pentru a include următoarele date de nivel III în solicitarea dvs. de tranzacție, utilizați câmpurile API corespunzătoare la nivel de comandă (din grupul de parametri order.item[n]) și/sau la nivel de tranzacție (din grupul de parametri transaction.item[n]), din tabelul de mai jos.

Toate câmpurile de date de nivel III sunt opționale; dacă, însă, furnizați orice date ale articolelor-rând în cadrul unei tranzacții, atunci TREBUIE să furnizați cel puțin numele, cantitatea și prețul unitar pentru articolul respectiv.
Datele de nivel III Câmp la nivel de comandă Câmp la nivel de tranzacție
ID fiscal comerciant articol Valoarea nu poate fi furnizată la nivel de articol. Pentru toate articolele, valoarea furnizată la nivel de comandă în câmpul order.taxRegistrationIdva fi trimisă achizitorului.
Total articol Dacă mesajul de la achizitor o solicită, această valoare este calculată ca sumă a valorilor totale ale articolelor (order.item[n].unitPrice x order.item[n].quantity) pentru toate articolele-rând.
Unitate de măsură articol order.item[n].unitOfMeasure

Poate fi necesar să introduceți valoarea de enumerare corectă, conform cerințelor achizitorului. Vă rugăm să contactați furnizorul de servicii de plată pentru detalii.
transaction.item[n].unitOfMeasure

Poate fi necesar să introduceți valoarea de enumerare corectă, conform cerințelor achizitorului. Vă rugăm să contactați furnizorul de servicii de plată pentru detalii.
Descriere articol order.item[n].description transaction.item[n].description
Marcă articol order.item[n].brand transaction.item[n].brand
Categorie articol order.item[n].category transaction.item[n].category
Categorie sector articol order.item[n].industryCategory transaction.item[n].industryCategory
Nume articol order.item[n].name transaction.item[n].name
SKU articol order.item[n].sku transaction.item[n].sku
Articol UNSPSC (Codul standard ONU pentru produse și servicii) order.item[n].detail.unspsc transaction.item[n].detail.unspsc
UPC (cod universal produs) articol order.item[n].detail.upc transaction.item[n].detail.upc
Cod marfă articol order.item[n].detail.commodityCode transaction.item[n].detail.commodityCode
Cantitate articol order.item[n].quantity
Atunci când o valoare zecimală este înmulțită cu anumite sume (order.item[n].unitPrice, order.item[n].unitTaxAmount sau order.item[n].unitDiscountAmount) și dacă zecimalele din valoarea calculată depășesc unitățile secundare ale monedei plătitorului, gateway-ul va rotunji totalul folosind algoritmul de rotunjire a jumătății la un număr par. De exemplu, dacă avem valoarea 2,555 (cantitatea) înmulțită cu 3 (prețul unitar), ceea ce are ca rezultat produsul 7,665, iar moneda plătitorului (USD) are 2 unități secundare, valoarea rotunjită a articolului va fi de 7,66.
transaction.item[n].quantity
Preț unitar articol order.item[n].unitPrice

Această valoare este înmulțită cu order.item[n].quantity pentru a calcula suma totală pentru articolul-rând. Dacă furnizați order.itemAmount, suma totală a valorilor tuturor articolelor-rând TREBUIE să fie egală cu valoarea din order.itemAmount.
transaction.item[n].unitPrice
Valoare unitară taxe articol order.item[n].unitTaxAmount

Această sumă este înmulțită cu order.item[n].quantity pentru a calcula valoarea totală a taxelor pentru articolul-rând. Dacă furnizați order.taxAmount, suma totală a valorilor taxelor pentru toate articolele-rând TREBUIE să fie egală cu valoarea din order.taxAmount.
transaction.item[n].unitTaxAmount
Tip de taxă articol order.item[n].detail.unitTaxType
Utilizați acest câmp pentru a introduce taxa percepută pentru articolul-rând respectiv, dacă există un singur tip de taxă.
transaction.item[n].detail.unitTaxType
Cotă taxă articol (procent) order.item[n].detail.unitTaxRate
Utilizați acest câmp pentru a introduce cota de taxare percepută pentru articolul-rând respectiv, dacă există o singură cotă de taxare.
transaction.item[n].detail.unitTaxRate
Tip de taxă articol [n] order.item[n].detail.tax[m].type
order.item[n].detail.tax[m].amount
order.item[n].detail.tax[m].rate

Utilizați aceste câmpuri pentru a furniza un desfășurător al valorilor taxelor aplicabile comenzii per articol-rând și tip de taxă. Se aplică dacă există mai multe tipuri de taxe percepute pentru articolul-rând respectiv. Dacă există un singur tip de taxă, utilizați order.item[n].detail.unitTaxType
transaction.item[n].detail.tax[m].type
transaction.item[n].detail.tax[m].amount
transaction.item[n].detail.tax[m].rate

Utilizați aceste câmpuri pentru a furniza un desfășurător al valorilor taxelor aplicabile tranzacției, per articol-rând și tip de taxă. Se aplică dacă există mai multe tipuri de taxe percepute pentru articolul-rând respectiv. Dacă există un singur tip de taxă, utilizați transaction.item[n].detail.unitTaxType
Valoare taxe articol [n]
Cotă taxă articol [n] (procent)
Valoare reducere articol order.item[n].unitDiscountAmount

Această valoare este înmulțită cu order.item[n].quantity pentru a calcula valoarea totală a reducerii pentru articolul-rând. Dacă furnizați order.discount.amount, valoarea din acest câmp TREBUIE să fie egală cu valoarea totală a reducerilor pentru toate articolele-rând.
transaction.item[n].unitDiscountAmount
Cotă reducere articol (procent) order.item[n].detail.unitDiscountRate transaction.item[n].detail.unitDiscountRate

Referință API date de nivel III [REST][NVP]

Copyright © 2023 UniCredit Bank