Download the PHP package idynsys/billing-sdk without Composer

On this page you can find all versions of the php package idynsys/billing-sdk. 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 billing-sdk

Billing SDK

Общее описание

Пакет предназначен для интеграции внешней системы на PHP 7.4+ и B2B backoffice сервиса Billing для создания транзакций в платежных системах, зарегистрированных в B2B backoffice.Billing.

Пакет позволяет выполнять следующие действия:

Действия для пополнения и вывода средтсв только инициируют начало действий со счетом, но не выполняют эти операции полностью от начала до конца, т.е. после создания данных для проведения операции необходимо будет выполнить дополнительные действия, описанные в документации по работе с сервисом Billing системы B2B Backoffice.

Требования

Приложение, на которое устанавливается пакет должна иметь:

Установка

  1. В каталоге Вашего проекта, где расположен файл composer.json, выполните команду:

  2. Настройка Вашего приложения для выполнения запроса к B2B Backoffice.

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

    2.1. Через переменные окружения:

    В переменных окружения приложения, где устанавливается этот пакет, необходимо создать переменные окружения:


    2.2. Через создание объекта от класса Billing:

    где "clientId" и "secret" будут переданы Вашей компании после регистрации внешнего приложения в B2B Backoffice для возможности выполнения запросов через B2B.


  1. !!! Для версии на Production необходимо установить переменную окружения:

Если эта переменная не установлена или имеет другое значение, то все запросы будут перенаправляться на тестовый сервер B2B Backoffice.

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

Создать экземпляр класса Billing:

Описание методов класса Billing:

Получить список доступных платежных методов

В классе DTO есть параметр "trafficType". Этот параметр необязательный и может принимать следующие значения:

Ответ (response) для данного запроса будет объект класса \Idynsys\BillingSdk\Collections\PaymentMethodsCollection. Этот класс реализует интерфейс Iterator. Элементами этой коллекции будут объекты класса \Idynsys\BillingSdk\Data\Entities\PaymentMethodData.

Получить список валют для платежных методов

В классе DTO есть параметр "trafficType". Этот параметр необязательный и может принимать следующие значения:

Ответ (response) для данного запроса будет объект класса \Idynsys\BillingSdk\Collections\PaymentMethodCurrenciesCollection. Этот класс реализует интерфейс Iterator. Элементами этой коллекции будут объекты класса \Idynsys\BillingSdk\Data\Entities\CurrencyData.

Создать транзакцию для пополнения счета

Универсальный метод создания депозитов

Некоторые депозиты создаются через универсальный метод создания депозитов. Для создания депозита при помощи универсального метода необходимо:

  1. Создать все DTO подобъекты, необходимые для описания депозита:
    • PaymentRequestData - обязательно для любого депозита, информация о сумме и валюте депозита
    • MerchantOrderRequestData - обязательно для любого депозита, информация об исходном документе, на основании которого формируется депозит
    • UrlsRequestData - обязательно для любого депозита, все необходимые ссылки для отправки ответов при создании депозита
    • SessionDetailsRequestData - обязательно для любого депозита, информация о сессии пользователя, браузере и др.
    • CustomerRequestData - обязательно для любого депозита, информация о пользователе и его контакты, который выполняет депозит
    • BankCardRequestData - необязательно, используется только для депозитов, которые выполняются через данные банковской карты. Детальное описание свойств DTO-классов находится в этом же разделе.
  2. Создать объект с данными универсального DTO депозита UniversalDepositRequestData, использую объекты классов из п.1.
  3. Отправить запрос, для создания и выполнения депозита.
  4. Обработать ответ.

Пример создания депозита при помощи DTO для универсального метода:

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

Значения в ячейках:

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

В каждом классе DTO есть параметр "trafficType". Этот параметр необязательный и может принимать следующие значения:

I. Реализованные методы для пополнения счета (Deposits)

