• 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!

Znote PayPal

dex93

New Member
Joined
May 31, 2015
Messages
57
Reaction score
3
Witajcie,
właśnie ustawiam PayPal pod ZNOTE.
Ustawiłem cenę próbną 1zł za 30 pkt.:

PHP:
    // Write your paypal address here, and what currency you want to recieve money in.
    $config['paypal'] = array(
        'enabled' => true,
        'email' => '[email protected]', // Example: [email protected]
        'currency' => 'PLN',
        'points_per_currency' => 2.50, // 1 currency = ? points? [ONLY used to calculate bonuses]
        'success' => "http://".$_SERVER['HTTP_HOST']."/success.php",
        'failed' => "http://".$_SERVER['HTTP_HOST']."/failed.php",
        'ipn' => "http://".$_SERVER['HTTP_HOST']."/ipn.php",
        'showBonus' => true,
    );

    // Configure the "buy now" buttons prices, first write price, then how many points you get.
    // Giving some bonus points for higher donations will tempt users to donate more.
    $config['paypal_prices'] = array(
    //    price => points,
        1 => 30, // 0% bonus
        20 => 60, // -10% bonus
        30 => 90, // -10% bonus
        40 => 120, // -10% bonus
        50 => 150, // -10% bonus
      
    );

A mój plik buypoints.php wygląda tak:

PHP:
<?php require_once 'engine/init.php';
protect_page();
include 'layout/overall/header.php'; 

// Import from config:
$pagseguro = $config['pagseguro'];
$paypal = $config['paypal'];
$prices = $config['paypal_prices'];


####################    CONFIG    ####################
$config['server']['serverName'] = 'SERVER NAME';
#aktywacja homepay, wartosci: true / false
# activate homepay, values: true / false
$config['homepay'] = array();
$config['homepay_active'] = true;
$config['homepay_active_sms'] = true; #active homepay sms system?
$config['homepay_active_transfer'] = true; #active homepay transfer system?
# przykladowy konfig dla SMS
# Example configuration for SMS
$config['homepay'][9]['acc_id'] = 12312;
$config['homepay'][9]['addpoints'] = 200;
$config['homepay'][9]['sms_number'] = "NUMER";
$config['homepay'][9]['type'] = "sms";
$config['homepay'][9]['sms_text'] = "TEXT";
$config['homepay'][9]['sms_cost'] = "COST";
$config['homepay'][10]['acc_id'] = 12312;
$config['homepay'][10]['addpoints'] = 500;
$config['homepay'][10]['sms_number'] = "NUMER";
$config['homepay'][10]['type'] = "sms";
$config['homepay'][10]['sms_text'] = "TEXT";
$config['homepay'][10]['sms_cost'] = "w chuj";
# przykladowy konfig dla przelewu
# Sample configuration for transfer
$config['homepay'][1]['acc_id']=12298;
$config['homepay'][1]['addpoints']=250;
$config['homepay'][1]['link']="https://homepay.pl/wplata/12298-250";
$config['homepay'][1]['type']="przelew";
$config['homepay'][1]['przelew_text']="250";
$config['homepay'][1]['przelew_cost']="2,50 zl brutto";
$config['homepay'][2]['acc_id']=12299;
$config['homepay'][2]['addpoints']=600;
$config['homepay'][2]['link']="https://homepay.pl/wplata/12299-500";
$config['homepay'][2]['type']="przelew";
$config['homepay'][2]['przelew_text']="500";
$config['homepay'][2]['przelew_cost']="5,00 zl brutto";
$config['homepay'][3]['acc_id']=12300;
$config['homepay'][3]['addpoints']=1500;
$config['homepay'][3]['link']="https://homepay.pl/wplata/12300-1500";
$config['homepay'][3]['type']="przelew";
$config['homepay'][3]['przelew_text']="1500";
$config['homepay'][3]['przelew_cost']="11,00 zl brutto";
$config['homepay'][4]['acc_id']=12301;
$config['homepay'][4]['addpoints']=3000;
$config['homepay'][4]['link']="https://homepay.pl/wplata/12301-3000";
$config['homepay'][4]['type']="przelew";
$config['homepay'][4]['przelew_text']="3000";
$config['homepay'][4]['przelew_cost']="19,00 zl brutto";
$config['homepay'][5]['acc_id']=12302;
$config['homepay'][5]['addpoints']=4500;
$config['homepay'][5]['link']="https://homepay.pl/wplata/12302-4500";
$config['homepay'][5]['type']="przelew";
$config['homepay'][5]['przelew_text']="4500";
$config['homepay'][5]['przelew_cost']="29,00 zl brutto";
#################################################################################
# aktywacja uslugi daopay
# Enable daopay service
$config['daopay'] = array();
$config['daopay_active'] = false; #true/false
# przyklad configu dla daopay
# Example config for daopay
$config['daopay'][21]['appcode'] = 12345; #
$config['daopay'][21]['prodcode'] = 'NAZWAUSLUGI'; #
$config['daopay'][21]['addpoints'] = '100'; #
$config['daopay'][21]['cost'] = "1 euro inc. VAT"; #
#################################################################################
// This function add shop points to the znote_accounts table
function add_points($account_name, $points) {
    $account_name = sanitize($account_name);
    $points = (int)$points;
    $accid = user_character_account_id($account_name);
    $account = mysql_select_single("SELECT `premium_points` FROM `accounts` WHERE `account_id`='$accid'");
    if ($account !== false) {
        $tmp = $account['premium_points'];
        $tmp += $points;
        mysql_update("UPDATE `accounts` SET `premium_points`='$tmp' WHERE `account_id`='$accid'");
        return true;
    } else return false;
}
// This file dumps transactions to the homepay.log flatfile
function save_trans($account_name, $code) {
    $file = fopen('homepay.log', "a");
    fwrite($file, $code.'='.$account_name.' ['.date("m.d.y g:i").']');
    fclose($file);
}
// sms validation
// Does some local code string validation, returns 0 if validation fails, proceeds if validation succeed.
// Sends a request to homepay to validate the code string
// Returns the result
function check_code_homepay($code,$type) {
    global $config;
    if (!preg_match("/^[A-Za-z0-9]{8}$/",$code)) return 0;
    $code=urlencode($code);
    $handle=fopen("http://homepay.pl/sms/check_code.php?acc_id=".(int)($config['homepay'][$type]['acc_id'])."&code=".$code,'r');
    $status=fgets($handle,8);
    fclose($handle);
    return $status;
}
// Some other API validation?
// Same as above function, but through another API
function check_tcode_homepay($code,$type) {
    global $config;
    if (!preg_match("/^[A-Za-z0-9]{8}$/",$code)) return 0;
    $code=urlencode($code);
    $handle=fopen("http://homepay.pl/API/check_tcode.php?acc_id=".(int)($config['homepay'][$type]['acc_id'])."&code=".$code,'r');
    $status=fgets($handle,8);
    fclose($handle);
    return $status;
}
?>

