Payment gateway za Wordpress

Verzija plugina
1.0.0
Podržana WordPress verzija
4.9.x - 5.2.x
Download plugin-a

Postupak instalacije OTP dodatka

  • Pristupite administratorskom panelu Vašeg WordPress sajta
  • Kliknite na dugme “Dodaci” – (Eng. “Plugins”)
  • Kliknite na dugme “Dodaj novi” – (Eng. “Add New”)
  • Kliknite na dugme “Preuzmi sa diska” – (Eng. “Upload Plugin”)u gornjem delu stranice
  • Kliknite na dugme “Choose File” – (Eng. “Choose File”)
  • Izaberite datoteku woocommerce-ipay.zip sa vašeg diska ili USB-a
  • Kliknite na dugme “Instaliraj” – (Eng. “Install Now”)
  • Kliknite na link “Aktiviraj ”- (Eng. “Activate”) ukoliko nije zatamnjen
  • Na stranicu podešavanja ulazite klikom na link “Postavke” – (Eng. “Setup”)

wp upload plugina

Ekran za upload dodataka

wp aktivacija plugina

Lista instaliranih dodataka

Po instalaciji plugina neophodno je izvršiti podešavanja.

Podešavanja

Do stranice sa podešavanjima OTP dodatka mozete doći na 2 načina, sledeći putanje:

  1. Idite na Plugins (“Dodaci”) , pa klik na Setup (“Postavke”) u stavki “iPay plaćanja za WordPress”
  2. WP iPay/Podešavanja

wp podesavanja plugina

Parametri:

Nakon odabira opcije Setup/Podešavanja prikazaće vam se sleći ekran gde vršite parametrizaciju testne i produkcione prodavnice

Omogući – (Eng. Enabled) uključuje ili isključuje plugin na frontendu
Valuta plaćanja – (Eng. Payment currency) Odabir valute plaćanja. Cene proizvoda na sajtu možete iskazati u drugim podržanim valutama ali obićno plaćanje može da se izvrši samo u RSD (osim u specijanim slučajevima).
Plugin ce konvertovati cene kada je potrebno tako da se na kraju plaćanje vrši u ovoj valuti.
Koriguj kurs za % – (Eng. Increase conversion rate by %) Preko ove opcije možete dodatno korigovati kurs
Tip trgovca – (Eng. Merchant type) Ukoliko imate opciju Card-On-File COF naplate potrebno je da odaberite tip sa podržanom COF naplatom.
Tip platne transakcije – (Eng. Payment transaction type) Ukoliko pri plačanju želita da kupcu odmah skinete novac sa kartice odaberite Prodaja (“Sale”), a ukliko želite da režervišete novac koji će te kasnije skinuti ili osloboditi sa kartice kupca onda Rezervacija sredstava na kartici (“Pre-Authorization/Capture”).
SID korisnika – (Eng. User SID) SID je identifikator u sistemu provajdera plaćanja. Ovo je jedan od parametra koji Vam se mora dostaviti po sklapanju ugovora.
Postoji SID koji identifikuje korisnika i SID koji identifikuje prodavnicu. Jedan korisnik može upravljati većim brojem prodavnica. U ovo polje unesite SID korisnika.
SID prodavnice – (Eng. Store SID) SID je identifikator u sistemu provajdera plaćanja. Ovo je jedan od parametra koji Vam se mora dostaviti po sklapanju ugovora.
Postoji SID koji identifikuje korisnika i SID koji identifikuje prodavnicu. Jedan korisnik može upravljati većim brojem prodavnica. U ovo polje unesite SID prodavnice.

NAPOMENA: obično je SID prve prodavnice nekog korisnika isti kao sami SID korisnika.
Ovo nije COF SID. COF SID se nigde ne unosi u podešavanjima plugina!

“shared secret” sigurnosni podatak koji Vam se dostavlja os strane tehničke podrške SMS-om. Pazite na karaktere pri unosu i koristitie copz/paste ako je to moguće.
URL frome plaćanja – (Eng. Form submit URL) url na koji se kupac šalje pri plaćanju.

Za testno okruženje je:
https://test.ipg-online.com/connect/gateway/processing
za produkciju neophodno je da ga zamenite:
https://www.ipg-online.com/connect/gateway/processing
Linkovi dati u ovom dokumentu su položni promeni. Proverite uputstva koja vam dostavi tehnička porška provajdera plaćanja.