№№ Вид
взаимодействия
Платежный метод Класс DTO
1 Host2Host p2p \Idynsys\BillingSdk\Data\Requests\Deposits\v2\DepositP2PRequestData, использовать Универсальный метод для депозита
2 Host2Client p2p \Idynsys\BillingSdk\Data\Requests\Deposits\Host2Client\DepositP2PHost2ClientRequestData, использовать Универсальный метод для депозита
3 Host2Host Bankcard \Idynsys\BillingSdk\Data\Requests\Deposits\v2\DepositBankcardRequestData, использовать Универсальный метод для депозита
4 Host2Host Mobile Commerce \Idynsys\BillingSdk\Data\Requests\Deposits\v2\DepositMCommerceRequestData
5 Host2Client SberPay \Idynsys\BillingSdk\Data\Requests\Deposits\Host2Client\DepositSberPay2PHostClientRequestData, использовать Универсальный метод для депозита
6 Host2Client SBP \Idynsys\BillingSdk\Data\Requests\Deposits\Host2Client\DepositSbpHost2ClientRequestData, использовать Универсальный метод для депозита
7 Host2Client SBP-QR \Idynsys\BillingSdk\Data\Requests\Deposits\Host2Client\DepositSbpQRHost2ClientRequestData, использовать Универсальный метод для депозита
  1. Создание транзакции депозита через платежный метод P2P Host2Host

  2. Создание транзакции депозита через платежный метод P2P Host2Client

  3. Создание транзакции депозита через платежный метод Bankcard Host2Host

  4. Создание транзакции депозита через платежный метод Mobile Commerce Host2Host

  5. Создание транзакции депозита через платежный метод SberPay Host2Client

  6. Создание транзакции депозита через платежный метод SBP Host2Client

  7. Создание транзакции депозита через платежный метод SBP-QR Host2Client

II. Response

  1. Ответ при создании депозита

Если транзакция депозита была отправлена и зарегистрирована успешно, то ответом (response) будет объект класса \Idynsys\BillingSdk\Data\Responses\DepositResponseData:

Значение для confirmationType и redirectUrl необязательные, confirmationType может быть только null, "" или "3DS_PAYMENT_PAGE". В redirectUrl будет ссылка, если платежная система затребует подтверждение, иначе придет успешный статус без значений в confirmationType и redirectUrl. Ссылку на 3ds подтверждение можно получить:

  1. Структура ответов на вызов callbackUrl.

Структура ответа, который приходит при выполнении запроса на callbackUrl, полученный в ответе при создании депозита:

Поле Тип Описание
id string Уникальный идентификатор (order Id)
merchantOrderId string Уникальный идентификатор заказа у мерчанта
status string Статус. Возможные значения: NEW, ERROR, IN_PROGRESS, COMPLETED, EXPIRED, CANCELED, CONFIRMED, DECLINED, PENDING
amount number Сумма платежа
currency string Валюта платежа
errorCode string Код ошибки при выполнении операции депозита
errorMessage string Сообщение об ошибке

Создать транзакцию для вывода денежных средств со счета

Универсальный метод создания транзакции для вывода денежных средств со счета

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

  1. Создать все DTO подобъекты, необходимые для структуры DTO, которая используется при создании транзакции для вывода средств:
    • PaymentRequestData - обязательно для любого вывода средств, информация о сумме и валюте
    • MerchantOrderRequestData - обязательно для любого вывода средств, информация об исходном документе, на основании которого формируется ордер и транзакция
    • UrlsRequestData - обязательно для любого вывода средств, все необходимые ссылки для отправки ответов при создании ордера и транзакции
    • SessionDetailsRequestData - обязательно для любого вывода средств, информация о сессии пользователя, браузере и др.
    • CustomerRequestData - обязательно для любого вывода средств, информация о пользователе и его контакты, который выполняет вывод средств
    • BankCardRequestData - необязательно, используется только для вывода средств, которые выполняются через данные банковской карты. Детальное описание свойств DTO-классов находится в этом же разделе.
  2. Создать объект с данными универсального DTO вывода средств UniversalWithdrawalRequestData, использую объекты классов из п.1.
  3. Отправить запрос на создание ордера и транзакции для вывода средств.
  4. Обработать ответ.

