Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /*
- Wersja demonstracyjna przykladowego
- wykorzystania SMS API MicroSMS.pl
- Ostatnia aktualizaja: 2/20/2015
- Dowiesz sie tutaj jak wykorzystac API w celu
- - Sprawdzenia kodu SMS z okreslonym numerem SMS (np. wartością doładowania skarbonki)
- - Jak zbudowac formularz obierania danych od klienta
- Możliwe błedy to
- - E,0 -> brak danych w API
- - E,1 -> jeśli nie ma kodu, bądź nie ma 8 znaków
- - E,2 -> jeśli użytokwnik bądź usługa nie istnieje bądź nie są w 1 profilu
- - E,3 -> Jeśli nie ma numeru SMS
- */
- /*
- Jesli Twój skrypt posiada bledy stworzone
- przez programiste, ponizsze polecenia moga wywolac
- duza ilosc wpisów na stronie dlatego, zaleca sie
- posiadac wylaczone te opcje, przy niesprawdzonych skryptach
- do czasu wyeliminowania problemu.
- */
- error_reporting(E_ALL);
- ini_set('error_reporting', E_ALL);
- ini_set("display_errors", 1);
- /*
- Zmienna userid pozwala zidentyfikowac partnera MicroSMS
- Mozna ja znalezc w panelu administracyjnym od razu po zalogowaniu, pod
- imieniem i nazwiskiem. Np. (ID 1)
- */
- $settings['userid'] = 0;
- /*
- serviceid to numer identyfikacyjny aktywowanej usługi SMS Premium
- */
- $settings['serviceid'] = 0;
- /*
- Treść wiadomości SMS, na jaką klienci mają wysyłać wiadomości.
- */
- $settings['txt'] = 'MSMS.SUFIKS';
- /*
- Numer-y które mają znajdować się w sprzedaży
- */
- $microsms[] = array("netto" => 0.50,"number" => 7055,"product" => "wojownik");
- $microsms[] = array("netto" => 1.00,"number" => 7136,"product" => "strażak");
- // I inne w zależności od konfiguracji w panelu partnera
- if (isset($_POST['send']) && isset($_POST['code'])) {
- $code = addslashes($_POST['code']);
- /*
- Weryfikujemy poprawnosc kodu SMS,
- pamietajmy, ze MicroSMS wydaje jedynie
- kody posiadajace 8 znaków
- */
- if (preg_match("/^[A-Za-z0-9]{8}$/", $code)) {
- $a = array();
- $b = array();
- foreach ($microsms as $cfg) {
- array_push($a, $cfg['number']);
- $b[$cfg['number']] = $cfg['product'];
- }
- /*
- Laczymy sie z serwerem MicroSMS w celu
- pobrania informacji nt. kodu
- */
- $handle = fopen("http://microsms.pl/api/check_multi.php?userid=" . $settings['userid'] . "&code=" . $code . '&serviceid=' . $settings['serviceid'], 'r');
- $check = fgetcsv($handle, 1024);
- fclose($handle);
- /*
- Musimy zweryfikowac, czy system przypadkiem
- nie ma bledu i pelen poprawnie formularz dociera
- do MicroSMS, jesli na pierwszym tj. 0 miejscu znajduje
- sie odpowiedz E oznacza ERROR i któras zmienna jest
- blednie uzupelniona
- */
- if ($check[0] != 'E') {
- /*
- W przypadku kiedy wszystkie warunki zostaly
- spelnione mozemy wydac produkt
- */
- if ($check[0] == 1) {
- if (isset($b[$check[2]])) {
- $info = 'Zakupiłeś produkt ' . $b[$check[2]];
- //
- // Dalsza czesc Twojego kodu...
- //
- } else {
- $info = 'Numer SMS nie został zainicjowany w skrypcie. Skontaktuj się ze sprzedawcą. ';
- }
- } else {
- $info = 'Podany kod jest nieprawidlowy.';
- }
- } else {
- $info = 'Nieprawidlowo skonfigurowana usluga, skontaktuj sie z administratorem sklepu.';
- }
- } else {
- $info = 'Nieprawidlowy format kodu.';
- }
- }
- ?>
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml" lang="pl">
- <head>
- <meta http-equiv="content-type" content="text/html; charset=utf-8" />
- <title>Przykladowy skrypt platnosci SMS</title>
- </head>
- <body>
- <style>
- body { font-size: 11px; font-family: Tahoma, Arial, Verdana, Helvetica, sans-serif; font-weight: normal; }
- #page { width: 600px; padding: 20px; margin-left: auto; margin-right: auto; border:1px solid #c6c6c6; }
- .center { text-align: center; }
- .alert-box { color:#555; border-radius:10px; font-family:Tahoma,Geneva,Arial,sans-serif;font-size:11px; padding:10px 10px 10px 36px; margin:10px; }
- .alert-box span { font-weight:bold;text-transform:uppercase; }
- .notice { background:#e3f7fc;border:1px solid #8ed9f6; }
- .title { font-size: 20px; font-weight:bold; }
- input[type=text], textarea {
- -webkit-transition: all 0.30s ease-in-out;
- -moz-transition: all 0.30s ease-in-out;
- -ms-transition: all 0.30s ease-in-out;
- -o-transition: all 0.30s ease-in-out;
- outline: none;
- padding: 3px 0px 3px 3px;
- margin: 5px 1px 3px 0px;
- border: 1px solid #DDDDDD;
- }
- .button {
- background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #d0451b), color-stop(1, #bc3315));
- background:-moz-linear-gradient(top, #d0451b 5%, #bc3315 100%);
- background:-webkit-linear-gradient(top, #d0451b 5%, #bc3315 100%);
- background:-o-linear-gradient(top, #d0451b 5%, #bc3315 100%);
- background:-ms-linear-gradient(top, #d0451b 5%, #bc3315 100%);
- background:linear-gradient(to bottom, #d0451b 5%, #bc3315 100%);
- filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#d0451b', endColorstr='#bc3315',GradientType=0);
- background-color:#d0451b;
- display:inline-block;
- cursor:pointer;
- color:#ffffff;
- font-family:arial;
- font-size:13px;
- padding:6px 12px;
- text-decoration:none;
- border:0px;
- }
- .button:hover {
- background:-webkit-gradient(linear, left top, left bottom, color-stop(0.05, #bc3315), color-stop(1, #d0451b));
- background:-moz-linear-gradient(top, #bc3315 5%, #d0451b 100%);
- background:-webkit-linear-gradient(top, #bc3315 5%, #d0451b 100%);
- background:-o-linear-gradient(top, #bc3315 5%, #d0451b 100%);
- background:-ms-linear-gradient(top, #bc3315 5%, #d0451b 100%);
- background:linear-gradient(to bottom, #bc3315 5%, #d0451b 100%);
- filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#bc3315', endColorstr='#d0451b',GradientType=0);
- background-color:#bc3315;
- }
- .button:active {
- position:relative;
- top:1px;
- }
- table {
- border-collapse: collapse;
- width: 100%; }
- td {
- border: 2px solid #000000;
- padding: 5px;}
- .header {
- font-weight: bold;
- }
- table#table {
- border-collapse: collapse;
- width: 100%; }
- #table td {
- border-width: 1px;
- border-style: solid;
- border-color: #dddddd;
- padding: 5px; }
- #table .header {
- font-weight: bold; }
- #table .emp { }
- </style>
- <div id="page">
- <div class="center title">Zakup produktu - demo</div>
- <br/>
- <div class="center">
- <table id="table">
- <tr class="header">
- <td>Cena:</td>
- <td>Numer:</td>
- <td>Treść:</td>
- <td>Produkt:</td>
- </tr>
- <?php foreach($microsms as $var) { ?>
- <tr class="emp">
- <td><?php echo $var['netto']; ?> (<?php echo number_format($var['netto'] * ( 1 + 23 / 100 ), 2); ?> z VAT)</td>
- <td><?php echo $var['number']; ?></td>
- <td><?php echo $settings['txt']; ?></td>
- <td><?php echo $var['product']; ?></td>
- </tr>
- <?php } ?>
- </table>
- <?php if(isset($info)) { ?><div class="alert-box notice"><?php echo $info; ?></div><?php } ?>
- <form method="post" >
- <input type="hidden" name="send" value="" />
- <input name="code" placeholder="Kod sms" type="text" />
- <button class="button" type="submit">Sprawdz kod</button>
- </form>
- <br/><br/>
- Platnosci zapewnia firma <a href="http://microsms.pl/">MicroSMS</a>. <br/>
- Korzystanie z serwisu jest jednozanczne z akceptacja <a href="http://microsms.pl/partner/documents/">regulaminów</a>.<br/>
- Jesli nie dostales kodu zwrotnego w ciagu 30 minut skorzystaj z <a href="http://microsms.pl/customer/complaint/">formularza reklamacyjnego</a><br/><br/>
- <img src="http://microsms.pl/public/cms/img/banner.png">
- </div>
- </div>
- </body>
- </html>
Advertisement