Link do COF servisa – (Eng. COF service URL) Link servisa koji izvršava C-O-F transakcije bez interakcije korisnika preko HostedDataID-a.
Korisničko ime COF naloga – (Eng .COF account username) Kosiničko ime za pristup servisu koji izvršava C-O-F transakcije bez interakcije korisnika preko HostedDataID-a. Ovaj podatak ćete dobiti od iPay-a.
Lozinka COF naloga – (Eng. COF account password) Lozinka (tajna) za izvršenje C-O-F transakcija (HostedDataID) preko servisa. Ovaj podatak ćete dobiti od iPay-a.
Sacuvaj podatke kartice na sigurnim serverima provajdera plaćanja (neophodno za COF) Provajder plaćanja može na svojim serverima upamtiti podatke kartice kupca.

Ovo podaci se nikako ne čuvaju na samom sajtu. Čuva se samo podatak o tome da li je korisnik prihvatio ovu opciju. Pristupni koji identifikuje podatke na serverima provajdera se generise.

Ukoliko se ne koristi COF kada kupac plaća drugi i svaki naredni put podaci u poljima za unos kartice ce biti popunjeni.

Ukoliko se koristi COF kupac mora prvi put da prodje kroz proceduru plaćanja sa ovom opcijom kako be se upamtili podaci za COF naplatu bez njegove prisutnosti.

Ovu opciju možete popuno isključiti, pitati korisnika za dožvolu ili bezpogovorno aktivirati ukoliko je kontekst sajta pre ovog koraka nedvosmisleno informisao kupca o posledicama.

Poruka odricanja od odgovornosti – (Eng. Disclaimer message) Poruka koje se prikazuje kupcu pre finalnog odlaska na plaćanje.
Status narudžbine posle uspešne prodaje – (Eng. Order status for successful sale) Ovde birate status za narudzbinu posle uspešnog plaćanja.
Status narudžbine posle uspešne rezervacije – (Eng. Order status for successful pre-authorization) Ovde birate status za narudžbinu posle uspešne rezervacije novca.
Status narudžbine posle uspešne transakcije poništenja (VOID) – (Eng. Order status for successful VOID transaction) Ovde birate status za narudžbinu posle uspešnog poništenja plaćanja
Status naruđbine posle neuspešnog plaćanja/rezervacije – (Eng.Order status for failed payment) Ovde birate status za narudzbinu posle neuspešnog plaćanja ili rezervacije.
Po neuspešnom plaćanju/rezervaciji pošalji kupcu link do fakture koju može platiti – (Eng. Send payable order bill to customer on fialed payment) Ukoliko se ovo aktivira u mailu koji kupac dobija po pokusaju plaćanja i sadržaju koji mu se prezentuje biće mu dat link do fakture koju može namiriti naknadno.
Format valute – (Eng.”Currency format) Odabir formata prikaza iznosa
Sadržaj hedera fakture – (Eng. Bill header) Unos sadrzaja za heder fakture
Sadržaj futera fakture – (Eng.”Bill footer) Unos sadrzaja za futer fakture
Sardžaj hedera računa – (Eng.Invoice header) Unos sadrzaja za heder računa
Sardžaj futera računa – (Eng.Invoice footer) Unos sadrzaja za futer računa
Prikazi opcije za naručivanje samo na singularnim stranama POST-a ili PAGE-a – (Eng.Show add to cart only on single pages/posts) Ukoliko je ovo aktivirano opcije za kupovinu neće biti prikazane na starnicama kategorija, tagova itd… Bice prokazane samo ukoliko posetioc sajta gleda singularnu stranu POST-a ili PAGE-a koje imaju definisan proizvod.
Omogući plugin samo za korisnike sa sledećim IP adresama (testiranje) – (Eng.Enable plugin only for clients with following IP-s for testing by site administrator/tech support) Ova opcija namenjena je tehnički osposobljenim licima. Ostaviti ovo polje prazno ukoliko Vam nije drugačije naloženo. U polje mogu da se navedu IP adrese sa kojih korisnici mogu videti plugin na frontendu sajta.

Prevod

Šablon prevoda možete naći na putanji: :

/wp-content/plugins/wp_ipay/languages/wpipay.pot

Prevod na Srpsku latinicu se dobija uz dodatak i nalazi se na putanji:

