• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Configuration [FAQ] - DaoPay Solutions

Solution #11
1. Open up your "php.ini" (xampp/php/php.ini)
2. Search for: memory_limit (Line 246)
3. Replace:
Code:

memory_limit = 32M

With:
Code:

memory_limit = 64M

4. Restart/reload your apache server.

I have tried this and i am still getting an error message, also i dont know if i have done something or wether it is DaoPay, but i have set it up and i have added both my codes, "im using easypin" but i can only see SMS i cant see the call payment offer.. Is this an error my end or is it daopay? someone help me please.
 
error appcode null missing


i get that error when i try to run the pincheck?


what can i do? please help ,

thanks!:)
 
Can you help me with doapay bank transfer? it never transfers to my bank? and what is account name?
sort code?
account no - my account number?

:) Got visa electron, thats why i couldn't use paypal. or i can but i dont got accses to my internetbank, so i cant get the card number witch is in front of the card on normal visa cards.
 
Maybe you haven't created an application and product(s) on your DaoPay account properly?
 
What can be wrong?
* Server has problem with connection to daopay.com, can't verify PIN code.

I have finally found the solution to that problem...

It's not allowing https connections so you have to edit buypoints.php

change:
$handle = fopen("https://daopay.com/svc/pincheck?appcode=".$appcode."&prodcode=".$prodcode."&pin=".$pin, 'r');

to:
$handle = fopen("http://daopay.com/svc/pincheck?appcode=".$appcode."&prodcode=".$prodcode."&pin=".$pin, 'r');

or you can allow ssl on php
 
Last edited:
Issue #4


Solution #4
1. Log into DaoPay
2. Go to My Account and then Customer
3. Change "Payout Typ" to "PayPal"
4. Go to Payouts and then Bank Data
5. Write in your email, and save.
And your done! Money will be transferred every second month (60days).


On which line should i put my email?
 
What should i edit
(i havent edited anything here)

Code:
<?PHP
####################       CONFIG      ###################################################
#aktywacja dotpay oraz dostepych systemow platnosci, wartosci: true / false
$config['dotpay'] = array();
$config['dotpay_active'] = true; #active dotpay system?
$config['dotpay_active_sms'] = true; #active dotpay system?
$config['dotpay_active_transfer'] = true; #active dotpay system?
# przykladowy konfig dla SMS
$config['dotpay'][0]['id'] = 30095;       # numer ID zarejestrowanego klienta
$config['dotpay'][0]['code'] = "WFG1"; # identyfikator uslug SMS
$config['dotpay'][0]['type'] = "sms";   # typ konta: C1 - 8 znakowy kod bezobslugowy, sms - dla sprawdzania SMSow
$config['dotpay'][0]['addpoints'] = 50; # ile premium punktow daje dany sms
$config['dotpay'][0]['sms_number'] = 74068; # numer na jaki nalezy wyslac kod
$config['dotpay'][0]['sms_text'] = "AP.WFG1"; # tresc jaka ma byc w SMSie
$config['dotpay'][0]['sms_cost'] = "4.66 zl brutto"; # cena za wyslanie sms

$config['dotpay'][1]['id'] = 30095;       # numer ID zarejestrowanego klienta
$config['dotpay'][1]['code'] = "TMY8"; # identyfikator uslug SMS
$config['dotpay'][1]['type'] = "sms";   # typ konta: C1 - 8 znakowy kod bezobslugowy, sms - dla sprawdzania SMSow
$config['dotpay'][1]['addpoints'] = 120; # ile premium punktow daje dany sms
$config['dotpay'][1]['sms_number'] = 79068; # numer na jaki nalezy wyslac kod
$config['dotpay'][1]['sms_text'] = "AP.TMY8"; # tresc jaka ma byc w SMSie
$config['dotpay'][1]['sms_cost'] = "9.66 zl brutto"; # cena za wyslanie sms




$config['dotpay'][2]['id'] = 30095;       # numer ID zarejestrowanego klienta
$config['dotpay'][2]['code'] = "VBG5"; # identyfikator uslug SMS
$config['dotpay'][2]['type'] = "sms";   # typ konta: C1 - 8 znakowy kod bezobslugowy, sms - dla sprawdzania SMSow
$config['dotpay'][2]['addpoints'] = 400; # ile premium punktow daje dany sms
$config['dotpay'][2]['sms_number'] = 92568; # numer na jaki nalezy wyslac kod
$config['dotpay'][2]['sms_text'] = "AP.VBG5"; # tresc jaka ma byc w SMSie
$config['dotpay'][2]['sms_cost'] = "25 zl brutto"; # cena za wyslanie sms
# przykladowy konfig dla przelewu bankowego/karty kredytowej
$config['dotpay'][3]['id'] = 30095;       # numer ID zarejestrowanego klienta
$config['dotpay'][3]['code'] = "wjm0"; # identyfikator uslug SMS
$config['dotpay'][3]['type'] = "C1";   # typ konta: C1 - 8 znakowy kod bezobslugowy, sms - dla sprawdzania SMSow
$config['dotpay'][3]['addpoints'] = 550; # ile premium punktow daje dany sms
$config['dotpay'][3]['sms_number'] = ""; # numer na jaki nalezy wyslac kod
$config['dotpay'][3]['sms_text'] = "wjm0"; # tresc jaka ma byc w SMSie
$config['dotpay'][3]['sms_cost'] = "20 zl brutto"; # cena za wyslanie sms




