wollte euch hier mein Spenden Script für euch zu Verfügung stellen, welches eigentlich für den Verkauf vorgesehen war, dann aber doch weniger Zeit beanspruchte als ich gedacht habe.
Features
- User gibt PSC Code ein, Script Checkt Guthaben der PSC
-> User bekommt Coins bei erfolgreicher Spende (optional)
-> PSC Code wird per Mail an Admin gesendet
Vorraussetzungen
- Webspace mit PHP cURL Erweiterung
Installation
Diesen Code als spenden_check.class.php im inc-Ordner eurer Webseite abspeichern:
PHP Code:
<?php
class Spenden {
private $agent;
private $referer;
private $handle;
private $cookies;
private $content;
private $url = 'https://customer.cc.at.paysafecard.com/psccustomer/GetWelcomePanelServlet?&language=de';
private $data;
private $config;
public function __construct($config) {
$this->config = $config;
$this->agent = 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11';
$this->cookies = 'cookies.txt';
if(isset($_POST['submit'])) {
$this->submit();
} else {
$this->form();
}
echo '<br/><br/>PaySafeCard Check Script by <a href="http://maino.in">Maino</a>';
}
public function form() {
$this->source($this->url);
$current = $this->current();
$_SESSION['psc_javax'] = $this->cut_str($current['content'], "<input type=\"hidden\" name=\"javax.faces.ViewState\" id=\"javax.faces.ViewState\" value=\"", "\"");
$this->captcha();
$current2 = $this->current();
echo '<script type="text/javascript">function autoBack(e,t){var n=isNNB?t.which:t.keyCode;var r=isNNB?[8]:[8];if(e.value.length==0&&containsBackspace(r,n)){var i=getIndexBack(e)-1;var s=e.form[i];s.focus();var o=s.value.length;if(s.setSelectionRange){s.setSelectionRange(o,o)}else if(s.createTextRange){var u=s.createTextRange();u.collapse(true);u.moveStart("character",o);u.moveEnd("character",o);u.select()}}}function containsBackspace(e,t){var n=false,r=0;while(!n&&r<e.length)if(e[r]==t)n=true;else r++;return n}function getIndexBack(e){var t=0;while(t<e.form.length){if(e.form[t]==e){return t}else t++}return-1}var isNNB=navigator.appName.indexOf("Netscape")!=-1;function autoTab(e,t,n){function o(e,t){var n=false,r=0;while(!n&&r<e.length)if(e[r]==t)n=true;else r++;return n}function u(e){var t=-1,n=0,r=false;while(n<e.form.length&&t==-1)if(e.form[n]==e)t=n;else n++;return t}var r=isNN?n.which:n.keyCode;var i=isNN?[0,8,9]:[0,8,9,16,17,18,37,38,39,40,46];if(e.value.length>=t&&!o(i,r)){e.value=e.value.slice(0,t);var s=(u(e)+1)%e.form.length;e.form[s].focus();e.form[s].select()}return true}var isNN=navigator.appName.indexOf("Netscape")!=-1</script>' . '<img src="data:image/jpeg;base64,' . base64_encode($current2['content']) . '">' . '<form method="post" action="">Sicherheitscode: <input type="text" name="captcha" size="5" maxlength="5" autocomplete="off" onkeyup="return autoTab(this, 5, event);"><br/>PaySafeCard Code: <input type="text" name="psc1" size="4" maxlength="4" autocomplete="off" value="" onkeyup="return autoTab(this, 4, event);"><input type="text" name="psc2" size="4" maxlength="4" autocomplete="off" value="" onkeydown="return autoBack(this, event);" onkeyup="return autoTab(this, 4, event);"><input type="text" name="psc3" size="4" maxlength="4" autocomplete="off" value="" onkeydown="return autoBack(this, event);" onkeyup="return autoTab(this, 4, event);"><input type="text" name="psc4" size="4" maxlength="4" autocomplete="off" value="" onkeydown="return autoBack(this, event);"><br/><input type="submit" name="submit" value="Bezahlen"></form>';
}
public function submit() {
$data = "mainPagePart&mainPagePart%3Arn1=" . $_POST['psc1'] . "&mainPagePart%3Arn2=" . $_POST['psc2'] . "&mainPagePart%3Arn3=" . $_POST['psc3'] . "&mainPagePart%3Arn4=" . $_POST['psc4'] . "&mainPagePart%3AverifyCaptcha=" . $_POST['captcha'] . "&mainPagePart%3Anext=OK&javax.faces.ViewState=" . $_SESSION['psc_javax'];
$_SESSION['psc_javax'] = ''; // reset
$this->post($data);
$current3 = $this->current();
if(preg_match('#Location: (.*)#', $current3['content'], $r)) {
$location = trim($r[1]);
$this->source($location);
$current4 = $this->current();
if(strpos($current4['content'], 'Guthaben deiner paysafecard') !== false) {
$voucher = str_replace (',00 EUR' ,'' , $this->cut_str($current4['content'], "<tr class=\"price\">", '</tr>'));
if ($voucher == '10') {
$coins = $config['coins_10'];
} elseif($voucher == '25') {
$coins = $$config['coins_25'];
} elseif($voucher == '50') {
$coins = $$config['coins_50'];
} elseif($voucher == '100') {
$coins = $$config['coins_100'];
} else {
echo 'Zu wenig Guthaben auf PSC.';
}
if(isset($coins)) {
$sendvoucher = mail($this->config['email'], 'PaySafeCard [EUR ' . $voucher . ']', 'Gutschein: ' . $voucher . "\r\nUser ID:" . $_SESSION['user_id'] . "\r\n\r\nPaySafeCard Check Script by Maino", 'From: ' . $this->email . "\r\n" . 'X-Mailer: PHP/' . phpversion());
if($this->config['givecoins']) {
$updatecoins = mysql_query("UPDATE account.account SET coins = coins + '" . mysql_real_escape_string($coins) . "' WHERE id = '" . mysql_real_escape_string($_SESSION['user_id']) . "' LIMIT 1", $sqlServ);
if($sendvoucher && $updatecoins) {
echo '<span style="color:green;">Deine Spende über ' . $voucher . '€ wurde erfolgreich übermittelt!<br/>Als Dankeschön wurden dir ' . $coins . ' Coins gutgeschrieben.</span>';
} else {
echo '<span style="color:red;">Beim Übermitteln deiner Spende ist ein Fehler aufgetreten.</span>' . mysql_error();
}
} else {
if($sendvoucher) {
echo '<span style="color:green;">Deine Spende über ' . $voucher . '€ wurde erfolgreich übermittelt!<br/>Die Coins werden dir nach einer Überprüfung durch einen Administrator überschrieben.</span>';
} else {
echo '<span style="color:red;">Beim Übermitteln deiner Spende ist ein Fehler aufgetreten.</span>' . mysql_error();
}
}
}
} else {
echo 'Es ist ein Fehler aufgetreten. Fehler-Code: 2<br/><a href="javascript:history.back();">zurück</a>' . $current4['content'];
}
} else {
if(strpos($current3['content'], 'Der eingegebene Text stimmt nicht mit dem Angezeigten') !== false) {
echo 'Captcha falsch<br/><a href="javascript:history.back();">zurück</a>';
} elseif(strpos($current3['content'], 'Bei der Eingabe des PIN-Codes ist ein Fehler aufgetreten') !== false) {
echo 'PIN Code falsch<br/><a href="javascript:history.back();">zurück</a>';
} else {
echo 'Es ist ein Fehler aufgetreten. Fehler-Code: 1<br/><a href="javascript:history.back();">zurück</a>' . $current3['content'];
}
}
}
private function init() {
// Setting up basic usage of cURL
$this->handle = curl_init();
curl_setopt($this->handle, CURLOPT_URL, $this->url);
curl_setopt($this->handle, CURLOPT_REFERER, $this->referer);
curl_setopt($this->handle, CURLOPT_USERAGENT, $this->agent);
curl_setopt($this->handle, CURLOPT_COOKIEJAR, $this->cookies);
curl_setopt($this->handle, CURLOPT_COOKIEFILE, $this->cookies);
curl_setopt($this->handle, CURLOPT_HEADER, 0);
//curl_setopt($this->handle, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($this->handle, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($this->handle, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($this->handle, CURLOPT_SSL_VERIFYHOST, 0);
}
private function execute() {
$this->content = curl_exec($this->handle);
curl_close($this->handle);
}
public function source($url) {
$this->referer = $this->url;
$this->url = $url;
$this->init();
$this->execute();
}
public function captcha() {
$this->url = 'https://customer.cc.at.paysafecard.com/seam/resource/captcha';
$this->referer = $this->url;
$this->init();
$this->execute();
}
public function post($data) {
$this->url = 'https://customer.cc.at.paysafecard.com/psccustomer/GetWelcomePanelServlet?&language=de';
$this->referer = $this->url;
$this->data = $data;
$this->init();
curl_setopt($this->handle, CURLOPT_HEADER, 1);
curl_setopt($this->handle, CURLOPT_POST, 1);
curl_setopt($this->handle, CURLOPT_POSTFIELDS, $this->data);
$this->execute();
}
public function current() {
return array('agent' => $this->agent, 'referer' => $this->referer, 'cookies' => $this->cookies, 'data' => $this->data, 'url' => $this->url, 'content' => $this->content);
}
public function cut_str($str, $left, $right) {
$str = substr(stristr($str, $left), strlen($left));
$leftLen = strlen(stristr($str, $right));
$leftLen = $leftLen ? -($leftLen) : strlen($str);
$str = substr($str, 0, $leftLen);
return $str;
}
}
?>
PHP Code:
<div id="con-top">Spenden</div>
<div id="con-mid">
<?php
include './inc/spenden_check.class.php';
$config = array(
'coins_10' => '100', // Belohnungs Coins bei 10er PSC
'coins_25' => '250', // Belohnungs Coins bei 25er PSC
'coins_50' => '500', // Belohnungs Coins bei 50er PSC
'coins_100' => '1000', // Belohnungs Coins bei 100er PSC
'givecoins' => true, // Coins sofort bei erfolgreicher Spende geben?
'email' => '
' // E-Mail an die die PSCs geschickt werden
);
$spenden = new Spenden($config);
?>
</div>
<div id="con-bot"></div>
Info
Wenn ihr ein funktionierendes Amazon CashIn Script braucht, welches eure PaySafeCards checkt UND vollautomatisch beim Spenden in Amazon-Gutscheine umwandelt und euch zusendet, schaut mal
vorbei MfG Maino







