Skocz do zawartości
  • 0

Formularz (API Mintshost)


TheDedi

Pytanie

Witam, ma ktoś chwilę wolnego czasu i napisał by mi formularz do wpisywania nicku i kodu sms z użyciem API microsms?

Chciałbym żeby po właściwym wpisaniu kodu wyświetliła się informacja o poprawności kodu i nicku którym wpisało się do formularzu.

np. "Marek wpisałeś prawidłowy kod'

Znalazłem coś takiego (może komuś pomoże):

 

Dokumentacja:

  1. Użytkownik wysyła SMS Premium o treści: SIM.MINTS
  2. W odpowiedzi użytkownik uzyskuje na swój telefon kod.
  3. Kod doładowania jest potrzebny do wywołania metody API.
  4. Po wywołaniu metody API (poprzez GET, a więc wystarczy zwykłe wywołanie linka), Twój portfel zostanie doładowany kwotą wynikającą z poniższego cennika.

http://api.panelmh.mintshost.pl/259190/{number}/{smsCode}/{nick}

Informacja zwrotna z API

Po prawidłowym wywołaniu API zwróci komunikat w formacie JSON, zawierający dwie wartości: code oraz message.

Po prawidłowym doładowaniu skarbonki API zwróci:

{"code":200,"message":"8.61 - weryfikacja poprawna, sms o wartości 17.22 PLN", "data": "17.22"}

 

Z góry chciałbym podziękować wszystkim którzy pomogą :)

Edytowane przez xAxee
Odnośnik do komentarza
https://skript.pl/temat/22119-formularz-api-mintshost/
Udostępnij na innych stronach

1 odpowiedź na to pytanie

Rekomendowane odpowiedzi

  • 0

Nie rozumiem, tak trudno dodać 3 linijki do gotowego skryptu podanego przez operatora płatności?

 

<?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' => '1',
		/*
			@nazwa: serviceid
			@opis: numer identyfikacyjny kanału SKS dostępny w sekcji "Kanały SMS Premium" 
		*/
		'serviceid' => '788',
		/*
			@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.PAKO',
		);
		
	$data[] = array("netto" => 0.50,"number" => 7055,"product" => "wojownik");
	$data[] = array("netto" => 1.00,"number" => 7136,"product" => "strażak");
	
	/* 
		Weryfikujemy, czy formularz został wysłany
	*/
	if (isset($_POST['send']) && isset($_POST['code']) && isset($_POST['nickname'])) {
		
		$code = addslashes($_POST['code']);
		
		/* 
			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) {
					$okmsg = $_POST['nickname'] . ' wpisales prawidlowy kod!';
					
					// Tutaj możesz również wykonywać inne operacje
					// Np. dodać zapytanie mysql, wysłać maila itp.
					
				} else {
					$errormsg = 'Przesłany kod jest nieprawidłowy, spróbuj ponownie.';
				}
			}

		} else {
			$errormsg = 'Przesłany kod jest nieprawidłowy, przepisz go ponownie.';
		}
	}

?>


<!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="nickname" placeholder="Nick" 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>

 

Edytowane przez Verlikylos
Odnośnik do komentarza
https://skript.pl/temat/22119-formularz-api-mintshost/#findComment-150884
Udostępnij na innych stronach

Nieaktywny
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...