Bosanska lokalizacija "Odoo" open-source platforme, Monri kartično plaćanje u scenariju standardne prodajne naružbe


Video


U prethodnom postu predstavljena je integracija Monri Pay By Link REST API-ja u Odoo eCommerce (website_sale) checkout. Ovaj post pokriva drugi scenario: klasičnu prodajnu narudžbu (sales order / ponudu) gdje kupac nema pristup web shopu niti portal login, a ipak treba mogućnost da kartično plati račun.

Primjer iz prakse: trgovac kreira ponudu u Odoo back office-u, šalje je kupcu emailom, a kupac otvara link za plaćanje i obavlja transakciju direktno preko Monri hostovane stranice. Nema korpe, nema eCommerce stranice — samo ponuda, email i link.

Tok plaćanja — korak po korak

1. Kreiranje ponude sa uslovom plaćanja “Monri Pay By Link”

Referent kreira novu prodajnu ponudu (sale.order), odabira kupca i dodaje stavke. Ključ aktivacije ovog toka je Uslovi plaćanja = “Monri Pay By Link”. Na formi se pojavljuje dugme “Generate Monri Link” koje pokreće generisanje linka:

Nova ponuda sa Monri Pay By Link uslovima plaćanja

2. Wizard za nedostajuće kontakt podatke

Monri zahtijeva email i telefon kupca prilikom kreiranja Pay By Link transakcije. Ako kupac nema ova polja popunjena, modul otvara wizard koji traži podatke i čuva ih na res.partner zapisu prije nego što pošalje zahtjev Monri-ju:

Wizard za dopunu email i telefon podataka

3. Ponuda sa generisanim Monri linkom

Klikom na “Generate Monri Link” modul poziva Monri create-or-update REST endpoint, dobija payment_url i upisuje ga na samu ponudu. Link je vidljiv u polju Monri Payment URL, a status transakcije (Monri Payment State) pokazuje trenutno stanje. U chatter-u se automatski generiše napomena sa direktnim linkom koji kupac dobija u emailu:

Ponuda sa generisanim Monri payment linkom

4. Slanje ponude kupcu emailom

Standardnim Odoo akcijom “Pošalji email-om” ponuda se šalje kupcu. Template automatski uključuje link za plaćanje koji je Monri vratio u prethodnom koraku — kupac u emailu vidi predračun (PDF) i poziv na plaćanje:

Slanje ponude emailom sa linkom za plaćanje

5. Monri hostovana stranica za unos kartice

Kupac klikne na link iz emaila i preusmjerava se na Monri hostovanu stranicu. Forma prikazuje podatke o trgovcu (Bring out doo), broj narudžbe, iznos i polje za unos kartice.

6. Potvrda uspješnog plaćanja

Nakon uspješnog POST-a na Monri, kupac se vraća na landing stranicu u Odoo-u. Prikazuje se zelena potvrda “Your payment has been successfully processed” i banner koji obavještava da se čeka asinkroni webhook od Monri-ja:

Potvrda plaćanja sa webhook čekanjem

7. Portal view sa potvrđenom narudžbom

Kupac (bez potrebe za portal loginom — koristi se access token iz linka) vidi kompletnu narudžbu u portal pogledu: iznos, stavke, datum i status Preuzimanje. Kartica je naplaćena, narudžba potvrđena:

Portal pogled sa potvrđenom narudžbom

8. Email potvrde narudžbe

Konačno, kupac dobija automatski email sa potvrdom narudžbe i PDF prilogom. Sales order je prešao iz stanja “ponuda” u stanje “potvrđena narudžba”:

Email potvrde narudžbe

Zašto je ovaj scenario važan

eCommerce checkout pokriva online kupovinu kroz web shop. Međutim, u praksi bring.out-ovih klijenata postoji značajan broj slučajeva gdje se prodaja obavlja izvan web shopa:

  • B2B prodaja sa personalizovanim ponudama
  • Projektne narudžbe sa specifičnim uslovima
  • Kupci koji ne žele registraciju na portalu
  • Usluge koje se fakturišu prije isporuke

U svim ovim scenarijima, prodajni referent i dalje može iskoristiti Monri platni sistem — samo što se checkout ne događa u korpi nego iz ponude.

Zaključak

Dok Pay By Link za eCommerce pokriva scenarij “kupac u korpi”, ovaj sales order scenarij pokriva sve ostalo: trgovac kreira ponudu, kupac dobija link, karticom plati bez potrebe za registracijom. Ista Monri integracija, ista WP3-v2.1 autentikacija, isti webhook flow — ali prilagođeno klasičnom B2B i personalizovanom prodajnom toku.

Modul je dio Bosanske lokalizacije Odoo platforme bring.out d.o.o. Sarajevo, dostupan pod AGPL-3 licencom.

Reference

Napomena

Generisano od strane Claude 🤖


Ernad Husremović, hernad@bring.out.ba