These docs are for v1.0. Click to read the latest docs for v4.1.

Comunidade

Ask a Question
ANSWERED

plugin woocommerce

instalamos o vosso plugin na nossa instalação do woocommerce. temos 3 formas de pagamento no nosso checkout, stripe, paypal e pagseguro as validações de bairro , telefone são acionadas no checkout vindas do vosso plugin mesmo que o comprador escolha o stripe ou o paypal. as validações so deveriam acontecer se o comprador escolhece o pagseguro para fazer o pagamento. alem disso as validações são disparadas independentemente do pais da encomenda o que esta errado. por exemplo o nosso comprador é de portugal e aparece a mensagem : Telefone inválido. Preencha DDD + NÚMERO' ele só deveria fazer esta validação do telefone se o pais da encomenda fosse Brasil e se a forma de pagamento escolhida fosse o Pagseguro. /** * Intercept woocommerce checkout process */ add_action('woocommerce_checkout_process', 'ps_validade_checkout_proccess'); function ps_validade_checkout_proccess() { if ($_POST['payment_method']) { try { $billing_address_1 = explode(', ', $_POST['billing_address_1']); if (!isset($billing_address_1[1])) { throw new Exception('[PAGSEGURO]: Invalid address'); }; } catch (Exception $exception) { wc_add_notice(__('Endereço com formato inválido. Exemplo: Rua São João, 11'), 'error'); } try { if (!isset($_POST['billing_address_2']) || !$_POST['billing_address_2']) { throw new Exception('[PAGSEGURO]: Invalid address'); } } catch (Exception $exception) { wc_add_notice(__('Por favor, preencha o bairro.'), 'error'); } try { $phone = strlen(filter_var($_POST['billing_phone'], FILTER_SANITIZE_NUMBER_INT)); if ($phone < 9 || $phone > 11) { throw new Exception('[PAGSEGURO]: Invalid phone'); } } catch (Exception $exception) { wc_add_notice(__('Telefone inválido. Preencha DDD + NÚMERO'), 'error'); } } } php: woocommerce-pagseguro-oficial Precisamos deste problema resolvido para podermos usar o pagseguro na nossa loja woocommerce
ANSWERED
ANSWERED
ANSWERED
ANSWERED
ANSWERED
ANSWERED
ANSWERED
ANSWERED
ANSWERED