%PDF- %PDF-
| Direktori : /home1/lightco1/www/plugins/vmpayment/klarna/klarna/api/checkout/ |
| Current File : //home1/lightco1/www/plugins/vmpayment/klarna/klarna/api/checkout/threatmetrix.class.php |
<?php
defined ('_JEXEC') or die();
/**
* threatmetrix implementation of checckouthtml
*
* PHP Version 5.3
*
* @category Payment
* @package KlarnaAPI
* @author MS Dev <ms.modules@klarna.com>
* @copyright 2012 Klarna AB (http://klarna.com)
* @license http://opensource.org/licenses/BSD-2-Clause BSD-2
* @link http://integration.klarna.com/
*/
/**
* ThreatMetrix is a fraud prevention and device identification software.
*
* @category Payment
* @package KlarnaAPI
* @author MS Dev <ms.modules@klarna.com>
* @copyright 2012 Klarna AB (http://klarna.com)
* @license http://opensource.org/licenses/BSD-2-Clause BSD-2
* @link http://integration.klarna.com/
*/
class ThreatMetrix extends CheckoutHTML
{
/**
* The ID used in conjunction with the Klarna API.
*
* @var int
*/
const ID = 'dev_id_1';
/**
* ThreatMetrix organizational ID.
*
* @var string
*/
protected $orgID = 'qicrzsu4';
/**
* Session ID for the client.
*
* @var string
*/
protected $sessionID;
/**
* Hostname used to access ThreatMetrix.
*
* @var string
*/
protected $host = 'h.online-metrix.net';
/**
* Protocol used to access ThreatMetrix.
*
* @var string
*/
protected $proto = 'https';
/**
* Initializes this object, this method is always called
* before {@link CheckoutHTML::toHTML()}.
* This method is used in {@link Klarna::addTransaction()},
* {@link Klarna::reserveAmount()} and in {@link Klarna::checkoutHTML()}
*
* @param Klarna $klarna The API instance
* @param int $eid Merchant ID
*
* @return void
*/
public function init($klarna, $eid)
{
if (!is_int($eid)) {
throw new Klarna_ConfigFieldMissingException('eid');
}
if (isset($_SESSION)) {
if (!isset($_SESSION[self::ID])
|| (strlen($_SESSION[self::ID]) < 40)
) {
$_SESSION[self::ID] = parent::getSessionID($eid);
$this->sessionID = $_SESSION[self::ID];
} else {
$this->sessionID = $_SESSION[self::ID];
}
} else {
$this->sessionID = parent::getSessionID($eid);
}
$klarna->setSessionID(self::ID, $this->sessionID);
}
/**
* This function is used to clear any stored values
* (in SESSION, COOKIE or similar)
* which are required to be unique between purchases.
*
* @return void
*/
public function clear()
{
if (isset($_SESSION) && isset($_SESSION[self::ID])) {
$_SESSION[self::ID] = null;
unset($_SESSION[self::ID]);
}
}
/**
* This returns the HTML code for this object,
* which will be used in the checkout page.
*
* @return string
*/
public function toHTML()
{
$html
= "<p style='display: none; ".
"background:url($this->proto://$this->host/fp/clear.png?org_id=".
"$this->orgID&session_id=$this->sessionID&m=1)'></p>".
"<script src='$this->proto://$this->host/fp/check.js?org_id=".
"$this->orgID&session_id=$this->sessionID' ".
"type='text/javascript'></script>".
"<img src='$this->proto://$this->host/fp/clear.png?org_id=".
"$this->orgID&session_id=$this->sessionID&m=2' alt='' >".
"<object type='application/x-shockwave-flash' style='display: none' ".
"data='$this->proto://$this->host/fp/fp.swf?org_id=$this->orgID&".
"session_id=$this->sessionID' width='1' height='1' id='obj_id'>".
"<param name='movie' value='$this->proto://$this->host/fp/fp.swf?".
"org_id=$this->orgID&session_id=$this->sessionID' />".
"<div></div>".
"</object>";
return $html;
}
}