Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Phone numbers with state codes form USA not accepted #11

Closed
spwebini opened this issue Nov 18, 2020 · 2 comments
Closed

Phone numbers with state codes form USA not accepted #11

spwebini opened this issue Nov 18, 2020 · 2 comments

Comments

@spwebini
Copy link

When trying to proceed payment with shipping adress from USA, with phone number with us format (+1 (xxx) xxx -xxxx) i'm getting error like this:

1 exception(s):
Exception #0 (Dotpay\Exception\BadParameter\PhoneException): Dotpay\Exception\BadParameter\PhoneException: Incorrect phone number: +1 (xxx) xxx-xxxx

Exception #0 (Dotpay\Exception\BadParameter\PhoneException): Dotpay\Exception\BadParameter\PhoneException: Incorrect phone number: +1 (809) 704-1583

#1 Dotpay\Payment\Model\Factory\AbstractFactory->getCustomer() called at [vendor/dotpay/magento2-payment/Model/Factory/AbstractFactory.php:434]
#2 Dotpay\Payment\Model\Factory\AbstractFactory->getTransaction() called at [vendor/dotpay/magento2-payment/Model/Factory/WidgetFactory.php:38]
#3 Dotpay\Payment\Model\Factory\WidgetFactory->getChannel() called at [vendor/dotpay/magento2-payment/Controller/Payment/Preparing.php:85]
#4 Dotpay\Payment\Controller\Payment\Preparing->execute() called at [vendor/magento/framework/Interception/Interceptor.php:58]
#5 Dotpay\Payment\Controller\Payment\Preparing\Interceptor->___callParent() called at [vendor/magento/framework/Interception/Interceptor.php:138]
#6 Dotpay\Payment\Controller\Payment\Preparing\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/framework/App/Action/Plugin/ActionFlagNoDispatchPlugin.php:51]
#7 Magento\Framework\App\Action\Plugin\ActionFlagNoDispatchPlugin->aroundExecute() called at [vendor/magento/framework/Interception/Interceptor.php:135]
#8 Dotpay\Payment\Controller\Payment\Preparing\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:153]
#9 Dotpay\Payment\Controller\Payment\Preparing\Interceptor->___callPlugins() called at [generated/code/Dotpay/Payment/Controller/Payment/Preparing/Interceptor.php:23]
#10 Dotpay\Payment\Controller\Payment\Preparing\Interceptor->execute() called at [vendor/magento/framework/App/Action/Action.php:111]
#11 Magento\Framework\App\Action\Action->dispatch() called at [vendor/magento/framework/Interception/Interceptor.php:58]
#12 Dotpay\Payment\Controller\Payment\Preparing\Interceptor->___callParent() called at [vendor/magento/framework/Interception/Interceptor.php:138]
#13 Dotpay\Payment\Controller\Payment\Preparing\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:153]
#14 Dotpay\Payment\Controller\Payment\Preparing\Interceptor->___callPlugins() called at [generated/code/Dotpay/Payment/Controller/Payment/Preparing/Interceptor.php:32]
#15 Dotpay\Payment\Controller\Payment\Preparing\Interceptor->dispatch() called at [vendor/magento/framework/App/FrontController.php:186]
#16 Magento\Framework\App\FrontController->processRequest() called at [vendor/magento/framework/App/FrontController.php:118]
#17 Magento\Framework\App\FrontController->dispatch() called at [vendor/magento/framework/Interception/Interceptor.php:58]
#18 Magento\Framework\App\FrontController\Interceptor->___callParent() called at [vendor/magento/framework/Interception/Interceptor.php:138]
#19 Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/module-store/App/FrontController/Plugin/RequestPreprocessor.php:99]
#20 Magento\Store\App\FrontController\Plugin\RequestPreprocessor->aroundDispatch() called at [vendor/magento/framework/Interception/Interceptor.php:135]
#21 Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/module-page-cache/Model/App/FrontController/BuiltinPlugin.php:75]
#22 Magento\PageCache\Model\App\FrontController\BuiltinPlugin->aroundDispatch() called at [vendor/magento/framework/Interception/Interceptor.php:135]
#23 Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:153]
#24 Magento\Framework\App\FrontController\Interceptor->___callPlugins() called at [generated/code/Magento/Framework/App/FrontController/Interceptor.php:23]
#25 Magento\Framework\App\FrontController\Interceptor->dispatch() called at [vendor/magento/framework/App/Http.php:116]
#26 Magento\Framework\App\Http->launch() called at [generated/code/Magento/Framework/App/Http/Interceptor.php:23]
#27 Magento\Framework\App\Http\Interceptor->launch() called at [vendor/magento/framework/App/Bootstrap.php:263]
#28 Magento\Framework\App\Bootstrap->run() called at [pub/index.php:40]
@spwebini
Copy link
Author

