Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Połączenie serwisu z platnosci-online.pl
Forum PHP.pl > Forum > Przedszkole
Nidils
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?

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2.  
  3. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  4.  
  5. <html xmlns="http://www.w3.org/1999/xhtml" lang="pl" xml:lang="pl">
  6.  
  7. <head> <title>Formularz zam&oacute;wienia</title>
  8. <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-2" />
  9. <link rel="stylesheet" href="css/style.css" type="text/css" media="all"/>
  10.  
  11. </head>
  12. <body>
  13.  
  14. <?php
  15. $plan = array (1 => 'Plan 1', 'Plan 2', 'Plan 3');
  16. ?>
  17. <script type="text/javascript">
  18. function error(tekst) {
  19. if (errfound) return;
  20. window.alert(tekst);
  21. errfound = true;
  22. }
  23. function validate() {
  24. errfound = false;
  25. var bledy = "";
  26. with (document.forms['formularz']) {
  27. if (login.value == "") bledy += "Nie podałeśś loginu. \n";
  28. if (email.value == "") bledy += "Nie podałeśś adresu e-mail. \n";
  29. if (cena.value == "" || cena.value == "Wybrałeś zły plan") bledy += "Nie wybrałeśś planu.";
  30. if (bledy != "") error(bledy);
  31. }
  32. return !errfound;
  33. }
  34. </script>
  35. <form action="order.php" name="formularz" method="post" onsubmit="return validate();">
  36. <p>Login: <input type="text" name="login" size="15" maxlength="10" /></p>
  37.  
  38. <script type="text/javascript">
  39. function zmien() {
  40. var nr = document.forms["formularz"].planf.value;
  41. switch(nr){
  42. case "1": document.forms['formularz'].cena.value = '30,00 PLN';
  43. break;
  44. case "2": document.forms['formularz'].cena.value = '50,00 PLN';
  45. break;
  46. case "3": document.forms['formularz'].cena.value = '80,00 PLN';
  47. break;
  48. default: document.forms['formularz'].cena.value = 'Wybrałeś zły plan';
  49. }
  50.  
  51. }
  52.  
  53. </script>
  54. <?php
  55. /*
  56. $has = passwordGenerator(8);
  57. echo "Zapisz wygenerowane hasło na swoim komputerze. Będzie służyło do logowania na Twoje konto.\n";
  58. echo "<p>Haslo: <input type=\"text\" name=\"pass\" size=\"15\" maxlength=\"8\" value=\"" . $has . "\" readonly /></p>";
  59. */
  60. ?>
  61. <p>E-mail: <input type="text" name="email" size="15" maxlength="10" /></p>
  62.  
  63. <?php
  64. echo '<p>Plan: <select onchange="zmien()" name="planf">';
  65. echo "<option value=\"0\"></option></p>\n";
  66. foreach ($plan as $key => $value) {
  67. echo "<option value=\"$key\">$value</option></p>\n";
  68. }
  69. echo "</select>";
  70.  
  71. ?>
  72.  
  73.  
  74.  
  75. <p>Polecajacy: <input type="text" name="ref" size="15" maxlength="10" /></p>
  76. <p>Uwagi: <textarea name="comments" rows="3" cols="30"></textarea></p>
  77. <p>Cena: <input type="text" name="cena" readonly /></p>
  78. <p><input type="submit" name="submit" value="Zamow!" /></p>
  79. <input type="hidden" name="submitted" value="1" />
  80. </form>
  81. </body>
  82. </html>


Plik od platnosci-online

  1. <?php
  2.  
  3. $posid = XXX; # ID Partnera
  4.  
  5. $klucz_klienta = 'XXX'; # klucz transakcyjny
  6.  
  7. $bkey = pack('H*',$klucz_klienta); # postac binarna klucza transakcyjnego
  8.  
  9. $amount = 100; # kwota transakcji wyrażona w groszach
  10.  
  11. $description = urlencode('Hell-shells.pl'); # słowny opis transakcji
  12.  
  13. $email = urlencode('nidils@gmail.com'); # adres e-mail Klienta
  14.  
  15. # Adres internetowy URL Channel do powiadomień kanałem międzyserwerowym.
  16. # jeśli URL Channel jest wpisany w ustawieniach konta,
  17. # można pozostawić pusty ciąg znaków
  18. $URLC = urlencode('http://hell-shells.pl/channel.php');
  19.  
  20. # adres internetowy powrotu do serwera Partnera po zakończonej transakcji:
  21. $url_return = urlencode('http://hell-shells.pl/oferta.html');
  22.  
  23. # unikalny parametr transakcji nadany przez Partnera:
  24. $control = urlencode('12345');
  25.  
  26. # wygenerowanie podpisu:
  27. $checksum = md5($posid . '&' . $amount . '&'. $description . '&' . $email . '&' . $URLC . '&' . $url_return . '&' . $control . '&' . $bkey ); # podpis transakcji
  28.  
  29. # URL z kompletem danych i podpisem:
  30.  
  31. $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';
  32.  
  33. header('Location: '.$url.''); # przekierowanie przeglądarki do serwera Płatności
  34.  
  35. exit; # koniec skryptu
  36. ?>
nexis
  1. <?php
  2. // Dostępne plany
  3. $plans = array(
  4. 1 => 30.00,
  5. 2 => 50.00,
  6. 3 => 80.00,
  7. );
  8.  
  9. // Wybrany plan
  10. $plan = isset($_POST['planf']) ? (int) $_POST['planf'] : -1;
  11. if (!isset($plans[$plan])) {
  12. exit('Niewłaściwy plan!');
  13. }
  14.  
  15. $posid = 183;
  16. $klucz_klienta = 'XXX';
  17. $bkey = pack('H*', $klucz_klienta);
  18. $amount = $plans[$plan]*100;
  19. $description = 'Hell-shells.pl';
  20. $email = 'nidils@gmail.com';
  21. $URLC = 'http://hell-shells.pl/channel.php';
  22. $url_return = 'http://hell-shells.pl/oferta.html';
  23. $control = '12345';
  24. $params = array(
  25. $posid,
  26. $amount,
  27. $description,
  28. $email,
  29. $URLC,
  30. $url_return,
  31. $control,
  32. $bkey
  33. );
  34. $checksum = md5(implode('&', $params));
  35. $query = array(
  36. 'posid' => $posid,
  37. 'URLC' => $URLC,
  38. 'amount' => $amount,
  39. 'description' => $description,
  40. 'control' => $control,
  41. 'email' => $email,
  42. 'url_return' => $url_return,
  43. 'checksum' => $checksum,
  44. );
  45. $url = 'https://platnosci-online.pl/payment.php?' . http_build_query($query);
  46.  
  47. header('Location: ' . $url);
  48. ?>
Nidils
Dzięki, wielkie.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.