Files
yookassa-sdk-php/docs/classes/YooKassa-Request-Invoices-CreateInvoiceRequestBuilder.md
Евгений Ю. Лозный 260d13f890 Добавлен прием платежей через Alfa Pay. Добавлен новый тип ошибки RuleViolationError
Добавлены нулевые привязки по СБП
Добавлена причина отмены возвратов `payment_expired`
2026-06-29 17:46:40 +03:00

17 KiB

YooKassa API SDK

Class: \YooKassa\Request\Invoices\CreateInvoiceRequestBuilder

Namespace: \YooKassa\Request\Invoices


Summary:

Класс, представляющий модель CreateInvoiceRequestBuilder.

Description:

Класс билдера объекта запроса на создание платежа, передаваемого в методы клиента API.


Examples

Пример использования билдера

try {
    $builder = \YooKassa\Request\Payments\CreatePaymentRequest::builder();
    $builder->setAmount(100)
        ->setCurrency(\YooKassa\Model\CurrencyCode::RUB)
        ->setCapture(true)
        ->setDescription('Оплата заказа 112233')
        ->setMetadata([
            'cms_name' => 'yoo_api_test',
            'order_id' => '112233',
            'language' => 'ru',
            'transaction_id' => '123-456-789',
        ])
    ;

    // Устанавливаем страницу для редиректа после оплаты
    $builder->setConfirmation([
        'type' => \YooKassa\Model\Payment\ConfirmationType::REDIRECT,
        'returnUrl' => 'https://merchant-site.ru/payment-return-page',
    ]);

    // Можем установить конкретный способ оплаты
    $builder->setPaymentMethodData(\YooKassa\Model\Payment\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([
        [
            'account_id' => '1b68e7b15f3f',
            'amount' => [
                'value' => 1000,
                'currency' => \YooKassa\Model\CurrencyCode::RUB,
            ],
        ],
        [
            'account_id' => '0c37205b3208',
            'amount' => [
                '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 addCartItem() Добавляет cart_item.
public build() Строит и возвращает объект запроса для отправки в API ЮKassa.
public setCart() Устанавливает cart.
public setDeliveryMethodData() Устанавливает delivery_method_data.
public setDescription() Устанавливает описание транзакции.
public setExpiresAt() Устанавливает expires_at.
public setLocale() Устанавливает locale.
public setMetadata() Устанавливает метаданные, привязанные к счету.
public setOptions() Устанавливает свойства запроса из массива.
public setPaymentData() Устанавливает payment_data.
protected initCurrentObject() Инициализирует объект запроса, который в дальнейшем будет собираться билдером

Details


Tags

Tag Version Description
category Class
author cms@yoomoney.ru

Properties

protected $currentObject : ?\YooKassa\Common\AbstractRequestInterface


Summary

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

Type: AbstractRequestInterface

Details:


Methods

public __construct() : mixed

public __construct() : mixed

Summary

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

Details:

Returns: mixed -

public addCartItem() : self

public addCartItem(\YooKassa\Model\Invoice\LineItem|array|null $value = null) : self

Summary

Добавляет cart_item.

Details:

Parameters:
Type Name Description
\YooKassa\Model\Invoice\LineItem OR array OR null value Товар или услуга.

Returns: self -

public build() : \YooKassa\Request\Invoices\CreateInvoiceRequestInterface|\YooKassa\Common\AbstractRequestInterface

public build(null|array $options = null) : \YooKassa\Request\Invoices\CreateInvoiceRequestInterface|\YooKassa\Common\AbstractRequestInterface

Summary

Строит и возвращает объект запроса для отправки в API ЮKassa.

Details:

Parameters:
Type Name Description
null OR array options Массив параметров для установки в объект запроса

Returns: \YooKassa\Request\Invoices\CreateInvoiceRequestInterface|\YooKassa\Common\AbstractRequestInterface - Инстанс объекта запроса

public setCart() : self

public setCart(\YooKassa\Common\ListObjectInterface|array|null $value = null) : self

Summary

Устанавливает cart.

Details:

Parameters:
Type Name Description
\YooKassa\Common\ListObjectInterface OR array OR null value Корзина заказа — список товаров или услуг, который отобразится на странице счета перед оплатой.

Returns: self -

public setDeliveryMethodData() : self

public setDeliveryMethodData(\YooKassa\Request\Invoices\DeliveryMethodData\AbstractDeliveryMethodData|array|null $value = null) : self

Summary

Устанавливает delivery_method_data.

Details:

Parameters:
Type Name Description
\YooKassa\Request\Invoices\DeliveryMethodData\AbstractDeliveryMethodData OR array OR null value Данные о способе доставки счета пользователю

Returns: self -

public setDescription() : \YooKassa\Request\Invoices\CreateInvoiceRequestBuilder

public setDescription(string|null $value) : \YooKassa\Request\Invoices\CreateInvoiceRequestBuilder

Summary

Устанавливает описание транзакции.

Details:

Parameters:
Type Name Description
string OR null value Описание транзакции
Throws:
Type Description
\YooKassa\Common\Exceptions\InvalidPropertyValueException Выбрасывается если переданное значение превышает допустимую длину
\YooKassa\Common\Exceptions\InvalidPropertyValueTypeException Выбрасывается если переданное значение не является строкой

Returns: \YooKassa\Request\Invoices\CreateInvoiceRequestBuilder - Инстанс текущего билдера

public setExpiresAt() : self

public setExpiresAt(\DateTime|string|null $value = null) : self

Summary

Устанавливает expires_at.

Details:

Parameters:
Type Name Description
\DateTime OR string OR null value Срок действия счета — дата и время, до которых можно оплатить выставленный счет. Указывается по UTC и передается в формате ISO 8601. Пример: ~2024-10-18T10:51:18.139Z

Returns: self -

public setLocale() : self

public setLocale(string|null $value = null) : self

Summary

Устанавливает locale.

Details:

Parameters:
Type Name Description
string OR null value Язык интерфейса, писем и смс, которые будет видеть или получать пользователь

Returns: self -

public setMetadata() : \YooKassa\Request\Invoices\CreateInvoiceRequestBuilder

public setMetadata(null|array|\YooKassa\Model\Metadata $value) : \YooKassa\Request\Invoices\CreateInvoiceRequestBuilder

Summary

Устанавливает метаданные, привязанные к счету.

Details:

Parameters:
Type Name Description
null OR array OR \YooKassa\Model\Metadata value Метаданные платежа, устанавливаемые мерчантом
Throws:
Type Description
\YooKassa\Common\Exceptions\InvalidPropertyValueTypeException Выбрасывается если переданные данные не удалось интерпретировать как метаданные платежа

Returns: \YooKassa\Request\Invoices\CreateInvoiceRequestBuilder - Инстанс текущего билдера

public setOptions() : \YooKassa\Common\AbstractRequestBuilder

public setOptions(iterable|null $options) : \YooKassa\Common\AbstractRequestBuilder

Summary

Устанавливает свойства запроса из массива.

Details:

Parameters:
Type Name Description
iterable OR null options Массив свойств запроса
Throws:
Type Description
\InvalidArgumentException Выбрасывается если аргумент не массив и не итерируемый объект
\YooKassa\Common\Exceptions\InvalidPropertyException Выбрасывается если не удалось установить один из параметров, переданных в массиве настроек

Returns: \YooKassa\Common\AbstractRequestBuilder - Инстанс текущего билдера запросов

public setPaymentData() : self

public setPaymentData(\YooKassa\Request\Invoices\PaymentData|array|null $value = null) : self

Summary

Устанавливает payment_data.

Details:

Parameters:
Type Name Description
\YooKassa\Request\Invoices\PaymentData OR array OR null value Данные для проведения платежа по выставленному счету

Returns: self -

protected initCurrentObject() : \YooKassa\Request\Invoices\CreateInvoiceRequest

protected initCurrentObject() : \YooKassa\Request\Invoices\CreateInvoiceRequest

Summary

Инициализирует объект запроса, который в дальнейшем будет собираться билдером

Details:

Returns: \YooKassa\Request\Invoices\CreateInvoiceRequest - Инстанс собираемого объекта запроса к API


Top Namespaces


Reports


This document was automatically generated from source code comments on 2026-06-29 using phpDocumentor

© 2026 YooMoney