//MARK: cancelReasonMap
/**
 * ***Причины отмены платежа***
 *
 * [Документация](https://yookassa.ru/developers/payment-acceptance/after-the-payment/declined-payments#cancellation-details-reason)
 */
export const paymentCancelReasonMap = {
    '3d_secure_failed':
        'Не пройдена аутентификация по 3-D Secure. При новой попытке оплаты пользователю следует пройти аутентификацию, использовать другое платежное средство или обратиться в банк за уточнениями',
    call_issuer:
        'Оплата данным платежным средством отклонена по неизвестным причинам. Пользователю следует обратиться в организацию, выпустившую платежное средство',
    canceled_by_merchant: 'Платеж отменен по API при оплате в две стадии',
    card_expired:
        'Истек срок действия банковской карты. При новой попытке оплаты пользователю следует использовать другое платежное средство',
    country_forbidden:
        'Нельзя заплатить банковской картой, выпущенной в этой стране. При новой попытке оплаты пользователю следует использовать другое платежное средство. Вы можете настроить ограничения на оплату иностранными банковскими картами',
    deal_expired:
        'Для тех, кто использует Безопасную сделку: закончился срок жизни сделки. Если вы еще хотите принять оплату, создайте новую сделку и проведите для нее новый платеж',
    expired_on_capture:
        'Истек срок списания оплаты у двухстадийного платежа. Если вы еще хотите принять оплату, вам необходимо повторить платеж с новым ключом идемпотентности и спишите деньги после подтверждения платежа пользователем',
    expired_on_confirmation:
        'Истек срок оплаты: пользователь не подтвердил платеж за время, отведенное на оплату выбранным способом. Если пользователь еще хочет оплатить, вам необходимо повторить платеж с новым ключом идемпотентности, а пользователю — подтвердить его',
    fraud_suspected:
        'Платеж заблокирован из-за подозрения в мошенничестве. При новой попытке оплаты пользователю следует использовать другое платежное средство',
    general_decline:
        'Причина не детализирована. Пользователю следует обратиться к инициатору отмены платежа за уточнением подробностей',
    identification_required:
        'Превышены ограничения на платежи для кошелька ЮMoney. При новой попытке оплаты пользователю следует идентифицировать кошелек или выбрать другое платежное средство',
    insufficient_funds:
        'Не хватает денег для оплаты. Пользователю следует пополнить баланс или использовать другое платежное средство',
    internal_timeout:
        'Технические неполадки на стороне ЮKassa: не удалось обработать запрос в течение 30 секунд. Повторите платеж с новым ключом идемпотентности',
    invalid_card_number:
        'Неправильно указан номер карты. При новой попытке оплаты пользователю следует ввести корректные данные',
    invalid_csc:
        'Неправильно указан код CVV2 (CVC2, CID). При новой попытке оплаты пользователю следует ввести корректные данные',
    issuer_unavailable:
        'Организация, выпустившая платежное средство, недоступна. При новой попытке оплаты пользователю следует использовать другое платежное средство',
    payment_method_limit_exceeded:
        'Исчерпан лимит платежей для данного платежного средства или вашего магазина. При новой попытке оплаты пользователю следует использовать другое платежное средство или повторить оплату на следующий день',
    payment_method_restricted:
        'Запрещены операции данным платежным средством (например, карта заблокирована из-за утери, кошелек — из-за взлома мошенниками). Пользователю следует обратиться в организацию, выпустившую платежное средство',
    permission_revoked:
        'Нельзя провести безакцептное списание: пользователь отозвал разрешение на автоплатежи. Если пользователь еще хочет оплатить, вам необходимо создать новый платеж, а пользователю — подтвердить оплату',
    unsupported_mobile_operator:
        'Нельзя заплатить с номера телефона этого мобильного оператора. При новой попытке оплаты пользователю следует использовать другое платежное средство',
};

/**
 * ****Причины отмены возврата****
 *
 * Причина отмены возвращается в параметре `reason` объекта `cancellation_details`.
 * @see https://yookassa.ru/developers/payment-acceptance/after-the-payment/refunds#declined-refunds-cancellation-details-reason
 */
export const refundCancelReasonMap = {
    general_decline:
        'Причина не детализирована. Для уточнения подробностей обратитесь в техническую поддержку.',
    insufficient_funds:
        'Не хватает денег, чтобы сделать возврат: сумма платежей, которые вы получили в день возврата, меньше, чем сам возврат, или есть задолженность. Что делать в этом случае',
    rejected_by_payee:
        'Эмитент платежного средства или другой участник процесса возврата отклонил операцию по неизвестным причинам. Сделать возврат через ЮKassa нельзя. Договоритесь с пользователем напрямую, каким способом вы вернете ему деньги.',
    rejected_by_timeout:
        'Технические неполадки на стороне инициатора отмены возврата. Повторите запрос с новым ключом идемпотентности. Если результат не изменится, повторяйте запрос с возрастающим разумным интервалом (например, можно использовать последовательность Фибоначчи). Если прошло более получаса, но вы всё еще получаете rejected_by_timeout, обратитесь к инициатору отмены возврата для уточнения подробностей.',
    yoo_money_account_closed:
        'Пользователь закрыл кошелек ЮMoney, на который вы пытаетесь вернуть платеж. Сделать возврат через ЮKassa нельзя. Договоритесь с пользователем напрямую, каким способом вы вернете ему деньги.',
    payment_article_number_not_found:
        'Указаны товары, для оплаты которых не использовался электронный сертификат: значение payment_article_number отсутствует в одобренной корзине покупки. Откорректируйте данные и отправьте запрос еще раз с новым ключом идемпотентности.',
    payment_basket_id_not_found:
        'НСПК не нашла для этого возврата одобренную корзину покупки. Откорректируйте данные и отправьте запрос еще раз с новым ключом идемпотентности.',
    payment_tru_code_not_found:
        'Указаны товары, для оплаты которых не использовался электронный сертификат: значение tru_code отсутствует в одобренной корзине покупки. Откорректируйте данные и отправьте запрос еще раз с новым ключом идемпотентности.',
    some_articles_already_refunded:
        'Некоторые товары уже возвращены. Откорректируйте данные и отправьте запрос еще раз с новым ключом идемпотентности.',
    too_many_refunding_articles:
        'Для одного или нескольких товаров количество возвращаемых единиц (quantity) больше, чем указано в одобренной корзине покупки. Откорректируйте данные и отправьте запрос еще раз с новым ключом идемпотентности.',
};

