Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- error_reporting(E_ALL);
- ini_set('error_reporting', E_ALL);
- ini_set("display_errors", 1);
- $settings = array(
- /*
- @nazwa: userid
- @opis: numer identyfikacyjny partnera nadawany po zarejestrowaniu konta (dostępny po zalogowaniu).
- */
- 'userid' => '5241',
- /*
- @nazwa: serviceid
- @opis: numer identyfikacyjny kanału SKS dostępny w sekcji "Kanały SMS Premium"
- */
- 'serviceid' => '5712',
- /*
- @nazwa: text
- @opis: treść wiadomości, która zostaje zainicjowana przez partnera w panelu. Pamiętaj, że błąd powoduje nierozliczenie płatności!
- */
- 'text' => 'MSMS.DBT',
- );
- $data[] = array("netto" => 0.50,"number" => 71411,"product" => "wojownik");
- $data[] = array("netto" => 1.00,"number" => 71480,"product" => "strażak");
- /*
- Weryfikujemy, czy formularz został wysłany
- */
- if (isset($_POST['send']) && isset($_POST['code']) && isset($_POST['nazwapostaci'])) {
- $code = addslashes($_POST['code']);
- $nazwapostaci = $_POST['nazwapostaci'];
- $servername = "localhost";
- $username = "username";
- $password = "password";
- $conn = new mysqli($servername, $username, $password)
- if ($conn->connect_error) {
- die("Connection failed: " . $conn->connect_error);
- }
- $result = $conn->query("SELECT charactername FROM MyGuests WHERE charactername='$nazwapostaci'");
- if ($result->num_rows > 0) {
- /*
- Weryfikujemy poprawność kodu
- */
- if (preg_match("/^[A-Za-z0-9]{8}$/", $code)) {
- $a = array();
- $b = array();
- foreach ($data as $cfg) {
- array_push($a, $cfg['number']);
- $b[$cfg['number']] = $cfg['product'];
- }
- /*
- Łączymy się z serwerem MicroSMS
- */
- $api = @file_get_contents("http://microsms.pl/api/v2/multi.php?userid=" . $settings['userid'] . "&code=" . $code . '&serviceid=' . $settings['serviceid']);
- print_r($api);
- /*
- Jeśli wystąpi problem z połączeniem, skrypt wyświetli błąd.
- */
- if (!isset($api)) {
- $errormsg = 'Nie można nawiązać połączenia z serwerem płatności.';
- } else {
- /*
- Dekodujemy odpowiedź serwera do formatu json
- */
- $api = json_decode($api);
- /*
- Sprawdzamy czy odpowiedź na pewno jest w formacie json
- */
- if (!is_object($api)) {
- $errormsg = 'Nie można odczytać informacji o płatności.';
- } else if (isset($api->error) && $api->error) {
- $errormsg = 'Kod błędu: ' . $api->error->errorCode . ' - ' . $api->error->message;
- } else if ($api->connect == FALSE) {
- $errormsg = 'Kod błędu: ' . $api->data->errorCode . ' - ' . $api->data->message;
- } else if (!isset($b[$api->data->number])) {
- $errormsg = 'Przesłany kod jest nieprawidłowy, spróbuj ponownie.';
- }
- }
- if (!isset($errormsg) && isset($api->connect) && $api->connect == TRUE) {
- /*
- Jeśli kod jest prawidłowy, wydajemy produkt
- */
- if ($api->data->status == 1) {
- // Tutaj możesz również wykonywać inne operacje
- // Np. dodać zapytanie mysql, wysłać maila itp.
- if ($conn->query("UPDATE MyGuests SET points=points+50 WHERE charactername='$nazwapostaci') === TRUE) {
- $okmsg = 'Zakupiłeś produkt ' . $b[$api->data->number];
- } else {
- $errormsg = 'Wystąpił błąd komunikacji z bazą danych, skontaktuj się z administratorem!';
- }
- } else {
- $errormsg = 'Przesłany kod jest nieprawidłowy, spróbuj ponownie.';
- }
- }
- } else {
- $errormsg = 'Przesłany kod jest nieprawidłowy, przepisz go ponownie.';
- }
- } else {
- $errormsg = 'Nie istnieje postać o podanej nazwie!';
- }
- $conn->close();
- }
- ?>
- <!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>
- <link href="http://microsms.pl/api/demo/css.css" rel="stylesheet" type="text/css">
- </head>
- <body>
- <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($data 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['text']; ?></td>
- <td><?php echo $var['product']; ?></td>
- </tr>
- <?php } ?>
- </table>
- <br/>
- <?php if(isset($okmsg)) { ?><div class="msg ok"><?php echo $okmsg; ?></div><?php } ?>
- <?php if(isset($errormsg)) { ?><div class="msg error"><?php echo $errormsg; ?></div><?php } ?>
- <form method="post" >
- <input type="hidden" name="send" value="" />
- <input name="nazwapostaci" placeholder="Nazwa postaci w grze" type="text" />
- <input name="code" placeholder="Kod sms" type="text" />
- <button class="button" type="submit">Sprawdź kod</button>
- </form>
- <br/><br/>
- Płatności zapewnia firma <a href="http://microsms.pl/">MicroSMS</a>. <br/>
- Korzystanie z serwisu jest jednozanczne z akceptacją <a href="http://microsms.pl/partner/documents/">regulaminów</a>.<br/>
- Jeśli nie dostałeś kodu zwrotnego w ciągu 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
Add Comment
Please, Sign In to add comment
Advertisement