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

Различия

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

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

Следующая версия
Предыдущая версия
передача_информации_по_оплате_заказа_в_агбис [25.05.2020 11:27]
Anatoli File build by file2dw plugin from fileПередача информации по оплате заказа в АГБИС.docx
передача_информации_по_оплате_заказа_в_агбис [25.10.2021 14:23] (текущий)
Строка 1: Строка 1:
-====== Передача информации по оплате заказа в АГБИС.docx ====== +====== Передача информации по оплате заказа в АГБИС ======
-**Передача информации по оплате заказа в АГБИС.**+
  
 Данный раздел подойдет для тех, кто самостоятельно интегрирует оплаты в свои мобильные приложения (МП) и личный кабинет (ЛК). Данный раздел подойдет для тех, кто самостоятельно интегрирует оплаты в свои мобильные приложения (МП) и личный кабинет (ЛК).
Строка 6: Строка 5:
 Весь механизм оплат и все оплаты реализуется и хранится на стороне клиента. Весь механизм оплат и все оплаты реализуется и хранится на стороне клиента.
  
-Наша сервисная служба (агент) примерно раз в 30 секунд посылает GET запрос на определенный скрипт (по адресу предоставленный клиентом),​ который отвечает за выгрузку оплат, и передает в него параметры. В ответ скрипт будет сообщать нам данные (xml) об оплаченных заказах,​ после чего агент пометит заказы как оплаченные.+Наша сервисная служба (агент) примерно раз в 30 секунд посылает GET запрос на определенный скрипт (по адресу предоставленный клиентом),​ который отвечает за выгрузку оплат, и передает в него параметры.\\  
 +В ответ скрипт будет сообщать нам данные (xml) об оплаченных заказах,​ после чего агент пометит заказы как оплаченные.
  
-Путь до скрипта должен быть для всех запросов **один**,​ например,​ https:​%%//%%www.example.ru/​api/​pay.php.+Путь до скрипта должен быть для всех запросов **один**,​ например,​ %%https://​www.example.ru/​api/​pay.php%%
  
 После разработки скрипта,​ передать этот путь до скрипта,​ а также значения для параметров Ld и Pd, в АГБИС для дальнейшей настройки агента и тестирования работы выгрузки оплат. После разработки скрипта,​ передать этот путь до скрипта,​ а также значения для параметров Ld и Pd, в АГБИС для дальнейшей настройки агента и тестирования работы выгрузки оплат.
  
-  - **Запрос выгрузки оплат:**+==== Запрос выгрузки оплат ​====
  
 Пример запроса агента на адрес: https:​%%//​%%www.example.ru/​api/​pay.php?​Load&​guid=guid&​Lg=login&​Pd=pwd Пример запроса агента на адрес: https:​%%//​%%www.example.ru/​api/​pay.php?​Load&​guid=guid&​Lg=login&​Pd=pwd
Строка 26: Строка 26:
 Пример XML ответа на запрос параметром Load: Пример XML ответа на запрос параметром Load:
  
-<HTML><​ol style="​list-style-type:​ decimal;"></​HTML+<sxh xml
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​<?xml version="​**1.0**" encoding="​**utf-8**"?><​HTML></​p></​HTML><​HTML></​li></​HTML+<?xml version="​1.0"​ encoding="​utf-8"?>​ 
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​<Agbis><​HTML></​p></​HTML><​HTML></​li></​HTML+<​Agbis>​ 
-<​HTML><​li></​HTML>>​ <​HTML><​p></​HTML>​<Pay><​HTML></​p></​HTML+  <​Pay>​ 
-<​HTML></​li></​HTML>​ +    <​mysql_id>​57</​mysql_id>​ 
-<​HTML><​li></​HTML>>​ <​HTML><​p></​HTML>​<​mysql_id>​**57**</​mysql_id><​HTML></​p></​HTML+    <​dor_id>​158671</​dor_id>​ 
-<​HTML></​li></​HTML>​ +    <​contr_id>​44708</​contr_id>​ 
-<​HTML><​li></​HTML>>​ <​HTML><​p></​HTML>​<​dor_id>​**158671**</dor_id><​HTML></​p></​HTML+    <​amount>​31.88</​amount>​ 
-<​HTML></​li></​HTML>​ +    <​token/>​ 
-<​HTML><​li></​HTML>>​ <​HTML><​p></​HTML>​<​contr_id>​**44708**</​contr_id><​HTML></​p></​HTML+    <​card_last_four>​4242</​card_last_four>​ 
-<​HTML></​li></​HTML>​ +    <​card_type>​Visa</​card_type>​ 
-<​HTML><​li></​HTML>>​ <​HTML><​p></​HTML>​<​amount>​**31.88**</amount><​HTML></​p></​HTML+  </​Pay>​ 
-<​HTML></​li></​HTML>​ +  <​Pay>​ 
-<​HTML><​li></​HTML>>​ <​HTML><​p></​HTML>​<token/><​HTML></​p></​HTML+    <​mysql_id>​59</​mysql_id>​ 
-<​HTML></​li></​HTML>​ +    <​dor_id>​159060</​dor_id>​ 
-<​HTML><​li></​HTML>>​ <​HTML><​p></​HTML>​<​card_last_four>​**4242**</​card_last_four><​HTML></​p></​HTML+    <​contr_id>​44708</​contr_id>​ 
-<​HTML></​li></​HTML>​ +    <​amount>​2125</​amount>​ 
-<​HTML><​li></​HTML>>​ <​HTML><​p></​HTML>​<​card_type>​**Visa**</​card_type><​HTML></​p></​HTML+    <​token/>​ 
-<​HTML></​li></​HTML>​ +    <​card_last_four>​4242</​card_last_four>​ 
-<​HTML><​li></​HTML>>​ <​HTML><​p></​HTML>​</Pay><​HTML></​p></​HTML+    <​card_type>​Visa</​card_type>​ 
-<​HTML></​li></​HTML>​ +  </​Pay>​ 
-<​HTML><​li></​HTML>>​ <​HTML><​p></​HTML>​<Pay><​HTML></​p></​HTML+  ... 
-<​HTML></​li></​HTML>​ +</​Agbis>​ 
-<​HTML><​li></​HTML>>​ <​HTML><​p></​HTML>​<​mysql_id>​**59**</​mysql_id><​HTML></​p></​HTML+</sxh>
-<​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML>>​ <​HTML><​p></​HTML>​<​dor_id>​**159060**</dor_id><​HTML></​p></​HTML+
-<​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML>>​ <​HTML><​p></​HTML>​<​contr_id>​**44708**</​contr_id><​HTML></​p></​HTML+
-<​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML>>​ <​HTML><​p></​HTML>​<​amount>​**2125**</amount><​HTML></​p></​HTML+
-<​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML>>​ <​HTML><​p></​HTML>​<token/><​HTML></​p></​HTML+
-<​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML>>​ <​HTML><​p></​HTML>​<​card_last_four>​**4242**</​card_last_four><​HTML></​p></​HTML+
-<​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML>>​ <​HTML><​p></​HTML>​<​card_type>​**Visa**</​card_type><​HTML></​p></​HTML+
-<​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML>>​ <​HTML><​p></​HTML>​</Pay><​HTML></​p></​HTML+
-<​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​......<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​</​Agbis>​<​HTML></​p></​HTML><​HTML></​li></​HTML><​HTML></​ol>​</HTML>+
  
-где mysql_id – ID строки из БД mysql на стороне клиента,​ +где\\  
->  +//mysql_id// – ID строки из БД mysql на стороне клиента, ​обязательное поле;​\\ ​ 
-dor_id – ID заказа,​ +//dor_id// – ID заказа, ​обязательное поле;​\\ ​ 
->  +//contr_id// – ID клиента химчистки, ​обязательное поле;​\\ ​ 
-contr_id – ID клиента химчистки,​ +//amount// – сумма оплаты заказа, ​обязательное поле;​\\ ​ 
->  +//token// - токен оплаты,​ обязательное поле (оставлять параметр пустым);​\\ ​ 
-amount – сумма оплаты заказа,​ +//card_last_four// – последние 4 цифры карты оплаты;\\  
- +//card_type// – тип карты/​банка оплаты.
-card_last_four – последние 4 цифры карты оплаты+
- +
-card_type – тип карты/​банка оплаты.+
  
 После обработки XML ответа,​ агент сохраняет в АГБИС все оплаты заказов. После обработки XML ответа,​ агент сохраняет в АГБИС все оплаты заказов.
  
