Redsys

Redsys este procesatorul de plăți din spatele POS-ului virtual (TPV virtual) pe care majoritatea băncilor din Spania îl oferă clienților lor business. Furnizorul de plăți Redsys permite clienților dumneavoastră să plătească cu cardul sau cu Bizum pe site-ul dumneavoastră de comerț electronic și în portalul clienților.

Cu integrarea prin redirecționare, clienții sunt trimiși la pagina securizată de plată Redsys pentru a finaliza plata și sunt apoi readuși în baza dumneavoastră de date. Nu se introduc și nu se stochează date de card în baza dumneavoastră de date.

Notă

Furnizorul Redsys este oferit de modulul eYssen payment_redsys. Este activat automat odată cu modulul: nu trebuie instalat niciun modul suplimentar.

Cerințe

  • Un contract pentru POS virtual Redsys încheiat cu banca dumneavoastră, care vă oferă un cod de comerciant (numit și FUC), un număr de terminal și o cheie secretă (clave secreta de firma) pentru fiecare mediu (test și producție).

  • Pentru Bizum, Bizum trebuie activat de banca dumneavoastră pe POS-ul virtual.

  • Moneda plății trebuie să aibă un cod numeric ISO 4217 (toate monedele uzuale îl au).

Configurarea Redsys

Banca dumneavoastră vă oferă acces la portalul de administrare Redsys (Canales), cu un portal pentru mediul de test și unul pentru producție. În fiecare dintre ele, colectați următoarele valori:

  • codul de comerciant (FUC);

  • numărul terminalului (de obicei 1);

  • cheia secretă a terminalului (clave secreta de firma).

Important

Odoo acceptă doar mesaje semnate cu versiunea de semnătură HMAC_SHA512_V2. Asigurați-vă că terminalul dumneavoastră este configurat să o utilizeze în portalul de administrare Redsys; dacă nu știți cum, întrebați banca dumneavoastră. Mesajele semnate cu o altă versiune, cum ar fi HMAC_SHA256_V1, sunt respinse (consultați Depanare).

Notă

URL-urile pe care Redsys le utilizează pentru a raporta rezultatul plății către Odoo (notificarea online și URL-urile de revenire a clientului) sunt trimise către Redsys cu fiecare cerere de plată, așa că nu trebuie să le introduceți în portalul de administrare Redsys.

Configurație Odoo

  1. Accesați furnizorul de plăți Redsys.

  2. În fila Credențiale, completați câmpurile cu valorile colectate la pasul Configurarea Redsys:

    • Cod comerciant (FUC): codul de comerciant. Trebuie să conțină doar cifre.

    • Terminal: numărul terminalului, de 1 până la 3 cifre. Este setat implicit la 1.

    • Cheie secretă: cheia secretă a terminalului.

  3. Configurați celelalte opțiuni după nevoie.

  4. Setați câmpul Stare la Activat (sau Mod testare dacă doriți să testați integrarea).

screenshot: finance-payment-providers-redsys-redsys-credentials
menu
Accounting ‣ Configuration ‣ Payment Providers ‣ Redsys ‣ Credentials
shows
The Redsys provider form, Credentials tab: Merchant Code (FUC), Terminal, Secret Key.
highlight
The Merchant Code (FUC), Terminal and Secret Key fields.
data
Fictitious merchant code and terminal 1; the secret key is masked (never use a real key).
module
payment_redsys
notes
English UI, light theme, 1440px width; developer mode off.

Important

Cheie secretă este vizibilă și editabilă doar de utilizatorii care aparțin grupului de acces al administratorului de setări (grupul tehnic base.group_system). Este mascată pe ecran. Cele trei câmpuri sunt obligatorii de îndată ce furnizorul nu este dezactivat. Codul de comerciant și cheia secretă sunt șterse când baza de date este neutralizată (de exemplu, când o bază de date de producție este duplicată pentru testare), așa că introduceți-le din nou pe copie.