/wp-content/plugins/wp_ipay/languages/wpipay-sr_RS.mo/wp-content/plugins/wp_ipay/languages/wpipay-sr_RS.po

Ukoliko Vam prevod ne odgovara ili pak hocete da iskoristite prevod da bi lako ubacili neke sadržaje možete promeniti .po i .mo fajlove vašom verzijom. Preporuka je da se koristi besplatan dodatak Loco Translate

wp prevod plugina

Možete prevesti i Engleski ukoliko vam je potrebna zamena podrazumevanih naziva.

Funkcije plugina

Sistemski linkovi

Plugin dodaje generičke linkve sajtu kako bi se obezbedile neophodne funkcije web shopa. Verovatno želite dodati stavke u meniju koje upuciju na korpu i plaćanje. Linkovi sistemskih strana su sledeći:

Pregled korpe
  <url vaseg sajta>/?p=wpipay-cart
  <url vaseg sajta>/wpipay-cart
Strana za naplatu
<url vaseg sajta>/?p=wpipay-checkout
<url vaseg sajta>/wpipay-checkout

Mini korpa

Plugin dodaje i opciju mini korpe. Mini korpa se ne vidi ukoliko nema ni jednog proizvoda u korpi. Takodje mini korpa se ne vidi na samoj strani korpe i unosa podataka kupca.
Možete promeniti vizuelni izgled i ponašanje mini korpe kroz CSS. CSS mini korpe je lociran u fajlu:
/wp-content/plugins/wp_ipay/assets/frontend.css

Mini korpa
Mini korpa

Mini korpa podržava funkcije promene količine i uklanjanja proizvoda. Prikazuje ukupan broj naručenih artikala i ukupnu cenu. Sadrži linkove do strane pregleda korpe i naručivanja.

Dodavanje proizvoda

Plugin daje mogucnost da se za POST ili PAGE objekat veže proizvod koji se moze kupiti.

Po aktivaciji plugina videcete da se u administraciji wordpress-a na stranama za editovanje POST-a ili PAGE-a nalaze opcije da se definise proizvod. Ukoliko čekirate opciju “Definiši proizvod” dobićete form za unos podataka o proizvodu.

Naziv proizvoda ukoliko proizvod na starni nije sam post ovde možete navesti naziv
Kontroliši stanje zaliha ukoliko se ovo omogući korisnik neće moći da naruči veću količinu od stanja na zalihama.
Količina veća od 1 ima smisla neki proizvodi/usluge nemaju smisao količine npr. članarina. Ukoliko je to slučaj nemojte čekirati ovo polje.

U opcijama proizvoda pojaviće se polje za unos stanja ukoliko je potreba za ovim poljem implicirana podešavanjima.

Cena u valuti ovde možete odabrati valutu za iskazane cene. Pri plaćanju se ovo konvertuje u valutu plaćanja.
Ima varijante Neki proizvodi imaju varijante. Npr. majca može biti veličina S, ML, XL, XXL … Kako bi bilo nezgodno da se za svaku definise zaseban proizvod imate opciju varijanti.

Svaka varijanta ima oznaku, cenu količinu i opciono šifru. Ukoliko proizvod ima varijante potrebno je da aktivirate ovu opciju kako bi mogli da ih definišete.

Kada ova opcija nije uključena podrazumevaće se da proizvod ima jednu osnovnu varijantu i opcije dodavanja varijante i kolone za unos oznake varijante se neće videti.

Kada proizvod ima više varijanti svaka od njih mora imati oznaku sa jedinstvenom vrednošću.

PDV % ovde se unosi iznos PDV-a za proizvod u procentima. Cena i prodajana cena su konačne
cene sa PDV-om.
Opcije ovde se mogu navesi dodatne opcije za proizvod. Npr. hamburger moze biti narućen sa majonezom, kećapom itd…
Opcije mogu imati i cenu koja je fiksna ili je procenat od cene proizvoda. Svaka od mogućih opcija se unosi po jednoj liniji u jednom od formata:

  • 100: Dodatni kikiriki – kada opcija košta +100 RSD
  • 10%: Dodatni kikiriki – kada opcija koša 10% od cene proizvoda
  • Dodatni kikiriki – kada opcija ništa ne košta
