мета-данные страницы
Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
передача_информации_по_оплате_заказа_в_агбис [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 'тип кары', |