<!-- Default homepay styling -->
<style>
    .alert{
        border: 2px solid;
        font-size: 12px;
        margin: 10px 0;
        padding: 7px;
    }
    .alert-error{
        border-color: red;
        color: red;
    }
    .alert-notice{
        border-color: orange;
        color: orange;
    }
    .alert-success{
        border-color: green;
        color: green;
    }
</style>

<div class="alert alert-notice">
    <strong>UWAGA!</strong> Prosimy zapoznac sie z regulaminem swiadczonych uslug zamieszczonym na dole tej strony.
</div>

<?php
// Request submit
if (isset($_POST['submit'])) {
    $sms_type = (int) $_POST['sms_type'];
    $posted_code = trim($_POST['code']);
    $to_user = trim($_POST['to_user']);
    $errors = array();
    if (!empty($to_user) && !empty($posted_code)) {
        $account_name = $to_user;
        if (count($errors) == 0) {
            if ($config['homepay'][$sms_type]['type']=="sms") {
                ////////  zeby nie zuzywalo kodu gdy wpiszemy zly kod/////////////
                if (user_character_exist($account_name)) {
                    $code_info = check_code_homepay($posted_code,$sms_type);
                } else {
                    $code_info = 99;
                }
                ////////  zeby nie zuzywalo kodu gdy wpiszemy zly kod/////////////
            } else /*przelewy*/ {
                if (user_character_exist($account_name)) {
                    $code_info = check_tcode_homepay($posted_code,$sms_type);
                } else {
                    $code_info = 99;
                }
            }
            // Status responses?
            switch ($code_info) {
                // Success?
                case '1':
                    if (add_points($account_name, $config['homepay'][$sms_type]['addpoints'])) {
                        echo '<div class="alert alert-success"><strong>SUKCES!</strong> Dodano '.$config['homepay'][$sms_type]['addpoints'].' punktow premium do konta z postacią: '.$to_user.'!</div>';
                        save_trans($account_name,$posted_code);
                    } else {
                        echo '<div class="alert alert-error"><strong>ERROR!</strong> Wystapil blad podczas dodawania punktow do konta.</div>';
                    }
                break;
                // Error from homepay?
                case '0':
                    echo '<div class="alert alert-error"><strong>ERROR!</strong> Podany kod z SMSa/przelewu jest niepoprawny lub wybrano zla opcje SMSa/przelewu!</div>';
                break;
                // Error by own validation?
                case '99':
                    echo '<div class="alert alert-error"><strong>ERROR!</strong> Konto z podaną postacią nie istnieje!</div>';
                break;
                // Some other error from homepay?
                default:
                    echo '<div class="alert alert-error"><strong>ERROR!</strong> Unsupported code_info: '. $code_info .'</div>';
                break;
            }
        } else {
            data_dump(false, $errors, "Error:");
        }
    } else {
        echo '<div class="alert alert-error"><strong>ERROR!</strong> Wypełnij wszystkie pola!</div>';
    }
}
// If homepay SMS service is activated
if ($config['homepay_active_sms']):
    foreach ($config['homepay'] as $sms):
        if ($sms['type'] == 'sms'):
            ?>Wyslij SMS na numer <b><?php echo $sms['sms_number']; ?></b> o tresci <b><?php echo $sms['sms_text']; ?></b> za <font color="green"><b><?php echo $sms['sms_cost']; ?></b></font>, a za kod dostaniesz <font color="green"><b><?php echo $sms['addpoints']; ?></b></font> punktow premium.<br/><?php
        endif;
    endforeach;
    ?><br /><?php