Kuponi ovde se mogu navesi kuponi za popust za određeni proizvod. Vrednost može biti u procentualnom ili fiksnom iznosu. Npr.:

  • 100: BFRIDAY2021 – kupon daje popust od 100 RSD
  • 10%: BFRIDAY2021 – kupon daje popust od 10% od cene proizvoda
Dodavanje proizvoda
Dodavanje proizvoda

Ukoliko je plugin omogućen na frontend-u pojavice se opcije za kupovinu proizvoda kao na slici:

Dodavanje proizvoda

Izgled i opcije zavise od opcija kaje ste uneli u definiciji proizvoda. Npr. ako niste uneli kupone neće se videti polje za unos kupona. Ukoliko proizvod nema količinu neće postojati polje za unos količine za naručivanje.

Plugin za sve kupovine pravi Order objekte cije se pregled i izmena moze vrsiti u administraciji.

Narudžbine – Upravljanje

Svako naručivanja preko frontenda kreira referentnu narudzbinu.
Listi narudzbina se pristupa iz bekend-a kroz WP iPay -> Narudzbine.
Narudzbina se kreira neposredno pre plaćanja pa će se kreirati narudzbina čak i kada plaćanje ne uspe.
Kupcu obavezno posle bilo kakve platne transakcije mora stići e-mail notifikacija sa detaljima transakcije. Takodje detalji transakcije mu moraju biti prezentovani ukoliko je platna transakcija inicirana sa njegove strane.

Narudzbina se moze imati jedan od sledecih statusa:

  • U pripremi
  • Otkazano
  • Spremno za kompletiranje
  • Kompletirano

narudžbine-upravljanje

Nova naruđbina se može kreirati iz backend-a. Moze se napraviti faktura i poslati klijentu na plaćanje.

Faktura u sebi sadrzi link i QR kod preko kojih klijent može otići direktno na stranu za plaćanje fakture. Ukoliko imate COF opciju i prethodnu saglasnost klijenta za COF naplate možete odmah izvršit naplatu.Na vrhu se nalaze opcije za pokretanje platnik transakcija koje je moguće izvršiti nad naruđbinom. Takodje tu su opcije za štampu/PDF export fakture i računa.

Opcije se ne vide ukoliko ih nije moguće izvršiti u tom trenuktu. Npr. opcija za izvršenje VOID(Otkazivanje) transakcije će postojati samo ukoliko je pre toga izvršena uspešna transakcija proste prodaje ili pre-autorizacija.

Opcija za COF naplatu Naplati postojaće samo ukoliko trgovac ima mogućnost COF naplate i ukoliko pre toga nije postojala uspešna naplata.

Kada se koristi Pre-Autorizacija (Rezervacija) i uspešno se obavi ovde će se pojaviti opcija za Post-autorizaciju koju je potrebno pokrenuti da bi rezervisan novac prebacili sa kartice klijenta na račun trgovca.

Napomena: operacija povraćaja novca se mora vršiti sa Virtuelnog treminala
(VT-a).

ipay-narudzbine-kompletirane

Kada je narudzbina u kompletiranom statusu opcije za izmenu stavki su onemogućene.

Stavke na ovoj formi se mogu unositi potpuno proizvoljno i nije nepohodno da imate definisan proizvod da bi postavili to kao stavku narudzbine. Auto-suggest opcija nudi će da odaberete proizvode koje ste definisali. Ukoliko to uradite podaci će biti preuzeti iz definicije proizvoda ali takođe možete da ih potpuno promenite po potrebi.

Opcije u stavkama imaju informativnu ulogu i unosi iznosa neće uticati na cenu. Cena ce isključivo biti ona koju navedete u koloni “Prodajna cena” x količina.

Na dnu forme mogu se videti logovi svih izvršenih transakcija.

PLUGIN API / AUTOMATIZACIJA

Plugin dodaje akcije sajtu koje se mogu koristiti za automatizaciju naplate i durge specifične implementacije. Akcije:

wpipay_has_payment_contract

Ima 1 argument, ID user naloga. Vraca true ili false u zavisnosti od toga da li je korisnik dao
saglasnost za COF naplatu. Ukoliko se prosledi null kao argument uzima podatke trenutnog
korisnika.

wpipay_clear_payment_contract

Ima 1 argument, ID user naloga. Brise saglasnost za COF naplatu za korisnika čiji je ID dat kao
argument. Ukoliko se prosledi null kao argument menja podatke trenutnog korisnika.

