Микроплащания за макролидери!

Пример за проверка на код (php и HTML)

Това е примерна рамка на скрипт за проверка на код. Демонстрирани са разчитането на кода, подаване на заявка и обработка на отговора от сървър на SMSPAY. В зависимост от резултата, се показват различни страници.

В приложения пример е нужно да въведете правилните стойности на константите USER_ID и SERVICE_ID. Представена е възможност с един програмен код да проверявате код за достъп от две тарифи (услуги).
Програмен код:
<?php
   session_start ();

   define ('USER_ID', 123); // Попълнете вашия потр. код

function smspay_check_code ($user_id, $service_id, $code) {
   $url = sprintf ("http://rcv.smspay.bg/users/check_code.php?" .
   "user_id=%d&service_id=%d&code=%s", $user_id, $service_id, $code);
   return @file_get_contents ($url);

   // Ако не е разрешено file_get_contents, използвайте този код:
   $host = 'rcv.smspay.bg';
   $path = sprintf ("/users/check_code.php?service_id=%d&code=%s" .
      "&user_id=%d", $service_id, $code, $user_id);
   $request = sprintf ("GET %s HTTP/1.0\r\nHost: %s\r\n\r\n",
      $path, $host);
   $socket = fsockopen ($host, 80);
   fwrite ($socket, $request);
   $result = fread ($socket, 512);
   return $result;
}

   if ($_REQUEST{'but_check'}) {
      $service_id = $_REQUEST{'service_id'};
      $code = $_REQUEST{'code'};
      
      unset ($_SESSION{'loggedin'});
      switch (smspay_check_code (USER_ID, $service_id, $code)) {
         case 'CODE_OK':
            // във вашият код проверявате сесийната променлива
            // и ако тя е валидна, включвате платеното съдържание
            $_SESSION{'loggedin'} = true; 
         break;

         case 'CODE_EXPIRED':
            echo 'Вашият код за достъп е изтекъл!';
         break;

         case 'CODE_NOT_FOUND':
            echo 'Въведеният код е грешен!';
         break;
      }
   }
?>
Фрагмент от HTML код, съдържащ форма и проверка:
<?php if ($_SESSION{'loggedin'}) include ('members.html');
   else include ('signup.html'); ?>

<form action="" method="POST">
   Вашият код:
   <input type="text" name="code" value="Провери">
   <input type="submit" name="but_check" value="Провери">
   <br>
<!-- Ако ползвате 2 услуги: -->
   За <input type="radio" name="service_id" value="1234"> 2 лв.
   <input type="radio" name="service_id" value="1235"> 4 лв.
<!-- Ако ползвате 1 услуга: -->
   <input type="hidden" name="service_id" value="1234">
</form>
Показаните примери изглеждат така:

Вашият код:
за 2 лв. 4 лв.


Вижте още:
Описание на SMS услугите: Генериране на код