Notificări pe Callback URL
Merchant-ul va primi notificări pe Callback URL cu răspunsul final al plății, ce conține starea tranzacției și detalii relevante (ex. qrStatus
, payId
, amount
, etc).
Pe baza acestor notificări, Merchant-ul trebuie să asigure livrarea serviciului sau produsului către Cumpărător.
Se consideră că notificarea a fost recepționată cu succes dacă serverul Merchant-ului răspunde cu codul HTTP 200 OK.
Structura notificării (Exemplu)
Validarea semnăturii
Pentru a verifica integritatea și autenticitatea datelor primite, semnătura (signature
) din obiectul result
trebuie validată utilizând următorul algoritm:
Se sortează alfabetic toate câmpurile din obiectul
result
, cu excepția câmpuluisignature
.Câmpurile care au valoarea
null
sau șirul gol (""
) sunt complet ignorate în procesul de generare a semnăturii, ca și cum nu ar exista.Câmpurile de tip sumă (
amount
,commission
) se formatează cu exact două zecimale (ex:0.50
,2.31
) înainte de concatenare.Valorile câmpurilor rămase se concatenează folosind caracterul două puncte (
:
) ca separator, în ordinea sortată.La finalul șirului concatenat se adaugă cheia de semnătură (Signature Key), disponibilă în setările proiectului din platforma maibmerchants.
Din șirul rezultat se generează un hash în format binar folosind algoritmul SHA-256.
Hash-ul binar este apoi codificat în format Base64 (sau alt format specificat în documentația oficială QR MIA).
Semnătura generată se compară cu valoarea câmpului
signature
primit în notificare.
Dacă valorile coincid, semnătura este considerată validă, iar datele sunt autentice și intacte.
Exemplu pentru validarea semnăturii
Recomandări
Asigurați-vă că serverul vostru este accesibil de pe IP-urile maib pentru a primi notificările.
Răspundeți cu cod HTTP 200 OK doar după ce ați verificat cu succes semnătura.
În caz de erori sau semnătură invalidă, răspundeți cu un cod diferit de 200 pentru a forța retrimiterea notificării.
Last updated