мета-данные страницы
  •  

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
передача_информации_по_оплате_заказа_в_агбис [25.05.2020 12:26]
Anatoli [Пример скрипта php обрабатывающий Load и SavePay запросы от агента]
передача_информации_по_оплате_заказа_в_агбис [25.10.2021 14:23] (текущий)
Строка 1: Строка 1:
 ====== Передача информации по оплате заказа в АГБИС ====== ====== Передача информации по оплате заказа в АГБИС ======
- 
-===== Передача информации по оплате заказа в АГБИС ===== 
  
 Данный раздел подойдет для тех, кто самостоятельно интегрирует оплаты в свои мобильные приложения (МП) и личный кабинет (ЛК). Данный раздел подойдет для тех, кто самостоятельно интегрирует оплаты в свои мобильные приложения (МП) и личный кабинет (ЛК).
Строка 54: Строка 52:
  
 где\\ ​ где\\ ​
-//​mysql_id//​ – ID строки из БД mysql на стороне клиента;​\\  +//​mysql_id//​ – ID строки из БД mysql на стороне клиента, обязательное поле;\\  
-//dor_id// – ID заказа;​\\  +//dor_id// – ID заказа, обязательное поле;\\  
-//​contr_id//​ – ID клиента химчистки;​\\  +//​contr_id//​ – ID клиента химчистки, обязательное поле;\\  
-//amount// – сумма оплаты заказа;​\\ ​+//amount// – сумма оплаты заказа, обязательное поле;\\  
 +//token// - токен оплаты,​ обязательное поле (оставлять параметр пустым);\\ 
 //​card_last_four//​ – последние 4 цифры карты оплаты;​\\ ​ //​card_last_four//​ – последние 4 цифры карты оплаты;​\\ ​
 //​card_type//​ – тип карты/​банка оплаты. //​card_type//​ – тип карты/​банка оплаты.
Строка 91: Строка 90:
 <sxh php> <sxh php>
 <?php <?php
-ini_set('​display_errors',​ 0); +  ​ini_set('​display_errors',​ 0); 
-error_reporting(E_ALL);​+  error_reporting(E_ALL);​
  
-header('​Content-type:​ text/html; charset=UTF-8'​);​+  ​header('​Content-type:​ text/html; charset=UTF-8'​);​
  
-include('​_class/​mysql.php'​);​ +  ​include('​_class/​mysql.php'​);​ 
-include('​_class/​GenerateXML.php'​);​+  include('​_class/​GenerateXML.php'​);​
  
-if (count($_GET) == 0) //если ни каких параметров в строке нет, то убиваем выполнение скрипта +  ​if (count($_GET) == 0) //если ни каких параметров в строке нет, то убиваем выполнение скрипта 
-die('​Ошибка'​);​ +    die('​Ошибка'​);​ 
-$DB = new DB; +  $DB = new DB; 
-if (!$DB->​link) +  if (!$DB->​link) 
-die('​Ошибка базы данных!'​);​+    die('​Ошибка базы данных!'​);​
  