endif;
// If homepay transfer service is activated?
if ($config['homepay_active_transfer']):
    ?>
    <table class="table table-bordered">
        <tr>
            <td>
                <h2 align="center">Przelew</h2>
                Prosimy zapoznac sie z regulaminem swiadczonych uslug zamieszczonym na dole tej strony.
                <br/>
                <br/>
                <?php
                foreach ($config['homepay'] as $przelew):
                    if ($przelew['type'] == 'przelew'):
                        ?>
                        <b>* Adres - <a href="<?php echo $przelew['link']; ?>"><font color="green"><?php echo $przelew['link']; ?></font></a> - koszt <font color="green"><b><?php echo $przelew['przelew_cost']; ?></b></font>, a za kod dostaniesz <font color="green"><b><?php echo $przelew['addpoints']; ?></b></font> punktow premium.</b><br/>
                        <?php
                    endif;
                endforeach;
                ?>
            </td>
        </tr>
    </table>
    <br />
    <?php
endif;
?>

<!-- Homepay submit form -->
<form method="post" action="" id="enter_code">
    <table>
        <tr>
            <td><b>Nick postaci: </b></td>
            <td>
                <input type="text" size="20" value="" name="to_user" />
            </td>
        </tr>
        <tr>
            <td><b>Kod z SMSa/Przelewu: </b></td>
            <td>
                <input type="text" id="code" size="20" value="" name="code" />
            </td>
        </tr>
        <tr>
            <td><b>Typ wyslanego SMSa/Przelewu: </b></td>
            <td>
                <select name="sms_type">
                    <?php
                    foreach ($config['homepay'] as $id => $sms) {
                        // SMS input form
                        if ($sms['type'] == 'sms'):
                            ?>
                            <option value="<?php echo $id; ?>">numer <?php echo $sms['sms_number'].' - kod '.$sms['sms_text'].' - SMS za '.$sms['sms_cost']; ?></option>
                            <?php
                        endif;
                    }
                    foreach ($config['homepay'] as $id2 => $przelew) {
                            // transfer input form?
                        if ($przelew['type'] == 'przelew'):
                            ?>
                            <option value="<?php echo $id2; ?>">przelew - kod <?php echo $przelew['przelew_text'].' - za '.$przelew['przelew_cost']; ?></option>
                            <?php
                        endif;
                    }
                    ?>
                </select>
            </td>
        </tr>
        <tr>
            <td></td>
            <td>
                <input type="submit" name="submit" value="Sprawdz" />
            </td>
        </tr>
    </table>
</form>
<br />

<table>
    <tr>
        <td>
            <center><img border="0" src="http://homepay.pl/public/images/logo.png"></center>
            <br />
            <hr>
            Serwis SMS obslugiwany przez <a href="http://www.homepay.pl" target="_blank">Homepay.pl</a>
            <br />Regulamin: <a href="http://homepay.pl/regulamin/regulamin_sms_premium/" target="_blank">http://homepay.pl/regulamin/regulamin_sms_premium/</a>
            <br />Usluga dostepna w sieciach: Era, Orange, Play, Plus GSM.
            <br/>
            <hr>
            <b>Regulamin uslug dostepnych na stronie:</b>
            <br/><b>1.a)</b> Kiedy Twój poprawnie wyslany SMS zostanie dostarczony otrzymasz SMS zwrotny z kodem.
            <br/><b>1.b)</b> Kiedy Twój przelew zostanie zaksiegowany (z kart kredytowych i bankow internetowych z listy, jest to kwestia paru sekund) na e-mail który podales w formularzu otrzymasz kod.
            <br/><b>2.</b> Po otrzymaniu kodu SMS/przelewu i wpisaniu go wraz z nazwa konta w powyzszym formularzu, na serwerze Dexteria RPG podane konto zostanie automatycznie doladowane o okreslona ilosc <b>punktów premium</b> które nastepnie moga byc zamienione na wirtualne przedmioty w grze Open Tibia Serwer zwana <b>Naruto History</b>.
            <br/><b>3.</b> Do pelnego skozystania z uslugi wymagana jest przegladarka internetowa oraz polaczenie z siecia Internet.
            <br/><b>4.</b> <b>Naruto History</b> nie odpowiada za zle wpisane tresci SMS.
            <br/><b>5.</b> W razie problemów z dzialaniem uslugi nalezy kontaktowac sie z <a href="mailto:EMAIL">EMAIL</a>
        </td>
    </tr>