/**
 * ****Признак предмета расчета****
 *
 * Признак предмета расчета передается в параметре `payment_subject`.
 * @see https://yookassa.ru/developers/payment-acceptance/receipts/54fz/yoomoney/parameters-values#payment-subject
 */
export const paymentSubjectMap = {
    ling_bet: 'Ставка в азартной игре',
    gambling_prize: 'Выигрыш азартной игры',
    lottery: 'Лотерейный билет',
    lottery_prize: 'Выигрыш в лотерею',
    intellectual_activity: 'Результаты интеллектуальной деятельности',
    agent_commission: 'Агентское вознаграждение',
    property_right: 'Имущественное право',
    non_operating_gain: 'Внереализационный доход',
    insurance_premium: 'Страховый сбор',
    sales_tax: 'Торговый сбор',
    resort_fee: 'Курортный сбор',
    marked: 'Товар, подлежащий маркировке средством идентификации, имеющим код маркировки, за исключением подакцизного товара (в чеке — ТМ). Пример: обувь, духи, товары легкой промышленности',
    non_marked:
        'Товар, подлежащий маркировке средством идентификации, не имеющим кода маркировки, за исключением подакцизного товара (в чеке — ТНМ). Пример: меховые изделия',
    fine: 'Выплата',
    tax: 'Страховые взносы',
    lien: 'Залог',
    cost: 'Расход',
    agent_withdrawals: 'Выдача денежных средств',
    pension_insurance_without_payouts:
        'Взносы на обязательное пенсионное страхование ИП',
    pension_insurance_with_payouts:
        'Взносы на обязательное пенсионное страхование',
    health_insurance_without_payouts:
        'Взносы на обязательное медицинское страхование ИП',
    health_insurance_with_payouts:
        'Взносы на обязательное медицинское страхование',
    health_insurance: 'Взносы на обязательное социальное страхование',
    another: 'Другое',
};

/**
 * ****Тип посредника****
 *
 * Тип посредника передается в запросе на создание чека  в массиве `items`, в параметре `agent_type`,
 * если вы отправляете данные для формирования чека по "сценарию Сначала платеж, потом чек".
 * Параметр `agent_type` нужно передавать, начиная с ФФД 1.1.
 * Убедитесь, что ваша онлайн-касса обновлена до этой версии.
 * @see https://yookassa.ru/developers/payment-acceptance/receipts/54fz/other-services/parameters-values#agent-type
 */
export const AgentTypeMap = {
    banking_payment_agent: 'Банковский платежный агент',
    banking_payment_subagent: 'Банковский платежный субагент',
    payment_agent: 'Платежный агент',
    payment_subagent: 'Платежный субагент',
    attorney: 'Поверенный',
    commissioner: 'Комиссионер',
    agent: 'Агент',
};

/**
 * Мера количества предмета расчета, передается в массиве `items`, в параметре `measure`.
 */
export const measureTypeMap = {
    piece: 'Штука, единица товара',
    gram: 'Грамм',
    kilogram: 'Килограмм',
    ton: 'Тонна',
    centimeter: 'Сантиметр',
    decimeter: 'Дециметр',
    meter: 'Метр',
    square_centimeter: 'Квадратный сантиметр',
    square_decimeter: 'Квадратный дециметр',
    square_meter: 'Квадратный метр',
    milliliter: 'Миллилитр',
    liter: 'Литр',
    cubic_meter: 'Кубический метр',
    kilowatt_hour: 'Килловат-час',
    gigacalorie: 'Гигакалория',
    day: 'Сутки',
    hour: 'Час',
    minute: 'Минута',
    second: 'Секунда',
    kilobyte: 'Килобайт',
    megabyte: 'Мегабайт',
    gigabyte: 'Гигабайт',
    terabyte: 'Терабайт',
    another: 'Другое',
};

/**
 * Тип расчета передается в запросе на создание чека в массиве 'settlements', в параметре 'type'.
 */
export const SettlementTypeMap = {
    cashless: 'Безналичный расчет',
    prepayment: 'Предоплата(аванс)',
    postpayment: 'Постоплата(кредит)',
    consideration: 'Встречное предоставление',
};
