В файл /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
Все!