</table>


<h1>Buy Points</h1>
<h2>Buy points using Paypal:</h2>
<table id="buypointsTable" class="table table-striped table-hover">
    <tr class="yellow">
        <th>Price:</th>
        <th>Points:</th>
        <?php if ($paypal['showBonus']) { ?>
            <th>Bonus:</th>
        <?php } ?>
        <th>Action:</th>
    </tr>
        <?php
        foreach ($prices as $price => $points) {
        echo '<tr class="special">';
        echo '<td>'. $price .'('. $paypal['currency'] .')</td>';
        echo '<td>'. $points .'</td>';
        if ($paypal['showBonus']) echo '<td>'. calculate_discount(($paypal['points_per_currency'] * $price), $points) .' bonus</td>';
        ?>
        <td>
            <form action="https://www.paypal.com/cgi-bin/webscr" method="POST">
                <input type="hidden" name="cmd" value="_xclick">
                <input type="hidden" name="business" value="<?php echo $paypal['[email protected]']; ?>">
                <input type="hidden" name="item_name" value="<?php echo $points .' shop points on '. $config['site_title']; ?>">
                <input type="hidden" name="item_number" value="1">
                <input type="hidden" name="amount" value="<?php echo $price; ?>">
                <input type="hidden" name="no_shipping" value="1">
                <input type="hidden" name="no_note" value="1">
                <input type="hidden" name="currency_code" value="<?php echo $paypal['currency']; ?>">
                <input type="hidden" name="lc" value="GB">
                <input type="hidden" name="bn" value="PP-BuyNowBF">
                <input type="hidden" name="return" value="<?php echo $paypal['success']; ?>">
                <input type="hidden" name="cancel_return" value="<?php echo $paypal['failed']; ?>">
                <input type="hidden" name="rm" value="2">
                <input type="hidden" name="notify_url" value="<?php echo $paypal['ipn']; ?>" />
                <input type="hidden" name="custom" value="<?php echo (int)$session_user_id; ?>">
                <input type="submit" value="  PURCHASE  ">
            </form>
        </td>
        <?php
        echo '</tr>';
        }
        ?>
</table>


<?php
if ($config['pagseguro']['enabled'] == true) {
?>
    <h2>Buy points using Pagseguro:</h2>
    <form target="pagseguro" action="https://<?=$pagseguro['urls']['www']?>/checkout/checkout.jhtml" method="post">
        <input type="hidden" name="email_cobranca" value="<?=$pagseguro['email']?>">
        <input type="hidden" name="tipo" value="CP">
        <input type="hidden" name="moeda" value="<?=$pagseguro['currency']?>">
        <input type="hidden" name="ref_transacao" value="<?php echo (int)$session_user_id; ?>">
        <input type="hidden" name="item_id_1" value="1">
        <input type="hidden" name="item_descr_1" value="<?=$pagseguro['product_name']?>">
        <input type="number" name="item_quant_1" min="1" step="4" value="1">
        <input type="hidden" name="item_peso_1" value="0">
        <input type="hidden" name="item_valor_1" value="<?=$pagseguro['price']?>">
        <input type="submit" value="  PURCHASE  ">
    </form>
    <br>
<?php } ?>

<?php
if ($config['paygol']['enabled'] == true) {
?>
<!-- PayGol Form using Post method -->
<h2>Buy points using Paygol:</h2>
<?php $paygol = $config['paygol']; ?>
<p><?php echo $paygol['price'] ." ". $paygol['currency'] ."~ for ". $paygol['points'] ." points:"; ?></p>
<form name="pg_frm" method="post" action="http://www.paygol.com/micropayment/paynow" >
    <input type="hidden" name="pg_serviceid" value="<?php echo $paygol['serviceID']; ?>">
    <input type="hidden" name="pg_currency" value="<?php echo $paygol['currency']; ?>">
    <input type="hidden" name="pg_name" value="<?php echo $paygol['name']; ?>">
    <input type="hidden" name="pg_custom" value="<?php echo $session_user_id; ?>">
    <input type="hidden" name="pg_price" value="<?php echo $paygol['price']; ?>">
    <input type="hidden" name="pg_return_url" value="<?php echo $paygol['returnURL']; ?>">
    <input type="hidden" name="pg_cancel_url" value="<?php echo $paygol['cancelURL']; ?>">
    <input type="image" name="pg_button" src="http://www.paygol.com/micropayment/img/buttons/150/black_en_pbm.png" border="0" alt="Make payments with PayGol: the easiest way!" title="Make payments with PayGol: the easiest way!">
</form>
<?php }



if (!$config['paypal']['enabled'] && !$config['paygol']['enabled'] && !$config['pagseguro']['enabled']) echo '<h1>Buy Points system disabled.</h1><p>Sorry, this functionality is disabled.</p>';
include 'layout/overall/footer.php'; ?>

Edytowałem kod, aby pkt dochodziły do accounts > premium_points

Kupilem pkt za 1zl, ale pkt nie odtrzymałem.
Co źle?
 
