Bonusway-koodin lisääminen

Tarvittavat ohjelmistot

Tässä työssä tarvitaan

  • verkkoselain (esim. Edge)
  • yksinkertainen tekstieditori (esim. Notepad++)
  • FTP-ohjelma (esim. Filezilla)

Toteutusohjeet (vaihe 1)

  • Kirjaudu verkkokaupan hallintaliittymään (demo).
  • Klikkaa ylhäältä asetukset / koodit ja ulkoasu.
  • Klikkaa Lisää uusi -painiketta.
  • Valitse tyypiksi "HTML5/JavaScript".
  • Syötä nimeksi "Bonusway" tai mitä tahansa.
  • Valitse Sivu-kohdasta "Kiitos tilauksesta / maksuun siirtyminen".
  • Valitse Sijainti-kohdasta "Verkkokaupassa </body> ennen".
  • Lisää Koodi-kohtaan:
    <div id="csx4_bonusway_oma"></div>
    <script>
    if (document.getElementById('csx4_connections_order_id') && document.getElementById('csx4_connections_order_id').value) {
    	$csx4_bonusway_order_id = document.getElementById('csx4_connections_order_id').value;
    	if ($csx4_bonusway_order_id.match(/^[0-9]+$/)) {
    		var $xhr1 = "$xhr1_trdtrc";
    		var $xhr1 = new XMLHttpRequest();
    		var $nocache = Math.random();
    		$xhr1.open("POST", "bonusway_oma.php", true);
    		$xhr1.onreadystatechange = function () {
    			if ($xhr1.readyState == 4 && $xhr1.status == 200) {
    				if (document.getElementById('csx4_bonusway_oma')) document.getElementById('csx4_bonusway_oma').innerHTML=$xhr1.responseText;
    			}
    		}
    		$xhr1.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=UTF-8");
    		var $query = "nocache=" + $nocache + "";		
    		$query += "&csx4_bonusway_order_id=" + $csx4_bonusway_order_id + "";
    		$xhr1.send($query);
    	}	
    }
    </script>
    
  • Klikkaa Tallenna-painiketta.

Toteutusohjeet (vaihe 2)

Luo omalle tietokoneellesi bonusway_oma.php -niminen tekstitiedosto ja siirrä se FTP-ohjelmalla kotisivutilan kansioon, jossa thank_you.php -tiedosto sijaitsee. Tiedoston sisällön on oltava seuraavanlainen lukuun ottamatta iframe-rivillä olevaa www-osoitetta ja sen offer_id-parametria, jotka sinun on päivitettävä oikeiksi. Saat selville oikeat tiedot Bonuswayn hallintapaneelista.

<?php

/* 	-----------------------------------------------------UTF-8---❤-----
	sec/bonusway_oma.php (model example)

	Clover Shop(r) X4
	Copyright (c) 2013- Clover Shop Oy. All rights reserved.

	This is commercial software. Unauthorized use, reproduction,
	reverse engineering and/or distribution is strictly prohibited.

	For more information, please visit http://www.clovershop.com
	--------------------------------------------------------------------
	*/


	
// Estetään väärät pyynnöt karkeasti

if (!$_POST && preg_match ("/\/bonusway_oma\.php/", $_SERVER['PHP_SELF'])) {

	error_reporting (0);
	exit;

}



// Säädetään virheilmoitusherkkyyttä

error_reporting (0);



// Luetaan asetukset

include "config/config_inc.php";



// Avataan MySQL-yhteys

$mysql_link = @mysqli_connect ($config['mysql5_server'], $config['mysql5_readwrite_username'], $config['mysql5_readwrite_password'], $config['mysql5_database']);
if (!$mysql_link) {
	echo "Tietokantayhteys ei toimi, MySQL-virhe: ". mysqli_connect_error();
	exit;
}

if (version_compare (PHP_VERSION, "5.2.3", ">=")) {
	mysqli_set_charset ($mysql_link, "utf8");
} else {
	mysqli_query ($mysql_link, "SET NAMES 'utf8'");
}



