Отправка данных чеков в Яндекс.Кассе 3.x

В файл /bitrix/modules/sale/handlers/paysystem/yandexcheckout/handler.php в метод getYandexPaymentQueryParams добавить строчки (в начало):

    $contact = "--";

    $collection = $payment->getCollection();
    $order = $collection->getOrder();
    $userEmail = $order->getPropertyCollection()->getUserEmail();
    $contact = ($userEmail) ? $userEmail->getValue() : '';
    $receipt = array(
        'email' => $contact,
        'items' => array(),
    );

    $basket = $order->getBasket();
    $basketItems = $basket->getBasketItems();
    foreach ($basketItems as $basketItem) {

        $receipt['items'][] = array(
            'quantity' => $basketItem->getQuantity(),
            'description' => substr($basketItem->getField('NAME'), 0, 128),
            'vat_code' => 1,
            'amount' => array(
                'value' => number_format($basketItem->getPrice(), 2, '.', ''),
                'currency' => 'RUB'
            ),
            'payment_mode' => 'full_prepayment',
            'payment_subject' => 'commodity'
        );
    }
    if ($order->getDeliveryPrice() > 0) {
        $receipt['items'][] = array(
            'quantity' => 1,
            'description' => substr('Доставка', 0, 128),
            'vat_code' => 1,
            'amount' => array(
                'value' => number_format($order->getDeliveryPrice(), 2, '.', ''),
                'currency' => 'RUB'
            ),
            'payment_mode' => 'full_prepayment',
            'payment_subject' => 'service'
        );
    }


Далее в массив $query добавить 'receipt' => $receipt

Все!