Download the PHP package avangard/api without Composer

On this page you can find all versions of the php package avangard/api. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package api

AVANGARD PHP Client

Библиотека для интеграции с API V4 банка Авангард. Реализует основные запросы к API банка. Подробное описание API смотрите в технической документации.

Установка с помощью composer

  1. В корне директории, где собираетесь установить библиотеку, создайте файл composer.json со следующим содержимым:

  2. В этой же директории выполните команду

Использование

Подключение библиотеки к проекту

Чтобы использовать методы библиотеки в своём коде, необходимо подключить скрипт автозагрузки классов и создать объект класса ApiClient

Параметры конструктора

*указанные параметры выдаются техподдержкой банка при заключении договора на интернет-эквайринг

ВНИМАНИЕ!
Все методы данной библиотеки следует использовать в конструкции try/catch:

Метод \Avangard\Lib\Logger::log рекомендуется использовать с флагом $debug который может, например, задаваться в административной панели сайта. Этот метод отсылает отчёты об ошибках в telegram разработчика.

Заказы и оплата

  1. prepareForms($order, $type) - подготавливает параметры для формы оплаты.

Параметры:

Возвращаемые значения:

Пример HOST2HOST/GETURL:

Пример POSTFORM:

  1. orderRegister($order) - регистрирует оплату в интернет-эквайринге и возвращает TICKET-параметр для дальнейшей оплаты.

Параметры:

Возвращаемое значение:

Пример:

  1. getOrderByTicket($ticket) - получить информацию об оплате по TICKET-параметру.

Параметры:

Пример возвращаемого массива:

Пример:

Callback запросы из банка

  1. isCorrectHash($params) - проверяет подпись callback запроса из банка.

Параметры:

Возвращаемые значения:
true, если подпись верна, иначе false

Пример:

  1. sendResponse() - отправляет корректный код состояния ответа на callback запрос из банка, затем завершает выполнение скрипта. Если вы реализуете обработку callback запросов из банка, необходимо всегда вызывать данный метод после успешной обработки запроса

Пример:

Возврат средств и отмена оплаты

  1. orderRefund($ticket, $amount = null) - производит частичное/полное возмещение денежных средств по конкретной оплате.
    Если оплата была совершена по QR коду (с помощью СБП), то после отправки запроса на возмещение денежных средств, метод производит проверку статуса возврата, т.к. возврат по оплатам, совершённым по QR, производится асинхронно. Всего осуществляется максимум 8 проверок статуса возврата, задержка между проверками 5 секунд

Параметры:

Возвращаемое значение:

Пример:

  1. orderCancel($ticket) - отменяет ранее зарегистрированную, но ещё не оплаченную попытку оплаты. Этот метод нужно вызывать, если по какой-то причине необходимо запретить пользователю оплату по заказу.

Параметры:

Возвращаемое значение:
true, если оплата была отменена

Пример:

Операции по заказу

  1. getOpersByOrderNumber($order_number) - получить список операций по номеру заказа в интернет-магазине.

Параметры:

Пример возвращаемого массива:

Пример:

  1. getOpersByDate($date) - получить список операций за определённую дату.

Параметры:

Возвращаемое значение:
Возвращаемый массив полностью аналогичен методу getOpersByOrderNumber

Пример:

Отправка чеков в онлайн-кассу

Библиотека позволяет отправлять чеки в онлайн-кассу. На данный момент реализована интеграция с кассами АТОЛ Онлайн ФФД 1.05, АТОЛ Онлайн ФФД 1.2 и OrangeData.

Генерация авторизационных данных касс

Конфигурацию для подключения к онлайн-кассе следует хранить в БД в виде JSON строки. Чтобы создать валидный JSON, вы можете воспользоваться генератором авторизационных данных касс, входящим в состав данной библиотеки. Он расположен по пути vendor/avangard/api/src/generateBoxAuth/index.php

  1. BoxAuthFactory::createBoxAuth($boxJson) - возвращает объект с авторизационными данными для кассы $boxAuth для его передачи в конструктор класса ApiClient

Параметры:

Возвращаемые значения:
В зависимости от выбранной кассы:

Пример:

ВНИМАНИЕ!
Если объект класса ApiCLient был создан с параметром $boxAuth, отличным от null, то в конструкторе класса производится попытка установки соединения с кассой. Если подключиться к кассе не удалось, то выбрасывается Exception, и дальнейшая работа скрипта прекращается

Подготовка чека для отправки в онлайн кассу

Чек для отправки в онлайн кассу представляет собой объект класса ReceiptEntity

Параметры конструктора:

Другие параметры класса:

Информация о покупателе представлена в виде объекта класса ClientEntity

Параметры конструктора:

Другие параметры класса:

Информация о позиции в чеке представлена в виде объекта класса ReceiptItemEntity

Параметры конструктора:

Другие параметры класса:

Чтобы добавить в чек доставку, воспользуйтесь методом ReceiptItemEntity::delivery

Параметры метода аналогичны используемым в конструкторе ReceiptItemEntity. Отличие этого метода в том, что в нём устанавливается $payment_object = 'service', что соответствует объекту расчёта "Услуга".

По умолчанию объект расчёта для каждой позиции в чеке берётся из JSON объекта с авторизационными данными для кассы, но если вам нужно добавить в чек позицию с иным объектом рассчёта, то после создания объекта ReceiptItemEntity вызовите метод setPaymentObject($paymentObject) и передайте строковое значение объекта расчёта, как того требует документация вашей онлайн кассы

Чтобы подготовить чек для отправки в онлайн кассу, необходимо заполнить данные о компании, информацию по каждой позиции в чеке и общую сумму покупки.

Отправка чека в онлайн кассу

  1. sendBill($data) - отправляет чек о покупке в онлайн кассу

Параметры:

Пример:

  1. refundBill($data) - отправляет чек о возврате денежных средств в онлайн кассу

Параметры:

Использовать аналогично методу sendBill($data).


All versions of api with dependencies

PHP Build Version
Package Version
Requires php Version >=5.6.0
ext-json Version *
ext-dom Version *
ext-curl Version *
ext-mbstring Version *
ext-openssl Version *
guzzlehttp/guzzle Version ^6.4
psr/log Version ^1.0.2
psr/http-message Version 1.0.1 as 1.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package avangard/api contains the following files

Loading the files please wait ....