Additional information: issue affects not only USA phone numbers but all number that have format with additional signs like ['(', ')', '-'].

wpawel added a commit to wpawel/PHP-SDK that referenced this issue Jan 5, 2021
SDK
- dozwolone puste dane dla pola adres i telefon (poprawiono również validację: dotpay/magento2-payment#11),
- zmiany dla mechanizmu potwierzdenia platnosci - weryfikacja IP serwera Dotpay
- optymalizacja zapytan do api przy weryfikacji aktywnosci konta (zmiana endpoint z'payments/' na 'accounts/'
- dodanie obsługi w api języka 'lt' i 'lv'
- fix for deprecate curly brace syntax for PHP 7.4
- dodanie w konfiguracji wtyczki opcji pozwalającej przekazywać w polu control więcej informacji niż tylko id zamówienia (opcja domyślna): nazwa domeny sprzedażowej, nr wersji wtyczki
- dodanie do statycznego adresu powrotu po płatności 'url' parametru 'DpOrderId', który zawiera zamaskowany nr zamówienia. Pomocne w przypadku gdy generowany jest link do płatności za zamówienie i wysłany np. via email - pozwala płacącemu na powrót do sklepu i wyświetlenie statusu jego płatności (albo w przypadku gdy po powrocie po płatności zabraknie informacji o sesji dla konkretnego id zamówienia.
- dodanie w konfiguracji wtyczki opcji pozwalającej na decydowanie jaka nazwa i adres email do prezentacji ma być wyświetlana w potwierdzeniu płacącemu ('Store Information', 'General Contact', 'Customer Support', 'Settings from the Dotpay panel')
- dodanie filtrów na pola z formularza (ulica i numer budynku, ,miasto, kod pocztowy, telefon) który wycina niedozwolone znaki, dzięki czemu do api dotpay nie bedą wysyłane błędne przekierowania (HTTP status code: 403).
wpawel added a commit to wpawel/magento2-payment that referenced this issue Jan 5, 2021
magento2

- dodanie w konfiguracji wtyczki opcji pozwalającej przekazywać w polu control więcej informacji niż tylko id zamówienia (opcja domyślna): nazwa domeny sprzedażowej, nr wersji wtyczki
- dodano informacje wyświetlane w szczegółach zamówienia w panelu Magento dotyczące zmian poszczególnych statusów płatności. W przypadku stwierdzenia zduplikowanej transakcji do tego samego id zamówienia - ustawiany jest status zamówienia informujący o możliwości zdublowanej płatności. Dodatkowo w szczegółach zamówienia wyświetlane są numery płatności zrealizowanych w systemie Dotpay do ich ręcznej weryfikacji.
- przebudowano widget wyświetlający listę dostępnych kanałów: wygląd oraz zachowanie w przypadku dostępnych 1 lub więcej kanałów

SDK
- dozwolone puste dane dla pola adres i telefon (poprawiono również validację: dotpay#11),
- zmiany dla mechanizmu potwierdzenia płatności - weryfikacja IP serwera Dotpay
- optymalizacja zapytan do api przy weryfikacji aktywności konta (zmiana endpoint z'payments/' na 'accounts/'
- dodanie obsługi w api języka 'lt' i 'lv'
- fix for deprecate curly brace syntax for PHP 7.4
- dodanie do statycznego adresu powrotu po płatności 'url' parametru 'DpOrderId', który zawiera zamaskowany nr zamówienia. Pomocne w przypadku gdy generowany jest link do płatności za zamówienie i wysłany np. via email - pozwala płacącemu na powrót do sklepu i wyświetlenie statusu jego płatności (albo w przypadku gdy po powrocie po płatności zabraknie informacji o sesji dla konkretnego id zamówienia.
- dodanie w konfiguracji wtyczki opcji pozwalającej na decydowanie jaka nazwa i adres email do prezentacji ma być wyświetlana w potwierdzeniu płacącemu ('Store Information', 'General Contact', 'Customer Support', 'Settings from the Dotpay panel')
- dodanie filtrów na pola z formularza (ulica i numer budynku, ,miasto, kod pocztowy, telefon) który wycina niedozwolone znaki, dzięki czemu do api dotpay nie będą wysyłane błędne przekierowania (HTTP status code: 403).
This was referenced Jan 18, 2021
@wpawel
Copy link
Contributor

wpawel commented Jan 19, 2021

fixed in version v1.0.18

@wpawel wpawel closed this as completed Jan 19, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants