Magento 2 – Tokenizando cartões com o “Vault”

Olá pessoal,

Hoje vou falar sobre o recurso de “Vault” disponível no Magento 2. Hoje uma prática muito comum nos métodos de pagamento é de “tokenizar” e salvar cartões de crédito/débito na conta do cliente para que seja possível utilizar esse mesmo cartão em uma futura compra sem a necessidade de reinserir os dados do cartão. Se vocês já utilizaram o módulo da Braintree Paypal que está no core do Magento 2 já devem ter visto este recurso.

Seguindo as normas de PCI Compliance (https://www.pcicomplianceguide.org/faq/) não é permitido salvar informações sensíveis do cliente no banco de dados da loja, sendo assim se você deseja permitir esta funcionalidade de salvar o cartão do cliente em sua loja você deve “tokenizar” este cartão e salvar apenas este token. Ou seja, para salvar esse cartão você deve gerar um token desse cartão e esse token será utilizado nas futuras transações, e não os dados do cartão de crédito em si.

Então você deve estar se perguntando, caso eu desenvolvedor for desenvolver um módulo de pagamentos para Magento 2 e queira oferecer esse recurso, como posso desenvolver tal funcionalidade? Terei que criar uma interface que permita essa tokenização? A resposta é … o Magento 2 está 100% preparado pra isso e oferece a funcionalidade de vault que pode ser facilmente integrada ao seu módulo de pagamentos.

Então vamos lá Igor, como que adiciona esse vault em meu módulo? Primeira coisa, você deve verificar com a empresa de pagamentos se eles possuem essa funcionalidade de tokenização em sua api, pois você terá que gerar estes tokens para salvá-lo no Magento.

Feito isso você pode seguir este guia https://devdocs.magento.com/guides/v2.1/payments-integrations/vault/vault-intro.html (em inglês) que te ensina passo a passo como adicionar o recurso de vault em seu módulo.

Basicamente o Vault adiciona uma interface padrão do Magento para que você tokenize e salve o cartão dos clientes e permita que eles sejam utilizados no checkout do frontend quanto também do backend.

Na seção do cliente no Magento há uma seção específica onde você pode visualizar e gerenciar todos os cartões tokenizados e salvos em sua conta.

Ao adicionar a funcionalidade “Vault” em seu módulo você verá o checkbox para salvar o cartão durante o processo de pagamento, ao selecionar esta opção será chamada a funcionalidade do seu módulo que irá tokenizar o cartão e salvá-lo na conta do cliente.

A documentação disponível no DevDocs explica bem detalhadamente como adicionar esse recurso pro seu módulo de pagamentos. Uma dica é desenvolver o módulo com suas funcionalidades tradicionais (pagamento, refund, capture) e depois de prontas adicione o recurso de vault. Lembrando também que no M1 as integrações eram baseadas em um model onde toda a lógica era implementada. Essa abordagem de desenvolvimento ainda está disponível no M1 mas em depreciação, há uma nova estrutura disponível no M2 que gera esse model de forma “virtual” separado suas operações em outras classes. O guia do Vault segue este modelo e caso você esteja iniciando um novo módulo a recomendação é de seguir este modelo.

Se tiver alguma dúvida de como construir um módulo de pagamentos para M2 é só seguir este guia disponível no DevDocs

(https://devdocs.magento.com/guides/v2.1/payments-integrations/payment-gateway/payment-gateway-intro.html).

Então é isso aí pessoal, este recurso é sensacional, eu desenvolvi alguns módulos de pagamento para M2 e este recurso realmente é muito bacana e as empresas estão sempre pedindo. Sempre considere adicionar este recurso em seu módulo de pagamento e utilizando recurso de vault você segue todas as recomendações de segurança e dentro dos padrões de segurança de dados sensíveis. Posso futuramente abordar alguns trechos e como implementar passo a passo este recurso em módulos para M2, se vocês se interessarem sobre o assunto é só comentar e pedir.

Abraço e até a próxima!

2018-06-18T18:14:58+00:00

RECEBA DICAS VALIOSAS NO SEU EMAIL

x