Описание SDK
PHP SDK является готовой библиотекой для серверного взаимодействия с Инвойсбокс API. Библиотека поддерживает все необходимые методы API для организации приёма платежей.
Требования
PHP 7.4+ (или более поздняя версия)
Установка с помощью Composer
- Установите Composer, менеджер пакетов
- В консоле выполните следующую команду:
composer require invoicebox/sdk-php
Пропишите в файле composer.json вашего проекта:
- Добавьте строку “invoicebox/sdk-php”: “^1.0” в список зависимостей вашего проекта в файле composer.json
"require": {
"php": ">=7.4",
"invoicebox/sdk-php": "^1.0"
- Обновите зависимости вашего проекта. В консоле, в папке с файлом composer.json выполните следующую команду:
composer update
- Подготовьте код своего проекта, чтобы активировать автоматическую загрузку зависимостей:
require __DIR__ . '/vendor/autoload.php';
Установка SDK вручную
Скачайте архив Инвойсбокс PHP SDK и распакуйте его в необходимую папку вашего проекта.
Подготовьте код своего проекта, чтобы активировать автоматическую загрузку зависимостей:
require __DIR__ . '/vendor/autoload.php';
Пример создания заказа
$client = new InvoiceboxClient(
'*auth токен*',
'v3',
null,
HttpClient::create(),
);
/**
* Проверка авторизации (необязательный шаг, для тестирования наличия доступа)
*/
$result = $client->checkAuth();
if ($result->getUserId()) {
echo "Успешная авторизация \n";
}
// Покупатель юр.лицо
//$customer = new LegalCustomer(
// 'OOO TEST',
// '78121111111',
// 'test@test.test',
// '7804445210',
// '123321, Улица, 1, 1'
//);
// Покупатель физ.лицо
$customer = new PrivateCustomer(
'name',
'78121111111',
'test@test.test',
);
$basketItems[] = new BasketItem(
"12312", /* Идентификатор заказа (необходим для создания возврата) */
'Тест',
'шт.',
'796',
1.0,
1000.00,
1000,
1000.00,
0,
VatCode::VATNONE,
BasketItemType::COMMODITY,
PaymentType::FULL_PREPAYMENT
);
$request = new CreateOrderRequest(
'Описание заказа',
'ffffffff-ffff-ffff-ffff-ffffffffffff', // id магазина
strval(random_int(1,2000)),
1000.00,
0,
'RUB',
new \DateTime('tomorrow'),
$basketItems,
);
$result = $client->createOrder($request);
if ($result->getPaymentUrl()) {
echo sprintf('Заказ успешно создан - ссылка на оплату - %s', $result->getPaymentUrl());
}
/* Redirect to: $result->getPaymentUrl() */
Проект на github Проект на packagist