Валідація customerData
Загальний опис логіки валідації
Масив customerData формується перед відправкою платіжного запиту на основі даних замовлення WooCommerce. Після збору дані передаються в метод validateAndClear класу WC_Custom_Data_Validator.
Назва поля
Тип даних
Обов'язкове
Макс. довжина
Джерело даних у WooCommerce (WC_Order)
Особливі правила валідації та фільтрації
senderCustomerId
string
Так
255
Локальна змінна $sender_customer_id
Перевіряється тільки на пустку та довжину.
senderFirstName
string
Ні
30
$order->get_billing_first_name()
🔄 Фолбек: get_shipping_first_name()
Регулярний вираз: Дозволені літери, цифри, дефіси, апострофи. Без спецсимволів по краях.
Не лише цифри: Помилка, якщо строка складається суто з цифр.
Стоп-слова:
NULL,3D SECURE,SURNAME,CARDHOLDER,UNKNOWN(реєстронезалежно черезstripos).
senderLastName
string
Ні
30
$order->get_billing_last_name()
🔄 Фолбек: get_shipping_last_name()
Аналогічно до senderFirstName (без перевірки стоп-слів).
senderEmail
string
Ні
256
$order->get_billing_email()
Валідація WordPress: Додатково валідується через вбудовану функцію is_email().
senderCountry
string
Ні
3
$order->get_billing_country()
🔄 Фолбек: get_shipping_country()
Проходить через внутрішній метод плагіна $this->get_country_code(), який повертає числовий ISO-код.
senderRegion
string
Ні
255
$order->get_billing_state()
🔄 Фолбек: get_shipping_state()
Передається у внутрішній метод $this->get_state_name(), який повертає текстову назву регіону за кодом.
senderCity
string
Ні
25
$order->get_billing_city()
🔄 Фолбек: get_shipping_city()
Стандартна перевірка довжини й шаблону (якщо задано).
senderStreet
string
Ні
35
$order->get_billing_address_1()
🔄 Фолбек: get_shipping_address_1()
Стандартна перевірка довжини.
senderAdditionalAddress
string
Ні
255
$order->get_billing_address_2()
🔄 Фолбек: get_shipping_address_2()
Стандартна перевірка довжини.
senderIp
string
Ні
50
$order->get_customer_ip_address()
Стандартна перевірка довжини.
senderPhone
numeric_string
Ні
20
$order->get_billing_phone()
🔄 Фолбек: get_shipping_phone()
Попередня фільтрація: Для перевірки правил з поля примусово видаляються всі нецифрові символи.
senderZipCode
string
Ні
50
$order->get_billing_postcode()
🔄 Фолбек: get_shipping_postcode()
Стандартна перевірка довжини.
Останнє оновлення