Metode de plată

La instalarea modulului, metodele de plată Card, Bizum, Visa și Mastercard sunt activate pentru furnizor. Pentru a schimba acest lucru, faceți clic pe Enable Payment Methods în fila Configurare a furnizorului. Consultați Metode de plată pentru mai multe informații.

Cu Redsys sunt disponibile doar monedele care au un cod numeric ISO 4217. Sumele sunt trimise către Redsys în cea mai mică unitate a monedei (de exemplu, cenți pentru euro).

Modul testare și producția

Mediul cu care comunică Odoo urmează Stare furnizorului de plăți:

Stat

Mediul Redsys

Mod testare

Mediul de test Redsys (sis-t.redsys.es).

Activat

Mediul de producție Redsys (sis.redsys.es).

Pentru a încerca integrarea fără a procesa plăți reale:

  1. Setați Stare la Mod testare.

  2. Introduceți codul de comerciant, terminalul și cheia secretă ale POS-ului virtual de test în fila Credențiale.

  3. Plătiți o factură sau o comandă din comerțul electronic folosind unul dintre cardurile de test furnizate de Redsys în documentația sa pentru dezvoltatori.

Când sunteți gata să acceptați plăți reale, înlocuiți cele trei credențiale cu cele ale POS-ului virtual de producție, apoi setați Stare la Activat.

Atenționare

Mediile de test și de producție au chei secrete diferite. Schimbarea Stare fără înlocuirea credențialelor face ca fiecare plată să eșueze cu o eroare de semnătură.

Sfat

Fiecare plată primește propriul număr de comandă aleatoriu, astfel încât o bază de date de test duplicată și baza dumneavoastră de date de producție pot partaja în siguranță un terminal. Totuși, utilizați modul testare pe o bază de date duplicat sau de test, așa cum se recomandă în Mod test.

Cum sunt procesate plățile

  1. Clientul selectează Redsys (sau Bizum) în formularul de plată și face clic pe Plătește.

  2. Odoo generează un număr de comandă unic de 12 caractere pentru tranzacție: 4 cifre urmate de 8 cifre sau litere majuscule. Acesta identifică plata în portalul de administrare Redsys și este stocat în câmpul Număr de comandă Redsys al tranzacției. Este utilizat și ca referință a furnizorului.

  3. Clientul este redirecționat către pagina de plată Redsys, unde plătește și, dacă banca sa o cere, se autentifică.

  4. Redsys trimite o notificare semnată către Odoo și readuce clientul la pagina de stare a plății din baza dumneavoastră de date. Notificarea este referința pentru rezultatul plății; revenirea clientului este utilizată doar dacă poartă datele semnate.

  5. Starea tranzacției este dedusă din codul de răspuns Redsys (Ds_Response):

    Cod de răspuns

    Status tranzacție

    0000 până la 0099

    Finalizat (plată autorizată)

    9915

    Anulat (plată anulată de client)

    8210, 8220, 9997, 9998, 9999

    În așteptare (operațiune încă în curs, de ex. autentificare)

    Orice alt cod

    Eroare, cu motivul afișat când este cunoscut, urmat de codul Redsys

Odoo verifică, de asemenea, dacă suma și moneda raportate de Redsys corespund celor ale tranzacției; dacă nu, tranzacția este setată la eroare.

Bizum

Bizum permite clienților din Spania să plătească din aplicația mobilă a băncii lor, folosind numărul de telefon. Este procesat de același POS virtual Redsys.

Pentru a-l oferi, asigurați-vă că Bizum este activat pe POS-ul virtual Redsys și că metoda de plată Bizum este activată pe furnizorul Redsys (consultați Metode de plată).

