* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0 */ namespace PrestaShop\Module\PrestashopCheckout\PayPal\Merchant\ValueObject; use PrestaShop\Module\PrestashopCheckout\PayPal\Merchant\Exception\PayPalMerchantException; class PayPalMerchantId { /** * @var string */ private $value; /** * @param string $value * * @throws PayPalMerchantException */ public function __construct($value) { $this->assertStringIsMatchingRegex($value); $this->value = $value; } /** * @return string */ public function getValue() { return $this->value; } /** * @param string $value * * @throws PayPalMerchantException */ public function assertStringIsMatchingRegex($value) { if (!is_string($value) || !preg_match('/^[0-9A-Z]+$/', $value)) { throw new PayPalMerchantException(sprintf('PayPal merchant id %s is invalid. PayPal merchant id must be an alphanumeric string.', var_export($value, true)), PayPalMerchantException::INVALID_ID); } } }