-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Atualização de Segurança na Atividade de Links de Pagamento #143
Atualização de Segurança na Atividade de Links de Pagamento #143
Conversation
Boa tarde, pessoal! Tudo bem? Fizemos os testes e validamos que as atualizações estão funcionando corretamente, conforme os critérios de aceite exigem ✅ . Apenas um ponto (mas que acaba ficando fora do escopo deste PR) é que, ao cadastrar um cartão na página do link e tentar finalizar o pedido, tomamos um erro de |
…/bizcommerce/vindi-magento2 into fix/payment_link_security_update
Subi um ajuste pra corrigir esse erro. Apesar de não ter relação com esse PR, o ideal é corrigirmos isso antes de aprovar o mesmo. |
… release 2.3.0 (#145) * Versionamento da 2.1.0 (#134) * Link de Pagamento - Cancelamento de Pedido (#136) * fix: add 'view/base/web/images/cc' images * feat: adding information message when deleting credit card * feat: add translate payment * feat: committing the features of the functionality in general * fix: error with null * fix: unify settings on menu * fix: unify settings on menu * feat: Adding validation on the card success page * feat: add delete payment link cron * fix: returning composer to version '1.4.0' * fix: delete payment link argument * fix: correction of method names in the template * fix: adjusting BillPaid webhook flow for when it is subscription and when it is not * fix: correction when searching for customer data in purchases with pix in Model/Payment/Customer.php * fix: PLANOS (1) * fix: PLANOS (1) - quantidade de periodos vazio * fix: PLANOS (2) - correcao de labels e quantidade de ate 31 dias * fix: PLANOS (3) e (4) - ajuste na edicao de planos importados * fix: PRODUTOS (1) e (2) - ajuste de cadastro de planos ao salvar produtos * fix: - PRODUTOS (3) - removendo cache do campo observacoes * fix: ASSINATURAS (2) - ajuste ao refazer pedidos de assinatura * fix: ASSINATURAS (1) - correcao na aplicacao de descontos * fix 2: PLANOS (3) e (4) - ajuste na edicao de planos importados * fix: PLANOS - ajustes ao salvar configuracao da cobranca * fix 2: PLANOS (1) - quantidade de periodos vazio * fix: METODOS DE PAGAMENTO - correcao ao habilitar/desabilitar compras com recorrencia * fix: CHECKOUT - duplicacao de mensagens * fix: PLANOS adicionando ID ao code * fix: PRODUTO - adicionando filtro no preco para valores maiores que zero * fix: PLANOS - ajuste no code * fix: CHECKOUT - compra como convidado * fix: ASSINATURAS - ajuste na exibicao dos detalhes da assinatura * fix: LOGS - aplicacao de mascara no CVV e no registry_code * fix: PRODUTOS - exibicao de mensagem no carrinho * feat: show discount at checkout and redirect customer to home page if link expires * fix: LOG - refatoracao nas expressoes regulares * fix: CHECKOUT - ajuste na url do boleto na renovacao de ciclo de assinatura * fix: ajuste da label do botao de criar e enviar novo link de pagamento * refactor: ajustando codigo para validacao do PHPStan * VINDI-158: estilizacao paginas link de pagamento e sucesso * Retorna arquivos comitados por engano * feat: vindi payment link module * fix: remove delete payment link after first access * feat: frontend development * fix: fix error Block/InfoTrait.php * fix: pay now color * feat: login is required, columns in the grid in the admin and frontend * feat: mass action send payment link email * feat: create payment link status * fix: add status validation in mass payment link send * fix: change link payment expiration time for 20 days * fix: update expired link * fix: change paid to processed status * fix: creating email trigger config * fix: changing the instruction label on the payment link success page * fix: setting a default template if none is selected * fix: name in from customer template * feat: add transtale * feat: adding access to the payment link also within the order * fix: change the link status if the order is canceled and it has not yet been changed * refactor: readjusting features to test them better * changing the version to 2.1.0 * feat: mass sending of emails in the order grid * feat: cancel order if payment link not processed * fix: save payment additionoal information in saved card * fix: version * refactor: change translate * fix: remove version in composer.json * feat: when invoicing orders, payments are processed * refactor: line comment * fix: plan form format --------- Co-authored-by: Iago Cedran <[email protected]> Co-authored-by: Thiago Contardi <[email protected]> Co-authored-by: Caroline Esteves <[email protected]> * Link de Pagamento - Template de Email (#137) * feat: adding information message when deleting credit card * feat: add translation * feat: add translate payment * feat: committing the features of the functionality in general * fix: error with null * fix: unify settings on menu * fix: unify settings on menu * feat: Adding validation on the card success page * feat: add delete payment link cron * fix: returning composer to version '1.4.0' * fix: delete payment link argument * fix: correction of method names in the template * fix: adjusting BillPaid webhook flow for when it is subscription and when it is not * fix: correction when searching for customer data in purchases with pix in Model/Payment/Customer.php * fix: PLANOS (1) * fix: PLANOS (1) - quantidade de periodos vazio * fix: PLANOS (2) - correcao de labels e quantidade de ate 31 dias * fix: PLANOS (3) e (4) - ajuste na edicao de planos importados * fix: PRODUTOS (1) e (2) - ajuste de cadastro de planos ao salvar produtos * fix: - PRODUTOS (3) - removendo cache do campo observacoes * fix: ASSINATURAS (2) - ajuste ao refazer pedidos de assinatura * fix: ASSINATURAS (1) - correcao na aplicacao de descontos * fix 2: PLANOS (3) e (4) - ajuste na edicao de planos importados * fix: PLANOS - ajustes ao salvar configuracao da cobranca * fix 2: PLANOS (1) - quantidade de periodos vazio * fix: METODOS DE PAGAMENTO - correcao ao habilitar/desabilitar compras com recorrencia * fix: CHECKOUT - duplicacao de mensagens * fix: PLANOS adicionando ID ao code * fix: PRODUTO - adicionando filtro no preco para valores maiores que zero * fix: PLANOS - ajuste no code * fix: CHECKOUT - compra como convidado * fix: ASSINATURAS - ajuste na exibicao dos detalhes da assinatura * fix: LOGS - aplicacao de mascara no CVV e no registry_code * fix: PRODUTOS - exibicao de mensagem no carrinho * feat: show discount at checkout and redirect customer to home page if link expires * fix: LOG - refatoracao nas expressoes regulares * fix: CHECKOUT - ajuste na url do boleto na renovacao de ciclo de assinatura * fix: ajuste da label do botao de criar e enviar novo link de pagamento * refactor: ajustando codigo para validacao do PHPStan * VINDI-158: estilizacao paginas link de pagamento e sucesso * Retorna arquivos comitados por engano * feat: vindi payment link module * fix: remove delete payment link after first access * feat: frontend development * fix: fix error Block/InfoTrait.php * fix: pay now color * feat: login is required, columns in the grid in the admin and frontend * feat: mass action send payment link email * feat: create payment link status * fix: add status validation in mass payment link send * fix: change link payment expiration time for 20 days * fix: update expired link * fix: change paid to processed status * fix: creating email trigger config * fix: changing the instruction label on the payment link success page * fix: setting a default template if none is selected * fix: name in from customer template * feat: add transtale * feat: adding access to the payment link also within the order * fix: change the link status if the order is canceled and it has not yet been changed * refactor: readjusting features to test them better * changing the version to 2.1.0 * feat: mass sending of emails in the order grid * feat: cancel order if payment link not processed * feat: add template email by config * fix: save payment additionoal information in saved card * fix: version * fix: adjusting link access correction * refactor: change translate * fix: remove version in composer.json * feat: when invoicing orders, payments are processed * fix: correcting to pick up emails, either the default, or those created from the default * feat: changing the display of labels in the admin * feat: adding expiration validation to access payment link success page * fix: only 'vindi_vr_payment_link_template' custom email template * fix: change form with get status * feat: implementing single view system on success page * refactor: line comment * fix: plan form format --------- Co-authored-by: Iago Cedran <[email protected]> Co-authored-by: Thiago Contardi <[email protected]> Co-authored-by: Caroline Esteves <[email protected]> * Novo layout do cartão de crédito na página de checkout (#138) * feat: removed deprecated magento 2 classes * feat: removed deprecated magento 2 classes * fix: remove unused patch * fix: call non existing class * fix: return composer version * Versionamento da 2.1.0 * feat: new card layout * fix: same input id for different fields * fix: cacheable false for product view * fix: add cache key info product block * feat: added all available brands --------- Co-authored-by: Iago Cedran <[email protected]> Co-authored-by: Thiago Contardi <[email protected]> Co-authored-by: Thais Kusuki <[email protected]> Co-authored-by: Thais Kusuki <[email protected]> * Excluir/Incluir Itens na assinatura (#141) * feat: removed deprecated magento 2 classes * feat: removed deprecated magento 2 classes * fix: remove unused patch * fix: call non existing class * fix: return composer version * Versionamento da 2.1.0 * feat: adding and deleting items in the subscription * feat: exclude and include subscription items * fix: adding validation so you can't exclude shipping or leave a subscription without a product * feat: add duration in subscription item * fix: add permanent option in item cycles * refactor: restoring OrderCreator helper * fix: adjust creation of new orders * refactor: create observer to update subscription data * feat: add quantity in subscription item * fix: error updating subscription items in the observer * fix: add validate quantity greater than zero * fix: add validate quantity greater than zero * fix: add validate quantity greater than zero * fix: customer id error when create register * fix: customer id error when create register * fix: fixing zero price validations * fix: finalizing orders with zero prices * feat: new card layout * fix: same input id for different fields * fix: cacheable false for product view * fix: add cache key info product block * fix: add discount in subscriptions * fix: correcting quantity validation in shipping * feat: added all available brands * fix: removed status on item creation * fix: correcting duplication of items on the invoice * fix: adjusting the addition of temporary items * fix: removing the item when creating the invoice * fix: removing the item when creating the invoice * fix: removing the item when creating the invoice * fix: removing the item when creating the invoice * fix: removing the item when creating the invoice * fix: removing duplication in translation --------- Co-authored-by: Thiago Contardi <[email protected]> Co-authored-by: Thiago Contardi <[email protected]> Co-authored-by: Thais Kusuki <[email protected]> Co-authored-by: Thais Kusuki <[email protected]> Co-authored-by: Iago Cedran <[email protected]> Co-authored-by: Contardi <[email protected]> * Inativar/Ativar item na assinatura (#142) * feat: removed deprecated magento 2 classes * feat: removed deprecated magento 2 classes * fix: remove unused patch * fix: call non existing class * fix: return composer version * Versionamento da 2.1.0 * feat: adding and deleting items in the subscription * feat: exclude and include subscription items * fix: adding validation so you can't exclude shipping or leave a subscription without a product * feat: add duration in subscription item * fix: add permanent option in item cycles * refactor: restoring OrderCreator helper * fix: adjust creation of new orders * refactor: create observer to update subscription data * feat: add quantity in subscription item * fix: error updating subscription items in the observer * fix: add validate quantity greater than zero * fix: add validate quantity greater than zero * fix: add validate quantity greater than zero * fix: customer id error when create register * fix: customer id error when create register * fix: fixing zero price validations * fix: finalizing orders with zero prices * feat: adding option to change subscription item status * feat: new card layout * fix: same input id for different fields * fix: cacheable false for product view * fix: add cache key info product block * fix: add discount in subscriptions * fix: correcting quantity validation in shipping * feat: added all available brands * fix: removed status on item creation * fix: correcting duplication of items on the invoice * fix: adjusting the addition of temporary items * fix: removing the item when creating the invoice * fix: removing the item when creating the invoice * fix: removing the item when creating the invoice * fix: removing the item when creating the invoice * fix: removing the item when creating the invoice * fix: removing the item when creating the invoice * fix: removing the item when creating the invoice * fix: removing duplication in translation * fix: remove duplicate itens --------- Co-authored-by: Thiago Contardi <[email protected]> Co-authored-by: Thiago Contardi <[email protected]> Co-authored-by: Thais Kusuki <[email protected]> Co-authored-by: Thais Kusuki <[email protected]> Co-authored-by: Iago Cedran <[email protected]> Co-authored-by: Contardi <[email protected]> * Atualização de Segurança na Atividade de Links de Pagamento (#143) * feat: removed deprecated magento 2 classes * feat: removed deprecated magento 2 classes * fix: remove unused patch * fix: call non existing class * fix: return composer version * Versionamento da 2.1.0 * feat: new card layout * fix: same input id for different fields * fix: cacheable false for product view * fix: add cache key info product block * feat: added all available brands * feat: removing payment link from email and my orders * fix: correcting pix qrcode size * fix: error when creating order with new card * fix: save cc_type name * Atualiza `development` com a `master` (#144) * Versionamento da 2.1.0 * Nova versão plugin Magento2 VR - Inserindo novo layout de cartão de crédito no checkout (#139) ## [2.2.0 - 14/01/2025](https://github.com/vindi/vindi-magento2/releases/tag/2.2.0) - Novo layout do cartão de crédito na página de checkout * Versão 2.2.0 (#140) * Versionamento da 2.1.0 (#134) * Link de Pagamento - Cancelamento de Pedido (#136) * fix: add 'view/base/web/images/cc' images * feat: adding information message when deleting credit card * feat: add translate payment * feat: committing the features of the functionality in general * fix: error with null * fix: unify settings on menu * fix: unify settings on menu * feat: Adding validation on the card success page * feat: add delete payment link cron * fix: returning composer to version '1.4.0' * fix: delete payment link argument * fix: correction of method names in the template * fix: adjusting BillPaid webhook flow for when it is subscription and when it is not * fix: correction when searching for customer data in purchases with pix in Model/Payment/Customer.php * fix: PLANOS (1) * fix: PLANOS (1) - quantidade de periodos vazio * fix: PLANOS (2) - correcao de labels e quantidade de ate 31 dias * fix: PLANOS (3) e (4) - ajuste na edicao de planos importados * fix: PRODUTOS (1) e (2) - ajuste de cadastro de planos ao salvar produtos * fix: - PRODUTOS (3) - removendo cache do campo observacoes * fix: ASSINATURAS (2) - ajuste ao refazer pedidos de assinatura * fix: ASSINATURAS (1) - correcao na aplicacao de descontos * fix 2: PLANOS (3) e (4) - ajuste na edicao de planos importados * fix: PLANOS - ajustes ao salvar configuracao da cobranca * fix 2: PLANOS (1) - quantidade de periodos vazio * fix: METODOS DE PAGAMENTO - correcao ao habilitar/desabilitar compras com recorrencia * fix: CHECKOUT - duplicacao de mensagens * fix: PLANOS adicionando ID ao code * fix: PRODUTO - adicionando filtro no preco para valores maiores que zero * fix: PLANOS - ajuste no code * fix: CHECKOUT - compra como convidado * fix: ASSINATURAS - ajuste na exibicao dos detalhes da assinatura * fix: LOGS - aplicacao de mascara no CVV e no registry_code * fix: PRODUTOS - exibicao de mensagem no carrinho * feat: show discount at checkout and redirect customer to home page if link expires * fix: LOG - refatoracao nas expressoes regulares * fix: CHECKOUT - ajuste na url do boleto na renovacao de ciclo de assinatura * fix: ajuste da label do botao de criar e enviar novo link de pagamento * refactor: ajustando codigo para validacao do PHPStan * VINDI-158: estilizacao paginas link de pagamento e sucesso * Retorna arquivos comitados por engano * feat: vindi payment link module * fix: remove delete payment link after first access * feat: frontend development * fix: fix error Block/InfoTrait.php * fix: pay now color * feat: login is required, columns in the grid in the admin and frontend * feat: mass action send payment link email * feat: create payment link status * fix: add status validation in mass payment link send * fix: change link payment expiration time for 20 days * fix: update expired link * fix: change paid to processed status * fix: creating email trigger config * fix: changing the instruction label on the payment link success page * fix: setting a default template if none is selected * fix: name in from customer template * feat: add transtale * feat: adding access to the payment link also within the order * fix: change the link status if the order is canceled and it has not yet been changed * refactor: readjusting features to test them better * changing the version to 2.1.0 * feat: mass sending of emails in the order grid * feat: cancel order if payment link not processed * fix: save payment additionoal information in saved card * fix: version * refactor: change translate * fix: remove version in composer.json * feat: when invoicing orders, payments are processed * refactor: line comment * fix: plan form format --------- Co-authored-by: Iago Cedran <[email protected]> Co-authored-by: Thiago Contardi <[email protected]> Co-authored-by: Caroline Esteves <[email protected]> * Link de Pagamento - Template de Email (#137) * feat: adding information message when deleting credit card * feat: add translation * feat: add translate payment * feat: committing the features of the functionality in general * fix: error with null * fix: unify settings on menu * fix: unify settings on menu * feat: Adding validation on the card success page * feat: add delete payment link cron * fix: returning composer to version '1.4.0' * fix: delete payment link argument * fix: correction of method names in the template * fix: adjusting BillPaid webhook flow for when it is subscription and when it is not * fix: correction when searching for customer data in purchases with pix in Model/Payment/Customer.php * fix: PLANOS (1) * fix: PLANOS (1) - quantidade de periodos vazio * fix: PLANOS (2) - correcao de labels e quantidade de ate 31 dias * fix: PLANOS (3) e (4) - ajuste na edicao de planos importados * fix: PRODUTOS (1) e (2) - ajuste de cadastro de planos ao salvar produtos * fix: - PRODUTOS (3) - removendo cache do campo observacoes * fix: ASSINATURAS (2) - ajuste ao refazer pedidos de assinatura * fix: ASSINATURAS (1) - correcao na aplicacao de descontos * fix 2: PLANOS (3) e (4) - ajuste na edicao de planos importados * fix: PLANOS - ajustes ao salvar configuracao da cobranca * fix 2: PLANOS (1) - quantidade de periodos vazio * fix: METODOS DE PAGAMENTO - correcao ao habilitar/desabilitar compras com recorrencia * fix: CHECKOUT - duplicacao de mensagens * fix: PLANOS adicionando ID ao code * fix: PRODUTO - adicionando filtro no preco para valores maiores que zero * fix: PLANOS - ajuste no code * fix: CHECKOUT - compra como convidado * fix: ASSINATURAS - ajuste na exibicao dos detalhes da assinatura * fix: LOGS - aplicacao de mascara no CVV e no registry_code * fix: PRODUTOS - exibicao de mensagem no carrinho * feat: show discount at checkout and redirect customer to home page if link expires * fix: LOG - refatoracao nas expressoes regulares * fix: CHECKOUT - ajuste na url do boleto na renovacao de ciclo de assinatura * fix: ajuste da label do botao de criar e enviar novo link de pagamento * refactor: ajustando codigo para validacao do PHPStan * VINDI-158: estilizacao paginas link de pagamento e sucesso * Retorna arquivos comitados por engano * feat: vindi payment link module * fix: remove delete payment link after first access * feat: frontend development * fix: fix error Block/InfoTrait.php * fix: pay now color * feat: login is required, columns in the grid in the admin and frontend * feat: mass action send payment link email * feat: create payment link status * fix: add status validation in mass payment link send * fix: change link payment expiration time for 20 days * fix: update expired link * fix: change paid to processed status * fix: creating email trigger config * fix: changing the instruction label on the payment link success page * fix: setting a default template if none is selected * fix: name in from customer template * feat: add transtale * feat: adding access to the payment link also within the order * fix: change the link status if the order is canceled and it has not yet been changed * refactor: readjusting features to test them better * changing the version to 2.1.0 * feat: mass sending of emails in the order grid * feat: cancel order if payment link not processed * feat: add template email by config * fix: save payment additionoal information in saved card * fix: version * fix: adjusting link access correction * refactor: change translate * fix: remove version in composer.json * feat: when invoicing orders, payments are processed * fix: correcting to pick up emails, either the default, or those created from the default * feat: changing the display of labels in the admin * feat: adding expiration validation to access payment link success page * fix: only 'vindi_vr_payment_link_template' custom email template * fix: change form with get status * feat: implementing single view system on success page * refactor: line comment * fix: plan form format --------- Co-authored-by: Iago Cedran <[email protected]> Co-authored-by: Thiago Contardi <[email protected]> Co-authored-by: Caroline Esteves <[email protected]> * Novo layout do cartão de crédito na página de checkout (#138) * feat: removed deprecated magento 2 classes * feat: removed deprecated magento 2 classes * fix: remove unused patch * fix: call non existing class * fix: return composer version * Versionamento da 2.1.0 * feat: new card layout * fix: same input id for different fields * fix: cacheable false for product view * fix: add cache key info product block * feat: added all available brands --------- Co-authored-by: Iago Cedran <[email protected]> Co-authored-by: Thiago Contardi <[email protected]> Co-authored-by: Thais Kusuki <[email protected]> Co-authored-by: Thais Kusuki <[email protected]> * inserindo as outras alterações no merge --------- Co-authored-by: Thais Kusuki <[email protected]> Co-authored-by: Iago Cedran <[email protected]> Co-authored-by: Iago Cedran <[email protected]> Co-authored-by: Thiago Contardi <[email protected]> Co-authored-by: Caroline Esteves <[email protected]> Co-authored-by: Contardi <[email protected]> Co-authored-by: Thiago Contardi <[email protected]> Co-authored-by: Thais Kusuki <[email protected]> --------- Co-authored-by: Thais Kusuki <[email protected]> Co-authored-by: Thais Kusuki <[email protected]> Co-authored-by: Thalita Nascimento <[email protected]> Co-authored-by: Iago Cedran <[email protected]> Co-authored-by: Iago Cedran <[email protected]> Co-authored-by: Thiago Contardi <[email protected]> Co-authored-by: Caroline Esteves <[email protected]> Co-authored-by: Contardi <[email protected]> Co-authored-by: Thiago Contardi <[email protected]> --------- Co-authored-by: Thais Kusuki <[email protected]> Co-authored-by: Iago Cedran <[email protected]> Co-authored-by: Iago Cedran <[email protected]> Co-authored-by: Thiago Contardi <[email protected]> Co-authored-by: Caroline Esteves <[email protected]> Co-authored-by: Contardi <[email protected]> Co-authored-by: Thiago Contardi <[email protected]> Co-authored-by: Thais Kusuki <[email protected]> Co-authored-by: Thalita Nascimento <[email protected]>
O que mudou
Modificada a abordagem de envio de links de pagamento no módulo para garantir conformidade com novas diretrizes de segurança. A partir desta atualização, os links de pagamento não são mais enviados diretamente para os clientes via e-mail ou WhatsApp. Em vez disso, os clientes são notificados por e-mail sobre a geração do link, com a instrução de acessá-lo através da Central do Cliente. Além disso, os links de pagamento não podem mais ser acessados pelo painel do administrador da loja, garantindo que apenas o cliente autenticado tenha acesso a eles.
Motivação
A atualização visa aumentar a segurança no compartilhamento de links de pagamento, garantindo que apenas clientes autenticados possam acessá-los na Central do Cliente. Essa mudança evita que links de pagamento sejam expostos indevidamente em canais não seguros, mitigando riscos de fraude e uso indevido. Também reforça a privacidade do cliente, removendo o acesso ao link pelo painel do administrador.
Solução proposta
A solução implementada altera o fluxo de comunicação dos links de pagamento, garantindo que:
Detalhes técnicos
Como testar
Notificação de Geração de Link de Pagamento via E-mail
Disponibilidade do Link de Pagamento na Central do Cliente
Verificação de Inexistência de Link em Canais Não Permitidos
Segurança do Link de Pagamento na Central do Cliente
Critérios de Aceitação
Loja para Teste
https://demo-vindi.loja.biz/painel
Lá terá todos os registros de email disparados.