1. Go to this page and download the library: Download avangard/api library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
avangard / api example snippets
composer install
use Avangard\ApiClient;
$apiClient = new ApiClient($shopId, $shopPassword, $shopSign, $serverSign, $boxAuth, $proxy);
try {
// All methods here...
} catch (\Exception $e) {
if ($debug) {
\Avangard\Lib\Logger::log($e);
// Your custom logging here...
}
}
$order = [
'AMOUNT' => 'number, обязательный', // сумма к оплате в копейках
'ORDER_NUMBER' => 'string, обязательный', // номер заказа в интернет-магазине
'ORDER_DESCRIPTION' => 'string, обязательный', // описание заказа в интернет-магазине
'LANGUAGE' => 'string, обязательный, по умолчанию RU', // язык описания заказа в интернет-магазине
'BACK_URL' => 'string, обязательный', // ссылка безусловного редиректа
'BACK_URL_OK' => 'string', // ссылка успешного редиректа
'BACK_URL_FAIL' => 'string', // ссылка НЕуспешного редиректа
'CLIENT_NAME' => 'string', // имя плательщика
'CLIENT_ADDRESS' => 'string', // физический адрес плательщика
'CLIENT_EMAIL' => 'string', // email плательщика
'CLIENT_PHONE' => 'string', // телефон плательщика
'CLIENT_IP' => 'string' // ip-адрес плательщика
];
$type =
ApiClient::HOST2HOST // Регистрирует оплату в интернет-эквайринге и возвращает TICKET-параметр для последующей оплаты заказа
ApiClient::POSTFORM // Подготавливает параметры для HTML формы оплаты, показываемой на стороне клиента (часто требуется для CMS)
ApiClient::GETURL // Регистрирует оплату в интернет-эквайринге и возвращает ссылку для последующей оплаты заказа
$receiptItem = new ReceiptItemEntity($name, $price, $quantity, $sum);
$receiptItem->setPaymentObject('commodity')
vangard\ApiClient;
use Avangard\Lib\Box\BoxAuthFactory;
use Box\DataObjects\ClientEntity;
use Box\DataObjects\ReceiptEntity;
use Box\DataObjects\ReceiptItemEntity;
$debug = true;
try {
$boxJson = $db->getBoxJson(); // Ваш метод получения JSON строки с авторизационными данными для кассы
$boxAuth = BoxAuthFactory::createBoxAuth($boxJson);
$apiClient = new ApiClient(
1,
'shop password',
'shop sign',
'server sign',
$boxAuth
);
// Перед отправкой чека необходимо проверять, есть ли подключение к кассе
if ($apiClient->request->isBox()) {
$orderData = $_REQUEST['order'];
// Создаём чек с номером заказа и текущим временем
$receipt = new ReceiptEntity((string)$orderData['id'], time());
// Создаём и заполняем объект данных о покупателе
$client = new ClientEntity($orderData['client_firstname'] . ' ' . $orderData['client_lastname']);
// Одно из двух полей phone или email должно быть обязательно заполнено
$client->setPhone($order['phone']);
$client->setEmail($order['email']);
// Добавляем данные о покупателе в чек
$receipt->addClient($client);
// Добавляем общую сумму заказа в чек
$receipt->addTotal($order['total']);
// Заполняем позиции в чеке
foreach ($orderData['items'] as $product) {
$receipt->addReceiptItem(
new ReceiptItemEntity(
$product['name'],
$product['price'],
$product['quantity'],
$product['total']
)
);
}
// Если есть платная доставка, добавляем её в чек
if (!empty($orderData['delivery'])) {
$receipt->addReceiptItem(
ReceiptItemEntity::delivery(
$orderData['delivery']['name'],
round($orderData['delivery']['price']),
1,
round($orderData['delivery']['price'])
)
);
}
// Отправляем чек в кассу
$this->client->request->sendBill($receipt);
}
} catch (\Exception $e) {
if ($debug) {
\Avangard\Lib\Logger::log($e);
}
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.