Nedavno sam za klijenta radio web stranicu koja je kao sastavni dio imala web trgovinu. Nije se radilo o klasičnim “fizičkim” artiklima, već o edukativnim tečajevima. Naplata članarina bi se vršila uplatom na bankovni račun a kako dodatna opcija u obzir je došao PayPal, kao najfleksibilnija opcija online naplate. Valuta trgovine je hrvatska kuna. Problem se pojavio u trenutku kad je trebalo aktivirati PayPal kao način plaćanja. Naime, hrvatska kuna (HRK) ne spada u jednu od podržanih valuta.
Koje valute podržava PayPal provjerite na ovom linku.
Kako istovremeno koristiti HRK kao valutu trgovine i PayPal (iznosi u Eurima)?
Pod pretpostavkom da ste u postavkama trgovine WooCommerce -> Postavke -> Općenito u opcijama valuta postavili “Hrvatska kuna (Kn)”, po defaultu su u metodama plaćanja aktivirane opcije “Direktna bankovna transakcija” i “Plaćanje čekom”.
Ako biste željeli aktivirati PayPal gateway kao dodatnu opciju naplate, vidjet ćete poruku “Sustav onemogućen: PayPal ne podržava valutu vaše trgovine”.
Ono što moramo učiniti jest dodavanje koda kojim kažemo WooCommerceu da je HRK podržana valuta od strane PayPala. Nakon toga ćemo pretvoriti iznos iz HRK u EUR te taj podatak poslati prema PayPal gatewayu.
U ovom slučaju ćemo kao stopu konverzije zadati fiksnu vrijednost (7.6).
EDIT 15-04-2016: dodana opcija konverzije poreza + testirano na WP 4.5 & WC 2.5.5
EDIT 23-06-2016: dodana opcija konverzije cijene dostave (usklađeno s novim Zonama dostave od WC verzije 2.6) + testirano na WordPress 4.5.3 & WooCommerce 2.6.1
/* WooCommerce, please, prihvati HRK kao valutu podržanu od strane PayPala.*/ add_filter( 'woocommerce_paypal_supported_currencies', 'mx_add_hrk_paypal_valid_currency' ); function mx_add_hrk_paypal_valid_currency( $currencies ) { array_push ( $currencies , 'HRK' ); return $currencies; } /* WooCommerce, pretty please, konvertiraj iznos iz HRK u EUR */ add_filter('woocommerce_paypal_args', 'mx_convert_hrk_to_eur'); function mx_convert_hrk_to_eur($paypal_args){ if ( $paypal_args['currency_code'] == 'HRK'){ $convert_rate = 7.5; //set the converting rate $paypal_args['currency_code'] = 'EUR'; //change HRK to EUR $i = 1; while (isset($paypal_args['amount_' . $i])) { $paypal_args['amount_' . $i] = round( $paypal_args['amount_' . $i] / $convert_rate, 2); ++$i; } if ( $paypal_args['discount_amount_cart'] > 0 ) { $paypal_args['discount_amount_cart'] = round( $paypal_args['discount_amount_cart'] / $convert_rate, 2); } if ( $paypal_args['tax_cart'] > 0 ) { $paypal_args['tax_cart'] = round( $paypal_args['tax_cart'] / $convert_rate, 2); } if ( $paypal_args['shipping_1'] > 0 ) { $paypal_args['shipping_1'] = round( $paypal_args['shipping_1'] / $convert_rate, 2); } } return $paypal_args; }
Gore navedeni kod treba zalijepiti u functions.php datoteku (po mogućnosti) child teme. Na taj način nećete izgubiti novu funkcionalnost ukoliko nadogradite temu. Sada u kartici WooCommerce -> Postavke -> Naplata u metodama plaćanja osim opcija “Direktna bankovna transakcija” i “Plaćanje čekom” imate aktiviranu opciju “PayPal”.
Klikom na gumb Postavke moći ćete upisati sve potrebne stavke PayPal-a, uključujući API identifikacijske podatke.
U jednom od slijedećih članaka ću napisati kako konverziju iz HRK u EUR obaviti korištenjem online pretvarača (Google converter) valuta te na taj način dinamički mijenjati konačni iznos upućen prema PayPalu.
MX Woocommerce HRK currency + PayPal
Alternativno, možete skinuti plugin koji sam kreirao za ovaj članak a omogućuje vam gore navedene funkcionalnosti. Downloadajte ga, instalirajte ga kao svaki drugi plugin (upload zip datoteke) i aktivirajte
Plugin za istovremeno korištenje HRK kao valute trgovine i PayPal gatewaya.
NAPOMENA: testirano na WordPressu 4.5.3, WooCommerce inačica 2.6.1, koristeći Storefront temu.
Bravo za članak, sjajno dokumentovano, i retko koji bloger daje kodove! Prava baza znanja. Pozdrav iz Srbije
Izuzetno koristan tekst, svaka čast i puno hvala.
Hvala puno! Ovo je velika pomoć!
Odlican plugin, pomogao mi je stavrno jako puno.
Takodjer me interesira da li je moguće ovako nesto napraviti sa 2Checkout pluginom posto mi jako puno odbija kartica dok je shop u kunama? ili neki savjet neki drugi gateway.
Unaprijed Hvala
Bravo majstore..
Instaliral u WP i radi ko beba! palac gore..
Bok, ovo je odlična stvar. Da li ovo funkcionira s zadnjim verzijma WP i WOO?
Hvala.
Bok Darko,
na nekoliko shopova koje sam radio a koje pokreće WP 4.7.4 I Woo 3.0.x radi kako je predviđeno, bez problema. Javi ako naletiš na neki issue.
Pozdrav
Radim na web stranici isto je potrebno i za naše KM-ove, uz malu modifikaciju odlično radi i u Bosni 😀
Hvala na kodu legendo…
WordPress 4.8.
Woocommerce 3.0.1.
Pozdrav iz Sarajeva
Pozdrav,
nekako ne ide ovaj plugin?! Sta radim krivo:
“Raspakiravanje paketa…
Instaliranje dodatka…
Paket nije moguće instalirati. Nije pronađen nijedan ispravan dodatak.
Instalacija dodatka nije uspjela.”
Bok,
do greške dolazi jer plugin nije pravilno zazipan. Hvala na dojavi 😉 Popravio sam datoteku. Molim te, pobriši file koji si skinuo i downloadaj ponovo. Javi kako je prošlo. Hvala!
Opet ja…
Kod mene opcija Paypal ide. Kod Paypal express ne ide?
Ovaj plugin je kompatibilan samo s defaultnom PayPal Standard opcijom plaćanja.
Hvala!
Hvala trudu. Radi sada sve!
P.S.: minimalna korekcija mozda, u wordpressu pod pluginovi pise da je verzija 1.1, a ne kao ovdje 1.2
Pozdrav da li ima kakav plugin za BiH KM
Kako to funkcionira kad se valuta mjenja svaki dan? Mora se stalno osobno mijenjati?
Nora, u ovoj verziji plugina definiran je fiksni iznos za konverziju (7.6).
Kako bi se, zbog oscilacija u tečaju, konverzija odvijala točnije kreirao sam plugin koji odrađuje konverziju sukladno službenom tečaju HNB-a.
Check https://media-x.hr/woocommerce-hrk-kao-valuta-trgovine-paypal-hnb/
Lp
hvala na pluginu. super izgleda jedino imam jedan problem.
kod konverzije u paypal iz nekog razloga mi paypal prije samog plaćanja podigne cijeli iznos za nekih 11%
konkretno proizvod mi košta 35kn a kada mi otvori naplatu u paypal-u dobijem 4.99eura i
38,81 HRK PayPal rate: 1,00 HRK = 0,128578558 EUR
ne znam gdje mi se stvori ova razlika. Ako imate kakvo dobro rješenje bio bih zahvalan.
Hvala.
Ovaj smo “problem” rješili u FB grupi WooCommerce Hrvatska ali ću ga ipak opisati i ovdje. Naime, Filip je u svom PP accountu imao uključeno dodatno obračunavanje poreza pa je zbog toga dolazilo do razlike u iznosima za naplatu.

Da li bi ovaj kod radio i za bosanske KM-e ako se ubace izmjene (umjesto HR da ide BAM)?
Ili ako znate kako da riješim problem povezivanja PayPala i WordPress stranice.
Hvala
Dejane, s obzirom da HNB podržava BAM kao valutu, uz sitne izmjene bi se moglo koristiti i za BiH shop.
Kod radi super (plugin nisam probao),
samo zbog ispravnijih podataka sam zamjenio liniju:
$convert_rate = 7.5;
sa
$api_url = ‘http://api.hnb.hr/tecajn/v2?valuta=USD’;
$json_data = file_get_contents($api_url);
$response_data = json_decode($json_data);
$value_hnb = floatval(str_replace(‘,’, ‘.’, $response_data[0]->srednji_tecaj));
$convert_rate = $value_hnb;
Dražene, hvala ti na komentaru. Inače, ovo je inicijalna verzija plugina koja je koristila fiksni iznos za konverziju. Naknadno sam napravio plugin https://media-x.hr/woocommerce-hrk-kao-valuta-trgovine-paypal-hnb/ koji koristi službeni tečaj HNB-a. Tada sam koristio HNB Exchange Rate Lookup API (ekipa iz Good Code-a). Imam negdje i apdejtanu verziju koja se kači direktno na HNB API ali nikako da ulovim vremena ažurirati blog post/kod. Lp
Bok, Znate li kako mogu napraviti PayPal checkout getaway na svojoj web stranici? Koristim vaš code za PayPal standar i radi savršeno.
Hvala!!