Международный номер банковского счета (IBAN) – это международно согласованная система идентификации банковских счетов через национальные границы. Идентификационный код банка (BIC) – это уникальный идентификационный код для финансовых и нефинансовых организаций, определенный в стандарте ISO-9362.
Хотя оба кода являются независимыми, они могут быть проверены в комбинации, чтобы подтвердить, что оба принадлежат, по крайней мере, к одной и той же стране. В Symfony 4.3 улучшили Bic валидатор, чтобы позволить проверять коды BIC и IBAN вместе.
Во-первых, вы можете передать код IBAN, используя новую опцию iban
:
use Symfony\Component\Validator\Constraints as Assert;
// ...
public static function loadValidatorMetadata(ClassMetadata $metadata)
{
$metadata->addPropertyConstraint(
'businessIdentifierCode',
new Assert\Bic([
'iban' => 'FR1420041010050500013M02606',
)]
);
}
Вы также можете использовать новую опцию ibanPropertyPath
, чтобы определить свойство объекта, в котором хранится код IBAN:
use Symfony\Component\Validator\Constraints as Assert;
// ...
class Transaction
{
/**
* @Assert\Bic(ibanPropertyPath="accountNumber")
*/
protected $businessIdentifierCode;
/**
* @Assert\Iban
*/
protected $accountNumber;
// public getters for properties ...
}
Universal Air Travel Plan (UATP) – это сеть платежей, принадлежащая авиакомпании и принимаемая тысячами продавцов для оплаты авиа, железнодорожных, гостиничных и туристических услуг. В Symfony 4.3 улучшили ограничение CardScheme, чтобы добавить поддержку новой схемы UATP:
// ...
class Transaction
{
/**
* @Assert\CardScheme(
* schemes={"AMEX", "MASTERCARD", "UATP", "VISA"},
* message="Your credit card number is invalid."
* )
*/
protected $cardNumber;
}