65 просмотров
ЮКасса отображать чеки в админке
На момент написания статьи интеграция с чеками ЮКассы реализована не до конца, а именно - нет ссылок на просмотр чеков ни в списке чеков, ни в заказе.
Что бы это починить, прийдется лезть в ядро и вносить правки - после обновлений правки слетят, так что нужно будет каждый раз правки вносить, пока этот функционал не выйдет в стандартном исполнении.
Тикет №4042586 в техподдержку 1С-Битрикс создан, остаётся только ждать.
Необходимо поправить файл /bitrix/modules/sale/lib/cashbox/cashboxyookassa.php:
1) Добавляем метод, позволяющие отображать чеки для кассы ЮКасса
2) Ищем кусок кода в методе extractCheckData
и добавляем в этот массив ещё строку, чтоб получилось так:
Что бы это починить, прийдется лезть в ядро и вносить правки - после обновлений правки слетят, так что нужно будет каждый раз правки вносить, пока этот функционал не выйдет в стандартном исполнении.
Тикет №4042586 в техподдержку 1С-Битрикс создан, остаётся только ждать.
Необходимо поправить файл /bitrix/modules/sale/lib/cashbox/cashboxyookassa.php:
1) Добавляем метод, позволяющие отображать чеки для кассы ЮКасса
protected static function isSupportedDirectCheckLink(): bool
{
return true;
}
2) Ищем кусок кода в методе extractCheckData
$result['LINK_PARAMS'] = [
AbstractCheck::PARAM_FISCAL_DOC_ATTR => $data['fiscal_attribute'],
AbstractCheck::PARAM_FISCAL_DOC_NUMBER => $data['fiscal_document_number'],
AbstractCheck::PARAM_FN_NUMBER => $data['fiscal_storage_number'],
AbstractCheck::PARAM_FISCAL_RECEIPT_NUMBER => $data['fiscal_provider_id'],
AbstractCheck::PARAM_DOC_SUM => (float)$check->getField('SUM'),
AbstractCheck::PARAM_CALCULATION_ATTR => $check::getCalculatedSign(),
];
и добавляем в этот массив ещё строку, чтоб получилось так:
$result['LINK_PARAMS'] = [
AbstractCheck::PARAM_FISCAL_DOC_ATTR => $data['fiscal_attribute'],
AbstractCheck::PARAM_FISCAL_DOC_NUMBER => $data['fiscal_document_number'],
AbstractCheck::PARAM_FN_NUMBER => $data['fiscal_storage_number'],
AbstractCheck::PARAM_FISCAL_RECEIPT_NUMBER => $data['fiscal_provider_id'],
AbstractCheck::PARAM_DOC_SUM => (float)$check->getField('SUM'),
AbstractCheck::PARAM_CALCULATION_ATTR => $check::getCalculatedSign(),
AbstractCheck::PARAM_OFD_RECEIPT_URL => sprintf('https://consumer.1-ofd.ru/ticket?fn=%s&i=%s&fp=%s&n=1', $data['fiscal_storage_number'], $data['fiscal_document_number'], $data['fiscal_attribute']),
];
После этого для новых чеков появятся ссылки на просмотр в ОФД.