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”)
Ekran za upload dodataka
Lista instaliranih dodataka
Po instalaciji plugina neophodno je izvršiti podešavanja.
Podešavanja
- Idite na Plugins (“Dodaci”) , pa klik na Setup (“Postavke”) u stavki “iPay plaćanja za WordPress”
- WP iPay/Podešavanja
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. |
“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: |
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
/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
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 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:
|
Kuponi | ovde se mogu navesi kuponi za popust za određeni proizvod. Vrednost može biti u procentualnom ili fiksnom iznosu. Npr.:
|
Ukoliko je plugin omogućen na frontend-u pojavice se opcije za kupovinu proizvoda kao na slici:
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
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).
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 |
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
- 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).
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/