Files
yookassa-sdk-php/docs/classes/YooKassa-Request-Deals-CreateDealRequestBuilder.md
2026-08-26 15:59:33 +03:00

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


Properties

protected $currentObject : \YooKassa\Request\Deals\CreateDealRequest


Summary

Собираемый объект запроса

Type: CreateDealRequest

Details:


Methods

public __construct() : mixed

public __construct() : mixed

Summary

Конструктор, инициализирует пустой запрос, который в будущем начнём собирать

Details:

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:

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:

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:

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:

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:

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:

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:

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