Notă

  • Bizum este oferit doar pentru plăți în EUR din Spain, așa cum este configurat pe metoda de plată.

  • Când clientul selectează Bizum, pagina de plată Redsys este restricționată la Bizum. Când o plată este raportată de Redsys ca efectuată cu Bizum, metoda de plată a tranzacției este setată la Bizum.

  • Bizum nu acceptă salvarea metodelor de plată sau checkout-ul rapid.

Restituiri

Rambursările totale și parțiale pot fi efectuate direct din Odoo, pentru plățile cu cardul și cu Bizum. Pentru a rambursa o plată, accesați-o și faceți clic pe butonul Retur, așa cum este explicat în Restituiri.

Odoo trimite imediat cererea de rambursare către Redsys, iar tranzacția de rambursare este setată la finalizat când Redsys o aprobă (cod de răspuns 900). Dacă Redsys o respinge (de exemplu, Rambursare nepermisă) sau nu poate fi contactat, tranzacția de rambursare este setată la eroare, împreună cu motivul.

Notă

Rambursările se bazează întotdeauna pe numărul de comandă Redsys al plății originale și utilizează aceeași monedă. Redsys aplică propriile limite pentru rambursări (de exemplu, totalul rambursat nu poate depăși suma originală).

Depanare

Detaliile tehnice ale fiecărei plăți și notificări sunt scrise în jurnalele serverului. Următoarele situații sunt cele mai frecvente.

Mesajul este semnat cu o versiune neacceptată

Odoo respinge notificarea sau răspunsul cu mesajul The message is signed with version HMAC_SHA256_V1, but only HMAC_SHA512_V2 is supported. Configure the terminal to use HMAC_SHA512_V2. Schimbați tipul de semnătură al terminalului dumneavoastră la HMAC_SHA512_V2 în portalul de administrare Redsys sau cereți băncii dumneavoastră să o facă.

Semnătură invalidă

  • Verificați dacă Cheie secretă corespunde mediului setat în Stare (test sau producție) și terminalului introdus în câmpul Terminal.

  • Verificați să nu existe spații la începutul sau la sfârșitul credențialelor.

  • Asigurați-vă că notificările pot ajunge la baza dumneavoastră de date: aceasta trebuie să fie accesibilă public la URL-ul său de bază și să nu se afle în spatele unui firewall sau proxy care blochează cererile provenite de la Redsys.

Notificările cu o semnătură lipsă sau invalidă sunt ignorate, iar tranzacția nu este actualizată.

Redsys respinge pagina de plată

  • Codul de comerciant trebuie să corespundă mediului, iar terminalul trebuie să existe pe POS-ul virtual (Comerciant neînregistrat în FUC).

  • Comandă duplicată înseamnă că Redsys cunoaște deja numărul de comandă. Numerele de comandă sunt generate aleatoriu; încercați din nou plata.

  • Redsys poate refuza o monedă pe care banca dumneavoastră nu a activat-o pe terminal. Întrebați banca dumneavoastră dacă utilizați altceva decât euro.

Erori de monedă și de sumă

  • The currency … has no ISO 4217 numeric code: moneda nu este acceptată de Redsys. Utilizați o altă monedă, cum ar fi euro.

  • The amount received … does not match the transaction amount sau The currency received … does not match: tranzacția este setată la eroare deoarece datele returnate de Redsys diferă de cerere. Verificați plata în portalul de administrare Redsys înainte de a face orice altceva.

Clientul a plătit, dar tranzacția nu este confirmată

Tranzacția este actualizată prin notificarea de la server la server. Dacă aceasta lipsește, verificați în portalul de administrare Redsys numărul de comandă stocat în câmpul Număr de comandă Redsys al tranzacției și verificați în jurnalele serverului notificarea. Numărul de comandă este raportat în jurnale atunci când nu se găsește nicio tranzacție corespunzătoare.

O tranzacție este setată la eroare

Motivul este afișat pe tranzacție și în chatter-ul documentului asociat. Conține codul de răspuns Redsys, de exemplu Fonduri insuficiente. (Redsys code 0116).