-<​HTML><​ol start="​2"​ style="​list-style-type:​ decimal;"></​HTML>​ +==== Запрос успешного сохранения оплат ​====
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​**Запрос успешного сохранения оплат:​**<​HTML></​p></​HTML><​HTML></​li></​HTML><​HTML></​ol></​HTML>​+
  
 Для определения успешной выгрузки оплат в АГБИС, агент отправляет GET запрос в скрипт. Для определения успешной выгрузки оплат в АГБИС, агент отправляет GET запрос в скрипт.
  
-Пример запроса агента на адрес: https:%%//%%www.example.ru/​api/​pay.php?​SavePay&​guid=guid&​Lg=login&​Pd=pwd+Пример запроса агента на адрес: %%https://​www.example.ru/​api/​pay.php?​SavePay&​guid=guid&​Lg=login&​Pd=pwd%%
  
-где guid - GUID текущей выгрузки,​ сформированный агентом,​ еще при отправке запроса Load; +где\\  
- +//guid// - GUID текущей выгрузки,​ сформированный агентом,​ еще при отправке запроса Load;\\  
-login и pwd - авторизационные параметры (предоставляются ​клиентом ​клиентом).+//login// и //pwd// - авторизационные параметры (предоставляются клиентом).
  
 Скрипт должен проверять login и pwd на правильность,​ если совпадают,​ то продолжает дальше работать. Скрипт должен проверять login и pwd на правильность,​ если совпадают,​ то продолжает дальше работать.
Строка 99: Строка 78:
 Пример XML ответа на запрос параметром SavePay: Пример XML ответа на запрос параметром SavePay:
  
-<HTML><​ol style="​list-style-type:​ decimal;"></​HTML+<sxh xml
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​<?xml version="​**1.0**" encoding="​**utf-8**"?><​HTML></​p></​HTML><​HTML></​li></​HTML+<?xml version="​1.0"​ encoding="​utf-8"?>​ 
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​<Agbis><​HTML></​p></​HTML><​HTML></​li></​HTML+<​Agbis>​ 
-<​HTML><​li></​HTML>>​ <​HTML><​p></​HTML>​<​Error>​**0**</Error><​HTML></​p></​HTML+  <​Error>​0</​Error>​ 
-<​HTML>​</li></​HTML+</Agbis
-<​HTML><​li></​HTML><​HTML><​p></​HTML></​Agbis><​HTML></​p></​HTML><​HTML></​li></​HTML><​HTML></​ol>​</HTML>+</sxh>
  
 На этом выгрузка заканчивается и оплаты появляются в программе АГБИС химчистка и ЛК. На этом выгрузка заканчивается и оплаты появляются в программе АГБИС химчистка и ЛК.
  
-Пример скрипта php обрабатывающий Load и SavePay запросы от агента:+==== Пример скрипта php обрабатывающий Load и SavePay запросы от агента ​==== 
 +<sxh php> 
 +<?php 
 +  ini_set('​display_errors',​ 0); 
 +  error_reporting(E_ALL);​
  
