/*
 * [y] hybris Platform
 *
 * Copyright (c) 2000-2013 hybris AG
 * All rights reserved.
 *
 * This software is the confidential and proprietary information of hybris
 * ("Confidential Information"). You shall not disclose such Confidential
 * Information and shall use it only in accordance with the terms of the
 * license agreement you entered into with hybris.
 *
 *
 */
package com.braintree.constants;

/**
 * Global class for all Braintree constants. You can add global constants for your extension into this class.
 */
public final class BraintreeConstants extends GeneratedBraintreeConstants {

    public interface InstrumentType {

        String PAYPAL_PAYMENT_INSTRUMENT_TYPE = "paypal_account";
        String VENMO_PAYMENT_INSTRUMENT_TYPE = "venmo_account";
        String US_BANK_ACCOUNT_PAYMENT_INSTRUMENT_TYPE = "us_bank_account";
        String CREDIT_CARD_PAYMENT_INSTRUMENT_TYPE = "credit_card";
        String ANDROID_PAY_CARD_PAYMENT_INSTRUMENT_TYPE = "android_pay_card";
        String VISA_CHECKOUT_CARD_PAYMENT_INSTRUMENT_TYPE = "visa_checkout_card";
        String LOCAL_PAYMENT_INSTRUMENT_TYPE = "local_payment";
        String APPLE_PAY_PAYMENT_INSTRUMENT_TYPE = "apple_pay_card";
    }

    public interface PayPalIntent {

        String PAYPAL_INTENT_SALE = "sale";
        String PAYPAL_INTENT_AUTHORIZE = "authorize";
    }

    public interface PropertyConfiguration {
        String BRAINTREE_PRIVATE_KEY = "braintree.private_key";
        String BRAINTREE_PUBLIC_KEY = "braintree.public_key";
        String BRAINTREE_MERCHANT_ID = "braintree.merchant_id";

        String LOG_ALL_ENABLE = "braintree.log.all.enable";
        String BRAINTREE_ENVIRONMENT = "braintree.environment.type";
        String BRAINTREE_DISPLAY_NAME = "braintree.display.name";
        String BRAINTREE_CHANNEL_NAME = "braintree.channel";
        String BRAINTREE_KEY = "braintree.channel.source.key";
        String BRAINTREE_ACCEPTED_PAYMENT_METHODS = "braintree.accepted.payment.methods";
        String BRAINTREE_ACCEPTED_CREDIT_CARD_PAYMENT_METHODS = "braintree.accepted.credit.card.payment.methods";
        String BRAINTREE_IMAGES_PREFIX = "braintree.image.";
        String MULTICAPTURE_ENABLED = "braintree.multicapture";
        String GENERAL_VALIDATION_ERROR_MESSAGE = "braintree.verify.card.general.error.msg";
        String FAILED_VERIFICATION_ERROR_MESSAGE = "Payment method failed verification.";
        String ORDER_PROCESS_RESTART_NODE = "braintree.order.process.restart.node";
        String BRAINTREE_AUTHENTICATION_TOKEN = "braintree.authentication.token";
        String BRAINTREE_ECVZ_ACEESS_TOKEN = "braintree.ecvz.access.token";
        String BRAINTRE_CUSTOM_FIELD_GENERAL_KEY = "braintree.custom.field";
        String BRAINTREE_USER_ACTION = "braintree.user.action";
        String BRAINTREE_LOCALE = "braintree.locale";
        String HYBRIS_BUILD_API_VERSION = "build.version.api";
        String BRAINTREE_SRC_SDK_URL = "braintree.src.sdk.url";
        String BRAINTREE_SRC_IMG_URL = "braintree.src.img.url";
        String TRANSACTION_ID_INVALID = "message.braintree.order.refund.partial.transaction.id.invalid";
        String MERCHANT_CODE_IS_MISSING = "message.braintree.order.refund.partial.merchant.code.is.missing";
        String TRANSACTION_NOT_REFUNDABLE = "message.braintree.order.refund.partial.transaction.not.refundable";
        String TRANSACTION_AUTHORIZATION_NOT_ADJUSTABLE = "message.braintree.order.authorization.transaction.not.adjustable";
        String ADJUST_TRANSACTION_AUTHORIZATION_HARD_DECLINE_ERROR = "message.braintree.order.adjust.authorization.transaction.hard.decline.error";
        String ALL_TRANSACTIONS_ALREADY_REFUNDED = "message.braintree.order.refund.partial.transactions.already.refunded";
        String EXCEEDED_CAPTURE_AMOUNT = "message.braintree.order.capture.exceeded.capture.amount";
        String B2C_ENDPOINT_URL_PROPERTY = "website.electronics.https";
        String BRAINTREE_SEARCH_LIMIT = "braintree.search.limit";

    }


