<?php

declare(strict_types=1);

namespace CpCreation\VitiCore\Cart\Model\Payment;

use Symfony\Component\Validator\Constraints as Assert;

class Sherlock2
{
    use EstimatedTransactionFeeTrait;

    #[Assert\NotBlank]
    private ?string $name = null;
    private ?string $subtitle = null;

    #[Assert\NotBlank]
    private ?string $merchantId = null;

    #[Assert\NotNull]
    private bool $production = false;

    #[Assert\NotBlank]
    private ?string $secretKey = null;

    /**
     * Version de la clé
     */
    #[Assert\NotBlank]
    private ?string $keyVersion = null;

    public function getName(): ?string
    {
        return $this->name;
    }

    public function setName(string $name): void
    {
        $this->name = $name;
    }

    public function getSubtitle(): ?string
    {
        return $this->subtitle;
    }

    public function setSubtitle(?string $subtitle): void
    {
        $this->subtitle = $subtitle;
    }

    public function getMerchantId(): ?string
    {
        return $this->merchantId;
    }

    public function setMerchantId(string $merchantId): void
    {
        $this->merchantId = $merchantId;
    }

    public function getSecretKey(): ?string
    {
        return $this->secretKey;
    }

    public function setSecretKey(string $secretKey): void
    {
        $this->secretKey = $secretKey;
    }

    public function getKeyVersion(): ?string
    {
        return $this->keyVersion;
    }

    public function setKeyVersion(string $keyVersion): void
    {
        $this->keyVersion = $keyVersion;
    }

    public function isProduction(): bool
    {
        return $this->production;
    }

    public function setProduction(bool $production): void
    {
        $this->production = $production;
    }
}
