27-04-2011, 21:35
Witam, chciałbym połączyć swoją strone z systemem płatności-online.pl. Mianowicie mam plik zamow.php przedstawiony poniżej.
Gdy klient wybierze plan 1 to wyskakuje mu cena na dole 30 PLN, gdy plan 2 to cena 50 PLN. Chciałbym by w zależności od wybranego planu generował się link do wpłaty. W dokumentacji platnosci-online jest podany przykład pliku i rzeczywiście to działa, ale na konkretną kwotę, a mógłby mnie ktoś poinstruować jak zrobić by link był generowany w zależności od planu?
Plik od platnosci-online
Gdy klient wybierze plan 1 to wyskakuje mu cena na dole 30 PLN, gdy plan 2 to cena 50 PLN. Chciałbym by w zależności od wybranego planu generował się link do wpłaty. W dokumentacji platnosci-online jest podany przykład pliku i rzeczywiście to działa, ale na konkretną kwotę, a mógłby mnie ktoś poinstruować jak zrobić by link był generowany w zależności od planu?
Kod:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="pl" xml:lang="pl">
<head> <title>Formularz zamówienia</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-2" />
<link rel="stylesheet" href="css/style.css" type="text/css" media="all"/>
</head>
<body>
<?php
$plan = array (1 => 'Plan 1', 'Plan 2', 'Plan 3');
?>
<script type="text/javascript">
function error(tekst) {
if (errfound) return;
window.alert(tekst);
errfound = true;
}
function validate() {
errfound = false;
var bledy = "";
with (document.forms['formularz']) {
if (login.value == "") bledy += "Nie podałe¶ś loginu. \n";
if (email.value == "") bledy += "Nie podałe¶ś adresu e-mail. \n";
if (cena.value == "" || cena.value == "Wybrałe¶ zły plan") bledy += "Nie wybrałe¶ś planu.";
if (bledy != "") error(bledy);
}
return !errfound;
}
</script>
<form action="order.php" name="formularz" method="post" onsubmit="return validate();">
<p>Login: <input type="text" name="login" size="15" maxlength="10" /></p>
<script type="text/javascript">
function zmien() {
var nr = document.forms["formularz"].planf.value;
switch(nr){
case "1": document.forms['formularz'].cena.value = '30,00 PLN';
break;
case "2": document.forms['formularz'].cena.value = '50,00 PLN';
break;
case "3": document.forms['formularz'].cena.value = '80,00 PLN';
break;
default: document.forms['formularz'].cena.value = 'Wybrałe¶ zły plan';
}
}
</script>
<?php
/*
$has = passwordGenerator(8);
echo "Zapisz wygenerowane hasło na swoim komputerze. Będzie służyło do logowania na Twoje konto.\n";
echo "<p>Haslo: <input type=\"text\" name=\"pass\" size=\"15\" maxlength=\"8\" value=\"" . $has . "\" readonly /></p>";
*/
?>
<p>E-mail: <input type="text" name="email" size="15" maxlength="10" /></p>
<?php
echo '<p>Plan: <select onchange="zmien()" name="planf">';
echo "<option value=\"0\"></option></p>\n";
foreach ($plan as $key => $value) {
echo "<option value=\"$key\">$value</option></p>\n";
}
echo "</select>";
?>
<p>Polecajacy: <input type="text" name="ref" size="15" maxlength="10" /></p>
<p>Uwagi: <textarea name="comments" rows="3" cols="30"></textarea></p>
<p>Cena: <input type="text" name="cena" readonly /></p>
<p><input type="submit" name="submit" value="Zamow!" /></p>
<input type="hidden" name="submitted" value="1" />
</form>
</body>
</html>
Plik od platnosci-online
Kod:
<?php
$posid = XXX; # ID Partnera
$klucz_klienta = 'XXX'; # klucz transakcyjny
$bkey = pack('H*',$klucz_klienta); # postac binarna klucza transakcyjnego
$amount = 100; # kwota transakcji wyrażona w groszach
$description = urlencode('Hell-shells.pl'); # słowny opis transakcji
$email = urlencode('[email protected]'); # adres e-mail Klienta
# Adres internetowy URL Channel do powiadomień kanałem międzyserwerowym.
# jeśli URL Channel jest wpisany w ustawieniach konta,
# można pozostawić pusty ciąg znaków
$URLC = urlencode('http://hell-shells.pl/channel.php');
# adres internetowy powrotu do serwera Partnera po zakończonej transakcji:
$url_return = urlencode('http://hell-shells.pl/oferta.html');
# unikalny parametr transakcji nadany przez Partnera:
$control = urlencode('12345');
# wygenerowanie podpisu:
$checksum = md5($posid . '&' . $amount . '&'. $description . '&' . $email . '&' . $URLC . '&' . $url_return . '&' . $control . '&' . $bkey ); # podpis transakcji
# URL z kompletem danych i podpisem:
$url = 'https://platnosci-online.pl/payment.php?posid=183&URLC=http%3A%2F%2Fhell-shells.pl%2Fchannel.php&amount=100&description=Hell-shells.pl&control=12345&email=nidils%40gmail.com&url_return=http%3A%2F%2Fhell-shells.pl%2Foferta.html&checksum=5c3c6877d66a0e17f7d299b7f2cd3f9b';
header('Location: '.$url.''); # przekierowanie przeglądarki do serwera Płatności
exit; # koniec skryptu
?>