* @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\Payment\Capture\ValueObject; use PrestaShop\Module\PrestashopCheckout\PayPal\Payment\Capture\Exception\PayPalCaptureException; class PayPalCaptureId { /** * @var string */ private $value; /** * @param string $value * * @throws PayPalCaptureException */ public function __construct($value) { $this->assertStringIsMatchingRegex($value); $this->value = $value; } /** * @return string */ public function getValue() { return $this->value; } /** * @param string $value * * @throws PayPalCaptureException */ public function assertStringIsMatchingRegex($value) { if (!is_string($value) || !preg_match('/^[0-9A-Z]+$/', $value)) { throw new PayPalCaptureException(sprintf('PayPal capture id %s is invalid. PayPal capture id must be an alphanumeric string.', var_export($value, true)), PayPalCaptureException::INVALID_ID); } } }