<?php

declare(strict_types=1);

namespace CpCreation\VitiCore\Cart\Model\Payment;

use Symfony\Component\Validator\Constraints as Assert;

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

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

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

    #[Assert\NotBlank]
    #[Assert\Length(min: 6, max: 12)]
    #[Assert\Regex(pattern: '/^[a-zA-Z0-9]+$/')]
    private ?string $refNr = null;

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

    /**
     * Clé de chiffrement Blowfish
     */
    #[Assert\NotBlank]
    private ?string $blowfish = 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 getHmacKey(): ?string
    {
        return $this->hmacKey;
    }

    public function setHmacKey(string $hmacKey): void
    {
        $this->hmacKey = $hmacKey;
    }

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

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

    public function getVersion3DSecure(): ?string
    {
        return $this->version3DSecure;
    }

    public function setVersion3DSecure(string $version3DSecure): void
    {
        $this->version3DSecure = $version3DSecure;
    }

    public function getRefNr(): ?string
    {
        return $this->refNr;
    }

    public function setRefNr(string $refNr): void
    {
        $this->refNr = $refNr;
    }

    public function getBlowfish(): ?string
    {
        return $this->blowfish;
    }

    public function setBlowfish(string $blowfish): void
    {
        $this->blowfish = $blowfish;
    }
}