-<​HTML><​ol style="​list-style-type:​ decimal;"></​HTML>​ +  ​header('​Content-type:​ text/html; charset=UTF-8'​);​
-<​HTML><​li></​HTML>>​ <​HTML><​p></​HTML><?​php<​HTML></​p></​HTML>​ +
-<​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​ini_set('​display_errors',​ 0);<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​error_reporting(E_ALL);<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​header('​Content-type:​ text/html; charset=UTF-8'​);​<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​**include**('​_class/​mysql.php'​);<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​**include**('​_class/​GenerateXML.php'​);<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​**if** (count($_GET) == 0) %%//​%%если ни каких параметров в строке нет, то убиваем выполнение скрипта<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​**die**('​Ошибка'​);<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​$DB = **new** DB;<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​if (!$DB->​link)<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​**die**('​Ошибка базы данных!'​);<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​if (**isset**($_GET['​Lg'​]) && !**empty**($_GET['​Lg'​]) && **isset**($_GET['​Pd'​]) && !**empty**($_GET['​Pd'​])){<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​%%//​%% проверка логина пароля<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​$lg = substr($_GET['​Lg'​],​ 0, 50);<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​$pd = substr($_GET['​Pd'​],​ 0, 50);<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​%%//​%% тут проверка на правильность $lg и $pd<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​}<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​else<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​**die**('​Ошибка'​);​ %%//%% не позволяем работать дальше<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​if (**isset**($_GET['​guid'​]) && !**empty**($_GET['​guid'​]))<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​$guid = $_GET['​guid'​];<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​else<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​**die**('​Ошибка'​);<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​$TABLE_PAY = '';​ %%//%% имя таблицы<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​if (**isset**($_GET['​Load'​])){ %%//%% Загружаем оплаты<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​$sql = "​select<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​id,<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​dor_id,<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​contr_id,<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​amount,<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​datetime_load_server,<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​datetime_load,<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​datetime_unloading,<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​token,<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​card_last_four,<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​card_type,<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​user_name,<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​ip_address,<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​transaction_id,<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​email,<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​is_loaded<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​from $TABLE_PAY<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​where is_loaded = 0";<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​$result = $DB->​query($sql) or die('​Ошибка'​);<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​$xml = **new** GenerateXML();<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​**while** ($product=$DB->​fetch_array($result,​ MYSQL_BOTH)){<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​$a = $xml->​addEl('​Pay'​);<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​$xml->​addEl('​mysql_id',​ $product['​id'​],​ $a); %%//%% ID записи из mysql<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​$xml->​addEl('​dor_id',​ $product['​dor_id'​],​ $a); %%//%% dоr_id - id заказа<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​$xml->​addEl('​contr_id',​ $product['​contr_id'​],​ $a); %%//%% contr_id - id клиента<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​$xml->​addEl('​amount',​ $product['​amount'​],​ $a); %%//%% сумма оплаты<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​$xml->​addEl('​card_last_four',​ $product['​card_last_four'​],​ $a); %%//%% неполный номер карты<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​$xml->​addEl('​card_type',​ $product['​card_type'​],​ $a); %%//%% тип карты Visa, Mastercard/​краткое имя банка<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​$sql2 = "​update "​.$TABLE_PAY."​ set guid='"​.$DB->​real_escape_string($guid)."'​ where id = "​.$product['​id'​];​ %%//%% помечаем оплаты тек выгрузкой<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​$result2 = $DB->​query($sql2) **or** **die**('​Ошибка'​);<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​}<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​**echo** $xml->​saveXML();<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​}<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​**else**<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​**if** (**isset**($_GET['​SavePay'​])){ %%//%% сохранение оплаты<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​$sql2 = "​update "​.$TABLE_PAY."​ set is_loaded=1,​ token=null, datetime_unloading = CURRENT_TIMESTAMP() where guid = '"​.$DB->​real_escape_string($guid)."'";​ %%//%% помечает что оплаты выгрузились успешно<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​$result2 = $DB->​query($sql2) **or** **die**('​Ошибка'​);<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​$xml = new GenerateXML();<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​$xml->​addEl('​Error',​ 0);<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​**echo** $xml->​saveXML();<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML><​HTML><​p></​HTML>​}<​HTML></​p></​HTML><​HTML></​li></​HTML>​ +
-<​HTML><​li></​HTML>>​ <​HTML><​p></​HTML>?><​HTML></​p></​HTML>​ +
-<​HTML></​li></​HTML><​HTML></​ol></​HTML>​+
  