wpipay_create_order

Kreira i vraća wpipay order objekat nad kojim se može izvršiti naplata. Ima 7 argumenata:

$order_number obavezno Broj narudžbine
$email obavezno Email kupca
$items obavezno Stavke narudzbine. Niz asocijativnih nizova sa podacima:

array(
                            array(
                            “product_id” =>
                            “ID post/page za kog je vezan proiyvod. Moze biti null”,
                            “title” =>
                            “naziv stavke”,
                            “variant” =>
                            “naziv varijante,
                            ako proizvod nema varijante onda prazan string”,
                            “options” =>
                            “opcije informativno.
                            Ukoliko ih ima vise odvojiti sa \n”,
                            “currency” =>
                            “oznaka valute u kojoj je iskazana cena RSD,EUR...”,
                            “item_price”  =>
                            “konacna cena sa PDV-om za kolicinu 1”
                            “quantity” =>
                            “kolicina”,
                            “_product_tax” =>
                            “PDV u %”
                            )
                            ,...
                            )
$billing obavezno
array(
                            "full_name" => "puno ime" ,
                            "country"   => "zemlja",
                            "city"      => "grad",
                            "zip"       => "poštanski broj",
                            "address"   => "naziv ulice i br.",
                            "phone"     => "telefon",
                            "company_name" => "nazif firme",
                            "company_id"   => "pib",
                            "note"      => "napomena za placanje"
                            )
                            
$shipping Može biti null
array(
                            "full_name" => "puno ime" ,
                            "country"   => "zemlja",
                            "city"      => "grad",
                            "zip"       => "poštanski broj",
                            "address"   => "naziv ulice i br.",
                            "phone"     => "telefon",
                            "note"      => "napomena za isporuku"
                            )
                            
$note Može biti null Napomena za narudzbinu
$user_id Može biti null ID user naloga kupca

wpipay_run_transaction

Izvrasava platne pozadinske platne transakcije (one za koje nije neophodna prisutnost kupca).
Ima 2 argumenta. Identifikator platne transakcije i ID wpipay order objekta.

Identifikatori platnih transakcija (string):

void VOID transakcija (ukoliko je prethodno izvšena prodaja ili rezervacija koje nisu
preko COF-a)
postauth Post-Autorizacija (ukoliko je prethodno izvšena preutorizacija)
cofvoid VOID transakcija (ukoliko je prethodno izvšena prodaja preko COF-a)
cofcharge VOID transakcija (COF-a naplata)

wpipay_invoice_url

Vraća link do strane računa. Ima 1 agrument: ID wpipay order objekta.

wpipay_bill_url

Vraća link do strane fakture. Ima 1 agrument: ID wpipay order objekta.

wpipay_make_qr_image_data

Pravi base64 podatke za PNG sliku. Ima 1 argument – link iz koga se pavi QR. QR Slika se moze iscrtati ovom primerom koda:

<img src=”<?php echo do_action(‘wpipay_make_qr_image_data’, $link_do_necega); ?>” alt=”” />

Tehnički problemi

Da bi plugin mogao da funkcioniše neophodno je da Vaš web-server zadovoljava sledeće uslove:

  • Ima instaliranu CURL biblioteku
  • Ima instalirane PHP-CURL, PHP-GD, PHP MB-STRING biblioteke
  • Sam server može pristupati sadržaju sa interneta (ima potrebna internet podešavanja i nije
    namerno blokiran odlazni port 80/443).

Plugin koristi stil, skriptove i HTML koje rade u najvećem broju slučajeva. Boje su neutralne i trebalo bi da se izgled uklopi u Vaš sajt. Ukoliko je vaš sajt specifičan možda će biti neophodno da se neki stilovi ili skriptovi promene. Neophodna je intervencija tehnički obučenog lica u ovom slucaju. Svi objekti su propisno markirani css klasama.

Za normalan rad plugina potebno je da wordpress sajt može slati mailove. Zbog sigurnosnih mera koje administratori i hosting provajderi preduzimaju globalno WordPress sajovi često ne mogu da šalju mailove sa podrazumevanim podešavanjima. Rečenje ja da nađete neki plugin koji vam daje mogućnost da navedete SMTP podešavanja npr:
https://wordpress.org/plugins/wp-smtp/