Witajcie,
właśnie ustawiam PayPal pod ZNOTE.
Ustawiłem cenę próbną 1zł za 30 pkt.:

PHP:
    // Write your paypal address here, and what currency you want to recieve money in.
    $config['paypal'] = array(
        'enabled' => true,
        'email' => '[email protected]', // Example: [email protected]
        'currency' => 'PLN',
        'points_per_currency' => 2.50, // 1 currency = ? points? [ONLY used to calculate bonuses]
        'success' => "http://".$_SERVER['HTTP_HOST']."/success.php",
        'failed' => "http://".$_SERVER['HTTP_HOST']."/failed.php",
        'ipn' => "http://".$_SERVER['HTTP_HOST']."/ipn.php",
        'showBonus' => true,
    );

    // Configure the "buy now" buttons prices, first write price, then how many points you get.
    // Giving some bonus points for higher donations will tempt users to donate more.
    $config['paypal_prices'] = array(
    //    price => points,
        1 => 30, // 0% bonus
        20 => 60, // -10% bonus
        30 => 90, // -10% bonus
        40 => 120, // -10% bonus
        50 => 150, // -10% bonus
     
    );

A mój plik buypoints.php wygląda tak:

PHP:
<?php require_once 'engine/init.php';
protect_page();
include 'layout/overall/header.php';

// Import from config:
$pagseguro = $config['pagseguro'];
$paypal = $config['paypal'];
$prices = $config['paypal_prices'];


####################    CONFIG    ####################
$config['server']['serverName'] = 'SERVER NAME';
#aktywacja homepay, wartosci: true / false
# activate homepay, values: true / false
$config['homepay'] = array();
$config['homepay_active'] = true;
$config['homepay_active_sms'] = true; #active homepay sms system?
$config['homepay_active_transfer'] = true; #active homepay transfer system?
# przykladowy konfig dla SMS
# Example configuration for SMS
$config['homepay'][9]['acc_id'] = 12312;
$config['homepay'][9]['addpoints'] = 200;
$config['homepay'][9]['sms_number'] = "NUMER";
$config['homepay'][9]['type'] = "sms";
$config['homepay'][9]['sms_text'] = "TEXT";
$config['homepay'][9]['sms_cost'] = "COST";
$config['homepay'][10]['acc_id'] = 12312;
$config['homepay'][10]['addpoints'] = 500;
$config['homepay'][10]['sms_number'] = "NUMER";
$config['homepay'][10]['type'] = "sms";
$config['homepay'][10]['sms_text'] = "TEXT";
$config['homepay'][10]['sms_cost'] = "w chuj";
# przykladowy konfig dla przelewu
# Sample configuration for transfer
$config['homepay'][1]['acc_id']=12298;
$config['homepay'][1]['addpoints']=250;
$config['homepay'][1]['link']="https://homepay.pl/wplata/12298-250";
$config['homepay'][1]['type']="przelew";
$config['homepay'][1]['przelew_text']="250";
$config['homepay'][1]['przelew_cost']="2,50 zl brutto";
$config['homepay'][2]['acc_id']=12299;
$config['homepay'][2]['addpoints']=600;
$config['homepay'][2]['link']="https://homepay.pl/wplata/12299-500";
$config['homepay'][2]['type']="przelew";
$config['homepay'][2]['przelew_text']="500";
$config['homepay'][2]['przelew_cost']="5,00 zl brutto";
$config['homepay'][3]['acc_id']=12300;
$config['homepay'][3]['addpoints']=1500;
$config['homepay'][3]['link']="https://homepay.pl/wplata/12300-1500";
$config['homepay'][3]['type']="przelew";
$config['homepay'][3]['przelew_text']="1500";
$config['homepay'][3]['przelew_cost']="11,00 zl brutto";
$config['homepay'][4]['acc_id']=12301;
$config['homepay'][4]['addpoints']=3000;
$config['homepay'][4]['link']="https://homepay.pl/wplata/12301-3000";
$config['homepay'][4]['type']="przelew";
$config['homepay'][4]['przelew_text']="3000";
$config['homepay'][4]['przelew_cost']="19,00 zl brutto";
$config['homepay'][5]['acc_id']=12302;
$config['homepay'][5]['addpoints']=4500;
$config['homepay'][5]['link']="https://homepay.pl/wplata/12302-4500";
$config['homepay'][5]['type']="przelew";
$config['homepay'][5]['przelew_text']="4500";
$config['homepay'][5]['przelew_cost']="29,00 zl brutto";
#################################################################################
# aktywacja uslugi daopay
# Enable daopay service
$config['daopay'] = array();
$config['daopay_active'] = false; #true/false
# przyklad configu dla daopay
# Example config for daopay
$config['daopay'][21]['appcode'] = 12345; #
$config['daopay'][21]['prodcode'] = 'NAZWAUSLUGI'; #
$config['daopay'][21]['addpoints'] = '100'; #
$config['daopay'][21]['cost'] = "1 euro inc. VAT"; #
#################################################################################
// This function add shop points to the znote_accounts table
function add_points($account_name, $points) {
    $account_name = sanitize($account_name);
    $points = (int)$points;
    $accid = user_character_account_id($account_name);
    $account = mysql_select_single("SELECT `premium_points` FROM `accounts` WHERE `account_id`='$accid'");
    if ($account !== false) {
        $tmp = $account['premium_points'];
        $tmp += $points;
        mysql_update("UPDATE `accounts` SET `premium_points`='$tmp' WHERE `account_id`='$accid'");
        return true;
    } else return false;
}
// This file dumps transactions to the homepay.log flatfile
function save_trans($account_name, $code) {
    $file = fopen('homepay.log', "a");
    fwrite($file, $code.'='.$account_name.' ['.date("m.d.y g:i").']');
    fclose($file);
}
// sms validation
// Does some local code string validation, returns 0 if validation fails, proceeds if validation succeed.
// Sends a request to homepay to validate the code string
// Returns the result
function check_code_homepay($code,$type) {
    global $config;
    if (!preg_match("/^[A-Za-z0-9]{8}$/",$code)) return 0;
    $code=urlencode($code);
    $handle=fopen("http://homepay.pl/sms/check_code.php?acc_id=".(int)($config['homepay'][$type]['acc_id'])."&code=".$code,'r');
    $status=fgets($handle,8);
    fclose($handle);
    return $status;
}
// Some other API validation?
// Same as above function, but through another API
function check_tcode_homepay($code,$type) {
    global $config;
    if (!preg_match("/^[A-Za-z0-9]{8}$/",$code)) return 0;
    $code=urlencode($code);
    $handle=fopen("http://homepay.pl/API/check_tcode.php?acc_id=".(int)($config['homepay'][$type]['acc_id'])."&code=".$code,'r');
    $status=fgets($handle,8);
    fclose($handle);
    return $status;
}
?>