-Пример скрипта таблицы хранения информации об оплаченных заказов в MYSQL:+  include('​_class/​mysql.php'​);​ 
 +  include('​_class/​GenerateXML.php'​);​
  
-**CREATE** **TABLE** `payment_orders ` (+  if (count($_GET) == 0) //если ни каких параметров в строке нет, то убиваем выполнение скрипта 
 +    die('​Ошибка'​);​ 
 +  $DB = new DB; 
 +  if (!$DB->​link) 
 +    die('​Ошибка базы данных!'​);​
  
-`id` **BIGINT**(20**NOT** **NULL** **AUTO_INCREMENT**,+  if (isset($_GET['​Lg'​]&& !empty($_GET['​Lg'​]) && isset($_GET['​Pd'​]) && !empty($_GET['​Pd'​])){ 
 +    // проверка логина пароля 
 +    $lg = substr($_GET['​Lg'​]0, 50); 
 +    $pd = substr($_GET['​Pd'​],​ 0, 50); 
 +    // тут проверка на правильность $lg и $pd 
 +  } 
 +  else 
 +    die('​Ошибка'​);​ // не позволяем работать дальше
  
-`guid` **VARCHAR**(50**NULL** **DEFAULT** **NULL** **COMMENT** ​'GUID выгрузки',+  if (isset($_GET['​guid']) && !empty($_GET['​guid'​])
 +    $guid = $_GET['guid'​];​ 
 +  else 
 +    die('​Ошибка');
  
-`contr_id` **BIGINT**(20) **NOT** **NULL** **COMMENT** ​'контрагент в БД',+  $TABLE_PAY = ''; // имя ​таблицы
  
-`dor_id` **BIGINT**(20**NULL** **DEFAULT** **NULL** **COMMENT** ​'заказ в БД',+  if (isset($_GET['​Load'​])){ // Загружаем оплаты 
 +    $sql = "​select 
 +              id, 
 +              ​dor_id
 +              contr_id, 
 +              amount, 
 +              datetime_load_server,​ 
 +              datetime_load,​ 
 +              datetime_unloading,​ 
 +              token, 
 +              card_last_four,​ 
 +              card_type,​ 
 +              user_name,​ 
 +              ip_address,​ 
 +              transaction_id,​ 
 +              email, 
 +              is_loaded 
 +            from $TABLE_PAY 
 +            where is_loaded = 0"; 
 +    $result = $DB->​query($sqlor die('Ошибка');
  
-`amount` **DOUBLE** **NOT** **NULL** **COMMENT** ​'​сумма оплаты',​+    $xml = new GenerateXML();​ 
 +    while ($product=$DB->​fetch_array($result,​ MYSQL_BOTH)){ 
 +      $a = $xml->​addEl('​Pay'​);​ 
 +      $xml->​addEl('​mysql_id',​ $product['​id'​],​ $a); // ID записи из mysql 
 +      $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('​amount'​, $product['​amount'​],​ $a); // сумма оплаты 
 +      $xml->​addEl('​token', ​$product['​token'​],​ $a); // token 
 +      $xml->​addEl('​card_last_four',​ $product['​card_last_four'​],​ $a); // неполный номер карты 
 +      $xml->​addEl('​card_type',​ $product['​card_type'​],​ $a); // тип карты Visa, Mastercard/​краткое имя банка
  
-`datetime_load_server` **TIMESTAMP** **NULL** **DEFAULT** **NULL** **COMMENT** ​'Дата создания ​по времени сервера'​,+      $sql2 = "​update "​.$TABLE_PAY."​ set guid='"​.$DB->​real_escape_string($guid)."'​ where id = "​.$product['​id'​];​ // помечаем оплаты тек выгрузкой 
 +      $result2 = $DB->​query($sql2) or die('​Ошибка'); 
 +    }
  
-`datetime_load` **TIMESTAMP** **NULL** **DEFAULT** **NULL** **COMMENT** ​'Дата ​создания по времени сервера оплаты'​,+    echo $xml->​saveXML();​ 
 +  } 
 +  else 
 +  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)."'";​ // помечает что ​оплаты ​выгрузились успешно 
 +    $result2 = $DB->​query($sql2) or die('Ошибка'​);​
  
-`datetime_unloading` **TIMESTAMP** **NULL** **DEFAULT** **NULL** **COMMENT** ​'Дата выгрузки в БД агбис',+    $xml = new GenerateXML();​ 
 +    $xml->​addEl('Error', ​0); 
 +    echo $xml->​saveXML();​ 
 +  } 
 +?> 
 +</​sxh>​
  
-`card_last_four` **VARCHAR**(4) **NULL** **DEFAULT** **NULL** **COMMENT** '​последние 4 цифры', +==== Пример скрипта таблицы хранения информации об оплаченных заказов в MYSQL ====
- +
-`card_type` **VARCHAR**(50) **NULL** **DEFAULT** **NULL** **COMMENT** '​тип ​кары', +
- +
-`user_name` **VARCHAR**(500) **NULL** **DEFAULT** **NULL** **COMMENT** '​Имя ​пользователя карты',​ +
- +
-`ip_address` **VARCHAR**(500) **NULL** **DEFAULT** **NULL** **COMMENT** 'ip клиента',​ +
- +
-`transaction_id` **VARCHAR**(500) **NULL** **DEFAULT** **NULL** **COMMENT** '​номер транзакции',​ +
- +
-`email` **VARCHAR**(250) **NULL** **DEFAULT** **NULL** **COMMENT** 'email адрес плательщика',​ +
- +
-`is_loaded` **TINYINT**(4) **NOT** **NULL** **DEFAULT** '​0'​ **COMMENT** '​Признак успешной выгрузки True/​False',​ +
- +
-`waiting` **TINYINT**(4) **NULL** **DEFAULT** **NULL** **COMMENT** 'Ожидание подтверждения от системы оплаты. 1 ожидание, 0 - уже ​оплачено', +
- +
-`com` **VARCHAR**(500) **NULL** **DEFAULT** **NULL**, +
- +
-**PRIMARY** **KEY** (`id`)+
  
 +<sxh sql>
 +CREATE TABLE `payment_orders ` (
 +`id` BIGINT(20) NOT NULL AUTO_INCREMENT,​
 +`guid` VARCHAR(50) NULL DEFAULT NULL COMMENT 'GUID выгрузки',​
 +`contr_id` BIGINT(20) NOT NULL COMMENT '​контрагент в БД',
 +`dor_id` BIGINT(20) NULL DEFAULT NULL COMMENT '​заказ в БД',
 +`amount` DOUBLE NOT NULL COMMENT '​сумма оплаты',​
 +`datetime_load_server` TIMESTAMP NULL DEFAULT NULL COMMENT '​Дата создания по времени сервера',​
 +`datetime_load` 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_type` VARCHAR(50) NULL DEFAULT NULL COMMENT '​тип кары',​
 +`user_name` VARCHAR(500) NULL DEFAULT NULL COMMENT '​Имя пользователя карты',​
 +`ip_address` VARCHAR(500) NULL DEFAULT NULL COMMENT 'ip клиента',​
 +`transaction_id` VARCHAR(500) NULL DEFAULT NULL COMMENT '​номер транзакции',​
 +`email` VARCHAR(250) NULL DEFAULT NULL COMMENT 'email адрес плательщика',​
 +`is_loaded` TINYINT(4) NOT NULL DEFAULT '​0'​ COMMENT '​Признак успешной выгрузки True/​False',​
 +`waiting` TINYINT(4) NULL DEFAULT NULL COMMENT '​Ожидание подтверждения от системы оплаты. 1 ожидание,​ 0 - уже оплачено',​
 +`com` VARCHAR(500) NULL DEFAULT NULL,
 +PRIMARY KEY (`id`)
 ) )
- +COMMENT='​Оплаты заказов из ЛК'​ 
-**COMMENT**='​Оплаты заказов из ЛК'​ +COLLATE='​utf8_general_ci'​ 
- +ENGINE=MyISAM 
-**COLLATE**='​utf8_general_ci'​ +</​sxh>​
- +
-**ENGINE**=**MyISAM** +