Пример создания транзакции для вывода средств при помощи DTO для универсального метода: `

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

Значения в ячейках:

Персонализированные методы создания транзакции для вывода денежных

I. Методы, позволяющие создать транзакцию для вывода средства со счета

№№ Вид
взаимодействия
Платежный метод Класс DTO
1 Host2Host p2p \Idynsys\BillingSdk\Data\Requests\Payouts\PayoutP2PRequestData, использовать Универсальный метод для депозита
2 Host2Client p2p \Idynsys\BillingSdk\Data\Requests\Payouts\Host2Client\PayoutP2PHost2ClientRequestData
3 Host2Host Bankcard \Idynsys\BillingSdk\Data\Requests\Payouts\PayoutBankcardRequestData
4 Host2Client SberPay \Idynsys\BillingSdk\Data\Requests\Payouts\Host2Client\PayoutSberPayHost2ClientRequestData
5 Host2Host SberPay \Idynsys\BillingSdk\Data\Requests\Payouts\PayoutSberPayHost2HostRequestData, использовать Универсальный метод для депозита
6 Host2Host SBP \Idynsys\BillingSdk\Data\Requests\Payouts\PayoutSbpHost2HostRequestData, использовать Универсальный метод для депозита

Некоторые транзакции для вывода средств имеют параметр BankName. Значения для этого параметра можно найти в enum-классе Idynsys\BillingSdk\Enums\BankName Список возможных значений для наименования банка-получателя:

Значение Наименование банка
sberbank Сбербанк
alfabank Альфа-банк
raiffeisen Райфайзен-банк
vtb ВТБ
gazprombank Газпромбанк
tinkoff Тинькофф (Т-Банк)
rshb РСХБ
openbank Банк Открытие
sovcombank Совкомбанк
rosbank Росбанк
postbank Почта-банк
ozonbank Озон-банк
yandexbank Яндекс-банк
tochkabank Точка банк
centrinvest ЦентрИнвестБанк
mkb МКБ
unicreditbank ЮникредитБанк
elitebank Элитбанк
avangard Банк Авангард
psb ПСБ
akbars Акбарс Банк
homecredit ХоумКредитБанк
rnkb РНКБ
otpbank ОТП Банк
mtsbank МТС Банк
rsb РСБ
uralsibbank Банк Уралсиб
  1. Создание транзакции для вывода средств со счета через метод p2p Host2Host

  2. Создание транзакции для вывода средств со счета через метод p2p Host2Client

  3. Создание транзакции для вывода средств со счета через метод Bankcard Host2Host

  4. Создание транзакции для вывода средств со счета через метод SberPay Host2Client

  5. Создание транзакции для вывода средств со счета через метод SberPay Host2Host

  6. Создание транзакции для вывода средств со счета через метод SBP Host2Host

II. Response

Если операция выполнена успешно, то ответ придет в виде объекта класса PayoutResponseData:

Получить данные транзакции

Для любой созданной транзакции можно проверить статус, тип, валюту, сумму, выполнив следующие действия:

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

Значение для confirmationType и redirectUrl необязательные, confirmationType может быть только null, "" или "3DS_PAYMENT_PAGE". В redirectUrl будет ссылка, если платежная система затребует подтверждение, иначе придет успешный статус без значений в confirmationType и redirectUrl. Ссылку на 3ds подтверждение можно получить:

Обработка исключительных ситуаций

При запросе к системе могут возникнуть ошибки, связанные с некорректно отправленными данными или невозможностью выполнить операцию. Все ошибки возвращаются через объект-исключение \Idynsys\BillingSdk\Exceptions\ExceptionHandler. Обработать ошибки можно следующим образом:


All versions of billing-sdk with dependencies

PHP Build Version
Package Version
Requires php Version ^7.4|^8.0
ext-openssl Version *
ext-json Version *
guzzlehttp/guzzle Version ^7.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 idynsys/billing-sdk contains the following files

Loading the files please wait ....