# activation of DaoPay system
$config['daopay'] = array();
$config['daopay_active'] = true; #active daopay system?
# example config for daopay
$config['daopay'][0]['appcode'] = 51921; #
$config['daopay'][0]['prodcode'] = '4650'; #
$config['daopay'][0]['addpoints'] = '50'; #
$config['daopay'][0]['cost'] = "2 euro inc. VAT"; #

$config['daopay'][1]['appcode'] = 51921; #
$config['daopay'][1]['prodcode'] = '4561'; #
$config['daopay'][1]['addpoints'] = '100'; #
$config['daopay'][1]['cost'] = "3.50 euro inc. VAT"; #

$config['daopay'][2]['appcode'] = 51921; #
$config['daopay'][2]['prodcode'] = '4651'; #
$config['daopay'][2]['addpoints'] = '20'; #
$config['daopay'][2]['cost'] = "1.00 euro inc. VAT"; #
#################################################################################
function save_trans($file, $acc, $code)
{
	$hak = fopen($file, "a");
	fwrite($hak, $code.'='.$acc.'
');
	fclose($hak);
}

function check_code_daopay($appcode, $prodcode, $pin)
{
	$handle = fopen("http://DaoPay.com/svc/PINcheck?appcode=".$appcode."&subkey=".$prodcode."&pin=".$pin, 'r');
	if ($handle)
	{
	    $status = fgets($handle, 128);
		fclose($handle);
		if($status[0] == 'o' && $status[1] == 'k')
		{
			
			$return = 1;
		}
		else
			$return = 2;
	}
	else
		$return = 3;
	return $return;
}

function check_code_dotpay($code, $posted_code, $user_id, $type)
{
	$handle = fopen("http://dotpay.pl/check_code.php?id=".$user_id."&code=".$code."&check=".$posted_code."&type=".$type."&del=0", 'r');
    $status = fgets($handle, 8);
    $czas_zycia = fgets($handle, 24);
    fclose($handle);
    $czas_zycia = rtrim($czas_zycia);
	return array($status, $czas_zycia);
}

function delete_code_dotpay($code, $posted_code, $user_id, $type)
{
	$handle = fopen("http://dotpay.pl/check_code.php?id=".$user_id."&code=".$code."&check=".$posted_code."&type=".$type."&del=1", 'r');
    fclose($handle);
}

function add_points(OTS_Account $account, $number_of_points)
{
	if($account->isLoaded())
	{
		$account->setCustomField('premium_points', ($account->getCustomField('premium_points')+$number_of_points));
		return true;
	}
	else
		return false;
}


if ($_REQUEST['system'] == 'daopay' && $config['daopay_active'])
{
#################################################################################
$offer_id = (int) $_POST['offer_id'];
$posted_pincode = trim($_POST['pincode']);
$to_user = trim($_POST['to_user']);
$verify_code = trim($_POST['verify_code']);
#################################################################################
if(!empty($to_user))
{
	if(is_numeric($to_user))
	{
		$account = new OTS_Account();
		$account->load($to_user);
	}
	else
	{
		$player = new OTS_Player();
		$player->find($to_user);
		if($player->isLoaded())
			$account = $player->getAccount();
		else
			$account = new OTS_Account();
	}
	
	if(empty($posted_pincode))
		$errors[] = 'Please enter your PIN code.';
		
	if(!$account->isLoaded())
		$errors[] = 'Account/account of player with this name doesn\'t exist.';
	if(count($errors) == 0)
	{
		if($config['site']['verify_code_shop'])
		{
			//check verification code
			$string = strtoupper($_SESSION['string']);
			$userstring = strtoupper($verify_code);
			$_SESSION['string'] = mt_rand(1,99999);
			if(empty($string))
				$errors[] = "Code from verification image in session is empty, try again.";
			else
			{
				if(empty($userstring))
					$errors[] = "Please enter code from verification image.";
				else
				{
					if($string != $userstring)
						$errors[] = "Code from verification image is wrong.";
				}
			}
		}
		
		if(count($errors) == 0)
		{
			$code_info = check_code_daopay($config['daopay'][$offer_id]['appcode'], $config['daopay'][$offer_id]['prodcode'], $posted_pincode);
			if($code_info == 3)
				$errors[] = 'Server has problem with connection to daopay.com, can\'t verify PIN code.';
			elseif($code_info == 2)
				$errors[] = 'Wrong PIN code, try to enter code again.';
			elseif($code_info == 1)
			{
				if(add_points($account, $config['daopay'][$offer_id]['addpoints']))
				{
					save_trans('trans/daopay.log', $account->getId(), $posted_pincode);
					$main_content .= '<h2><font color="red">Good PIN code. Added '.$config['daopay'][$offer_id]['addpoints'].' Premium Points to account of: '.$to_user.' !</font></h2>';
				}
				else
					$errors[] = 'Error occured, try again.';
			}
		}
	}
}
if(count($errors) > 0)
{
	$main_content .= '<font color="red"><b>Errors occured:</b></font>';
	foreach($errors as $error)
		$main_content .= '<br />* '.$error;
	$main_content .= '<hr /><hr />';
}
$main_content .= 'Buy Premium Points. For this points you can buy pacc/items in Shop. To buy points:<br />
1. Visit one of our pages and donate us (send SMS/call special number).<br />
2. After donate daopay.com will show you PIN code.<br />
3. Save somewhere this PIN code and open this page again.<br />
4. Enter your character name or account and your PIN code in form below.<br />
5. Select donation cost from list and press "Check Code".<br />
6. If account and PIN code is valid you get premium points.<br />
7. Open "Shop Offer" and buy items/pacc :)<br />
<font color="red"><b>Our pages:</b></font>';
foreach($config['daopay'] as $offer)
	$main_content .= '<br /><b>* Address <font color="red"><a href="https://daopay.com/svc/pay.svc?tidkey='.urlencode($offer['appcode']).'&subkey='.urlencode($offer['prodcode']).'">https://daopay.com/svc/pay.svc?tidkey='.$offer['appcode'].'&subkey='.$offer['prodcode'].'</a></font> - <font color="red"><b>'.$offer['cost'].'</b></font> - <font color="red"><b>'.$offer['addpoints'].'</b></font> premium points</b>';
$main_content .= '<hr /><form action="index.php?subtopic=buypoints&system=daopay" method="POST"><table>';
$main_content .= '<tr><td><b>Player name or account number: </b></td><td><input type="text" size="20" value="'.$to_user.'" name="to_user" /></td></tr>
<tr><td><b>PIN code: </b></td<td><input type="text" size="20" value="'.$posted_pincode.'" name="pincode" /></td></tr><tr><td><b>Offer type: </b></td><td><select name="offer_id">';
foreach($config['daopay'] as $id => $offer)
	$main_content .= '<option value="'.$id.'">'.$offer['prodcode'].' - cost '.$offer['cost'].' - points '.$offer['addpoints'].'</option>';
$main_content .= '</select></td></tr>';
if($config['site']['verify_code_shop'])
		$main_content .= '<tr><td><B>Verify code: </B></td><td><img src="imgverification/imagebuilder.php?image_refresher='.mt_rand(1,99999).'" border="0" alt=""></td></tr>
						  <tr><td><B>Enter verify code: </B></td><td><INPUT id="verify" NAME="verify_code" VALUE="" SIZE=30></td></tr>';
$main_content .= '<tr><td></td><td><input type="submit" value="Check Code" /></td></tr></table></form>';
}
elseif ($_REQUEST['system'] == 'dotpay' && $config['dotpay_active'])
{
#################################################################################
$sms_type = (int) $_POST['sms_type'];
$posted_code = trim($_POST['code']);
$to_user = trim($_POST['to_user']);
$verify_code = trim($_POST['verify_code']);
#################################################################################
if(!empty($to_user))
{
	if(is_numeric($to_user))
	{
		$account = new OTS_Account();
		$account->load($to_user);
	}
	else
	{
		$player = new OTS_Player();
		$player->find($to_user);
		if($player->isLoaded())
			$account = $player->getAccount();
		else
			$account = new OTS_Account();
	}
	
	if(empty($posted_code))
		$errors[] = 'Prosze wpisac kod z SMSa/przelewu.';
		
	if(!$account->isLoaded())
		$errors[] = 'Konto/konto postaci o podanym nicku nie istnieje.';
		
	if(count($errors) == 0)
	{
		if($config['site']['verify_code_shop'])
		{
			//check verification code
			$string = strtoupper($_SESSION['string']);
			$userstring = strtoupper($verify_code);
			$_SESSION['string'] = mt_rand(1,99999);
			if(empty($string))
				$errors[] = "Kod z obrazka weryfikacyjnego w sesji jest pusty, sproboj ponownie.";
			else
			{
				if(empty($userstring))
					$errors[] = "Prosze wpisac kod z obrazka weryfikacyjnego.";
				else
				{
					if($string != $userstring)
						$errors[] = "Kod z obrazka weryfikacyjnego jest niepoprawny.";
				}
			}
		}
		
		if(count($errors) == 0)
		{
			$code_info = check_code_dotpay($config['dotpay'][$sms_type]['code'], $posted_code, $config['dotpay'][$sms_type]['id'], $config['dotpay'][$sms_type]['type']);
			if($code_info[0] == 0)
				$errors[] = 'Podany kod z SMSa/przelewu jest niepoprawny lub wybrano zla opcje SMSa/przelewu.';
			else
			{
				if(add_points($account, $config['dotpay'][$sms_type]['addpoints']))
				{
					save_trans('trans/dotpay.log', $account->getId(), $posted_code);
					$code_info = delete_code_dotpay($config['dotpay'][$sms_type]['code'], $posted_code, $config['dotpay'][$sms_type]['id'], $config['dotpay'][$sms_type]['type']);
					$main_content .= '<h1><font color="red">Dodano '.$config['dotpay'][$sms_type]['addpoints'].' punktow premium do konta: '.$to_user.' !</font></h1>';
				}
				else
					$errors[] = 'Wystapil blad podczas dodawania punktow do konta, sproboj ponownie.';
			}
		}
	}
}
if(count($errors) > 0)
{
	$main_content .= 'Wystapily bledy:';
	foreach($errors as $error)
		$main_content .= '<br />* '.$error;
	$main_content .= '<hr /><hr />';
}
if($config['dotpay_active_sms'])
{
	$main_content .= '<h2>SMS</h2>Kup punkty premium, mozesz je wymienic w sklepie OTSa na PACC/przedmioty w grze, aby zakupic punkty premium wyslij SMSa:';
	foreach($config['dotpay'] as $sms)
		if($sms['type'] == 'sms')
			$main_content .= '<br /><b>* Na numer <font color="red">'.$sms['sms_number'].'</font> o tresci <font color="red"><b>'.$sms['sms_text'].'</b></font> za <font color="red"><b>'.$sms['sms_cost'].'</b></font>, a za kod dostaniesz <font color="red"><b>'.$sms['addpoints'].'</b></font> punktow premium.</b>';
	$main_content .= '<br />W SMSie zwrotnym otrzymasz specjalny kod. Wpisz ten kod w formularzu wraz z nickiem postaci lub numerem konta osoby ktora ma otrzymac punkty.<br />
	Serwis SMS obslugiwany przez <a href="http://www.dotpay.pl" target="_blank">Dotpay.pl</a><br />
	Regulamin: <a href="http://www.dotpay.pl/regulaminsms" target="_blank">http://www.dotpay.pl/regulaminsms</a><br />
	Usluga dostepna w sieciach: Orange, Plus GSM, Era.<br />
	<b>'.$config['server']['serverName'].'</b> nie odpowieda za zle wpisane tresci SMS.<hr />';
}
if($config['dotpay_active_transfer'])
{
	$main_content .= '<h2>Przelew/karta kredytowa</h2>Kup punkty premium, mozesz je wymienic w sklepie OTSa na PACC/przedmioty w grze, aby zakupic punkty premium wejdz na jeden z adresow i wypelnij formularz:';
	foreach($config['dotpay'] as $przelew)
		if($przelew['type'] == 'C1')
			$main_content .= '<br /><b>* Adres - <a href="https://ssl.allpay.pl/?id='.$przelew['id'].'&code='.$przelew['code'].'"><font color="red">https://ssl.allpay.pl/?id='.$przelew['id'].'&code='.$przelew['code'].'</font></a> - koszt <font color="red"><b>'.$przelew['sms_cost'].'</b></font>, a za kod dostaniesz <font color="red"><b>'.$przelew['addpoints'].'</b></font> punktow premium.</b>';
	$main_content .= 'Kiedy Twoj przelew dojdzie (z kart kredytowych i bankow internetowych z listy jest to kwestia paru sekund) na e-mail ktory podales w formularzu otrzymasz kod. Kod ten mozesz wymienic na tej stronie na punkty premium w formularzu ponizej.<hr />';
}
$main_content .= '<form action="index.php?subtopic=buypoints&system=dotpay" method="POST"><table>';
$main_content .= '<tr><td><b>Nick postaci lub numer konta: </b></td><td><input type="text" size="20" value="'.$to_user.'" name="to_user" /></td></tr>
<tr><td><b>Kod z SMSa: </b></td<td><input type="text" size="20" value="'.$posted_code.'" name="code" /></td></tr><tr><td><b>Typ wyslanego SMSa: </b></td><td><select name="sms_type">';
foreach($config['dotpay'] as $id => $sms)
	if($sms['type'] == 'sms')
		$main_content .= '<option value="'.$id.'">numer '.$sms['sms_number'].' - kod '.$sms['sms_text'].' - SMS za '.$sms['sms_cost'].'</option>';
	elseif($przelew['type'] == 'C1')
		$main_content .= '<option value="'.$id.'">przelew - kod '.$sms['sms_text'].' - za '.$sms['sms_cost'].'</option>';
$main_content .= '</select></td></tr>';
if($config['site']['verify_code_shop'])
		$main_content .= '<tr><td><B>Kod weryfikacji: </B></td><td><img src="imgverification/imagebuilder.php?image_refresher='.mt_rand(1,99999).'" border="0" alt=""></td></tr>
						  <tr><td><B>Wpisz kod weryfikacji: </B></td><td><INPUT id="verify" NAME="verify_code" VALUE="" SIZE=30></td></tr>';
$main_content .= '<tr><td></td><td><input type="submit" value="Sprawdz" /></td></tr></table></form>';

}
else
{
	if($config['dotpay_active'])
		$main_content .= '<br /><br /><a href="index.php?subtopic=buypoints&system=dotpay"><h2>For users from Poland - LINK</h2></a><h3>Zaplac SMS, karta kredytowa lub przelewem bankowym.</h3>';
	if($config['daopay_active'])
		$main_content .= '<br /><br /><a href="index.php?subtopic=buypoints&system=daopay"><h2>For all users - LINK</h2></a><h3>Send SMS (FOR ALL COUNTRIES!) or call special number to donate and get points.<br><br><img src="flags/pl.png"> Uzywajac linka u gory moga placic rowniez gracze na terenie Polski poprzez  dzwonienie, cena moze sie pojawic w euro, lecz pobierze wam normalnie w PLN.</h3><br><br><h3></h3><a href="?subtopic=paypal"><font size="4">Donate by PayPal</font></a><br></h3>By donating by PayPal you get free 10 Points!';
}
?>
 
