Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Skrypt od ProfitSMS, jak go skonfigurować?
Forum PHP.pl > Forum > PHP
domin_dz
Witam, mam taki oto skrypt.

  1. <?php
  2. ################################################################################
    ###################
  3. #
  4. # ProfitSMS.pl
  5. # Przykładowy moduł autorzacji płatności dla usługi posiadającej przypisany 1 numer telefonu
  6. # Przykład 1 | wersja 0.1
  7. # 15 listopada 2011r.
  8. #
  9. ################################################################################
    ###################
  10.  
  11.  
  12. # klucz Api z serwisu www.profitsms.pl (zakładka Moje usługi)
  13. $apiKey = 'dfc575310eed7cd97cd8as2802868f3';
  14. # numer usługi dla której skrypt został przeznaczony
  15. $number = '7055';
  16.  
  17. function getStatus($url) {
  18. $curl = curl_init($url) ;
  19. curl_setopt( $curl, CURLOPT_URL , $url );
  20. curl_setopt( $curl, CURLOPT_RETURNTRANSFER, true );
  21. $source = curl_exec( $curl );
  22. curl_close( $curl );
  23. } else {
  24. $source = file_get_contents($url);
  25. }
  26.  
  27. return $source;
  28. }
  29. ?>
  30. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  31. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  32. <head>
  33. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  34. <meta name="author" content="ProfitSMS.pl" />
  35.  
  36. <title>Płatność Premium SMS</title>
  37. </head>
  38. <body>
  39.  
  40.  
  41. <div style="width: 500px; padding: 15px; border:1px solid #ababab; margin: 0px auto;">
  42. <p style="font-size: 13px; text-align: center; margin: 0px;">
  43. Aby otrzymać kod wyślij sms<br /> na numer <strong>7123</strong><br /> o treści <strong>KGD.TEST</strong>.
  44.  
  45. </p>
  46. <br />
  47. <form method="post">
  48. <p style="text-align: center;">
  49. Wprowadz otrzymany kod:<br />
  50. <input type="text" name="kod" style="width: 100px;" /> <input type="submit" name="ok" value="Ok" />
  51. </p>
  52. </form>
  53.  
  54. <?php
  55. # Sprawdzamy czy wysłano formularz
  56. if(isset($_POST['ok'])) {
  57. # Sprawdzamy czy nie otrzymaliśmy pustego kodu
  58. if(empty($_POST['kod'])) {
  59. echo '<p style="color: red; text-align: center;">Wprowadź otrzymany kod</p>';
  60. } else {
  61. # Pobieramy odpowiedź z serwera ProfitSMS w sprawie kodu sms otrzymanego od klienta
  62. $status = getStatus('http://profitsms.pl/check.php?apiKey='.$apiKey.'&code='.$_POST['kod'].'&smsNr='.$number,'r');
  63.  
  64. # Od 10.2011 API udostępnia dodatkowe informacje na temat przebiegu autoryzacji kodu od użytkownika, dlatego niezależnie od tego jakiej wersji używamy zawsze powinniśmy korzystać z pełnej obsługi API systemu
  65. # Przykładowa odpowiedź ma postać: 1|99 OK|5435454534534
  66. # Rozbijamy odpowiedź na poszczególne wartości
  67.  
  68. $raport = explode('|', $status);
  69.  
  70. # sprawdzamy odpowiedź serwera ProfitSMS - o powodzeniu autoryzacji danego kodu jesteśmy informowani w wartości oznaczonej jako "0" (pierwszy element tablicy, którą utworzyliśmy powyrzej)
  71. switch($raport['0']) {
  72. case 1:
  73. # kod prawidłowy
  74.  
  75. # Jeśli nasz kod jest poprawny:
  76. # - możemy wyswietlić użytkownikowi jakiś tekst:
  77. echo '<p style="color: green; text-align: center;">Poprawny kod</p>';
  78.  
  79. # - wysłać mu jakąś wiadomość na e-mail ( o ile w formularzu zadbamy o pobranie od użytkownika jego adres e-mail)
  80. # mail('adres@uzytkownika.pl', 'Temat wiadomosci' 'Tresc wiadomosci');
  81.  
  82. # - wykonać jakaś operacje na bazie danych np. przyznać wirtualne kredyty na zakup dodatkow do konta w grze czy profilu na stronie
  83. # mysql_query("UPDATE users SET points = '10' WHERE id = '43'");
  84. break;
  85.  
  86. case 0:
  87. # kod nieprawidłowy
  88. echo '<p style="color: red; text-align: center;">Błędny kod</p>';
  89. break;
  90.  
  91. default:
  92. echo 'Błąd serwera';
  93. break;
  94. }
  95.  
  96. # UWAGA !! Na czas testów zalecamy wyświetlanie pełnych raportów dostarczanych przez serwer ProfitSMS. W momencie aktywacji płatności dla użytkowników należy koniecznie pamiętać o dezaktywacji tej funkcji, poprzez dodanie "#" na początku linijki poniżej
  97. # echo '<p style="color: red; text-align: center;">'.$status.'</p>';
  98. }
  99. }
  100. ?>
  101.  
  102. <p style="font-size: 11px; margin-bottom: 10px;">
  103. Koszt wysyłki sms wynosi 1zł (1.23zł z VAT). Płatności sms w serwisie obsługuje <a href="http://www.profitsms.pl" title="ProfitSMS.pl - sprawdzone płatności premium sms">ProfitSMS.pl</a>. Regulamin usługi znajduje się na stronie operatora usługi. Wszelkie reklamacje można zgłaszać pod tym <a href="http://profitsms.pl/page/kontakt/reklamacje">adresem</a>. Kontakt z serwisem w sprawie płatności sms: platnosci@strona.pl
  104. </p>
  105. <img src="img/5.jpg" alt="" style="margin-left: 55px; ;" />
  106.  
  107. </div>
  108.  
  109. </body>
  110. </html>