-if (isset($_GET['​Lg'​]) && !empty($_GET['​Lg'​]) && isset($_GET['​Pd'​]) && !empty($_GET['​Pd'​])){ +  ​if (isset($_GET['​Lg'​]) && !empty($_GET['​Lg'​]) && isset($_GET['​Pd'​]) && !empty($_GET['​Pd'​])){ 
-// проверка логина пароля +    // проверка логина пароля 
-$lg = substr($_GET['​Lg'​],​ 0, 50); +    $lg = substr($_GET['​Lg'​],​ 0, 50); 
-$pd = substr($_GET['​Pd'​],​ 0, 50); +    $pd = substr($_GET['​Pd'​],​ 0, 50); 
-// тут проверка на правильность $lg и $pd +    // тут проверка на правильность $lg и $pd 
-+  
-else +  else 
-die('​Ошибка'​);​ // не позволяем работать дальше+    die('​Ошибка'​);​ // не позволяем работать дальше
  
-if (isset($_GET['​guid'​]) && !empty($_GET['​guid'​])) +  ​if (isset($_GET['​guid'​]) && !empty($_GET['​guid'​])) 
-$guid = $_GET['​guid'​];​ +    $guid = $_GET['​guid'​];​ 
-else +  else 
-die('​Ошибка'​);​+    die('​Ошибка'​);​
  
-$TABLE_PAY = '';​ // имя таблицы+  ​$TABLE_PAY = '';​ // имя таблицы
  
-if (isset($_GET['​Load'​])){ // Загружаем оплаты +  ​if (isset($_GET['​Load'​])){ // Загружаем оплаты 
-$sql = "​select +    $sql = "​select 
-id, +              id, 
-dor_id, +              dor_id, 
-contr_id, +              contr_id, 
-amount, +              amount, 
-datetime_load_server,​ +              datetime_load_server,​ 
-datetime_load,​ +              datetime_load,​ 
-datetime_unloading,​ +              datetime_unloading,​ 
-token, +              token, 
-card_last_four,​ +              card_last_four,​ 
-card_type,​ +              card_type,​ 
-user_name,​ +              user_name,​ 
-ip_address,​ +              ip_address,​ 
-transaction_id,​ +              transaction_id,​ 
-email, +              email, 
-is_loaded +              is_loaded 
-from $TABLE_PAY +            from $TABLE_PAY 
-where is_loaded = 0"; +            where is_loaded = 0"; 
-$result = $DB->​query($sql) or die('​Ошибка'​);​+    $result = $DB->​query($sql) or die('​Ошибка'​);​
  
-$xml = new GenerateXML();​ +    ​$xml = new GenerateXML();​ 
-while ($product=$DB->​fetch_array($result,​ MYSQL_BOTH)){ +    while ($product=$DB->​fetch_array($result,​ MYSQL_BOTH)){ 
-$a = $xml->​addEl('​Pay'​);​ +      $a = $xml->​addEl('​Pay'​);​ 
-$xml->​addEl('​mysql_id',​ $product['​id'​],​ $a); // ID записи из mysql +      $xml->​addEl('​mysql_id',​ $product['​id'​],​ $a); // ID записи из mysql 
-$xml->​addEl('​dor_id',​ $product['​dor_id'​],​ $a); // dоr_id - id заказа +      $xml->​addEl('​dor_id',​ $product['​dor_id'​],​ $a); // dоr_id - id заказа 
-$xml->​addEl('​contr_id',​ $product['​contr_id'​],​ $a); // contr_id - id клиента +      $xml->​addEl('​contr_id',​ $product['​contr_id'​],​ $a); // contr_id - id клиента 
-$xml->​addEl('​amount',​ $product['​amount'​],​ $a); // сумма оплаты +      $xml->​addEl('​amount',​ $product['​amount'​],​ $a); // сумма оплаты 
-$xml->​addEl('​card_last_four',​ $product['​card_last_four'​],​ $a); // неполный номер карты +      ​$xml->​addEl('​token',​ $product['​token'​],​ $a); // token 
-$xml->​addEl('​card_type',​ $product['​card_type'​],​ $a); // тип карты Visa, Mastercard/​краткое имя банка+      ​$xml->​addEl('​card_last_four',​ $product['​card_last_four'​],​ $a); // неполный номер карты 
 +      $xml->​addEl('​card_type',​ $product['​card_type'​],​ $a); // тип карты Visa, Mastercard/​краткое имя банка
  
-$sql2 = "​update "​.$TABLE_PAY."​ set guid='"​.$DB->​real_escape_string($guid)."'​ where id = "​.$product['​id'​];​ // помечаем оплаты тек выгрузкой +      ​$sql2 = "​update "​.$TABLE_PAY."​ set guid='"​.$DB->​real_escape_string($guid)."'​ where id = "​.$product['​id'​];​ // помечаем оплаты тек выгрузкой 
-$result2 = $DB->​query($sql2) or die('​Ошибка'​);​ +      $result2 = $DB->​query($sql2) or die('​Ошибка'​);​ 
-}+    }
  
-echo $xml->​saveXML();​ +    ​echo $xml->​saveXML();​ 
-+  
-else +  else 
-if (isset($_GET['​SavePay'​])){ // сохранение оплаты +  if (isset($_GET['​SavePay'​])){ // сохранение оплаты 
-$sql2 = "​update "​.$TABLE_PAY."​ set is_loaded=1,​ token=null, datetime_unloading = CURRENT_TIMESTAMP() where guid = '"​.$DB->​real_escape_string($guid)."'";​ // помечает что оплаты выгрузились успешно +    $sql2 = "​update "​.$TABLE_PAY."​ set is_loaded=1,​ token=null, datetime_unloading = CURRENT_TIMESTAMP() where guid = '"​.$DB->​real_escape_string($guid)."'";​ // помечает что оплаты выгрузились успешно 
-$result2 = $DB->​query($sql2) or die('​Ошибка'​);​+    $result2 = $DB->​query($sql2) or die('​Ошибка'​);​
  
-$xml = new GenerateXML();​ +    ​$xml = new GenerateXML();​ 
-$xml->​addEl('​Error',​ 0); +    $xml->​addEl('​Error',​ 0); 
-echo $xml->​saveXML();​ +    echo $xml->​saveXML();​ 
-}+  }
 ?> ?>
 </​sxh>​ </​sxh>​
Строка 182: Строка 182:
 `datetime_load` TIMESTAMP NULL DEFAULT NULL COMMENT '​Дата создания по времени сервера оплаты',​ `datetime_load` TIMESTAMP NULL DEFAULT NULL COMMENT '​Дата создания по времени сервера оплаты',​
 `datetime_unloading` TIMESTAMP NULL DEFAULT NULL COMMENT '​Дата выгрузки в БД агбис',​ `datetime_unloading` TIMESTAMP NULL DEFAULT NULL COMMENT '​Дата выгрузки в БД агбис',​
 +`token` VARCHAR(50) NULL DEFAULT NULL COMMENT '​token',​
 `card_last_four` VARCHAR(4) NULL DEFAULT NULL COMMENT '​последние 4 цифры',​ `card_last_four` VARCHAR(4) NULL DEFAULT NULL COMMENT '​последние 4 цифры',​
 `card_type` VARCHAR(50) NULL DEFAULT NULL COMMENT '​тип кары',​ `card_type` VARCHAR(50) NULL DEFAULT NULL COMMENT '​тип кары',​