i have this problem
Errors occured:
* Wrong PIN code, try to enter code again.

i done your issue 1 but when i try to put my pin, this say's that

and 1 player has donate me and daopay say
*complete
*I clicked complete payment and it said he requested URL /pay/kilots.servegame.com was not found on this server.
 
What should i edit
(i havent edited anything here)

Code:
<?PHP
####################       CONFIG      ###################################################
#aktywacja dotpay oraz dostepych systemow platnosci, wartosci: true / false
$config['dotpay'] = array();
$config['dotpay_active'] = true; #active dotpay system?
$config['dotpay_active_sms'] = true; #active dotpay system?
$config['dotpay_active_transfer'] = true; #active dotpay system?
# przykladowy konfig dla SMS
$config['dotpay'][0]['id'] = 30095;       # numer ID zarejestrowanego klienta
$config['dotpay'][0]['code'] = "WFG1"; # identyfikator uslug SMS
$config['dotpay'][0]['type'] = "sms";   # typ konta: C1 - 8 znakowy kod bezobslugowy, sms - dla sprawdzania SMSow
$config['dotpay'][0]['addpoints'] = 50; # ile premium punktow daje dany sms
$config['dotpay'][0]['sms_number'] = 74068; # numer na jaki nalezy wyslac kod
$config['dotpay'][0]['sms_text'] = "AP.WFG1"; # tresc jaka ma byc w SMSie
$config['dotpay'][0]['sms_cost'] = "4.66 zl brutto"; # cena za wyslanie sms

