IPNs: Um projeto de E-commerce feito pela Next4 precisou de uma implementação de manipulação de IPns (recurso interno do wooCommerce onde uma ferramenta externa pode-se comunicar através de requisições a loja, comumente usando uma url da loja para esta comunicação) do WooCommerce por meio do Pagarme, desta forma teríamos o controle sobre as transações de tal forma que poderíamos passar estes status em on demand para APIs externas, assim teríamos diversos tipos de tratamentos.
O WooCommerce possibilita uma infinidade de customizações com utilização do seus hooks (gatilhos, meio pelo qual um programador pode fazer customizações no código sem afetar o core do sistema) vinculados a cada processo que o produto irá passar, desde a construção até o consumo de ordem de pagamento no histórico do cliente.
Porém o Gateway de pagamento utilizado (Pagarme), não proveu em sua documentação mecanismos para que fizéssemos esta manipulação de forma segura e profissional.
Isso deve-se pelo foco do Pagarme fornecer um meio pelo qual o usuário possa fazer a compra usando seu mecanismo no wooCommerce de forma segura, somente isso, que é totalmente compreensível pois não existe como atendermos a todas demandas de customização sem o processo moroso e muitas vezes verborrágico de atualizações por meio de processos e testes. Cada caso é um caso em específico e uma extensão que se preze tentará trazer recursos que atendam globalmente a comunidade, focando principalmente no que se propõem a fazer.
Outro ponto é que a extensão em questão é de uso publico e sua licença é gratuita, então não há como cobrar a mais do que ela já entrega.
Por este motivo tivemos que analisar o código do pagarme e localizarmos quantos hooks (gatilhos, meio pelo qual um programador pode fazer customizações no código sem afetar o core do sistema) existiam desenvolvidos nele, e se é possível trazê-los para um ambiente onde teríamos um controle maior como um plugin customizado.
Note que a ultima action faz menção a api do woocomerce e chama uma função chamada ipn_handler, isso nos ajudou a entender que este hook tinha ligação direta a troca de status do pagarme as transações feitas.
Localizamos a função ipn_handler e descobrimos como ela faz os tratamentos vindos do pagarme e com isso tivemos a certeza de que ao usufruir deste método podíamos fazer as devidas modificações sem afetar o código principal da extensão.
Por fim construímos um plugin para ler as requisições e tratá-las devidamente como o cliente precisava, segue um modelo simplificado do recurso implementado:
Note que sem o hook woocommerce_api_wc_pagarme_credit_card_gateway não teríamos como fazer a implementação a ultima alternativa seria ir no ipn_handler e forçar a customização por lá. Isso não é bom, pois o código implementado pode-se perder a cada atualização de extensão.
Através deste código podemos receber e manipular toda e qualquer transação vinda do Pagarme pela IPN do wooCommerce.
Você tem algum caso similar a esse que estamos publicando? Conte aqui nos comentários e será um prazer trocar informações da área com você programador.
Sinta-se à vontade para nos perguntar sobre IPNs.
Com mais de 16 anos de expertise em Marketing Digital, oferecemos aos nossos clientes uma gama de serviços personalizados para que alcancem mais performance no âmbito digital e comercial.
Serviços como: Criação de sites e Sistemas web, Gestão de RD Station Marketing e CRM, Gestão de campanhas ADS, Gestão de Redes Sociais, Criação de conteúdo, Criação de peças publicitárias, Criação de Vídeos e muito mais.
Se a sua empresa precisa de serviços de Marketing Digital para posicionamento da marca e geração de Leads para sua equipe comercial, fale com um especialista da Next4.
Estratégias de Marketing no YouTube: Na era digital de hoje, onde o vídeo reina supremo, as marcas estão constantemente procurando…
Descubra o Futuro as Tendências em Mídia Digital para 2024: Técnicas Revolucionárias e Autenticidade que Transformarão o Marketing Digital. …
Passo a Passo de Como Montar uma Loja Virtual: entrar no comércio eletrônico é uma excelente maneira de expandir um…
O Impacto de uma Gestão de Tráfego Eficiente: na era digital, onde o tráfego online se tornou o coração pulsante…
Bem-vindo ao fascinante mundo do desenvolvimento web, onde a harmonia entre elementos cruciais pode determinar o sucesso ou fracasso de…
Redes Sociais: No mundo acelerado das redes sociais, onde cada clique pode ser o início de uma nova parceria comercial,…
This website uses cookies.