<!-- Default homepay styling -->
<style>
    .alert{
        border: 2px solid;
        font-size: 12px;
        margin: 10px 0;
        padding: 7px;
    }
    .alert-error{
        border-color: red;
        color: red;
    }
    .alert-notice{
        border-color: orange;
        color: orange;
    }
    .alert-success{
        border-color: green;
        color: green;
    }
</style>

<div class="alert alert-notice">
    <strong>UWAGA!</strong> Prosimy zapoznac sie z regulaminem swiadczonych uslug zamieszczonym na dole tej strony.
</div>

<?php
// Request submit
if (isset($_POST['submit'])) {
    $sms_type = (int) $_POST['sms_type'];
    $posted_code = trim($_POST['code']);
    $to_user = trim($_POST['to_user']);
    $errors = array();
    if (!empty($to_user) && !empty($posted_code)) {
        $account_name = $to_user;
        if (count($errors) == 0) {
            if ($config['homepay'][$sms_type]['type']=="sms") {
                ////////  zeby nie zuzywalo kodu gdy wpiszemy zly kod/////////////
                if (user_character_exist($account_name)) {
                    $code_info = check_code_homepay($posted_code,$sms_type);
                } else {
                    $code_info = 99;
                }
                ////////  zeby nie zuzywalo kodu gdy wpiszemy zly kod/////////////
            } else /*przelewy*/ {
                if (user_character_exist($account_name)) {
                    $code_info = check_tcode_homepay($posted_code,$sms_type);
                } else {
                    $code_info = 99;
                }
            }
            // Status responses?
            switch ($code_info) {
                // Success?
                case '1':
                    if (add_points($account_name, $config['homepay'][$sms_type]['addpoints'])) {
                        echo '<div class="alert alert-success"><strong>SUKCES!</strong> Dodano '.$config['homepay'][$sms_type]['addpoints'].' punktow premium do konta z postacią: '.$to_user.'!</div>';
                        save_trans($account_name,$posted_code);
                    } else {
                        echo '<div class="alert alert-error"><strong>ERROR!</strong> Wystapil blad podczas dodawania punktow do konta.</div>';
                    }
                break;
                // Error from homepay?
                case '0':
                    echo '<div class="alert alert-error"><strong>ERROR!</strong> Podany kod z SMSa/przelewu jest niepoprawny lub wybrano zla opcje SMSa/przelewu!</div>';
                break;
                // Error by own validation?
                case '99':
                    echo '<div class="alert alert-error"><strong>ERROR!</strong> Konto z podaną postacią nie istnieje!</div>';
                break;
                // Some other error from homepay?
                default:
                    echo '<div class="alert alert-error"><strong>ERROR!</strong> Unsupported code_info: '. $code_info .'</div>';
                break;
            }
        } else {
            data_dump(false, $errors, "Error:");
        }
    } else {
        echo '<div class="alert alert-error"><strong>ERROR!</strong> Wypełnij wszystkie pola!</div>';
    }
}
// If homepay SMS service is activated
if ($config['homepay_active_sms']):
    foreach ($config['homepay'] as $sms):
        if ($sms['type'] == 'sms'):
            ?>Wyslij SMS na numer <b><?php echo $sms['sms_number']; ?></b> o tresci <b><?php echo $sms['sms_text']; ?></b> za <font color="green"><b><?php echo $sms['sms_cost']; ?></b></font>, a za kod dostaniesz <font color="green"><b><?php echo $sms['addpoints']; ?></b></font> punktow premium.<br/><?php
        endif;
    endforeach;
    ?><br /><?php
