14 KiB
YooKassa API SDK
Class: \YooKassa\Request\Deals\CreateDealRequestBuilder
Namespace: \YooKassa\Request\Deals
Summary:
Класс билдера объектов запросов к API на создание платежа
Examples
Пример использования билдера
try {
$builder = \YooKassa\Request\Payments\CreatePaymentRequest::builder();
$builder->setAmount(100)
->setCurrency(\YooKassa\Model\CurrencyCode::RUB)
->setCapture(true)
->setDescription('Оплата заказа 112233')
->setMetadata(array(
'cms_name' => 'yoo_api_test',
'order_id' => '112233',
'language' => 'ru',
'transaction_id' => '123-456-789',
));
// Устанавливаем страницу для редиректа после оплаты
$builder->setConfirmation(array(
'type' => \YooKassa\Model\ConfirmationType::REDIRECT,
'returnUrl' => 'https://merchant-site.ru/payment-return-page',
));
// Можем установить конкретный способ оплаты
$builder->setPaymentMethodData(\YooKassa\Model\PaymentMethodType::BANK_CARD);
// Составляем чек
$builder->setReceiptEmail('john.doe@merchant.com');
$builder->setReceiptPhone('71111111111');
// Добавим товар
$builder->addReceiptItem(
'Платок Gucci',
3000,
1.0,
2,
'full_payment',
'commodity'
);
// Добавим доставку
$builder->addReceiptShipping(
'Delivery/Shipping/Доставка',
100,
1,
\YooKassa\Model\Receipt\PaymentMode::FULL_PAYMENT,
\YooKassa\Model\Receipt\PaymentSubject::SERVICE
);
// Можно добавить распределение денег по магазинам
$builder->setTransfers(array(
array(
'account_id' => 123456,
'amount' => array(
array(
'value' => 1000,
'currency' => \YooKassa\Model\CurrencyCode::RUB
)
),
),
array(
'account_id' => 654321,
'amount' => array(
array(
'value' => 2000,
'currency' => \YooKassa\Model\CurrencyCode::RUB
)
),
)
));
// Создаем объект запроса
$request = $builder->build();
// Можно изменить данные, если нужно
$request->setDescription($request->getDescription() . ' - merchant comment');
$idempotenceKey = uniqid('', true);
$response = $client->createPayment($request, $idempotenceKey);
} catch (\Exception $e) {
$response = $e;
}
var_dump($response);
Constants
- No constants found
Properties
| Visibility | Name | Flag | Summary |
|---|---|---|---|
| protected | $currentObject | Собираемый объект запроса |
Methods
| Visibility | Name | Flag | Summary |
|---|---|---|---|
| public | __construct() | Конструктор, инициализирует пустой запрос, который в будущем начнём собирать | |
| public | build() | Строит запрос, валидирует его и возвращает, если все прошло нормально | |
| public | setDescription() | Устанавливает описание транзакции | |
| public | setFeeMoment() | Устанавливает момент перечисления вам вознаграждения платформы | |
| public | setMetadata() | Устанавливает метаданные, привязанные к платежу | |
| public | setOptions() | Устанавливает свойства запроса из массива | |
| public | setType() | Устанавливает тип сделки | |
| protected | initCurrentObject() | Инициализирует объект запроса, который в дальнейшем будет собираться билдером |
Details
- File: lib/Request/Deals/CreateDealRequestBuilder.php
- Package: YooKassa
- Class Hierarchy:
- \YooKassa\Common\AbstractRequestBuilder
- \YooKassa\Request\Deals\CreateDealRequestBuilder
Properties
protected $currentObject : \YooKassa\Request\Deals\CreateDealRequest
Summary
Собираемый объект запроса
Type: CreateDealRequest
Details:
Methods
public __construct() : mixed
public __construct() : mixed
Summary
Конструктор, инициализирует пустой запрос, который в будущем начнём собирать
Details:
- Inherited From: \YooKassa\Common\AbstractRequestBuilder
Returns: mixed -
public build() : \YooKassa\Request\Deals\CreateDealRequest|\YooKassa\Common\AbstractRequest
public build(array|null $options = null) : \YooKassa\Request\Deals\CreateDealRequest|\YooKassa\Common\AbstractRequest
Summary
Строит запрос, валидирует его и возвращает, если все прошло нормально
Details:
- Inherited From: \YooKassa\Request\Deals\CreateDealRequestBuilder
Parameters:
| Type | Name | Description |
|---|---|---|
array OR null |
options |
Returns: \YooKassa\Request\Deals\CreateDealRequest|\YooKassa\Common\AbstractRequest -
public setDescription() : \YooKassa\Request\Deals\CreateDealRequestBuilder
public setDescription(string $value) : \YooKassa\Request\Deals\CreateDealRequestBuilder
Summary
Устанавливает описание транзакции
Details:
- Inherited From: \YooKassa\Request\Deals\CreateDealRequestBuilder
Parameters:
| Type | Name | Description |
|---|---|---|
string |
value | Описание транзакции |
Throws:
| Type | Description |
|---|---|
| \YooKassa\Common\Exceptions\InvalidPropertyValueException | Выбрасывается если переданное значение превышает допустимую длину |
| \YooKassa\Common\Exceptions\InvalidPropertyValueTypeException | Выбрасывается если переданное значение не является строкой |
Returns: \YooKassa\Request\Deals\CreateDealRequestBuilder - Инстанс текущего билдера
public setFeeMoment() : \YooKassa\Request\Deals\CreateDealRequestBuilder
public setFeeMoment(string $value) : \YooKassa\Request\Deals\CreateDealRequestBuilder
Summary
Устанавливает момент перечисления вам вознаграждения платформы
Details:
- Inherited From: \YooKassa\Request\Deals\CreateDealRequestBuilder
Parameters:
| Type | Name | Description |
|---|---|---|
string |
value | Момент перечисления вам вознаграждения платформы |
Throws:
| Type | Description |
|---|---|
| \YooKassa\Common\Exceptions\InvalidPropertyValueTypeException | Генерируется если переданный аргумент не является строкой |
| \YooKassa\Common\Exceptions\InvalidPropertyValueException | Генерируется если переданный аргумент не из списка FeeMoment |
Returns: \YooKassa\Request\Deals\CreateDealRequestBuilder - Инстанс текущего билдера
public setMetadata() : \YooKassa\Request\Deals\CreateDealRequestBuilder
public setMetadata(\YooKassa\Model\Metadata|array|null $value) : \YooKassa\Request\Deals\CreateDealRequestBuilder
Summary
Устанавливает метаданные, привязанные к платежу
Details:
- Inherited From: \YooKassa\Request\Deals\CreateDealRequestBuilder
Parameters:
| Type | Name | Description |
|---|---|---|
\YooKassa\Model\Metadata OR array OR null |
value | Метаданные платежа, устанавливаемые мерчантом |
Throws:
| Type | Description |
|---|---|
| \YooKassa\Common\Exceptions\InvalidPropertyValueTypeException | Выбрасывается если переданные данные не удалось интерпретировать как метаданные платежа |
Returns: \YooKassa\Request\Deals\CreateDealRequestBuilder - Инстанс текущего билдера
public setOptions() : \YooKassa\Common\AbstractRequestBuilder
public setOptions(array|\Traversable $options) : \YooKassa\Common\AbstractRequestBuilder
Summary
Устанавливает свойства запроса из массива
Details:
- Inherited From: \YooKassa\Common\AbstractRequestBuilder
Parameters:
| Type | Name | Description |
|---|---|---|
array OR \Traversable |
options | Массив свойств запроса |
Throws:
| Type | Description |
|---|---|
| \InvalidArgumentException | Выбрасывается если аргумент не массив и не итерируемый объект |
| \YooKassa\Common\Exceptions\InvalidPropertyException | Выбрасывается если не удалось установить один из параметров, переданныч в массиве настроек |
Returns: \YooKassa\Common\AbstractRequestBuilder - Инстанс текущего билдера запросов
public setType() : \YooKassa\Request\Deals\CreateDealRequestBuilder
public setType(string $value) : \YooKassa\Request\Deals\CreateDealRequestBuilder
Summary
Устанавливает тип сделки
Details:
- Inherited From: \YooKassa\Request\Deals\CreateDealRequestBuilder
Parameters:
| Type | Name | Description |
|---|---|---|
string |
value | Тип сделки |
Throws:
| Type | Description |
|---|---|
| \YooKassa\Common\Exceptions\InvalidPropertyValueTypeException | Генерируется если переданный аргумент не является строкой |
| \YooKassa\Common\Exceptions\InvalidPropertyValueException | Генерируется если переданный аргумент не из списка DealType |
Returns: \YooKassa\Request\Deals\CreateDealRequestBuilder - Инстанс текущего билдера
protected initCurrentObject() : \YooKassa\Request\Deals\CreateDealRequest
protected initCurrentObject() : \YooKassa\Request\Deals\CreateDealRequest
Summary
Инициализирует объект запроса, который в дальнейшем будет собираться билдером
Details:
- Inherited From: \YooKassa\Request\Deals\CreateDealRequestBuilder
Returns: \YooKassa\Request\Deals\CreateDealRequest - Инстанс собираемого объекта запроса к API
Top Namespaces
Reports
This document was automatically generated from source code comments on 2026-08-26 using phpDocumentor
© 2026 YooMoney