Witam,
Założyłem konto na HomePay i potrzebuje skryptu płatnego download który można zintegrować z homepay ale najlepiej żeby skrypt był oddzielny nie do jakiegoś cms typu PhP Fushion.
Najlepiej jak wrzucę skrypt bez konieczności dawania bazy danych do niego.
<?php
$config['homepay'] = array();
$config['homepay']['active_transfers']=true; // jesli uzywasz przelewow
$config['homepay']['active_sms']=true; // jesli uzywasz smsow
# przykladowy konfig dla SMS
$config['homepay'][1]['type']="sms";
$config['homepay'][1]['acc_id']=23; // twoje id uslugi widoczne w panelu
$config['homepay'][1]['sms_number']="7138"; // numer sms do wysylania wiadomosci
$config['homepay'][1]['sms_text']="HPAY.USLUGA"; // text smsa
$config['homepay'][1]['cost']="1.22 zl brutto"; // kwota wyswietlana
$config['homepay'][1]['text']="Doladuj konto za 20 punktow";
$config['homepay'][1]['addpoints']=20; // tu mozesz wpisywac dowolne parametry uslugi,
// potrzebne ci do zaakceptowania platnosci - np. ilosc punktow do doladowania konta w zaleznosci od kwoty
# przykladowy konfig dla przelewu
$config['homepay'][2]['type']="przelew";
$config['homepay'][2]['acc_id']=17; // twoje id uslugi widoczne w panelu
$config['homepay'][2]['link']="https://ssl.homepay.pl/wplata/1-Doladuj"; // link do wplaty
$config['homepay'][2]['cost']="12 zl brutto"; // kwota przelewu
$config['homepay'][2]['text']="Doladuj konto za 12zl";
$config['homepay'][2]['addpoints']=20; // tu mozesz wpisywac dowolne parametry uslugi,
// potrzebne ci do zaakceptowania platnosci - np. ilosc punktow do doladowania konta w zaleznosci od kwoty
function check_code_homepay($code,$usluga)
{
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'][$usluga]['acc_id'])."&code=".$code,'r');
$status=fgets($handle,8);
fclose($handle);
return $status;
}
function check_tcode_homepay($code,$usluga)
{
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'][$usluga]['acc_id'])."&code=".$code,'r');
$status=fgets($handle,8);
fclose($handle);
return $status;
}
if($_POST&&isset($_POST['code'])&&!empty($_POST['code'])&&isset($_POST['id'])&&!empty($_POST['id']))
{
$return=true;
// w tym miejscu wstaw funkcje ktore przerwa skrypt, gdy np. uzytkownik jest niezalogowany albo niepoprawnie wypelnil dodatkowe pola formularza
// np. jesli masz dodatkowe pole "telefon" i ma skladac sie z 9 cyfr, napisz
// if( !isset($_POST['telefon']) || !preg_match("/^[0-9]{9}$/",$_POST['telefon']) ) $return="Nie wypelniles wszystkich pol formularza";
// jesli posiadasz funkcje sprawdzajaca czy uzytkownik jest zalogowany wstaw ja rowniez tutaj, np.
// if(! userLoggedIn() ) $return="Niepoprawna nazwa uzytkownika";
// pamietaj, ze wywolanie funkcji check_code_homepay() badz check_codet_homepay z prawdziwym kodem
// sprawi ze ten kod bedzie nieodwracalnie zuzyty (badz rozpoczety jesli to kod czasowy)
if($return === true)
{
if($config['homepay'][(int)($_POST['id'])]['type']=="sms")
{
$status=check_code_homepay($_POST['code'],$_POST['id']);
if($status==0) $return="Niepoprawny kod SMS";
if($status>0)
{
$return="Poprawny kod";
// tutaj wykonaj akcje zwiazane z poprawnym kodem, np. doladuj komus konto
// addpoints($config['homepay'][$_POST['id']]['addpoints'],$_POST['login']);
}
}
elseif($config['homepay'][(int)($_POST['id'])]['type']=="przelew")
{
$status=check_tcode_homepay($_POST['code'],$_POST['id']);
if($status==0) $return="Niepoprawny kod przelewu";
if($status>0)
{
$return="Poprawny kod";
// tutaj wykonaj akcje zwiazane z poprawnym kodem, np. doladuj komus konto
// addpoints($config['homepay'][$_POST['id']]['addpoints'],$_POST['login']);
}
}
}
}
echo '<html><head><title>Sprawdz kod</title></head><body>';
if($config['homepay']['active_sms'])
{
echo '
Tresci SMS:
<table border="1px">
<tr>
<th>NUMER</th>
<th>CENA</th>
<th>Opis</th>
</tr>
';
foreach($config['homepay'] as $sms)
{
if($sms['type']=="sms")
{
echo '<tr>
<td>'.$sms['sms_number'].'</td>
<td>'.$sms['cost'].'</td>
<td>'.$sms['text'].'</td>
</tr>';
}
}
echo '</table>';
}
if($config['homepay']['active_transfers'])
{
echo '
Przelew:
<table border="1px">
<tr>
<th>LINK</th>
<th>CENA</th>
<th>Opis</th>
</tr>
';
foreach($config['homepay'] as $transfer)
{
if($transfer['type']=="przelew")
{
echo '<tr>
<td><a target="_blank" href="'.$transfer['link'].'">'.$transfer['link'].'</a></td>
<td>'.$transfer['cost'].'</td>
<td>'.$transfer['text'].'</td>
</tr>';
}
}
echo '</table>';
}
echo '
<br/><br/>
<form name="formularz" method="POST" action="">
Kod: <input type="text" name="code">
np. Login: <input type="text" name="login">
<select name="id">
';
foreach($config['homepay'] as $key=>$option)
if($option['type']=="sms")
echo "<option value=\"$key\">".$option['sms_number']."(".$option['cost'].") - ".$option['sms_text']."</option>";
elseif($option['type']=="przelew")
echo "<option value=\"$key\">PRZELEW - ".$option['cost']."</option>";
echo '<input type="submit" value="Sprawdz"></form>';
echo $return;
echo '</body></html>';
?>
Dostałem od nich takie coś i do tego muszę dodać kod down lodu. Ale nawet sam skrypt w takim stanie jak teraz po wrzuceniu na serwer nie działa ....