GithubHelp home page GithubHelp logo

claudiosanches / woocommerce-pagarme Goto Github PK

View Code? Open in Web Editor NEW
63.0 14.0 52.0 597 KB

Receba pagamentos por cartão de crédito e boleto bancário utilizando o Pagar.me

Home Page: http://wordpress.org/plugins/woocommerce-pagarme/

License: GNU General Public License v2.0

JavaScript 33.33% PHP 63.90% Dockerfile 0.21% Makefile 2.15% Shell 0.41%

woocommerce-pagarme's Introduction

Pagar.me for WooCommerce

Contributors: pagarme, claudiosanches, murilohns
Tags: woocommerce, pagarme, payment
Requires at least: 4.0
Tested up to: 5.6
Stable tag: 2.5.0
License: GPLv2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html

Receba pagamentos por cartão de crédito e boleto bancário utilizando o Pagar.me

Description

O Pagar.me é a melhor forma de receber pagamentos online por cartão de crédito e boleto bancário, sendo possível o cliente fazer todo o pagamento sem sair da sua loja WooCommerce.

Saiba mais como o Pagar.me funciona:

[vimeo http://vimeo.com/74335951]

Compatibilidade

Compatível com desde a versão 2.2.x do WooCommerce.

Este plugin funciona integrado com o WooCommerce Extra Checkout Fields for Brazil, desta forma é possível enviar documentos do cliente como "CPF" ou "CNPJ", além dos campos "número" e "bairro" do endereço. Caso você queira remover todos os campos adicionais de endereço para vender Digital Goods, é possível utilizar o plugin WooCommerce Digital Goods Checkout.

Instalação

Confira o nosso guia de instalação e configuração do Pagar.me na aba Installation.

Dúvidas?

Você pode esclarecer suas dúvidas usando:

Colaborar

Você pode contribuir com código-fonte em nossa página no GitHub.

Installation

Instalação do plugin:

  • Envie os arquivos do plugin para a pasta wp-content/plugins, ou instale usando o instalador de plugins do WordPress.
  • Ative o plugin.

Requerimentos:

É necessário possuir uma conta no Pagar.me e ter instalado o WooCommerce.

Configurações do Plugin:

Com o plugin instalado acesse o admin do WordPress e entre em "WooCommerce" > "Configurações" > "Finalizar compra" e configure as opção "Pagar.me - Boleto bancário" e "Pagar.me - Cartão de crédito".

Habilite a opção que você deseja, preencha as opções de Chave de API e Chave de Criptografia que você pode encontrar dentro da sua conta no Pagar.me em API Keys.

Também será necessário utilizar o plugin WooCommerce Extra Checkout Fields for Brazil para poder enviar campos de CPF e CNPJ.

Pronto, sua loja já pode receber pagamentos pelo Pagar.me.

Mais informações sobre as configurações do plugin em: https://docs.pagar.me/v2/docs/configurando-o-plugin-pagarme-woocommerce.

Frequently Asked Questions

Qual é a licença do plugin?

Este plugin esta licenciado como GPL.

O que eu preciso para utilizar este plugin?

  • Ter instalado o plugin WooCommerce 2.2 ou superior.
  • Possuir uma conta no Pagar.me.
  • Pegar sua Chave de API e Chave de Criptografia no Pagar.me.
  • Desativar a opção Manter Estoque (minutos) do WooCommerce.

Quanto custa o Pagar.me?

Confira os preços em "Pagar.me - Preços".

Funciona com o Checkout Pagar.me?

Sim, funciona desde a versão 2.0.0 para pagamentos com cartão de crédito.

É possível utilizar a opção de pagamento recorrente?

No momento ainda não é possível, entretanto iremos fazer esta integração em breve.

O pedido foi pago e ficou com o status de "processando" e não como "concluído", isto esta certo ?

Sim, esta certo e significa que o plugin esta trabalhando como deveria.

Todo gateway de pagamentos no WooCommerce deve mudar o status do pedido para "processando" no momento que é confirmado o pagamento e nunca deve ser alterado sozinho para "concluído", pois o pedido deve ir apenas para o status "concluído" após ele ter sido entregue.

Para produtos baixáveis a configuração padrão do WooCommerce é permitir o acesso apenas quando o pedido tem o status "concluído", entretanto nas configurações do WooCommerce na aba Produtos é possível ativar a opção "Conceder acesso para download do produto após o pagamento" e assim liberar o download quando o status do pedido esta como "processando".

É obrigatório enviar todos os campos para processar o pagamento?

Não é obrigatório caso você não utilize antifraude, no caso para digital goods.

É possível remover os campos de endereço, empresa e telefone, mantendo apenas nome, sobrenome e e-mail utilizando o plugin WooCommerce Digital Goods Checkout.

Problemas com a integração?

Primeiro de tudo ative a opção Log de depuração e tente realizar o pagamento novamente. Feito isso copie o conteúdo do log e salve usando o pastebin.com ou o gist.github.com, depois basta abrir um tópico de suporte aqui.

Mais dúvidas relacionadas ao funcionamento do plugin?

Entre em contato clicando aqui.

Screenshots

1. Exemplo de checkout com cartão de crédito e boleto bancário do Pagar.me no tema Storefront.

Exemplo de checkout com cartão de crédito e boleto bancário do Pagar.me no tema Storefront.

2. Exemplo do Checkout Pagar.me para cartão de crédito.

Exemplo do Checkout Pagar.me para cartão de crédito.

3. Configurações para boleto bancário.

Configurações para boleto bancário.

4. Configurações para cartão de crédito.

Configurações para cartão de crédito.

Changelog

2.5.0 - 2020-01-07

  • Exibe mensagem após instalação/ativação do plugin, recomendando a instalação do plugin Brazilian Market on WooCommerce
  • Exibe mensagem após instalação/ativação do plugin, com um link para a documentação da Pagar.me

2.4.1 - 2020-12-17

  • Fix: Reverte a alteração que tornava o plugin Brazilian Market on WooCommerce obrigatório

2.4.0 - 2020-12-16

  • Torna o plugin Brazilian Market on WooCommerce obrigatório

2.3.0 - 2020-11-05

  • Torna o campo bairro obrigatório

2.2.0 - 2020-09-10

  • Adicionado header X-PagarMe-Version, dessa forma não será necessário alterar a versão de API na Dashboard.
  • Adicionado User Agent para coletar informações úteis para melhor suporte.

2.1.0 - 2020-06-24

  • Adicionado estorno para pagamentos via cartão de crédito.

2.0.18 - 2020-05-19

  • Corrige exibição da bandeira do cartão no formulário de checkout

2.0.17 - 2019-10-07

  • Alterado nome do plugin de "Woocommerce Pagar.me" para "Pagar.me for Woocommerce"

2.0.16 - 2019-09-23

  • Corrigido erro "número de parcelas inválido" para compras utlizando o checkout pagar.me, onde o valor da compra era inferior ao valor da menor parcela.

2.0.15 - 2019-07-01

  • Adicionado o novo status analyzing do Pagar.me

2.0.14 - 2018/05/02

  • Corrigido problema de resetar para 1 parcela ao recarregar o formulário de dados de cartão.

2.0.13 - 2018/05/29

  • Permitido resgistro de pedido para transação recusada no checkout Pagar.me.
  • Corrige o timeout na captura no checkout Pagar.me.

2.0.12 - 2018/07/31

  • Adicionado cidade e estado nos dados enviados para o Checkout Pagar.me.
  • Adicionado suporte para "pending_review", melhorando a integração com boleto bancário.

2.0.11 - 2017/09/08

  • Adicionada opção para suportar boletos assíncronos.

2.0.10 - 2016/09/29

  • Adicionado order_number (número do pedido) como meta dado para transações com o Checkout Pagar.me.

2.0.9 - 2016/09/27

  • Corrigido vendas canceladas com o Checkout Pagar.me feitas quando a parcela mínima era menor do que o mínimo permitido.

2.0.8 - 2016/09/15

  • Adicionado order_number (número do pedido) como meta dado das transações.

2.0.7 - 2016/09/12

  • Corrigido o valor da primeira parcela quando é menor do que o mínimo permitido.
  • Adicionado código para corrigir o valor da taxa de juros antes de usar no Checkout Pagar.me.

2.0.6 - 2016/09/09

  • Corrigida a compatibilidade com o WordPress 4.6.
  • Corrigido o calculo das parcelas do cartão de crédito.

2.0.5 - 2016/07/15

  • Correções para previnir mensagens de erro ao receber notificações de pagamentos.

2.0.4 - 2016/06/08

  • Melhorado o fluxo das transações feitas com o Checkout Pagar.me.

2.0.3 - 2016/06/02

  • Corrigido erro ao fazer uma transação com o Checkout Pagar.me onde é adicionada taxa de juros.
  • Adicionado campo informando o total pago pelo cliente incluindo juros quando aplicável.

2.0.2 - 2016/05/11

  • Corrigida a validação de campos da finalização para o Checkout Pagar.me.
  • Melhorada das mensagens de erro para quando não abrir o Checkout Pagar.me.

2.0.1 - 2016/04/04

  • Permitida a validação dos campos da finalização antes de abrir o Checkout Pagar.me.
  • Corrigida a mudança de status do Checkout Pagar.me.

2.0.0 - 2016/04/02

  • Adicionado novo método para pagamento com cartões de crédito.
  • Adicionado novo método para pagamentos com boleto bancário.
  • Adicionado suporte ao Checkout Pagar.me para pagamentos com cartão de crédito.
  • Corrigida a exibição do boleto na página "Minha conta", fazendo os boletos aparecer apenas quando o pedido esta com os status de pendente ou aguardando.

1.2.4 - 2016/02/04

  • Adiciona opção para cobrar juros de todas as parcelas do cartão de crédito.

1.2.3 - 2016/01/27

  • Removida dependência do plugin WooCommerce Extra Checkout Fields From Brazil.
  • Removida dependência dos campos de endereço, telefone e empresa (obrigatório apenas nome, sobrenome e e-mail).
  • Adicionado link para segunda via do boleto na tela de administração de pedidos e na página "Minha Conta".

1.2.2 - 2014/10/27

  • Atualizada URL da biblioteca JavaScript do Pagar.me.

1.2.1 - 2014/10/27

  • Corrigido o método que manipula os retornos do Pagar.me.

1.2.0 - 2014/10/12

  • Adicionada opção para controlar o número de parcelas sem juros.

1.1.0 - 2014/09/07

  • Adicionado suporte para a API de parcelas do Pagar.me.
  • Adicionada opção de taxa de juros para as parcelas.
  • Adicionado suporte para o WooCommerce 2.2.

1.0.0

  • Versão incial do plugin.

Upgrade Notice

2.0.12

  • Adicionado cidade e estado nos dados enviados para o Checkout Pagar.me.
  • Adicionado suporte para "pending_review" melhorando a integração com boleto bancário.

woocommerce-pagarme's People

Contributors

ahmarcia avatar bruno-yamada avatar claudiosanches avatar jgabrielfaria avatar leonampd avatar matheus-maciel avatar murilohns avatar oliveira avatar rfviolato avatar sfwill-dev avatar socialgroups avatar thiagorp avatar zoiosilva avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

woocommerce-pagarme's Issues

Possível bug - Número do documento está faltando

No arquivo class-wc-pagarme-api.php, na linha 290, ele faz o seguinte check:

'1' === $wcbcf_settings['person_type']

No entanto, $wcbcf_settings['person_type'] retorna um 1 do tipo int, não do tipo string, portanto ele não entra e não preenche o document_number

Boleto não sendo gerado

Estou tentando aceitar pagamentos em boleto no meu site, mas estou com um problema.

A compra é processada com sucesso, na tela de 'order-received' aparece um botão para eu clicar para abrir o boleto, mas esse botão simplesmente me manda para a Homepage do pagar.me.

Não sei como fazer para gerar o boleto.

Estou usando as API Keys de test e tentando fazer funcionar no meu localhost, será que é isso?

Getters implementados no WooCommerce 3.0 gerando erro

A partir da versão 3.0 do WooCommerce não é mais possível acessar as propriedados do objeto WC_Order diretamente, devendo estes ser feitos a partir de um getter. Mensagem de erro:

[13-Dec-2017 19:14:41 UTC] billing_neighborhood was called incorrectly. Order properties should not be accessed directly. Backtrace: require('wp-blog-header.php'), require_once('wp-includes/template-loader.php'), do_action('template_redirect'), WP_Hook->do_action, WP_Hook->apply_filters, call_user_func_array, WC_AJAX::do_wc_ajax, do_action('wc_ajax_checkout'), WP_Hook->do_action, WP_Hook->apply_filters, call_user_func_array, WC_AJAX::checkout, WC_Checkout->process_checkout, WC_Checkout->process_order_payment, WC_Pagarme_Credit_Card_Gateway->process_payment, WC_Pagarme_API->process_regular_payment, WC_Pagarme_API->generate_transaction_data, WC_Abstract_Legacy_Order->__get, wc_doing_it_wrong. This message was added in version 3.0.

Irei postar em breve o método generate_transaction_data com os novos getters

Estorno automático quando o cliente utiliza checkout pagar.me

Olá boa tarde tudo bem ?

Notamos um aumento de reclamações de alguns clientes sobre estorno automático e identificamos que isto esta ocorrendo quando um pedido é feito via checkout pagar.me, aparentemente o problema esta no "smallest installment amount." :

if ( $this->get_smallest_installment() > $installment['installment_amount'] ) {
  if ( 'yes' == $this->gateway->debug ) {
    $this->gateway->log->add( $this->gateway->id, 'Payment divided into a lower amount than permitted for order ' . $order->get_order_number() );
   }

   return array( 'error' => __( 'Payment divided into a lower amount than permitted.', 'woocommerce-pagarme' ) );
} 

O problema é que se o cliente esta utilizando o checkout pagar.me não tem como o módulo fazer o if para validar o valor mínimo de parcela, pois tudo é calculado dentro do pagar.me via javascript, e caso um cliente selecione uma parcela que seja menor do que o o valor que esta configurado como smallest installments o pedido esta sendo estornado de forma indevida.

Poderia por favor verificar ?

Agradeço desde de já a atenção.
Atenciosamente,
Lucas Santos

SISTEMA DE PAGAMENTO SPLIT

Olá Claudio, Contratei o Split da Pagar-me.
Tenho um Marketplace em Woocommerce e quero que os pagamentos de minhas comissões e o valor de cada cliente seja dividido automaticamente.
A Pagar-me tem esta solução e já contratei.
A questão é que eles me mandaram um código para configurar cada recebedor, só que não tenho ideia de onde colocar este código ( https://docs.pagar.me/api/?php#criando-um-recebedor )

Consegue me ajudar?

Emissão de NF-e

[Mesmo post da página de suporte do plugin do Wordpress]

Olá.

Estou precisando emitir NF-e quando o Pagar.me notificar a confirmação de um pagamento. Pelo pouco que entendo do checkout do Pagar.me, ele faz isso mandando um POST no postback_url que foi passado na hora do checkout.

Eu já tenho uma classe que fiz em um projeto separado, em php puro, sem WordPress, que lida com a emissão da NF-e. Agora, a implementação disso no Woocommerce que me deixou algumas dúvidas.

Eu andei lendo o código de algumas classes, e não entendi muito bem como eu poderia interferir no postback de maneira segura. Talvez eu devesse colocar um hook em algum lugar, não sei. Minha experiência com php não é muito grande.

Será que alguém conseguiria me ajudar com alguma orientação de como proceder para lidar com a emissão de NF-e? Desde já, agradeço a atenção.

Regras de precificação

  • Feedback de cliente

Necessidade

Regras de como o pedido é cobrado baseado em dados do próprio pedido

  • No caso, o cliente precisava criar uma regra: se o valor da parcela for maior ou igual a 80 reais, não aplicar juros. Caso contrário, aplicar juros

Imagino que, pelo menos regras de juros, que aparece no checkout final, deveria entrar na mudança da feature

Problemas com a API v2017-08-28

Estou com uma conta do Pagar.me com API versão v2017-08-28 e segundo a documentação os campos customer, billing, shipping e items são obrigatórios.

Se eu desabilito o anti-fraude na conta o erro passa a ser no campo external_id

Alguém com o mesmo problema?

Obrigado.

Tradução de Checkout

Oi Claudio! Sou comercial do Pagar.me e meu cliente tem uma dúvida pois aceita transações internacionais.

Gostaria de saber se o plug-in Pagar.me - Woocommerce pode ser traduzido para inglês visto que os clientes são estrangeiros.

Isso é possível? Como faz?

Abs,

Ana Júlia

Erros no log

estou recebendo MUITOS erros no log na hora do checkout, me parecem somente alerts(apesar do termo error).

Me perdoem se estiver falando bobagem pois sou novo no woocommerce e faz algum tempo que não mexo com PHP... dei uma pesquisada e encontrei que o woocommerce 3.0 exige algumas mudanças dos plugins: woocommerce/woocommerce#14369

Agradeço desde já o tempo despendido e segue um exemplo dos erros que estou recebendo no checkout(independente se o pagamento é feito pelo pagar.me ou não)... posso mandar o log completo se houver necessidade, mas basicamente o que varia de mensagem para mensagem é o atributo do pedido.

Log(usando o pagarme):

[Wed Sep 13 17:58:17.844337 2017] [:error] [pid 1322] [client 177.107.227.193:64740] billing_first_name was called incorrectly. Order properties should not be accessed directly. Backtrace: require('wp-blog-header.php'), require_once('wp-includes/template-loader.php'), do_action('template_redirect'), WP_Hook->do_action, WP_Hook->apply_filters, WC_AJAX::do_wc_ajax, do_action('wc_ajax_checkout'), WP_Hook->do_action, WP_Hook->apply_filters, WC_AJAX::checkout, WC_Checkout->process_checkout, WC_Checkout->process_order_payment, WC_Pagarme_Banking_Ticket_Gateway->process_payment, WC_Pagarme_API->process_regular_payment, WC_Pagarme_API->generate_transaction_data, WC_Abstract_Legacy_Order->__get, wc_doing_it_wrong. This message was added in version 3.0., referer: http://52.67.205.209/checkout/

[Wed Sep 13 17:58:17.844500 2017] [:error] [pid 1322] [client 177.107.227.193:64740] billing_last_name was called incorrectly. Order properties should not be accessed directly. Backtrace: require('wp-blog-header.php'), require_once('wp-includes/template-loader.php'), do_action('template_redirect'), WP_Hook->do_action, WP_Hook->apply_filters, WC_AJAX::do_wc_ajax, do_action('wc_ajax_checkout'), WP_Hook->do_action, WP_Hook->apply_filters, WC_AJAX::checkout, WC_Checkout->process_checkout, WC_Checkout->process_order_payment, WC_Pagarme_Banking_Ticket_Gateway->process_payment, WC_Pagarme_API->process_regular_payment, WC_Pagarme_API->generate_transaction_data, WC_Abstract_Legacy_Order->__get, wc_doing_it_wrong. This message was added in version 3.0., referer: http://52.67.205.209/checkout/
[Wed Sep 13 17:58:17.844591 2017] [:error] [pid 1322] [client 177.107.227.193:64740] billing_email was called incorrectly. Order properties should not be accessed directly. Backtrace: require('wp-blog-header.php'), require_once('wp-includes/template-loader.php'), do_action('template_redirect'), WP_Hook->do_action, WP_Hook->apply_filters, WC_AJAX::do_wc_ajax, do_action('wc_ajax_checkout'), WP_Hook->do_action, WP_Hook->apply_filters, WC_AJAX::checkout, WC_Checkout->process_checkout, WC_Checkout->process_order_payment, WC_Pagarme_Banking_Ticket_Gateway->process_payment, WC_Pagarme_API->process_regular_payment, WC_Pagarme_API->generate_transaction_data, WC_Abstract_Legacy_Order->__get, wc_doing_it_wrong. This message was added in version 3.0., referer: http://52.67.205.209/checkout/

e assim segue para outros atributos do pedido..................


log quando o meio de pagamento não é o pagarme:
[Wed Sep 13 19:58:12.442660 2017] [:error] [pid 1456] [client 177.107.227.193:50738] payment_method was called incorrectly. Order properties should not be accessed directly. Backtrace: require('wp-blog-header.php'), require_once('wp-includes/template-loader.php'), do_action('template_redirect'), WP_Hook->do_action, WP_Hook->apply_filters, WC_AJAX::do_wc_ajax, do_action('wc_ajax_checkout'), WP_Hook->do_action, WP_Hook->apply_filters, WC_AJAX::checkout, WC_Checkout->process_checkout, WC_Checkout->process_order_payment, WC_Gateway_BACS->process_payment, WC_Order->update_status, WC_Order->save, WC_Order->status_transition, do_action('woocommerce_order_status_pending_to_on-hold'), WP_Hook->do_action, WP_Hook->apply_filters, WC_Emails::send_transactional_email, do_action_ref_array, WP_Hook->do_action, WP_Hook->apply_filters, WC_Email_Customer_On_Hold_Order->trigger, WC_Email->get_content, WC_Email_Customer_On_Hold_Order->get_content_html, wc_get_template_html, wc_get_template, include('/plugins/woocommerce/templates/emails/customer-on-hold-order.php'), do_action('woocommerce_email_order_details'), WP_Hook->do_action, WP_Hook->apply_filters, WC_Emails->order_details, wc_get_template, include('/plugins/woocommerce/templates/emails/email-order-details.php'), do_action('woocommerce_email_after_order_table'), WP_Hook->do_action, WP_Hook->apply_filters, WC_Pagarme_Banking_Ticket_Gateway->email_instructions, WC_Abstract_Legacy_Order->__get, wc_doing_it_wrong. This message was added in version 3.0., referer: http://52.67.205.209/checkout/
[Wed Sep 13 19:58:12.442758 2017] [:error] [pid 1456] [client 177.107.227.193:50738] payment_method was called incorrectly. Order properties should not be accessed directly. Backtrace: require('wp-blog-header.php'), require_once('wp-includes/template-loader.php'), do_action('template_redirect'), WP_Hook->do_action, WP_Hook->apply_filters, WC_AJAX::do_wc_ajax, do_action('wc_ajax_checkout'), WP_Hook->do_action, WP_Hook->apply_filters, WC_AJAX::checkout, WC_Checkout->process_checkout, WC_Checkout->process_order_payment, WC_Gateway_BACS->process_payment, WC_Order->update_status, WC_Order->save, WC_Order->status_transition, do_action('woocommerce_order_status_pending_to_on-hold'), WP_Hook->do_action, WP_Hook->apply_filters, WC_Emails::send_transactional_email, do_action_ref_array, WP_Hook->do_action, WP_Hook->apply_filters, WC_Email_Customer_On_Hold_Order->trigger, WC_Email->get_content, WC_Email_Customer_On_Hold_Order->get_content_html, wc_get_template_html, wc_get_template, include('/plugins/woocommerce/templates/emails/customer-on-hold-order.php'), do_action('woocommerce_email_order_details'), WP_Hook->do_action, WP_Hook->apply_filters, WC_Emails->order_details, wc_get_template, include('/plugins/woocommerce/templates/emails/email-order-details.php'), do_action('woocommerce_email_after_order_table'), WP_Hook->do_action, WP_Hook->apply_filters, WC_Pagarme_Credit_Card_Gateway->email_instructions, WC_Abstract_Legacy_Order->__get, wc_doing_it_wrong. This message was added in version 3.0., referer: http://52.67.205.209/checkout/

Split payments Pagar.me para Dokan

Boa tarde Cláudio, tranquilo?

Eu gostaria de implementar o Split Payment para Dokan no seu plugin de WooCommerce, e vi que você postou esse código abaixo no fórum de suporte do plugin no Wordpress.org para uma pergunta similar:

/**
 * Slip rules for Pagar.me.
 *
 * @param  array    $data  Transacion data.
 * @param  WC_Order $order Order instance.
 * @return array
 */
function wc_pagarme_slip_rules( $data, $order ) {
	$data['split_rules'] = array(
		array(
			'recipient_id'          => 'ID_do_primeiro_recebedor',
			'percentage'            => '50',
			'liable'                => true,
			'charge_processing_fee' => true,
		),
		array(
			'recipient_id'          => 'ID_do_segundo_recebedor',
			'percentage'            => '50',
			'liable'                => true,
			'charge_processing_fee' => true,
		),
	);

	return $data;
}

add_action( 'wc_pagarme_transaction_data', 'wc_pagarme_slip_rules', 10, 2 );

No entanto, não consegui identificar quando o hook "wp_pagarme_transaction_data" é chamado. Vi que ele tem um call no método generate_transaction_data(), porém num ciclo completo de checkout ele não passou por esse método.

Minha pergunta é: Quando o hook wp_pagarme_transaction_data é chamado?

URLs diferentes para pagamento concluído com cartão de crédito e boleto emitido

Atualmente, dois comportamentos distintos levam à mesma URL, /checkout/order-received/:

  1. Concluir o pagamento com cartão de crédito. A página /checkout/order-received/ exibe a confirmação de pagamento e (no meu caso de produto baixável) o link para download.

  2. Emitir o boleto. A página /checkout/order-received/ exibe um botão para o download do boleto.

Existe algum jeito de esses dois fluxos levarem a URLs diferentes? Tipo /order-received/ para o cartão de crédito e /boleto-emitted/ para o boleto ou algo assim?

Pergunto porque no Google Analytics é importante ter como trackear separadamente o caso "venda concluída" do caso "boleto emitido".

Se não for possível fazer isso como o plugin do modo como está, poderia me dar um direcionamento de onde devo mexer, links pra docs ou palavras-chave pra buscar no google por favor? Agradeceria muito :) Obrigado!

Incompatibilidade com WooCommerce 2.4.10

@claudiosmweb bom dia, tudo bem?

Você sabe se aconteceu alguma breaking change com a versão 2.4.10?

Algumas pessoas estão reportando este erro:

Erro: SyntaxError: Unexpected token <

Compatibilidade com WooCommerce 2.5.1

@claudiosmweb tudo bem meu caro?

Estamos recebendo alguns retornos sobre a incompatibilidade com a versão 2.5.1 do WooCommerce. Você sabe dizer se esta versão apresenta alguma breaking change?

Muito obrigado 👍

Dividir em dois gateways

Dividir em um gateway de boleto e outro para cartão de crédito.
Assim facilita integração com assinaturas e também fica melhor para exibir no frontend.

Dados de cartão estão faltando

@claudiosmweb tudo bem?

Tem um cliente nosso que, no processo de checkout, está recebendo mensagens de erro sobre os dados do cartão de crédito ao selecionar o Pagar.me como meio de pagamento:

image

Você sabe o que pode estar acontecendo?

Muito obrigado meu caro!

Valor com juros não exibido

Realizando alguns testes, notei que ao selecionar um parcelamento com juros ao comprar um produto com preço promocional configurado, o total da order fica incorreto.

Atual

Com preço promocional, juros não é aplicado na order, não importando o número de parcelas.

image

Após finalizar a compra:

image

Configurações do produto:

image

Ou seja, a compra não foi parcelada e foi utilizado o valor original do produto.

Versão do módulo: 2.0.11
Versão do Wordpress: 4.9.2
Versão do Woocommerce: 3.2.6


Configurações do módulo:

image

Finalização Pagar.Me quando falha pagamento

Olá Claudio, primeiramente queria parabenizá-lo pelo ótimo serviço que você vem fazendo para Wordpress no Brasil e no mundo. Tenho o plugin do pagar.me e não sei se está acontecendo com todos, mas quando o cliente finaliza a compra e dá como falhado ele recebe a mensagem e o email do woocommerce de sucesso. Sugiro, se possível, voltar uma mensagem de falha no pagamento e link para escolher outra opção de pagamento.

Desconto no boleto

Claudio tem como adicionar desconto no boleto! Obrigado

Atenciosamente
Junior

Erro quando pagamento é rejeitado, mas depois o Pagar.me Libera

Boa tarde, hoje aconteceu um erro na minha loja:

  • Cliente cria carrinho na loja.
  • Cliente vai para a página de pagamento.
  • Ao tentar efetuar o pagamento via cartão de crédito, o pagamento é negado (provavelmente por ser um valor alto, ou algo assim).
  • Eu liguei para o pagar.me e aprovaram o pagamento e recebi o dinheiro.

Só que como os pedidos não aprovados não são salvos no woocommerce, como proceder para ver o que este cliente comprou?

Tradução pt_BR

Olá, gostaria de saber se existe tradução do plugin para português brasileiro, onde encontro e como faço para instalar por favor.

Desculpe se é uma pergunta muito básica, já consegui instalar a tradução do WooCommerce em si, mas os campos do Pagar.me continuam em inglês.

Obrigado!

Abs,
Helder

Adicionar uma action no método 'process_payment'

Seria interessante ter essa action caso o desenvolvedor precise executar algum código após o resultado da transação (api->do_transaction).

Se fugir demais do escopo 'woocommerce', por favor, desconsiderar :D

Loader não centralizado na tela após checkout finalizado

CONTEXTO

Realizando uma integração do plugin woocommerce-pagarme em ambiente de desenvolvimento e realizando algumas transações para a API de testes.

ATUAL

Ao realizar uma transação aprovada no checkout Pagar.me o modal que cobre a tela durante a transação é finalizado e a tela do carrinho e mostrada novamente com um status disabled, onde nenhuma interação pode ser realizada. Essa tela possui um loader que está fora de centro e a experiência do usuário é prejudicada até que a tela de Pedido Recebido seja exibida (o que leva alguns segundos).

woocommerce1

IDEAL

Não sei se o problema é no tempo de resposta do checkout em si ou se da geração do pedido pelo woocommerce após o pagamento, o ideal seria que ao menos após o modal do checkout ser encerrado que a página fosse posicionada de modo a mostrar o loader e melhorar a experiência do usuário que está aguardando o processamento.

woocommerce

Pagamentos por cartão de crédito não funcionando

Olá Cláudio, no meu site (www.projetofeito.com) os pagamentos por boleto estão passando, porém cartão de crédito não gera nada no woocommerce, nem no pagar.me, apesar de serem aprovadas pela Mastercard (estou recebendo as confirmações do Nubank). Após o pagamento por cartão, o site retorna para a página de checkout. Alguma ideia?

Split

Gostaria de uma informação, e possivel configurar split com este plugin ou tem que customizar ele?

Erro no pagamento via boleto

Olá Claudio, estou testando para implementação na loja de um cliente e na tentativa de pagamento por boleto surge dois avisos de Bairro e Número não preenchidos, mesmo ambos endereços estarem preenchidos.

`08-02-2017 @ 21:52:14 - Failed to make the transaction: Array
(
[headers] => Requests_Utility_CaseInsensitiveDictionary Object
(
[data:protected] => Array
(
[date] => Thu, 03 Aug 2017 00:52:15 GMT
[content-type] => application/json
[content-length] => 287
[server] => openresty
[access-control-allow-credentials] => true
[access-control-allow-headers] => Content-Type, Authorization, X-Requested-With, X-HTTP-Method-Override
[access-control-allow-methods] => GET,PUT,POST,DELETE
[access-control-allow-origin] => *
[charset] => utf-8
[x-powered-by] => Express
[x-response-time] => 13ms
)

    )

[body] => {"errors":[{"parameter_name":"customer[address][neighborhood]","type":"invalid_parameter","message":"bairro está faltando"},{"parameter_name":"customer[address][street_number]","type":"invalid_parameter","message":"número da rua está faltando"}],"url":"/transactions","method":"post"}
[response] => Array
    (
        [code] => 400
        [message] => Bad Request
    )

[cookies] => Array
    (
    )

[filename] => 
[http_response] => WP_HTTP_Requests_Response Object
    (
        [response:protected] => Requests_Response Object
            (
                [body] => {"errors":[{"parameter_name":"customer[address][neighborhood]","type":"invalid_parameter","message":"bairro está faltando"},{"parameter_name":"customer[address][street_number]","type":"invalid_parameter","message":"número da rua está faltando"}],"url":"/transactions","method":"post"}
                [raw] => HTTP/1.1 400 Bad Request

Date: Thu, 03 Aug 2017 00:52:15 GMT
Content-Type: application/json
Content-Length: 287
Connection: close
Server: openresty
Access-Control-Allow-Credentials: true
Access-Control-Allow-Headers: Content-Type, Authorization, X-Requested-With, X-HTTP-Method-Override
Access-Control-Allow-Methods: GET,PUT,POST,DELETE
Access-Control-Allow-Origin: *
Charset: utf-8
X-Powered-By: Express
X-Response-Time: 13ms

{"errors":[{"parameter_name":"customer[address][neighborhood]","type":"invalid_parameter","message":"bairro está faltando"},{"parameter_name":"customer[address][street_number]","type":"invalid_parameter","message":"número da rua está faltando"}],"url":"/transactions","method":"post"}
[headers] => Requests_Response_Headers Object
(
[data:protected] => Array
(
[date] => Array
(
[0] => Thu, 03 Aug 2017 00:52:15 GMT
)

                                [content-type] => Array
                                    (
                                        [0] => application/json
                                    )

                                [content-length] => Array
                                    (
                                        [0] => 287
                                    )

                                [server] => Array
                                    (
                                        [0] => openresty
                                    )

                                [access-control-allow-credentials] => Array
                                    (
                                        [0] => true
                                    )

                                [access-control-allow-headers] => Array
                                    (
                                        [0] => Content-Type, Authorization, X-Requested-With, X-HTTP-Method-Override
                                    )

                                [access-control-allow-methods] => Array
                                    (
                                        [0] => GET,PUT,POST,DELETE
                                    )

                                [access-control-allow-origin] => Array
                                    (
                                        [0] => *
                                    )

                                [charset] => Array
                                    (
                                        [0] => utf-8
                                    )

                                [x-powered-by] => Array
                                    (
                                        [0] => Express
                                    )

                                [x-response-time] => Array
                                    (
                                        [0] => 13ms
                                    )

                            )

                    )

                [status_code] => 400
                [protocol_version] => 1.1
                [success] => 
                [redirects] => 0
                [url] => https://api.pagar.me/1/transactions
                [history] => Array
                    (
                    )

                [cookies] => Requests_Cookie_Jar Object
                    (
                        [cookies:protected] => Array
                            (
                            )

                    )

            )

        [filename:protected] => 
        [data] => 
        [headers] => 
        [status] => 
    )

)`

Mensagem de pagamento completo

Uma vez que o checkout chega no fim, após o checkout transparente aparece uma mensagem de "pagamento com sucesso", o que pode confundir clientes, uma vez que um potback de refused pode ser enviado. Mudando a mensagem amenizaria o caso.

Validação de campos é feita somente após aprovação do pagamento

Utilizando o checkout pagar-me, está ocorrendo a seguinte situação: eu clico em "Finalizar compra" e a janela modal do pagar.me abre antes do woocommerce fazer a validação dos campos de cadastro.

Só depois de o pagar.me aprovar a transação o woocommerce verifica os campos de cadastro.
Isso dá problema caso o usuário não tenha preenchido algum campo obrigatório, e com isso a compra não vai pra frente.

Utilizando woocommerce v2.6.3 e plugin pagar.me v2.0.5.

Erro: transaction não encontrada

@claudiosmweb tudo bem meu caro?

Um número considerável de usuários estão reportando mensagens como transaction não encontrada no momento da compra e pelos testes que fizemos, pode estar relacionada a nova opção de utilizar o Checkout Pagar.me.

Analisando os logs no nosso servidor, notamos que a captura está vindo sem o transaction_id, por exemplo na rota de captura.

Você tem alguma pista se pode estar relacionada com a nova implementação?

Obrigado!

Como podemos melhorar o workflow de desenvolvimento do módulo?

Olá @claudiosanches , tudo bem?

Aqui é o Leonam. Faço parte do time de integrações/plataformas do Pagar.me. Antes de mais nada gostaria de agradecer todo o suporte que você tem dado à empresa atuando no desenvolvimento/revisão do módulo do Pagar.me para o Woocommerce, porém, estou abrindo essa issue, pois nós gostaríamos de discutir contigo como podemos melhorar o fluxo de desenvolvimento.

Hoje o Woocommerce, está entre as 3 três plataformas mais usadas pelos clientes do Pagar.me, o que é bem expressivo e gera muita demanda em nossa operação no que diz respeito à suporte e também de novas features. Diante disso, temos tido dificuldade em atendê-las dado que nosso time está dependente de você para seguir com implementações e isso tem impactado negativamente nossas entregas. Temos, inclusive, 3 PRs bem importantes abertos que estão aguardando sua revisão sendo que um deles gera muitos tickets no suporte e está aberto há 6 meses. Quanto aos outros dois, um deles atualiza o módulo para a nova versão da nossa API e o segundo, adiciona a possibilidade do tratamento de um novo status, de revisão de pagamento, por parte do lojista.

Sabemos que se trata de um projeto opensource e que não faz sentido você atender de pronto 100% das nossas demandas. No entanto, entendemos que não é escalável para o Pagar.me e por isso, gostaríamos de conversar em conjunto sobre o assunto.

Dado, isso, como você acha que podemos otimizar este cenário? A princípio, pensamos que seria interessante que você nos concedesse acesso de administrador ao repositório. Dessa forma, poderíamos atuar no desenvolvimento com maior liberdade, sem perder sua colaboração sempre que for necessário. O que acha?

Mais uma vez, nós do Pagar.me, agradecemos todo o apoio que você tem dado ao nosso time, e a comunidade como um todo!

Se houver algum e-mail que possamos nos comunicar, nos informe, por favor.

Visualização do Boleto após finalização da compra

Bom dia!

Estou utilizando o plugin e meus clientes estão tendo uma dificuldade após a finalização da compra em minha loja.

Após clicarem no botão de finalizar pedido com o método boleto bancário selecionado, o woocommerce carrega a página com os detalhes do pedido, mas não aparece em nenhum local da página a opção de gerar o boleto ou mesmo o link para o boleto.

Verifiquei que o link para geração do boleto vai para o cliente por e-mail, mas muitos clientes estão se perdendo, pois querem e estão acostumados em outros e-commerce à ter a opção de gerar o boleto (imprimir) na tela.

Você tem alguma sugestão para resolver esta questão? Existe uma maneira de aparecer ao menos o link gerado pela pagar.me deste boleto na tela de pedido realizado?

Desde já agradeço a atenção.

Erro na integração para pedidos efetuados internamente pelo painel de pedidos no woocommerce

Bom dia!

Diariamente faço um ou outro pedido na loja utilizando a opção "adicionar pedido" no painel administrativo do Woocommece.

Consigo finalizar a abertura de um novo pedido, selecionando o meio de pagamento "Pagar.me", mas nada acontece ao salvar o pedido.

Sabe me dizer se esta inclusão de pedido pelo painel não está integrada com a pagar.me ou é algum erro no meu woocommerce em específico?

Agradeço a atenção.

Alteração no comportamento de boletos

Fala @claudiosanches tudo bem?

Recentemente foi lançada uma nova atualização na API pagar.me e os boletos passaram a ter um comportamento diferente.

Antigamente o fluxo de geração de boletos ocorria da seguinte maneira:
waiting payment > paid (se for pago)

Porém os boletos agora devem ser registrados, e no meio deste processo surge um novo status para ele, sendo assim:

processing > waiting payment > paid

Sendo:
processing = Boleto sendo registrado junto ao banco. (Boleto não possui URL)
waiting payment = Aguardando pagamento do boleto (Boleto já registrado, com URL)
paid = Boleto pago

ISSUE: Atualmente ao finalizar uma compra de boleto no Woocommerce, o Boleto URL não é exibido. pois há um status a mais em seu ciclo.

Att.

arquivo .pot

Em um dos commits foram removidos os arquivos de linguagem para o portugues e substituidos por um arquivo .pot,
Ainda estou me familiarizando com o Wordpress mas agora é esperado que quem vá usar o plugin gere seus arquivos de linguagem a partir do arquivo .pot ?

status do pedido

Boa noite Cláudio,

Quando finalizo uma compra, o pedido esta ficando com status de concluído automático.

Pelo que entendi na pagina sua explicação é que isso não deveria ocorrer.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.