endif;
// If homepay transfer service is activated?
if ($config['homepay_active_transfer']):
    ?>
    <table class="table table-bordered">
        <tr>
            <td>
                <h2 align="center">Przelew</h2>
                Prosimy zapoznac sie z regulaminem swiadczonych uslug zamieszczonym na dole tej strony.
                <br/>
                <br/>
                <?php
                foreach ($config['homepay'] as $przelew):
                    if ($przelew['type'] == 'przelew'):
                        ?>
                        <b>* Adres - <a href="<?php echo $przelew['link']; ?>"><font color="green"><?php echo $przelew['link']; ?></font></a> - koszt <font color="green"><b><?php echo $przelew['przelew_cost']; ?></b></font>, a za kod dostaniesz <font color="green"><b><?php echo $przelew['addpoints']; ?></b></font> punktow premium.</b><br/>
                        <?php
                    endif;
                endforeach;
                ?>
            </td>
        </tr>
    </table>
    <br />
    <?php
endif;
?>

<!-- Homepay submit form -->
<form method="post" action="" id="enter_code">
    <table>
        <tr>
            <td><b>Nick postaci: </b></td>
            <td>
                <input type="text" size="20" value="" name="to_user" />
            </td>
        </tr>
        <tr>
            <td><b>Kod z SMSa/Przelewu: </b></td>
            <td>
                <input type="text" id="code" size="20" value="" name="code" />
            </td>
        </tr>
        <tr>
            <td><b>Typ wyslanego SMSa/Przelewu: </b></td>
            <td>
                <select name="sms_type">
                    <?php
                    foreach ($config['homepay'] as $id => $sms) {
                        // SMS input form
                        if ($sms['type'] == 'sms'):
                            ?>
                            <option value="<?php echo $id; ?>">numer <?php echo $sms['sms_number'].' - kod '.$sms['sms_text'].' - SMS za '.$sms['sms_cost']; ?></option>
                            <?php
                        endif;
                    }
                    foreach ($config['homepay'] as $id2 => $przelew) {
                            // transfer input form?
                        if ($przelew['type'] == 'przelew'):
                            ?>
                            <option value="<?php echo $id2; ?>">przelew - kod <?php echo $przelew['przelew_text'].' - za '.$przelew['przelew_cost']; ?></option>
                            <?php
                        endif;
                    }
                    ?>
                </select>
            </td>
        </tr>
        <tr>
            <td></td>
            <td>
                <input type="submit" name="submit" value="Sprawdz" />
            </td>
        </tr>
    </table>
</form>
<br />

<table>
    <tr>
        <td>
            <center><img border="0" src="http://homepay.pl/public/images/logo.png"></center>
            <br />
            <hr>
            Serwis SMS obslugiwany przez <a href="http://www.homepay.pl" target="_blank">Homepay.pl</a>
            <br />Regulamin: <a href="http://homepay.pl/regulamin/regulamin_sms_premium/" target="_blank">http://homepay.pl/regulamin/regulamin_sms_premium/</a>
            <br />Usluga dostepna w sieciach: Era, Orange, Play, Plus GSM.
            <br/>
            <hr>
            <b>Regulamin uslug dostepnych na stronie:</b>
            <br/><b>1.a)</b> Kiedy Twój poprawnie wyslany SMS zostanie dostarczony otrzymasz SMS zwrotny z kodem.
            <br/><b>1.b)</b> Kiedy Twój przelew zostanie zaksiegowany (z kart kredytowych i bankow internetowych z listy, jest to kwestia paru sekund) na e-mail który podales w formularzu otrzymasz kod.
            <br/><b>2.</b> Po otrzymaniu kodu SMS/przelewu i wpisaniu go wraz z nazwa konta w powyzszym formularzu, na serwerze Dexteria RPG podane konto zostanie automatycznie doladowane o okreslona ilosc <b>punktów premium</b> które nastepnie moga byc zamienione na wirtualne przedmioty w grze Open Tibia Serwer zwana <b>Naruto History</b>.
            <br/><b>3.</b> Do pelnego skozystania z uslugi wymagana jest przegladarka internetowa oraz polaczenie z siecia Internet.
            <br/><b>4.</b> <b>Naruto History</b> nie odpowiada za zle wpisane tresci SMS.
            <br/><b>5.</b> W razie problemów z dzialaniem uslugi nalezy kontaktowac sie z <a href="mailto:EMAIL">EMAIL</a>
        </td>
    </tr>
</table>