Chciałbym go skonfigurować tak aby po wpisaniu prawidłowego kodu otrzymanego w SMS'ie, wyświetlał się "odtwarzacz z transmisją HD". Ale przy konfiguracji napotykam problem, nie wiem jak połączyć skrypt z profitsms, tak aby działały kody otrzymane przez użytkowników. Chciałbym aby ktoś mi wyjaśnił gdzie co wpisać, bo wiem tylko gdzie wpisać API key. Instrukcja ze strony profitsms jest dla mnie niezrozumiała i mam wrażenie, że nie należy ona do tego skryptu. Z góry dziękuję za pomoc.
Wazniak96
A co w tym niezrozumiałego? Podajesz apiKey i numer telefonu(numer z którego przychodzą sms). Skrypt ten dodaną ma już grafikę. Jeżeli chcesz, żeby w przypadku poprawnego kodu przenosiło do transmisji HD trzeba umieścić odnośnik lub automatyczne przeniesienie, za pomocą funkcji header w instrukcji case (78 linijka). wink.gif

Oczywiście pomijamy tutaj sesje, zapis, że usługa została opłacona itp.
domin_dz
Cytat(Wazniak96 @ 23.09.2013, 15:16:00 ) *
A co w tym niezrozumiałego? Podajesz apiKey i numer telefonu(numer z którego przychodzą sms). Skrypt ten dodaną ma już grafikę. Jeżeli chcesz, żeby w przypadku poprawnego kodu przenosiło do transmisji HD trzeba umieścić odnośnik lub automatyczne przeniesienie, za pomocą funkcji header w instrukcji case (78 linijka). wink.gif

Oczywiście pomijamy tutaj sesje, zapis, że usługa została opłacona itp.


No właśnie tak robię, ale gdy wpisuję kody testowe to niestety nie działają. Zastanawiam się czy tutaj:

  1. $status = getStatus('http://profitsms.pl/check.php?apiKey='.$apiKey.'&code='.$_POST['kod'].'&smsNr='.$number,'r')