    public static final String EXTENSIONNAME = "braintree";
    public static final String TRANSACTION_SEARCH_DATE_FORMAT = "MM/dd/yy h:mm a";
    public static final String PAYPAL_PAYMENT_TYPE_NAME = "PayPal Account";
    public static final String CREDIT_CARD_PAYMENT_TYPE = "Credit Card";
    public static final String LOG_PACKAGE_PATH = "com.braintree";
    public static final String BRAINTREE_PROVIDER_NAME = "BrainTree";
    public static final String CARD_NUMBER_MASK = "**************%s";
    public static final String ENVIRONMENT_SANDBOX = "sandbox";
    public static final String ENVIRONMENT_PRODUCTION = "production";
    public static final String BRAINTREE_3D_SECURE_ENVIRONMENT_PSD2 = "psd2";
    public static final String BRAINTREE_3D_SECURE_ENVIRONMENT_UNAVAILABLE = "unavailable";
    public static final String BRAINTREE_3D_SECURE_ENVIRONMENT_UNREGULATED = "unregulated";
    public static final String BRAINTREE_ACCEPTED_PAYMENT_METHODS_DELIMETER = ";";
    public static final String CONFIGURATION_PROPERTY_DELIMETER = ".";
    public static final String ORDER_PROCESS_NAME = "order-process";
    public static final String DEFAULT_ORDER_PROCESS_RESTART_NODE = "splitOrder";
    public static final String FAKE_REQUEST_ID = "FAKE";
    public static final String GUEST_USER_TYPE = "GUEST";

    public static final String PAYPAL_FUNDING_SOURCE = "paypal";
    public static final String CARD_FUNDING_SOURCE = "card";

    public static final String BRAINTREE_SUCCESS = "SUCCESS";
    public static final String BRAINTREE_NOT_SUCCESS = "NOT SUCCESS";
    public static final String BRAINTREE_REJECT = "REJECT";
    public static final String BRAINTREE_SUCCESS_MESSAGE = "Transaction was successful";
    public static final String BRAINTREE_PARSE_TO_JSON_EXCEPTION = "Exception during parsing to JSON";
    public static final String BRAINTREE_INTERACTION_TYPE_VOID = "VOID";
    public static final String BRAINTREE_DISABLE_FUNDING_ON_MY_ACCOUNT = "card,paylater";
    public static final String COMMA_SEPARATOR = ",";
    public static final String CURRENCY = "currency";
    public static final String USD = "USD";
    public static final String NETWORK_CHECK = "NETWORK_CHECK";


    public static final String BRAINTREE_PAGE_TYPE_OTHER = "OTHER";

    public static final String BRAINTREE_TRY_DELETE_PAYMENT_DETAILS_WITH_NOT_CAPTURED_ORDER = "Try delete payment details with not captured order";

    // Braintree GraphQL Command Parameters

    public static final String RESULT_DATA = "data";
    public static final String RESULT_ERRORS = "errors";
    public static final String LEGACY_ID_PARAMETER = "legacyId";
    public static final String TYPE_PARAMETER = "type";
    public static final String TYPE_TRANSACTION_PARAMETER = "TRANSACTION";
    public static final String TYPE_PAYMENT_METHOD_PARAMETER = "PAYMENT_METHOD";
    public static final String TYPE_CUSTOMER_PARAMETER = "CUSTOMER";
    public static final String ID_FROM_LEGACY_PARAMETER = "idFromLegacyId";
    public static final String INPUT_PARAMETER = "input";
    public static final String AFTER_PARAMETER = "after";
    public static final String ID_PARAMETER = "id";
    public static final String TRANSACTION_ID_PARAMETER = "transactionId";

    public static final String PAYPAL_ACCOUNT_DETAILS = "PayPalAccountDetails";
    public static final String US_BANK_ACCOUNT_DETAIL = "UsBankAccountDetails";
    public static final String US_BANK_ACCOUNT = "UsBankAccount";
    public static final String PAYPAL_TRANSACTION_DETAILS = "PayPalTransactionDetails";
    public static final String CREDIT_CARD_DETAILS = "CreditCardDetails";
    public static final String CREDIT_CARD_TRANSACTION_DETAILS = "CreditCardTransactionDetails";
    public static final String VENMO_ACCOUNT_DETAILS = "VenmoAccountDetails";
    public static final String LOCAL_PAYMENT_DETAILS = "LocalPaymentDetails";
    public static final String GOOGLE_PAY_ORIGIN_TYPE = "GOOGLE_PAY";
    public static final String VISA_CHECKOUT_ORIGIN_TYPE = "VISA_CHECKOUT";
    public static final String APPLE_PAY_ORIGIN_TYPE = "APPLE_PAY";

    public static final String GRAPHQL_AUTHORIZED_EVENT_TYPE = "AuthorizedEvent";
    public static final String GRAPHQL_SETTLED_EVENT_TYPE = "SettledEvent";

    public static final String VERIFICATION_STATUS_FAILED = "FAILED";
    public static final String PAYPAL_CONNECT_SCRIPT = "paypal.connect.script";
    public static final String PAYPAL_CONNECT_SCOPES = "paypal.connect.scopes";
    public static final String PAYPAL_CONNECT_RESPONSE_TYPE = "paypal.connect.responseType";
    public static final String CLIENT_ID = "paypal.client.id";
    public static final String SECRET_KEY = "paypal.secret.key";
    public static final String PAYPAL_API_URL = "paypal.api.url";
    public static final String AUTHORIZATION_HEADER = "Authorization";
    public static final String CVV_FAILED_VERIFICATION_ERROR_MESSAGE = "Payment method failed cvv verification.";

    public static final String CURRENT_SITE = "currentSite";
    public static final int MAX_PAYPAL_BTN_HEIGHT = 55;
    public static final int MIN_PAYPAL_DROP_IN_BTN_HEIGHT = 35;
    public static final int MIN_PAYPAL_BTN_HEIGHT = 25;

    private BraintreeConstants() {
        //empty to avoid instantiating this constant class
    }

}