// Näytetään tilaustiedot ja merkitään ne luetuksi
// Turvallisuusratkaisuna on
// - tilauksen id-numeron tarkistaminen
// - IP-osoitteen tarkistaminen
// - lukumerkintä ja toiston esto
// - kymmenen sekunnin aikaikkuna
// Turvallisuustaso ei vastaa Clover Shopin tasoa, mutta on käytännössä riittävä

if ($_POST['csx4_bonusway_order_id'] && preg_match ("/^[0-9]+$/", $_POST['csx4_bonusway_order_id'])) {

	$result = mysqli_query ($mysql_link, "SELECT cs_order_grand_total, cs_order_number, cs_order_log, cs_order_datetime FROM csx4_orders WHERE cs_order_id='". mysqli_real_escape_string ($mysql_link, $_POST['csx4_bonusway_order_id']) ."' LIMIT 1");
	
	if (is_object ($result) && mysqli_num_rows ($result)) {
		
		$s = mysqli_fetch_array ($result);
		
		
		
		// Tarkistetaan aikaikkunaan osuminen, IP-osoite ja lukumerkintä (toiston esto)
	
		if (
		strtotime (date ("d.m.Y \k\l\o H:i:s")) > strtotime ("+10 seconds", strtotime ($s['cs_order_datetime'])) || 
		!preg_match ("/". str_replace (".", "\.", $_SERVER['REMOTE_ADDR']) ."/", $s['cs_order_log']) || 
		preg_match ("/BW luettu/", $s['cs_order_log'])
		) {		
			mysqli_close ($mysql_link);
			exit;	
		}
		
		
		
		// Näytetään "pikseli"
		
		echo "<iframe src=\"https://tracking.bonusway.com/aff_l?offer_id=123456789&adv_sub=". $s['cs_order_number'] ."&amount=". number_format ($s['cs_order_grand_total'], 2, ".", "") ."\" scrolling=\"no\" frameborder=\"0\" width=\"1\" height=\"1\"></iframe>";

		
		
		// Kirjataan "pikselin" näyttäminen tilauksen lokitietoihin	
		
		$result = mysqli_query ($mysql_link, "SELECT cs_order_log FROM csx4_orders WHERE cs_order_id='". mysqli_real_escape_string ($mysql_link, $_POST['csx4_bonusway_order_id']) ."' LIMIT 1");
		if (is_object ($result) && mysqli_num_rows ($result)) {
			$s = mysqli_fetch_array ($result);
			mysqli_query ($mysql_link, "UPDATE csx4_orders SET cs_order_log='". mysqli_real_escape_string ($mysql_link, date ("d.m.Y \k\l\o H:i:s") ." BW luettu\n". $s['cs_order_log']) ."' WHERE cs_order_id='". mysqli_real_escape_string ($mysql_link, $_POST['csx4_bonusway_order_id']) ."'") or die();
		}

	}

}



// Suljetaan MySQL-yhteys

mysqli_close ($mysql_link);

?>
Tässä esimerkissä Bonuswaylle ilmoitetaan tilauksen loppusumma, jonka asiakas maksaa.

Vastuunrajoitus

Näillä ohjeilla ja koodiesimerkeillä ei ole minkäänlaista toimivuustakuuta. Emme vastaa välittömistä, välillisistä, satunnaisista tai epäsuorista vahingoista, menetyksistä, korvauksista, tai kolmannen osapuolen esittämistä vaatimuksista, jotka johtuvat näiden ohjeiden tai koodiesimerkkien noudattamisesta.

Näin rakennat yrityksellesi verkkokaupan

1. Ota ohjelmisto käyttöön

Asenna ohjelmisto tai tilaa meiltä maksuton asennustyö. Maksuton asiakaspalvelumme ja tekninen tukemme neuvoo tarvittaessa kummassakin tapauksessa.

2. Perusta verkkokauppa

Kirjaudu selaimella verkkokaupan hallintaliittymään ja perusta verkkokauppa. Tarjoamme maksuttomat Maxi-ominaisuudet verkkokaupan perustamisen ajaksi.

3. Tilaa lisenssi

Tilaa lisenssi vasta, kun olet perustanut verkkokaupan, eli verkkokauppa on ns. laitettu tulille. Voit myös olla tilaamatta lisenssiä ja luopua hankkeesta.

Scroll to Top