# Glosar

**QR MIA** – sistemul maib pentru generarea, gestionarea și procesarea plăților prin coduri QR (static, dinamic, hibrid), destinat comercianților care doresc o soluție rapidă, fără redirecționări, pentru încasarea plăților.

**QR Code** – cod generat în cadrul API-ului QR MIA care conține informațiile necesare pentru inițierea unei plăți. Poate fi Static, Dinamic sau Hibrid, în funcție de contextul și scopul utilizării.

**Static QR** – cod QR care conține doar date fixe, fără sumă sau detalii personalizate. Util pentru plăți repetate fără valoare prestabilită (ex: donații).

**Dynamic QR** – cod QR generat cu un scop precis, o singură dată, care include detalii specifice despre tranzacție (sumă, client, etc.).

**Hybrid QR** – combinație între static și dynamic. Poate fi folosit atât pentru plăți unice, cât și repetate.

**qrId** – identificatorul unic al QR-ului generat, de tip UUID. Este folosit pentru referință în toate apelurile către API.

**PayId** – identificatorul unic al plății efectuate sub un QR. Este returnat în răspunsul la plată și utilizat pentru urmărirea tranzacției.

**Sandbox** – mediu de testare securizat unde pot fi simulate plăți fără a implica fonduri reale. Este destinat testării integrării aplicației comercianților.

**Producție (Production)** – mediu real unde tranzacțiile au loc cu fonduri reale, destinat comercianților activi.

**Executat (executedAt)** – momentul în care plata a fost finalizată. Este returnat în format ISO 8601.

***

### Statusuri QR

**Active** – QR activ și disponibil pentru plată.\
**Inactive** – QR static sau hibrid care nu a fost folosit timp de 30 zile.\
**Expired** – QR dinamic sau hibrid care și-a depășit perioada de valabilitate fără să fie folosit.\
**Paid** – plată efectuată cu succes pentru acel QR.\
**Cancelled** – QR anulat prin endpoint-ul dedicat `/cancel`.

***

### Parametri relevanți

**iban** – contul IBAN al plătitorului, utilizat pentru identificarea acestuia în cadrul tranzacției.\
**payerName** – numele prescurtat al plătitorului, necesar pentru identificare și trasabilitate.\
**currency** – moneda în care se efectuează plata. În prezent, se acceptă doar `MDL`.\
**amount** – suma tranzacționată. Se exprimă ca număr zecimal.

***

### [Coduri de stare HTTP](#coduri-de-stare-http)

| Cod | Semnificație          | Descriere                                                                                              |
| --- | --------------------- | ------------------------------------------------------------------------------------------------------ |
| 200 | OK                    | Request-ul a fost procesat cu succes.                                                                  |
| 400 | Bad Request           | Parametrii trimiși în request sunt invalizi sau lipsesc. Verificați formatul și câmpurile obligatorii. |
| 401 | Unauthorized          | Token-ul de autentificare este absent, expirat sau incorect.                                           |
| 403 | Forbidden             | Accesul la resursa este interzis. Pot exista restricții de IP sau de permisiuni.                       |
| 404 | Not Found             | Resursa solicitată nu a fost găsită (ex: qrId inexistent).                                             |
| 500 | Internal Server Error | O eroare internă s-a produs pe server. Încercați din nou mai târziu sau contactați echipa de suport.   |

***

### Structura răspunsurilor

**ok** – indică dacă operațiunea a fost procesată cu succes (`true`) sau a apărut o eroare (`false`).\
**errors** – listă de erori întâlnite în procesarea request-ului.\
**errors.errorCode** – cod unic al erorii (ex: `ERR_QR_NOT_FOUND`).\
**errors.errorMessage** – descriere detaliată a problemei apărute.
