Script PaymentWall
#26

Ah right,

 

/*
* PaymentWall Pingback script
* Author: Wizatek
*
* This script can be used for your server so u can embed the paymentwall system in your
* website. This version of the pingback uses the user ID, the number, not the username
*
*/

// Set this to your secret key provided by PaymentWall.
$secretKey = 12345678901234567890;

// Set the database settings.
$dbs[server] = localhost;
$dbs[user] = root;
$dbs[pass] = ;

// Since the server can use bg_user and t_users in _db and _auth depending on your connector settings
$dbs[user_dbase] = newproject_db_auth;

//========================================================== No need to edit below unless u know what u are doing ======================================

// Get the IP of the one connecting to this page
$ip = $_SERVER[REMOTE_ADDR];

// Array of allowed ip addresses as provided by PaymentWall
$allowIP[0] = 66.220.10.2;
$allowIP[1] = 66.220.10.3;
$allowIP[2] = 174.36.92.186;
$allowIP[3] = 174.36.96.66;
$allowIP[4] = 174.36.92.187;
$allowIP[5] = 174.36.92.192;
$allowIP[6] = 174.37.14.28;

// If the one is using one of the ips in the array
if( in_array($ip, $allowIP) )
{

// Create the DSN
$dbs[dsn] = sprintf("mysql:host=%s", $dbs[server] );

// Try to connect to the database
try
{
$db = new PDO( $dbs[dsn],
$dbs[user],
$dbs[pass] );

}
catch(PDOException $e)
{
die(Error connecting to the database);
}

// Function to ban the user.
// It is prepared with a reason so u can embed it in your system easily
function BanUser($uid, $reason)
{
global $dbs, $db;

$query = sprintf
("
UPDATE %s.t_users
SET a_enable = 0
WHERE a_portal_index = :uid

", $dbs[user_dbase] );

$dbh = $db->prepare( $query );

$dbh->execute( array( :uid => $uid ));

}

// Add the cash to the account.
// In case of a drawback or fraud paymentwall deletes the cash also
// But since they use a negative amount, this will work perfectly
function SetCash($uid, $amount)
{
global $dbs, $db;

$query = sprintf
("
UPDATE %s.bg_user
SET cash = cash + :amount
WHERE user_code = :uid

", $dbs[user_dbase] );

$dbh = $db->prepare( $query );

$dbh->execute( array( :amount => $amount,
:uid => $uid ));

}

// Function to check if the user exists
function CheckUserExist( $uid )
{
global $dbs, $db;

$query = sprintf
("
SELECT count(*)
FROM %s.bg_user
WHERE user_code = :uid

", $dbs[user_dbase] );

$dbh = $db->prepare( $query );

$dbh->execute( array( :uid => $uid ));

$result = $dbh->fetch();

if( $result[0] == 1 )
return true;
else
return false;
}

$uid = $_GET[uid];
$currency = $_GET[currency];
$type = $_GET[type];
$ref = $_GET[ref];
$sig = $_GET[sig];

// Check the incomming data
if( !ctype_digit( $uid ) )
echo UID: . htmlspecialchars( $uid ) . is not a number;

elseif( !is_numeric( $currency ) )
echo Currency: . htmlspecialchars( $currency ) . is not a number;

elseif( !ctype_digit( $type ) )
echo Type: . htmlspecialchars( $type ) . is not a number;

elseif( !ctype_alnum($ref) )
echo Reference: . htmlspecialchars( $ref ) . can only contain 0-9 a-Z;

elseif( !ctype_alnum($sig) )
echo Signature: . htmlspecialchars( $sig ) . can only contain 0-9 a-Z;

else
{

// See if the userid exists
if( CheckUserExist( $uid ) )
{

// Add the cash to the user
if( $type == 0 || $type == 1 )
{
SetCash($uid, $currency);
echo OK;
}

// Chargeback or Fraud
elseif( $type == 2 )
{

$reason = $_GET[reason];

switch( $reason )
{
case 1:
BanUser($uid,Chargeback);
break;
case 2:
BanUser($uid,Credit Card fraud);
break;
case 3:
BanUser($uid,Order fraud);
break;
case 4:
BanUser($uid,Bad data entry);
break;
case 5:
BanUser($uid,Fake / proxy user);
break;
case 6:
BanUser($uid,Rejected by advertiser);
break;
case 7:
BanUser($uid,Duplicate conversions);
break;
case 8:
BanUser($uid,Goodwill credit taken back);
break;
case 9:
BanUser($uid,Cancelled order);
break;
case 10:
BanUser($uid,Partially reversed transaction);
break;

}

// Remove the cash
SetCash($uid, $currency);
echo OK;

}
else
echo Unknown type : . htmlspecialchars( $type );
}
else
echo Not found user : . htmlspecialchars($uid);
}

}
else
echo IP Unknown : . $ip;

?>

 

 

 

Or in short.

Find all the

function ...(...)
{
global $dbs;

 

and change to

 

function ...(...)
{
global $dbs, $db;



Messages In This Thread
[No subject] - by Kotetsu - 07-13-2012, 06:57 PM
[No subject] - by Wizatek - 07-13-2012, 07:20 PM
[No subject] - by Kotetsu - 07-13-2012, 07:23 PM
[No subject] - by Kotetsu - 07-13-2012, 07:30 PM
[No subject] - by Wizatek - 07-13-2012, 07:57 PM
[No subject] - by Kotetsu - 07-13-2012, 08:10 PM
[No subject] - by Wizatek - 07-13-2012, 08:49 PM
[No subject] - by Sutz - 07-14-2012, 12:46 AM
[No subject] - by fonsy84 - 07-14-2012, 07:37 PM
[No subject] - by Dungedragon - 07-14-2012, 07:43 PM
[No subject] - by Wizatek - 07-14-2012, 08:01 PM
[No subject] - by fonsy84 - 07-14-2012, 08:21 PM
[No subject] - by fonsy84 - 07-14-2012, 08:48 PM
[No subject] - by Wizatek - 07-14-2012, 09:12 PM
[No subject] - by Wizatek - 07-14-2012, 09:19 PM
[No subject] - by Kotetsu - 07-14-2012, 09:25 PM
[No subject] - by Wizatek - 07-14-2012, 09:28 PM
[No subject] - by Kotetsu - 07-14-2012, 09:29 PM
[No subject] - by Wizatek - 07-14-2012, 09:34 PM
[No subject] - by Kotetsu - 07-14-2012, 09:35 PM
[No subject] - by fonsy84 - 07-14-2012, 09:41 PM
[No subject] - by fonsy84 - 07-14-2012, 09:44 PM
[No subject] - by Wizatek - 07-14-2012, 09:56 PM
[No subject] - by fonsy84 - 07-14-2012, 09:58 PM
[No subject] - by fonsy84 - 07-14-2012, 10:01 PM
[No subject] - by Wizatek - 07-14-2012, 10:47 PM
[No subject] - by fonsy84 - 07-14-2012, 11:59 PM
[No subject] - by barroso - 07-27-2012, 05:49 PM
[No subject] - by Wizatek - 07-27-2012, 05:57 PM
[No subject] - by barroso - 07-27-2012, 06:01 PM
[No subject] - by barroso - 07-27-2012, 06:13 PM
[No subject] - by Wizatek - 07-27-2012, 06:53 PM
[No subject] - by barroso - 07-27-2012, 07:16 PM
[No subject] - by barroso - 07-27-2012, 07:34 PM
[No subject] - by Wizatek - 07-27-2012, 10:16 PM
[No subject] - by barroso - 07-27-2012, 10:56 PM
[No subject] - by Wizatek - 07-27-2012, 11:04 PM
[No subject] - by barroso - 07-27-2012, 11:22 PM
[No subject] - by Wizatek - 07-28-2012, 12:14 AM
[No subject] - by barroso - 07-28-2012, 12:24 AM
[No subject] - by SibaN - 07-28-2012, 06:57 AM
[No subject] - by Wizatek - 07-28-2012, 01:12 PM
[No subject] - by barroso - 07-28-2012, 04:42 PM
[No subject] - by Wizatek - 07-28-2012, 05:17 PM
[No subject] - by barroso - 07-28-2012, 05:43 PM
[No subject] - by barroso - 07-28-2012, 05:50 PM
[No subject] - by Wizatek - 07-28-2012, 07:09 PM
[No subject] - by Creep - 07-28-2012, 07:42 PM
[No subject] - by barroso - 07-28-2012, 07:52 PM
[No subject] - by Wizatek - 07-28-2012, 10:18 PM
[No subject] - by barroso - 07-28-2012, 11:56 PM
[No subject] - by Wizatek - 07-29-2012, 01:40 AM
[No subject] - by barroso - 07-29-2012, 02:00 AM
[No subject] - by barroso - 08-02-2012, 11:56 PM
[No subject] - by Creep - 08-05-2012, 10:29 AM
[No subject] - by fonsy84 - 08-10-2012, 05:32 PM
[No subject] - by Creep - 08-12-2012, 06:03 PM
[No subject] - by olo3007 - 08-12-2012, 07:23 PM
[No subject] - by barroso - 08-21-2012, 04:06 PM
[No subject] - by Creep - 08-23-2012, 10:26 AM
[No subject] - by Creep - 08-24-2012, 11:59 AM
[No subject] - by Creep - 08-24-2012, 01:01 PM
[No subject] - by Nikolee - 08-24-2012, 08:38 PM
[No subject] - by blacknelly - 08-25-2012, 01:07 AM
[No subject] - by Creep - 08-25-2012, 06:11 PM
[No subject] - by Creep - 09-08-2012, 07:00 PM
[No subject] - by Bradox - 09-10-2012, 03:27 PM
[No subject] - by xNiceEinzx - 09-12-2012, 03:19 PM
[No subject] - by HalloKitty - 09-15-2012, 06:41 PM
[No subject] - by Black191 - 09-16-2012, 04:40 PM
[No subject] - by Creep - 09-21-2012, 03:02 PM
[No subject] - by Sutz - 10-03-2012, 06:52 PM
[No subject] - by Creep - 10-05-2012, 12:28 PM
[No subject] - by Creep - 10-15-2012, 06:17 PM
[No subject] - by TheQE - 02-21-2013, 05:45 PM
[No subject] - by SibaN - 08-17-2013, 05:31 PM
[No subject] - by Sutz - 08-17-2013, 08:39 PM
[No subject] - by SibaN - 08-18-2013, 02:31 PM

Forum Jump:


Users browsing this thread: 1 Guest(s)