Nie trzeba czegoś wprowadzić, API key i numer telefonu wprowadzałem ale nie wiem co w "Code" wprowadzić.
Wazniak96
W code masz własnie wprowadzić twój kod do sprawdzenia(który wpisujesz w formularzu)...
domin_dz
Cytat(Wazniak96 @ 23.09.2013, 17:02:57 ) *
W code masz własnie wprowadzić twój kod do sprawdzenia(który wpisujesz w formularzu)...


W jakim formularzu? W treści SMS'a czy co?
EastWest
  1. <form method="post">
  2. <p style="text-align: center;">
  3. Wprowadz otrzymany kod:<br />
  4. <input type="text" name="kod" style="width: 100px;" /> <input type="submit" name="ok" value="Ok" />


W tego inputa wpisujesz kod smile.gif
domin_dz
Cytat(EastWest @ 23.09.2013, 18:27:34 ) *
  1. <form method="post">
  2. <p style="text-align: center;">
  3. Wprowadz otrzymany kod:<br />
  4. <input type="text" name="kod" style="width: 100px;" /> <input type="submit" name="ok" value="Ok" />


W tego inputa wpisujesz kod smile.gif


Ale skąd mam wziąć ten kod?
EastWest
Kody testowe, ewenetulanie wyślij sms
domin_dz
Cytat(EastWest @ 23.09.2013, 18:40:53 ) *
Kody testowe, ewenetulanie wyślij sms


Ale właśnie w tym sęk, że te kody nie działają.
EastWest
Podałeś właściwe API i właściwy numer SMS?
domin_dz
Cytat(EastWest @ 23.09.2013, 18:47:49 ) *
Podałeś właściwe API i właściwy numer SMS?

No tak podałem, tylko nie wiem co wpisać w '&code='.
EastWest
  1. <form method="post">
  2. <p style="text-align: center;">
  3. Wprowadz otrzymany kod:<br />
  4. <input type="text" name="kod" style="width: 100px;" /> <input type="submit" name="ok" value="Ok" />
  5. </p>
  6. </form>


Ten formularz wysyła kod (input name="kod" -> tutaj wpisujesz kod testowy lub kod z sms) do:
  1. $status = getStatus('http://profitsms.pl/check.php?apiKey='.$apiKey.'&code='.$_POST['kod'].'&smsNr='.$number,'r');


$_POST['kod'] jest zawartością pola o nazwie kod wysłany metodą POST
domin_dz
Cytat(EastWest @ 23.09.2013, 18:52:10 ) *
  1. <form method="post">
  2. <p style="text-align: center;">
  3. Wprowadz otrzymany kod:<br />
  4. <input type="text" name="kod" style="width: 100px;" /> <input type="submit" name="ok" value="Ok" />
  5. </p>
  6. </form>


Ten formularz wysyła kod (input name="kod" -> tutaj wpisujesz kod testowy lub kod z sms) do:
  1. $status = getStatus('http://profitsms.pl/check.php?apiKey='.$apiKey.'&code='.$_POST['kod'].'&smsNr='.$number,'r');


$_POST['kod'] jest zawartością pola o nazwie kod wysłany metodą POST


Dobra, zróbmy inaczej. Jak mi to zrobisz i będzie działało to masz u mnie doładowanie za piątkę. Załóżmy, że mój APIkey to: xxoxccc222e, testowy kod z SMS'a: xx222333, numer telefonu to: 91955. Jak będzie wyglądał cały kod?
EastWest
http://eastwestfm.pl/profit.php

Zawsze zwróci "Błędny kod" ponieważ takie Api nie istnieje, taki numer nie istnieje, i taki kod nie istnieje smile.gif

Aby działało musisz mieć usługę w ProfitSMS.pl -> podajesz API w skrypcie -> podajesz numer usługi -> wysyłasz sms/kod testowy -> wpisujesz w formularz -> otrzymujesz "Kod poprawny"
domin_dz
Usługę w profitsms już mam aktywną.
EastWest
Podrzuć mi na PW apiKey, numer usługi oraz kody testowe smile.gif
domin_dz
Do zamknięcia, okazało się, że hosting, na którym zamieściłem skrypt nie obsługiwał cURL co powodowało problem.
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.