Erämaksulaskuri (Part payment widget)
Verkkokaupan sivuille lisättävällä erämaksulaskurilla ostaja voi kätevästi vertailla erilaisia maksusuunnitelmia, ja voit näyttää tuotesivulla alkaen-hinnan. Voit myös lisätä erämaksulaskurin ostoskoriin, jolloin ostaja voi suunnitella maksuaikataulua etukäteen ennen maksamiseen siirtymistä.
Palveluun kuuluva erämaksulaskuri tekee asiakkaalle sopivan maksusuunnitelman löytämisestä helppoa ja voi auttaa ostopäätöksen tekemisessä sekä kasvattaa keskiostosta, kun asiakkaasi saa joustavasti maksuaikaa hankinnoilleen.
Erämaksulaskurin voi luoda kahdella vaihtoehtoisella tavalla: joko Extranetin Materiaalit-välilehdellä tai voit luoda scriptin tältä sivulta löytyvän ohjeen mukaan. Alla ohjeistetaan molemmat tavat.
Erämaksulaskurin luominen Extranetissä
Voit generoida haluamasi näköisen erämaksulaskurin Extranetissä määrittelemällä laskurin ominaisuudet ja sen jälkeen kopioimalla scriptin verkkokaupan sivuille. Erämaksulaskuri hakee verkkokaupan palvelun tiedot kauppiastunnuksella rajapinnasta ja näyttää mm. kyseiselle palvelulle aktivoidut kampanjat. Uudessa Extranetissä Materiaalit-välilehdellä voi erämaksulaskurin asetuksissa määritellä mm. värit, laskurin tyylin, tekstejä ja oletusmaksuajan.
Erämaksulaskuri luo ja päivittää scriptiä tekemiesi määrittelyjen mukaisesti ja näyttää sivulla koko ajan erämaksulaskurin esikatselun.
Asetukset
Erämaksulaskurin asetuksissa voit määritellä, haluatko erämaksulaskurista kokonaisen vai mini-version. Voit myös asettaa hinnan esimerkinomaisesti. Varsinainen tuotteen hinta välitetään verkkokaupasta data-price parametrina, tai hinta-kentän voi jättää tyhjäksi. Lue lisää tästä: Erämaksulaskuri (Part payment widget) | Tuotteen hinta erämaksulaskurissa
Voit halutessasi asettaa myös oletusmaksuajalle hintarajoja. Tämä tarkoittaa sitä, minkä maksuajan laskuri näyttää oletuksena tietyille hinnoille. Esimerkiksi tässä 50 euron ja yli tuotteille näytetään oletuksena 3 kuukauden maksuaika, 500 euron ja yli tuotteille näytetään oletuksena 6 kuukauden maksuaika ja 1500 euron ja yli tuotteille näytetään oletuksena 24 kuukauden maksuaika:
Mikäli et aseta hintarajoja, näyttää erämaksulaskuri oletuksena aina pisimmän maksuajan eli alkaen-hinnan.
Ulkoasu
Ulkoasu-parametreilla voit asettaa laskuriin haluamasi värit ja reunaviivan tyylin:
Tekstit
Lisäksi voit määritellä erämaksulaskurissa näytettävät tekstit erilaisissa tilanteissa.
Aluksi voit määritellä erämaksulaskurin kielen. Vaihtoehdot ovat suomi, ruotsi ja englanti. Voit luoda vaikka useamman laskurin eri kielillä, jos tarpeen.
Seuraavissa kohdissa voit määritellä ns. fallback-tekstit eri kielillä. Tämä teksti näytetään, jos esimerkiksi tuotteen hinta ei osu erämaksulle määriteltyjen minimi- ja maksimirajojen sisään, eikä laskuria voida näyttää.
Voit myös määritellä kampanjatekstit eri kielillä. Tämä on teksti, joka näytetään erämaksulaskurin yläosassa
HTML-script verkkokaupan sivuille
Kun olet tehnyt haluamasi määrittelyt erämaksulaskurille, tuloksena syntyy HTML-script jonka voit kopioida ja käyttää verkkokaupan sivuilla. Näet esikatselun sivulla koko ajan, joten voit tarvittaessa muokata ja kokeilla erilaisia asetuksia ja määrittelyjä. Esimerkiksi:
Tuotteen hinta erämaksulaskurissa
Tuotteen hinta, tai ostoskorin hinta jos laskuria käytetään kassalla/ostoskorissa, tulee välittää verkkokaupasta data-price parametrina, tai vaihtoehtoisesti data-price kentän voi jättää tyhjäksi, jolloin käyttäjä voi itse täyttää laskuriin haluamansa summan ja esimerkiksi vertailla maksusuunnitelmia erilaisille summille. Tällöin laskurissa on hinnan sijaan syöttökenttä, johon käyttäjä voi syöttää haluamansa summan.
Javascriptin avulla laskurin summaa voi myös päivittää mikäli käyttäjä muuttaa tuotesivulla tuotteiden kappalemäärää ja haluaa nähdä maksusuunnitelmat niiden yhteissummalle, tai jos käytät laskuria ostoskorissa ja ostoskorin summa muuttuu.
Hinta- ja maksusuunnitelmalaskelmat voidaan päivittää ohjelmallisesti lähettämällä javascript-tapahtuma "svea-partpayment-calculator-update-price"
, jonka detail
ominaisuuteen on lisätty price
arvo.
Esimerkki:document.dispatchEvent(new CustomEvent("svea-partpayment-calculator-update-price", { "detail": { "price": "123.45" } }));
Erämaksulaskurin scriptin luominen
Jos et luo erämaksulaskurin “pohjaa” Extranetissä, niin voit halutessasi käyttää alla olevaa ohjetta erämaksulaskurin luomiseen.
Scriptiin voi määritellä seuraavat arvot (punaiset ovat pakollisia, vihreät vaihtoehtoisia), arvojen tulee olla lainausmerkeissä:
src= host-osoite:
"https://payments.maksuturva.fi/tools/partpayment/partPayment.js"
class=
"svea-pp-widget-part-payment"
data-sellerid= ko. verkkokaupan Svea Payments -palvelun seller id
data-layout= voit määritellä käytettäväksi laskurin miniversion, joka näyttää tarvittavat tiedot pienemmässä tilassa, mutta ei ole brändättävissä omilla väreillä. Jos haluat käyttää miniversiota, aseta tähän arvo
"mini"
.data-price= tuotteen hinta, joka välitetään laskuriin kaupasta.
Kentän voi jättää myös tyhjäksi, eli tämä arvo ei ole pakollinen - jos arvoa ei ole annettu, laskuri näyttää hinnan syöttökentän, johon käyttäjä voi syöttää haluamansa summan ja vertailla sille maksuaikoja.
data-locale= laskurin kieli, vaihtoehdot
"fi"
(suomi) /"sv"
(ruotsi) /"en"
(englanti)data-country= muuttaa laskurin valuuttaa ja osoitetta, vaihtoehdot
"SE"
(ruotsi) /"NO"
(norja).data-border-radius= reunaviivan paksuus pikseleinä, esim.
"12px"
data-active-color= aktiivisen tekstin väri HEX-värikoodina, esim.
"#00AECE"
data-text-color= tekstin väri HEX-värikoodina, esim.
"#212121"
data-highlight-color= korostusväri HEX-värikoodina, esim.
"#002C50"
data-border-color= reunaviivan väri HEX-värikoodina, esim.
"#DEE1EC"
data-campaign-text-fi= kampanjateksti suomeksi, joka näkyy laskurin yläreunassa.
Muut kielivaihtoehdot ovat data-campaign-text-sv (ruotsi) / data-campaign-text-en (englanti)
data-fallback-text-fi= teksti, joka näkyy virhetilanteessa.
Muut kielivaihtoehdot ovat data-fallback-text-sv (ruotsi) / data-fallback-text-en (englanti)
data-threshold-prices= voit määritellä, mikä maksuaika/kampanja näytetään oletusarvoisesti eri hinnoilla.
Esimerkiksi asetus
"[[500, 6], [1000, 12], [1500, 24]]"
tarkoittaa, että yli 500 euron tuotteilla näytetään oletusarvoisesti 6 kk maksuaika, yli 1000 euron tuotteilla 12 kk maksuaika, yli 1500 euron tuotteilla 24 kk maksuaika.Jos haluat että yllä esimerkissä olevat oletusmaksuajat näytetään esimerkiksi 500 euron ja sen yli menevillä tuotteilla, 1000 euron ja sen yli menevillä tuotteilla sekä 1500 euron ja sen yli menevillä tuotteilla, tulee hinnat määritellä näin (euron pienemmiksi):
"[[499, 6], [999, 12], [1499, 24]]"
data-maksuturva-host= määrittää mistä osoitteesta haetaan erämaksu suunnitelmat. Tuotanossa ei pakollinen, mutta testiympäristössä tarpeellinen (
"https://test1.maksuturva.fi"
).
Esimerkki, korvaa arvot sopivilla (väriarvoja voidaan käyttää sellaisenaan, jos verkkokauppa ei halua käyttää omia värejä):
<script
src="https://payments.maksuturva.fi/tools/partpayment/partPayment.js"
class="svea-pp-widget-part-payment"
data-sellerid="<insertsellerid>"
data-layout="mini"
data-price="<priceparameterfromstore>"
data-threshold-prices="[[price, month]]"
data-active-color="#00AECE"
data-text-color="#00325C"
data-highlight-color="#00325C"
data-border-color="#CCEEF5"
data-border-radius="4"
data-locale="fi"
data-fallback-text-fi="<inserttext>"
data-campaign-text-fi="<inserttext>"
></script>
API
Rekisteröi ylä-tason vakio SveaPartPayment.
Käytettävissä olevat metodit:
initializeWidgets(onSuccess): Alustaa widgetit uudelleen, esimerkiksi uuden sisällön lataamisen jälkeen AJAXin avulla. Ottaa vastaan palautefunktion, joka kutsutaan, kun kaikki widgetit on alustettu.
Rakenna dynaamisesti erämaksulaskurin scripti
Tilanteissa, joissa hintaa ei ole saatavilla API:sta tai taustajärjestelmästä (esimerkiksi Shopify).
Käyttää JavaScriptiä luomaan ja lisäämään mukautetun <script> -elementin erämaksulaskurille DOM:iin.
Hakee hinnan meta-ominaisuudesta (tässä esimerkissä:
<meta property="og:price:amount" content="...">
). Hinnan voi myös hakea mistä tahansa muusta HTML-elementistä - mukauta vainvar price_selector = document.querySelector(...);
-funktiokutsua osoittamaan oikeaan elementtiin.Hakee määrän kentästä (tässä esimerkissä:
<input name="quantity" type="number" value="...">
). Määrän voi myös hakea mistä tahansa muusta HTML-elementistä - mukauta vainvar qty_selector = document.querySelector(...);
-funktiokutsua osoittamaan oikeaan elementtiin. Lisäksi lisätään tapahtumakuuntelija muutoksille määräkenttään, jotta hinta lasketaan uudelleen määrän muuttuessa.Erämaksulaskurin skripti voidaan lisätä mihin tahansa osaan DOM:ia / näyttää missä tahansa HTML-sivulla. Katso // Section 3 - Insert Part Payment Calculator -osio lähdekoodista esimerkkiä varten. Tämä esimerkki lisää sen "
product-form
"-elementin jälkeen.
KÄYTTÖ:
Lisää lähdekoodista <!-- // Part Payment Calculator - create element - BEGIN --> ja <!-- // Part Payment Calculator - create element - END --> -välille kenttään, johon voit lisätä raakaa HTML-koodia - esimerkiksi tuotteen kuvauskenttään Shopifyssa.
Mukauta
var price_selector = document.querySelector(...);
-funktiokutsua osoittamaan hintaelementtiin. Varmista, että haettu hintatieto sisältää vain numeroita (ilman valuuttasymboleja tai muita merkkejä).Jos määrä on käytössä, mukauta
var qty_selector = document.querySelector(...);
-funktiokutsua osoittamaan määräkenttään.Mukauta // Section 3 - Insert Part Payment Calculator -osio lisäämään erämaksulaskurin skripti oikeaan kohtaan sivulla.
Example of Dynamically constructing Part Payment Calculator script for a product in Shopify
<!-- // Part Payment Calculator - create element - BEGIN -->
<script>
// Section 1 - Selectors to get: price (from the meta property in the page source)
// quantity (from a field)
var price_selector = document.querySelector('meta[property="og:price:amount"]').content;
var qty_selector = document.querySelector('[name="quantity"]');
// Change event listener to calculate total price when quantity is changed
if (qty_selector) {
qty_selector.addEventListener("change", (e) => {
var pp_price = "" + calculatePPTotalPrice();
document.dispatchEvent(new CustomEvent("svea-partpayment-calculator-update-price", { "detail": { "price": pp_price } }));
}, false);
}
function calculatePPTotalPrice() {
var pp_price = price_selector;
pp_price = parseFloat(preformatFloat(pp_price));
// If quantity exists, multiply price with it
if (qty_selector) {
var pp_qty = qty_selector.value;
if (pp_qty)
pp_price = parseFloat(pp_price * preformatFloat(pp_qty));
}
return pp_price;
}
function preformatFloat(e){if(!e)return"";let r=e.indexOf(",");if(-1===r)return e;let t=e.indexOf(".");return -1===t?e.replace(/\,/g,"."):r<t?e.replace(/\,/g,""):e.replace(/\./g,"").replace(",",".")}
function generatePPCalculator() {
var pp_price = calculatePPTotalPrice();
// Section 2 - create Part Payment Calculator Script
const sppScript = document.createElement("script");
sppScript.src = "https://payments.maksuturva.fi/tools/partpayment/partPayment.js";
sppScript.setAttribute('class', 'svea-pp-widget-part-payment');
sppScript.setAttribute('data-sellerid', '<instertsellerid>');
sppScript.setAttribute('data-price', pp_price);
sppScript.setAttribute('data-locale', 'fi');
//sppScript.setAttribute('async', '');
sppScript.onload = () => {
document.dispatchEvent(new CustomEvent("svea-partpayment-calculator"));
};
// Section 3 - Insert Part Payment Calculator - after product-form & before description
var insertElement = document.getElementsByClassName("product-form")[0];
insertElement.parentNode.append(sppScript);
}
window.onload = generatePPCalculator();
</script>
<!-- // Part Payment Calculator - create element - END -->