Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: allpay, wysylanie sms-a: abonament na 7,14,30 dni
Forum PHP.pl > Forum > Przedszkole
aAndrzej
Witam,
posiada ktos skrypt do obslugi platnosci przez allpay.. ktory po wyslaniu sms-a w zaleznosci od wybranej opcji dawal by abonament dostepu na 7,14,30 dni.. niby na allpay.pl maja skrypty ale cos hmm zupelnie nie pasujace do tego typu uslugi.. a moze zle szukalem ;/
kossa
Każdy operator daje swój, indywidualny skrypt i pewne warunku konieczne do działania jego systemu. Jeśli allpay do swojej usługi daje skrypt to znaczy że musi on działać i coś zle robisz.

Łukasz
aAndrzej
nom daje.. tylko cos nie umiem go wykorzystac ;/
kossa
To wklej skrypt lub napisz jakie masz komunikaty o błędach, tak z powietrza to nikt Tobie nie pomorze...

Łukasz
aAndrzej
Dostalem taki kod:

  1. <?php
  2.  
  3. $id = 1234;  # numer ID zarejestrowanego klienta
  4. $code = "IDENT"; # identyfikator us3ug SMS
  5. $type = "sms"; # typ konta: sms - 8 znakowy kod bezobs3ugowy
  6. $page = "main.php";  # strona po poprawnej zap3acie
  7. $del = 0; # jezeli kod ma byc jednorazowy to ustaw wartosc 1  
  8.  
  9. # ---------------------------------------------------------------------------------
  10. $check = $_POST['check']; # podany kod na stronie gdzie wejście jest p3atne i wymagany jest zakupiony kod
  11. $url = "/check_code.php?id=".$id."&code=".$code."&check=".$check."&type=".$type."&del=".$del;
  12. $header = "";
  13. $response = "";
  14.  
  15. if (!($request=fsockopen('allpay.pl',80,$errno,$errstr))) exit($errstr);
  16. else {
  17.  socket_set_timeout($request,10);
  18.  fwrite($request,"GET ".$url." HTTP/1.0rnHost: allpay.plrnrn");
  19.  do $header.=fread($request,1); while (!preg_match('/rnrn$/',$header));
  20.  if (preg_match('/Transfer-Encoding:s+chunkedrn/',$header))
  21. do {
  22.  $byte = "";
  23.  $chunk_size="";
  24.  do {
  25. $chunk_size.=$byte;
  26. $byte=fread($request,1);
  27.  } while ($byte!="r"); // till we match the CR
  28.  fread($request, 1);  // also drop off the LF
  29.  $chunk_size=hexdec($chunk_size); // convert to real number
  30.  $response.=fread($request,$chunk_size);
  31.  fread($request,2); // ditch the CRLF that trails the chunk
  32. } while ($chunk_size);  // till we reach the 0 length chunk (end marker)
  33.  else {
  34. if (preg_match('/Content-Length:s+([0-9]*)rn/',$header,$matches)) {
  35.  $response=fread($request,$matches[1]);
  36. } else {
  37.  while (!feof($request)) $response .= fread($request, 4096);
  38. }
  39.  }
  40.  // close connection
  41.  fclose($request);
  42. }
  43.  
  44. $dane = explode("n", $response);
  45. $status = $dane[0];
  46. $czas_zycia = rtrim($dane[1]);
  47.  
  48.  if ($status == 0) {print "Wprowadzony kod jest niepoprawny lub skonczyla sie jego waznosc."; exit;} # gdy kod niepoprawny
  49. else
  50. { # gdy kod poprawny:
  51. if (!isset($_COOKIE['ActiveCode']))
  52. {
  53. setcookie('ActiveCode',1, time()+$czas_zycia);
  54. }
  55. else
  56. {
  57. setcookie('ActiveCode',0, time()+2, "/");
  58. setcookie('ActiveCode',1, time()+$czas_zycia, "/");
  59. }
  60. header("Location: ".$page); # w3ączenie strony g3��j
  61. }
  62. ?>




tylko teraz pytanie jak go przerobic aby system rozpoznawal czy uzytkownik wybral abonament na 7,14, czy 30 dni?
kossa
Cytat
# gdy kod poprawny:
if (!isset($_COOKIE['ActiveCode']))
{
setcookie('ActiveCode',1, time()+$czas_zycia);
}
else
{
setcookie('ActiveCode',0, time()+2, "/");
setcookie('ActiveCode',1, time()+$czas_zycia, "/");
}



tu zapisujesz cookie z informacją o wyniku działania kodu, więc zapisz do cookie dodatkowy parametr informujący jaki abonament został wybrany

Łukasz
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.