<h1>Buy Points</h1>
<h2>Buy points using Paypal:</h2>
<table id="buypointsTable" class="table table-striped table-hover">
    <tr class="yellow">
        <th>Price:</th>
        <th>Points:</th>
        <?php if ($paypal['showBonus']) { ?>
            <th>Bonus:</th>
        <?php } ?>
        <th>Action:</th>
    </tr>
        <?php
        foreach ($prices as $price => $points) {
        echo '<tr class="special">';
        echo '<td>'. $price .'('. $paypal['currency'] .')</td>';
        echo '<td>'. $points .'</td>';
        if ($paypal['showBonus']) echo '<td>'. calculate_discount(($paypal['points_per_currency'] * $price), $points) .' bonus</td>';
        ?>
        <td>
            <form action="https://www.paypal.com/cgi-bin/webscr" method="POST">
                <input type="hidden" name="cmd" value="_xclick">
                <input type="hidden" name="business" value="<?php echo $paypal['[email protected]']; ?>">
                <input type="hidden" name="item_name" value="<?php echo $points .' shop points on '. $config['site_title']; ?>">
                <input type="hidden" name="item_number" value="1">
                <input type="hidden" name="amount" value="<?php echo $price; ?>">
                <input type="hidden" name="no_shipping" value="1">
                <input type="hidden" name="no_note" value="1">
                <input type="hidden" name="currency_code" value="<?php echo $paypal['currency']; ?>">
                <input type="hidden" name="lc" value="GB">
                <input type="hidden" name="bn" value="PP-BuyNowBF">
                <input type="hidden" name="return" value="<?php echo $paypal['success']; ?>">
                <input type="hidden" name="cancel_return" value="<?php echo $paypal['failed']; ?>">
                <input type="hidden" name="rm" value="2">
                <input type="hidden" name="notify_url" value="<?php echo $paypal['ipn']; ?>" />
                <input type="hidden" name="custom" value="<?php echo (int)$session_user_id; ?>">
                <input type="submit" value="  PURCHASE  ">
            </form>
        </td>
        <?php
        echo '</tr>';
        }
        ?>
</table>


<?php
if ($config['pagseguro']['enabled'] == true) {
?>
    <h2>Buy points using Pagseguro:</h2>
    <form target="pagseguro" action="https://<?=$pagseguro['urls']['www']?>/checkout/checkout.jhtml" method="post">
        <input type="hidden" name="email_cobranca" value="<?=$pagseguro['email']?>">
        <input type="hidden" name="tipo" value="CP">
        <input type="hidden" name="moeda" value="<?=$pagseguro['currency']?>">
        <input type="hidden" name="ref_transacao" value="<?php echo (int)$session_user_id; ?>">
        <input type="hidden" name="item_id_1" value="1">
        <input type="hidden" name="item_descr_1" value="<?=$pagseguro['product_name']?>">
        <input type="number" name="item_quant_1" min="1" step="4" value="1">
        <input type="hidden" name="item_peso_1" value="0">
        <input type="hidden" name="item_valor_1" value="<?=$pagseguro['price']?>">
        <input type="submit" value="  PURCHASE  ">
    </form>
    <br>
<?php } ?>

<?php
if ($config['paygol']['enabled'] == true) {
?>
<!-- PayGol Form using Post method -->
<h2>Buy points using Paygol:</h2>
<?php $paygol = $config['paygol']; ?>
<p><?php echo $paygol['price'] ." ". $paygol['currency'] ."~ for ". $paygol['points'] ." points:"; ?></p>
<form name="pg_frm" method="post" action="http://www.paygol.com/micropayment/paynow" >
    <input type="hidden" name="pg_serviceid" value="<?php echo $paygol['serviceID']; ?>">
    <input type="hidden" name="pg_currency" value="<?php echo $paygol['currency']; ?>">
    <input type="hidden" name="pg_name" value="<?php echo $paygol['name']; ?>">
    <input type="hidden" name="pg_custom" value="<?php echo $session_user_id; ?>">
    <input type="hidden" name="pg_price" value="<?php echo $paygol['price']; ?>">
    <input type="hidden" name="pg_return_url" value="<?php echo $paygol['returnURL']; ?>">
    <input type="hidden" name="pg_cancel_url" value="<?php echo $paygol['cancelURL']; ?>">
    <input type="image" name="pg_button" src="http://www.paygol.com/micropayment/img/buttons/150/black_en_pbm.png" border="0" alt="Make payments with PayGol: the easiest way!" title="Make payments with PayGol: the easiest way!">
</form>
<?php }



if (!$config['paypal']['enabled'] && !$config['paygol']['enabled'] && !$config['pagseguro']['enabled']) echo '<h1>Buy Points system disabled.</h1><p>Sorry, this functionality is disabled.</p>';
include 'layout/overall/footer.php'; ?>

Edytowałem kod, aby pkt dochodziły do accounts > premium_points

Kupilem pkt za 1zl, ale pkt nie odtrzymałem.
Co źle?
IPN ustawiles w paypal? Ja tak a tez nie dochdoza...
 
Back
Top