Pecetowicz

Kod płatności MicroSMS

Mar 19th, 2024
562
0
Never
1
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 9.45 KB | None | 0 0
  1. <?php
  2.  
  3.     /*    
  4.  
  5.         Wersja demonstracyjna przykladowego
  6.         wykorzystania SMS API MicroSMS.pl
  7.  
  8.         Ostatnia aktualizaja: 2/20/2015
  9.  
  10.         Dowiesz sie tutaj jak wykorzystac API w celu
  11.  
  12.         - Sprawdzenia kodu SMS z okreslonym numerem SMS (np. wartością doładowania skarbonki)
  13.         - Jak zbudowac formularz obierania danych od klienta
  14.        
  15.         Możliwe błedy to
  16.         - E,0 -> brak danych w API
  17.         - E,1 -> jeśli nie ma kodu, bądź nie ma 8 znaków
  18.         - E,2 -> jeśli użytokwnik bądź usługa nie istnieje bądź nie są w 1 profilu
  19.         - E,3 -> Jeśli nie ma numeru SMS
  20.    
  21.     */
  22.  
  23.     /*
  24.         Jesli Twój skrypt posiada bledy stworzone
  25.         przez programiste, ponizsze polecenia moga wywolac
  26.         duza ilosc wpisów na stronie dlatego, zaleca sie
  27.         posiadac wylaczone te opcje, przy niesprawdzonych skryptach
  28.         do czasu wyeliminowania problemu.
  29.     */
  30.  
  31.     error_reporting(E_ALL);
  32.  
  33.     ini_set('error_reporting', E_ALL);
  34.     ini_set("display_errors", 1);
  35.  
  36.     /*
  37.         Zmienna userid pozwala zidentyfikowac partnera MicroSMS
  38.         Mozna ja znalezc w panelu administracyjnym od razu po zalogowaniu, pod
  39.         imieniem i nazwiskiem. Np. (ID 1)
  40.     */
  41.  
  42.     $settings['userid'] = 0;
  43.  
  44.     /*
  45.         serviceid to numer identyfikacyjny aktywowanej usługi SMS Premium
  46.     */
  47.  
  48.     $settings['serviceid'] = 0;
  49.  
  50.     /*
  51.         Treść wiadomości SMS, na jaką klienci mają wysyłać wiadomości.
  52.     */
  53.  
  54.     $settings['txt'] = 'MSMS.SUFIKS';
  55.  
  56.     /*
  57.         Numer-y które mają znajdować się w sprzedaży
  58.     */
  59.  
  60.     $microsms[] = array("netto" => 0.50,"number" => 7055,"product" => "wojownik");
  61.     $microsms[] = array("netto" => 1.00,"number" => 7136,"product" => "strażak");
  62.    
  63.     // I inne w zależności od konfiguracji w panelu partnera
  64.  
  65.     if (isset($_POST['send']) && isset($_POST['code'])) {
  66.        
  67.         $code = addslashes($_POST['code']);
  68.        
  69.         /*
  70.             Weryfikujemy poprawnosc kodu SMS,
  71.             pamietajmy, ze MicroSMS wydaje jedynie
  72.             kody posiadajace 8 znaków
  73.         */
  74.        
  75.         if (preg_match("/^[A-Za-z0-9]{8}$/", $code)) {
  76.            
  77.             $a = array();
  78.             $b = array();
  79.            
  80.             foreach ($microsms as $cfg) {
  81.                 array_push($a, $cfg['number']);
  82.                 $b[$cfg['number']] = $cfg['product'];
  83.             }
  84.            
  85.             /*
  86.                 Laczymy sie z serwerem MicroSMS w celu
  87.                 pobrania informacji nt. kodu
  88.             */
  89.             $handle = fopen("http://microsms.pl/api/check_multi.php?userid=" . $settings['userid'] . "&code=" . $code . '&serviceid=' . $settings['serviceid'], 'r');
  90.             $check  = fgetcsv($handle, 1024);
  91.             fclose($handle);
  92.            
  93.             /*
  94.                 Musimy zweryfikowac, czy system przypadkiem
  95.                 nie ma bledu i pelen poprawnie formularz dociera
  96.                 do MicroSMS, jesli na pierwszym tj. 0 miejscu znajduje
  97.                 sie odpowiedz E oznacza ERROR i któras zmienna jest
  98.                 blednie uzupelniona
  99.             */
  100.            
  101.             if ($check[0] != 'E') {
  102.                
  103.                 /*
  104.                     W przypadku kiedy wszystkie warunki zostaly
  105.                     spelnione mozemy wydac produkt
  106.                 */
  107.                
  108.                 if ($check[0] == 1) {
  109.                     if (isset($b[$check[2]])) {
  110.                         $info = 'Zakupiłeś produkt ' . $b[$check[2]];
  111.                         //
  112.                         // Dalsza czesc Twojego kodu...
  113.                         //
  114.                     } else {
  115.                         $info = 'Numer SMS nie został zainicjowany w skrypcie. Skontaktuj się ze sprzedawcą. ';
  116.                     }
  117.                 } else {
  118.                     $info = 'Podany kod jest nieprawidlowy.';
  119.                 }
  120.             } else {
  121.                 $info = 'Nieprawidlowo skonfigurowana usluga, skontaktuj sie z administratorem sklepu.';
  122.             }
  123.            
  124.         } else {
  125.             $info = 'Nieprawidlowy format kodu.';
  126.         }
  127.     }
  128.  
  129. ?>
  130.  
  131.  
  132. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  133. <html xmlns="http://www.w3.org/1999/xhtml" lang="pl">
  134.    <head>
  135.       <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  136.       <title>Przykladowy skrypt platnosci SMS</title>
  137.    </head>
  138.    <body>
  139.       <style>
  140.          body { font-size: 11px; font-family: Tahoma, Arial, Verdana, Helvetica, sans-serif; font-weight: normal;  }
  141.          #page { width: 600px; padding: 20px; margin-left: auto; margin-right: auto; border:1px solid #c6c6c6; }
  142.          .center { text-align: center; }
  143.          .alert-box { color:#555; border-radius:10px; font-family:Tahoma,Geneva,Arial,sans-serif;font-size:11px; padding:10px 10px 10px 36px; margin:10px; }
  144.          .alert-box span { font-weight:bold;text-transform:uppercase; }
  145.          .notice { background:#e3f7fc;border:1px solid #8ed9f6; }
  146.          .title { font-size: 20px;  font-weight:bold; }
  147.          input[type=text], textarea {
  148.          -webkit-transition: all 0.30s ease-in-out;
  149.          -moz-transition: all 0.30s ease-in-out;
  150.          -ms-transition: all 0.30s ease-in-out;
  151.          -o-transition: all 0.30s ease-in-out;
  152.          outline: none;
  153.          padding: 3px 0px 3px 3px;
  154.          margin: 5px 1px 3px 0px;
  155.          border: 1px solid #DDDDDD;
  156.          }
  157.          .button {
  158.          background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #d0451b), color-stop(1, #bc3315));
  159.          background:-moz-linear-gradient(top, #d0451b 5%, #bc3315 100%);
  160.          background:-webkit-linear-gradient(top, #d0451b 5%, #bc3315 100%);
  161.          background:-o-linear-gradient(top, #d0451b 5%, #bc3315 100%);
  162.          background:-ms-linear-gradient(top, #d0451b 5%, #bc3315 100%);
  163.          background:linear-gradient(to bottom, #d0451b 5%, #bc3315 100%);
  164.          filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#d0451b', endColorstr='#bc3315',GradientType=0);
  165.          background-color:#d0451b;
  166.          display:inline-block;
  167.          cursor:pointer;
  168.          color:#ffffff;
  169.          font-family:arial;
  170.          font-size:13px;
  171.          padding:6px 12px;
  172.          text-decoration:none;
  173.          border:0px;
  174.          }
  175.          .button:hover {
  176.          background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #bc3315), color-stop(1, #d0451b));
  177.          background:-moz-linear-gradient(top, #bc3315 5%, #d0451b 100%);
  178.          background:-webkit-linear-gradient(top, #bc3315 5%, #d0451b 100%);
  179.          background:-o-linear-gradient(top, #bc3315 5%, #d0451b 100%);
  180.          background:-ms-linear-gradient(top, #bc3315 5%, #d0451b 100%);
  181.          background:linear-gradient(to bottom, #bc3315 5%, #d0451b 100%);
  182.          filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#bc3315', endColorstr='#d0451b',GradientType=0);
  183.          background-color:#bc3315;
  184.          }
  185.          .button:active {
  186.          position:relative;
  187.          top:1px;
  188.          }
  189.          table {
  190.          border-collapse: collapse;
  191.          width: 100%; }
  192.          td {
  193.          border: 2px solid #000000;
  194.          padding: 5px;}
  195.          .header {
  196.          font-weight: bold;
  197.          }  
  198.          table#table {
  199.          border-collapse: collapse;
  200.          width: 100%; }
  201.          #table td {
  202.          border-width: 1px;
  203.          border-style: solid;
  204.          border-color: #dddddd;
  205.          padding: 5px; }
  206.          #table .header {
  207.          font-weight: bold; }
  208.          #table .emp { }
  209.       </style>
  210.       <div id="page">
  211.          <div class="center title">Zakup produktu - demo</div>
  212.          <br/>
  213.          <div class="center">
  214.             <table id="table">
  215.                <tr class="header">
  216.                   <td>Cena:</td>
  217.                   <td>Numer:</td>
  218.                   <td>Treść:</td>
  219.                   <td>Produkt:</td>
  220.                </tr>
  221.                <?php foreach($microsms as $var) { ?>
  222.                <tr class="emp">
  223.                   <td><?php echo $var['netto']; ?> (<?php echo number_format($var['netto'] * ( 1 + 23 / 100 ), 2); ?> z VAT)</td>
  224.                   <td><?php echo $var['number']; ?></td>
  225.                   <td><?php echo $settings['txt']; ?></td>
  226.                   <td><?php echo $var['product']; ?></td>
  227.                </tr>
  228.                <?php } ?>
  229.             </table>
  230.            
  231.            <?php if(isset($info)) { ?><div class="alert-box notice"><?php echo $info; ?></div><?php } ?>
  232.            
  233.            <form method="post" >
  234.                <input type="hidden" name="send" value="" />  
  235.                <input name="code" placeholder="Kod sms" type="text" />
  236.                <button class="button" type="submit">Sprawdz kod</button>
  237.             </form>
  238.             <br/><br/>
  239.             Platnosci zapewnia firma <a href="http://microsms.pl/">MicroSMS</a>. <br/>
  240.             Korzystanie z serwisu jest jednozanczne z akceptacja <a href="http://microsms.pl/partner/documents/">regulaminów</a>.<br/>
  241.             Jesli nie dostales kodu zwrotnego w ciagu 30 minut skorzystaj z <a href="http://microsms.pl/customer/complaint/">formularza reklamacyjnego</a><br/><br/>
  242.             <img src="http://microsms.pl/public/cms/img/banner.png">
  243.          </div>
  244.       </div>
  245.    </body>
  246. </html>
  247.  
  248.  
Advertisement
Comments
  • User was banned
Add Comment
Please, Sign In to add comment