pedrogodoy
Forum Replies Created
-
Forum: Plugins
In reply to: [WooCommerce - Pagar.me] Captura e Timeouta pagar.me é uma empresa de Getway que possui sistema de API. O desenvolvedor do plugin, por livre e espontânea vontade criou uma ferramenta FREE e Open Source para agilizar a vida de todos. Não confunda as coisas ok.
Magento é outra plataforma, aqui estamos falando de WordPress.
É preciso analisar os códigos que estão no plugin com a documentação da pagar.me
https://docs.pagar.me/referenceOu contratar um dev que possa fazer isso pra você.
Por aqui o plugin funciona perfeitamente. Criei 3 lojas recentemente e todas estão rodando sem erro.
abs.
Forum: Plugins
In reply to: [WooCommerce - Pagar.me] Captura e TimeoutAmigo, não trabalho na pagar.me ok. sou apenas um dev.
O seu problema está muito genérico, podem ser muitas coisas.
O que te aconselho a fazer é deixar seu site mais rápido. Me parece que o usuário fica esperando muito tempo processar o checkout, e acaba saindo da página.
Uma opção é contratar uma hospedagem mais rápida e a outra é otimizar o Woo. Nesse link mostra como:
https://gist.github.com/gregrickaby/2846416O Woo por padrão carrega uma serie de scripts desnecessários que pode ser removidos sem afetar sua loja, porém existem outros que ao serem removidos vão dar pau. Exercicio de paciência ai pra ajustar tudo.
Se a sua loja já está otimizada, você precisa detalhar melhor seu problema ok.
Espero ter ajudado. abs.
Forum: Plugins
In reply to: [WooCommerce - Pagar.me] validação de campos telefone e email“Essa volição vai entrar apenas após o usuário digitar os dados do cartão, correto?”
Na verdade não, essa validação ocorre no checkout antes do popup da pagar.me.Uma outra solução é validar pelo JS. É mais rápido e o plugin já utiliza essa validação. Eu comecei a esboçar uma alteração no JS e deu erro, fui para o PHP e funcionou de cara, portanto parei por ai. Quando tiver oportunidade corrijo no JS e posto aqui.
*ao alterar o plugin, coloque nos comentários no começo da página uma referência à sua alteração. abs.
Forum: Plugins
In reply to: [WooCommerce - Pagar.me] validação de campos telefone e emailConsegui resolver amigo!
Não é uma solução permanente, portanto deve ser aprimorada de acordo com a sua necessidade ok. Segue:
Arquivo do Plugin:
– wp-content/plugins/woocommerce-pagarme/includes/class-wc-pagarme-api.php
– vá ate a LINHA 663
– o que precisa ser feito é adicionar uma condição para validar os campos de CEP e TELEFONE.
– usei a validação abaixo:if ( ! empty( $_POST['pagarme_checkout_token'] ) )e substitui:
if ( ! empty( $_POST['pagarme_checkout_token'] ) ) { $token = sanitize_text_field( wp_unslash( $_POST['pagarme_checkout_token'] ) ); $data = $this->generate_checkout_data( $order, $token ); // Cancel the payment is irregular. if ( isset( $data['error'] ) ) { $this->cancel_transaction( $order, $token ); $order->update_status( 'failed', $data['error'] ); return array( 'result' => 'success', 'redirect' => $this->gateway->get_return_url( $order ), ); } $transaction = $this->do_transaction( $order, $data, $token ); } else { $transaction = array( 'errors' => array( array( 'message' => __( 'Missing credit card data, please review your data and try again or contact us for assistance.', 'woocommerce-pagarme' ) ) ) ); }por:
if ( ! empty( $_POST['pagarme_checkout_token'] ) ) { $token = sanitize_text_field( wp_unslash( $_POST['pagarme_checkout_token'] ) ); $data = $this->generate_checkout_data( $order, $token ); // Cancel the payment is irregular. if ( isset( $data['error'] ) ) { $this->cancel_transaction( $order, $token ); $order->update_status( 'failed', $data['error'] ); return array( 'result' => 'success', 'redirect' => $this->gateway->get_return_url( $order ), ); } $transaction = $this->do_transaction( $order, $data, $token ); } else { //LINHA 663-672 ADICINAS 03/01/18 - POR PEDRO GODOY $cont_phone = strlen( $_POST['billing_phone'] ); $cont_cep = strlen( $_POST['billing_postcode'] ); if( $cont_phone < 15 ) : $transaction = array( 'errors' => array( array( 'message' => __( 'Preencha corretamente o <strong>Telefone</strong>.', 'woocommerce-pagarme' ) ) ) ); elseif( $cont_cep < 9 ) : $transaction = array( 'errors' => array( array( 'message' => __( 'Preencha corretamente o <strong>CEP</strong>.', 'woocommerce-pagarme' ) ) ) ); else : $transaction = array( 'errors' => array( array( 'message' => __( 'Missing credit card data, please review your data and try again or contact us for assistance.', 'woocommerce-pagarme' ) ) ) ); endif; }Fiz uma validação simples por quantidade de caracteres:
$cont_phone = strlen( $_POST['billing_phone'] ); if( $cont_phone < 15 )você pode fazer o ajuste que achar melhor. No meu caso, apenas essa validação funcionou. O cliente parou de receber pedidos com erro.
Espero que possa ter ajudado.
abs.,
Forum: Plugins
In reply to: [WooCommerce - Pagar.me] Juros não aparece no pedidoDentro do seu arquivo functions.php você pode colocar um script assim:
function jurosSimples($valor) {
$pagarme = get_option( ‘woocommerce_pagarme-credit-card_settings’ );
$parcelas = $pagarme[‘max_installment’];
$taxa = $pagarme[‘interest_rate’];$taxa = $taxa / 100;
$m = $valor * (1 + $taxa * $parcelas);
$valorParcela = number_format($m / $parcelas, 2, “,”, “.”);
return $valorParcela;
}e no seu Thema ( woocommerce/single-product.php ), você coloca algo parecido com isso aqui:
<?php
global $woocommerce;
$currency = get_woocommerce_currency_symbol();
$price = get_post_meta( get_the_ID(), ‘_regular_price’, true);
$sale = get_post_meta( get_the_ID(), ‘_sale_price’, true);
$pagarme = get_option( ‘woocommerce_pagarme-credit-card_settings’ );
?><p class=”parcelamento”>
ou em <?php echo $pagarme[‘max_installment’]; ?>x de <?php echo $currency; ?><?php echo(($sale) ? jurosSimples($sale) : jurosSimples($price)); ?>
</p>Forum: Plugins
In reply to: [WooCommerce - Pagar.me] Não consigo realizar compras teste no SandboxAcredito que no localhost não vai funcionar. Cria um cupom de desconto de 100% e testa a rotina de compra. Depois estando tudo certo, coloca online, faz o HTTPS funcionar primeiro, e testa a compra utilizando a API de teste disponibilizada pelo Pagar.me. Este seria o processo mais recomendado.