$config['dotpay'][1]['id'] = 30095;       # numer ID zarejestrowanego klienta
$config['dotpay'][1]['code'] = "TMY8"; # identyfikator uslug SMS
$config['dotpay'][1]['type'] = "sms";   # typ konta: C1 - 8 znakowy kod bezobslugowy, sms - dla sprawdzania SMSow
$config['dotpay'][1]['addpoints'] = 120; # ile premium punktow daje dany sms
$config['dotpay'][1]['sms_number'] = 79068; # numer na jaki nalezy wyslac kod
$config['dotpay'][1]['sms_text'] = "AP.TMY8"; # tresc jaka ma byc w SMSie
$config['dotpay'][1]['sms_cost'] = "9.66 zl brutto"; # cena za wyslanie sms




$config['dotpay'][2]['id'] = 30095;       # numer ID zarejestrowanego klienta
$config['dotpay'][2]['code'] = "VBG5"; # identyfikator uslug SMS
$config['dotpay'][2]['type'] = "sms";   # typ konta: C1 - 8 znakowy kod bezobslugowy, sms - dla sprawdzania SMSow
$config['dotpay'][2]['addpoints'] = 400; # ile premium punktow daje dany sms
$config['dotpay'][2]['sms_number'] = 92568; # numer na jaki nalezy wyslac kod
$config['dotpay'][2]['sms_text'] = "AP.VBG5"; # tresc jaka ma byc w SMSie
$config['dotpay'][2]['sms_cost'] = "25 zl brutto"; # cena za wyslanie sms
# przykladowy konfig dla przelewu bankowego/karty kredytowej
$config['dotpay'][3]['id'] = 30095;       # numer ID zarejestrowanego klienta
$config['dotpay'][3]['code'] = "wjm0"; # identyfikator uslug SMS
$config['dotpay'][3]['type'] = "C1";   # typ konta: C1 - 8 znakowy kod bezobslugowy, sms - dla sprawdzania SMSow
$config['dotpay'][3]['addpoints'] = 550; # ile premium punktow daje dany sms
$config['dotpay'][3]['sms_number'] = ""; # numer na jaki nalezy wyslac kod
$config['dotpay'][3]['sms_text'] = "wjm0"; # tresc jaka ma byc w SMSie
$config['dotpay'][3]['sms_cost'] = "20 zl brutto"; # cena za wyslanie sms




# activation of DaoPay system
$config['daopay'] = array();
$config['daopay_active'] = true; #active daopay system?
# example config for daopay
$config['daopay'][0]['appcode'] = 51921; #
$config['daopay'][0]['prodcode'] = '4650'; #
$config['daopay'][0]['addpoints'] = '50'; #
$config['daopay'][0]['cost'] = "2 euro inc. VAT"; #

$config['daopay'][1]['appcode'] = 51921; #
$config['daopay'][1]['prodcode'] = '4561'; #
$config['daopay'][1]['addpoints'] = '100'; #
$config['daopay'][1]['cost'] = "3.50 euro inc. VAT"; #

$config['daopay'][2]['appcode'] = 51921; #
$config['daopay'][2]['prodcode'] = '4651'; #
$config['daopay'][2]['addpoints'] = '20'; #
$config['daopay'][2]['cost'] = "1.00 euro inc. VAT"; #
#################################################################################
function save_trans($file, $acc, $code)
{
	$hak = fopen($file, "a");
	fwrite($hak, $code.'='.$acc.'
');
	fclose($hak);
}

function check_code_daopay($appcode, $prodcode, $pin)
{
	$handle = fopen("http://DaoPay.com/svc/PINcheck?appcode=".$appcode."&subkey=".$prodcode."&pin=".$pin, 'r');
	if ($handle)
	{
	    $status = fgets($handle, 128);
		fclose($handle);
		if($status[0] == 'o' && $status[1] == 'k')
		{
			
			$return = 1;
		}
		else
			$return = 2;
	}
	else
		$return = 3;
	return $return;
}

function check_code_dotpay($code, $posted_code, $user_id, $type)
{
	$handle = fopen("http://dotpay.pl/check_code.php?id=".$user_id."&code=".$code."&check=".$posted_code."&type=".$type."&del=0", 'r');
    $status = fgets($handle, 8);
    $czas_zycia = fgets($handle, 24);
    fclose($handle);
    $czas_zycia = rtrim($czas_zycia);
	return array($status, $czas_zycia);
}

function delete_code_dotpay($code, $posted_code, $user_id, $type)
{
	$handle = fopen("http://dotpay.pl/check_code.php?id=".$user_id."&code=".$code."&check=".$posted_code."&type=".$type."&del=1", 'r');
    fclose($handle);
}

function add_points(OTS_Account $account, $number_of_points)
{
	if($account->isLoaded())
	{
		$account->setCustomField('premium_points', ($account->getCustomField('premium_points')+$number_of_points));
		return true;
	}
	else
		return false;
}


if ($_REQUEST['system'] == 'daopay' && $config['daopay_active'])
{
#################################################################################
$offer_id = (int) $_POST['offer_id'];
$posted_pincode = trim($_POST['pincode']);
$to_user = trim($_POST['to_user']);
$verify_code = trim($_POST['verify_code']);
#################################################################################
if(!empty($to_user))
{
	if(is_numeric($to_user))
	{
		$account = new OTS_Account();
		$account->load($to_user);
	}
	else
	{
		$player = new OTS_Player();
		$player->find($to_user);
		if($player->isLoaded())
			$account = $player->getAccount();
		else
			$account = new OTS_Account();
	}
	
	if(empty($posted_pincode))
		$errors[] = 'Please enter your PIN code.';
		
	if(!$account->isLoaded())
		$errors[] = 'Account/account of player with this name doesn\'t exist.';
	if(count($errors) == 0)
	{
		if($config['site']['verify_code_shop'])
		{
			//check verification code
			$string = strtoupper($_SESSION['string']);
			$userstring = strtoupper($verify_code);
			$_SESSION['string'] = mt_rand(1,99999);
			if(empty($string))
				$errors[] = "Code from verification image in session is empty, try again.";
			else
			{
				if(empty($userstring))
					$errors[] = "Please enter code from verification image.";
				else
				{
					if($string != $userstring)
						$errors[] = "Code from verification image is wrong.";
				}
			}
		}
		
		if(count($errors) == 0)
		{
			$code_info = check_code_daopay($config['daopay'][$offer_id]['appcode'], $config['daopay'][$offer_id]['prodcode'], $posted_pincode);
			if($code_info == 3)
				$errors[] = 'Server has problem with connection to daopay.com, can\'t verify PIN code.';
			elseif($code_info == 2)
				$errors[] = 'Wrong PIN code, try to enter code again.';
			elseif($code_info == 1)
			{
				if(add_points($account, $config['daopay'][$offer_id]['addpoints']))
				{
					save_trans('trans/daopay.log', $account->getId(), $posted_pincode);
					$main_content .= '<h2><font color="red">Good PIN code. Added '.$config['daopay'][$offer_id]['addpoints'].' Premium Points to account of: '.$to_user.' !</font></h2>';
				}
				else
					$errors[] = 'Error occured, try again.';
			}
		}
	}
}
if(count($errors) > 0)
{
	$main_content .= '<font color="red"><b>Errors occured:</b></font>';
	foreach($errors as $error)
		$main_content .= '<br />* '.$error;
	$main_content .= '<hr /><hr />';
}
$main_content .= 'Buy Premium Points. For this points you can buy pacc/items in Shop. To buy points:<br />
1. Visit one of our pages and donate us (send SMS/call special number).<br />
2. After donate daopay.com will show you PIN code.<br />
3. Save somewhere this PIN code and open this page again.<br />
4. Enter your character name or account and your PIN code in form below.<br />
5. Select donation cost from list and press "Check Code".<br />
6. If account and PIN code is valid you get premium points.<br />
7. Open "Shop Offer" and buy items/pacc :)<br />
<font color="red"><b>Our pages:</b></font>';
foreach($config['daopay'] as $offer)
	$main_content .= '<br /><b>* Address <font color="red"><a href="https://daopay.com/svc/pay.svc?tidkey='.urlencode($offer['appcode']).'&subkey='.urlencode($offer['prodcode']).'">https://daopay.com/svc/pay.svc?tidkey='.$offer['appcode'].'&subkey='.$offer['prodcode'].'</a></font> - <font color="red"><b>'.$offer['cost'].'</b></font> - <font color="red"><b>'.$offer['addpoints'].'</b></font> premium points</b>';
$main_content .= '<hr /><form action="index.php?subtopic=buypoints&system=daopay" method="POST"><table>';
$main_content .= '<tr><td><b>Player name or account number: </b></td><td><input type="text" size="20" value="'.$to_user.'" name="to_user" /></td></tr>
<tr><td><b>PIN code: </b></td<td><input type="text" size="20" value="'.$posted_pincode.'" name="pincode" /></td></tr><tr><td><b>Offer type: </b></td><td><select name="offer_id">';
foreach($config['daopay'] as $id => $offer)
	$main_content .= '<option value="'.$id.'">'.$offer['prodcode'].' - cost '.$offer['cost'].' - points '.$offer['addpoints'].'</option>';
$main_content .= '</select></td></tr>';
if($config['site']['verify_code_shop'])
		$main_content .= '<tr><td><B>Verify code: </B></td><td><img src="imgverification/imagebuilder.php?image_refresher='.mt_rand(1,99999).'" border="0" alt=""></td></tr>
						  <tr><td><B>Enter verify code: </B></td><td><INPUT id="verify" NAME="verify_code" VALUE="" SIZE=30></td></tr>';
$main_content .= '<tr><td></td><td><input type="submit" value="Check Code" /></td></tr></table></form>';
}
elseif ($_REQUEST['system'] == 'dotpay' && $config['dotpay_active'])
{
#################################################################################
$sms_type = (int) $_POST['sms_type'];
$posted_code = trim($_POST['code']);
$to_user = trim($_POST['to_user']);
$verify_code = trim($_POST['verify_code']);
#################################################################################
if(!empty($to_user))
{
	if(is_numeric($to_user))
	{
		$account = new OTS_Account();
		$account->load($to_user);
	}
	else
	{
		$player = new OTS_Player();
		$player->find($to_user);
		if($player->isLoaded())
			$account = $player->getAccount();
		else
			$account = new OTS_Account();
	}
	
	if(empty($posted_code))
		$errors[] = 'Prosze wpisac kod z SMSa/przelewu.';
		
	if(!$account->isLoaded())
		$errors[] = 'Konto/konto postaci o podanym nicku nie istnieje.';
		
	if(count($errors) == 0)
	{
		if($config['site']['verify_code_shop'])
		{
			//check verification code
			$string = strtoupper($_SESSION['string']);
			$userstring = strtoupper($verify_code);
			$_SESSION['string'] = mt_rand(1,99999);
			if(empty($string))
				$errors[] = "Kod z obrazka weryfikacyjnego w sesji jest pusty, sproboj ponownie.";
			else
			{
				if(empty($userstring))
					$errors[] = "Prosze wpisac kod z obrazka weryfikacyjnego.";
				else
				{
					if($string != $userstring)
						$errors[] = "Kod z obrazka weryfikacyjnego jest niepoprawny.";
				}
			}
		}
		
		if(count($errors) == 0)
		{
			$code_info = check_code_dotpay($config['dotpay'][$sms_type]['code'], $posted_code, $config['dotpay'][$sms_type]['id'], $config['dotpay'][$sms_type]['type']);
			if($code_info[0] == 0)
				$errors[] = 'Podany kod z SMSa/przelewu jest niepoprawny lub wybrano zla opcje SMSa/przelewu.';
			else
			{
				if(add_points($account, $config['dotpay'][$sms_type]['addpoints']))
				{
					save_trans('trans/dotpay.log', $account->getId(), $posted_code);
					$code_info = delete_code_dotpay($config['dotpay'][$sms_type]['code'], $posted_code, $config['dotpay'][$sms_type]['id'], $config['dotpay'][$sms_type]['type']);
					$main_content .= '<h1><font color="red">Dodano '.$config['dotpay'][$sms_type]['addpoints'].' punktow premium do konta: '.$to_user.' !</font></h1>';
				}
				else
					$errors[] = 'Wystapil blad podczas dodawania punktow do konta, sproboj ponownie.';
			}
		}
	}
}
if(count($errors) > 0)
{
	$main_content .= 'Wystapily bledy:';
	foreach($errors as $error)
		$main_content .= '<br />* '.$error;
	$main_content .= '<hr /><hr />';
}
if($config['dotpay_active_sms'])
{
	$main_content .= '<h2>SMS</h2>Kup punkty premium, mozesz je wymienic w sklepie OTSa na PACC/przedmioty w grze, aby zakupic punkty premium wyslij SMSa:';
	foreach($config['dotpay'] as $sms)
		if($sms['type'] == 'sms')
			$main_content .= '<br /><b>* Na numer <font color="red">'.$sms['sms_number'].'</font> o tresci <font color="red"><b>'.$sms['sms_text'].'</b></font> za <font color="red"><b>'.$sms['sms_cost'].'</b></font>, a za kod dostaniesz <font color="red"><b>'.$sms['addpoints'].'</b></font> punktow premium.</b>';
	$main_content .= '<br />W SMSie zwrotnym otrzymasz specjalny kod. Wpisz ten kod w formularzu wraz z nickiem postaci lub numerem konta osoby ktora ma otrzymac punkty.<br />
	Serwis SMS obslugiwany przez <a href="http://www.dotpay.pl" target="_blank">Dotpay.pl</a><br />
	Regulamin: <a href="http://www.dotpay.pl/regulaminsms" target="_blank">http://www.dotpay.pl/regulaminsms</a><br />
	Usluga dostepna w sieciach: Orange, Plus GSM, Era.<br />
	<b>'.$config['server']['serverName'].'</b> nie odpowieda za zle wpisane tresci SMS.<hr />';
}
if($config['dotpay_active_transfer'])
{
	$main_content .= '<h2>Przelew/karta kredytowa</h2>Kup punkty premium, mozesz je wymienic w sklepie OTSa na PACC/przedmioty w grze, aby zakupic punkty premium wejdz na jeden z adresow i wypelnij formularz:';
	foreach($config['dotpay'] as $przelew)
		if($przelew['type'] == 'C1')
			$main_content .= '<br /><b>* Adres - <a href="https://ssl.allpay.pl/?id='.$przelew['id'].'&code='.$przelew['code'].'"><font color="red">https://ssl.allpay.pl/?id='.$przelew['id'].'&code='.$przelew['code'].'</font></a> - koszt <font color="red"><b>'.$przelew['sms_cost'].'</b></font>, a za kod dostaniesz <font color="red"><b>'.$przelew['addpoints'].'</b></font> punktow premium.</b>';
	$main_content .= 'Kiedy Twoj przelew dojdzie (z kart kredytowych i bankow internetowych z listy jest to kwestia paru sekund) na e-mail ktory podales w formularzu otrzymasz kod. Kod ten mozesz wymienic na tej stronie na punkty premium w formularzu ponizej.<hr />';
}
$main_content .= '<form action="index.php?subtopic=buypoints&system=dotpay" method="POST"><table>';
$main_content .= '<tr><td><b>Nick postaci lub numer konta: </b></td><td><input type="text" size="20" value="'.$to_user.'" name="to_user" /></td></tr>
<tr><td><b>Kod z SMSa: </b></td<td><input type="text" size="20" value="'.$posted_code.'" name="code" /></td></tr><tr><td><b>Typ wyslanego SMSa: </b></td><td><select name="sms_type">';
foreach($config['dotpay'] as $id => $sms)
	if($sms['type'] == 'sms')
		$main_content .= '<option value="'.$id.'">numer '.$sms['sms_number'].' - kod '.$sms['sms_text'].' - SMS za '.$sms['sms_cost'].'</option>';
	elseif($przelew['type'] == 'C1')
		$main_content .= '<option value="'.$id.'">przelew - kod '.$sms['sms_text'].' - za '.$sms['sms_cost'].'</option>';
$main_content .= '</select></td></tr>';
if($config['site']['verify_code_shop'])
		$main_content .= '<tr><td><B>Kod weryfikacji: </B></td><td><img src="imgverification/imagebuilder.php?image_refresher='.mt_rand(1,99999).'" border="0" alt=""></td></tr>
						  <tr><td><B>Wpisz kod weryfikacji: </B></td><td><INPUT id="verify" NAME="verify_code" VALUE="" SIZE=30></td></tr>';
$main_content .= '<tr><td></td><td><input type="submit" value="Sprawdz" /></td></tr></table></form>';

}
else
{
	if($config['dotpay_active'])
		$main_content .= '<br /><br /><a href="index.php?subtopic=buypoints&system=dotpay"><h2>For users from Poland - LINK</h2></a><h3>Zaplac SMS, karta kredytowa lub przelewem bankowym.</h3>';
	if($config['daopay_active'])
		$main_content .= '<br /><br /><a href="index.php?subtopic=buypoints&system=daopay"><h2>For all users - LINK</h2></a><h3>Send SMS (FOR ALL COUNTRIES!) or call special number to donate and get points.<br><br><img src="flags/pl.png"> Uzywajac linka u gory moga placic rowniez gracze na terenie Polski poprzez  dzwonienie, cena moze sie pojawic w euro, lecz pobierze wam normalnie w PLN.</h3><br><br><h3></h3><a href="?subtopic=paypal"><font size="4">Donate by PayPal</font></a><br></h3>By donating by PayPal you get free 10 Points!';
}
?>

Dotpay is a polish system so if you are not polish you should remove it change line:

$config['dotpay_active'] = true; #active dotpay system?

to

$config['dotpay_active'] = false; #active dotpay system?

now to use daopay edit this lines with your info:

# activation of DaoPay system
$config['daopay'] = array();
$config['daopay_active'] = true; #active daopay system?
# example config for daopay
$config['daopay'][0]['appcode'] = 51921; #
$config['daopay'][0]['prodcode'] = '4650'; #
$config['daopay'][0]['addpoints'] = '50'; #
$config['daopay'][0]['cost'] = "2 euro inc. VAT"; #

$config['daopay'][1]['appcode'] = 51921; #
$config['daopay'][1]['prodcode'] = '4561'; #
$config['daopay'][1]['addpoints'] = '100'; #
$config['daopay'][1]['cost'] = "3.50 euro inc. VAT"; #

$config['daopay'][2]['appcode'] = 51921; #
$config['daopay'][2]['prodcode'] = '4651'; #
$config['daopay'][2]['addpoints'] = '20'; #
$config['daopay'][2]['cost'] = "1.00 euro inc. VAT"; #

each of these is a different product..
$config['daopay'][0]['appcode'] = 51921; #
$config['daopay'][0]['prodcode'] = '4650'; #
$config['daopay'][0]['addpoints'] = '50'; #
$config['daopay'][0]['cost'] = "2 euro inc. VAT"; #

so you currently have 3 products if you want more just copy and paste and change the 0 to the next product number...

guide yourself on this thread to setup daopay: http://otland.net/f137/how-setup-daopay-photos-34355/
 
Solution #11
1. Open up your "php.ini" (xampp/php/php.ini)
2. Search for: memory_limit (Line 246)
3. Replace:
Code:

memory_limit = 32M

With:
Code:

memory_limit = 64M

Didnt work for me.
 
It's not allowing https connections so you have to edit buypoints.php

change:
$handle = fopen("https://daopay.com/svc/pincheck?appcode=".$appcode."&prodcode=".$prodcode ."&pin=".$pin, 'r');

to:
$handle = fopen("http://daopay.com/svc/pincheck?appcode=".$appcode."&prodcode=".$prodcode ."&pin=".$pin, 'r');

thats the solution...

I have posted it 1 page before lol :p
 
Well , i did as the solution said but it still says
Errors occured:
* Wrong PIN code, try to enter code again.
 
Back
Top