> ## Content Index
> Fetch the complete content index at: https://blog.iopay.com.br/llms.txt
> Use this file to discover other available public pages before exploring further.

# Checkout transparente para OpenMage: como modernizar pagamentos em lojas baseadas em Magento 1
- URL: https://blog.iopay.com.br/checkout-transparente-openmage-magento-1-pagamentos/
- Published: 2026-08-24T08:19:00.000Z
- Updated: 2026-08-24T08:35:00.000Z
- Description: OpenMage prolonga a vida de ecossistemas Magento 1, mas checkout, segurança, PHP, extensões e meios de pagamento precisam ser tratados como projeto de modernização contínua.
- Author: Rodrigo A. Rodriguez
- Tags: E-commerce, Checkout & Conversão, #Import 2026-08-24 08:41

Migrar de Magento 1 para OpenMage pode preservar anos de investimento em catálogo, integrações e customizações. Mas permanecer em uma base familiar não significa congelar a camada de pagamentos: checkout, PHP, segurança, módulos e observabilidade precisam continuar evoluindo.

## Visão geral

A IOPAY possui página específica de checkout para OpenMage. O próprio OpenMage se apresenta como projeto comunitário de long-term support baseado no Magento Community Edition, com foco em compatibilidade, patches e evolução do ecossistema. A proposta deste conteúdo é unir contexto comercial e profundidade técnica. Quem decide precisa entender o impacto em receita, risco e operação; quem implementa precisa enxergar estados, contratos de API e cenários de falha; e quem opera precisa ter dados suficientes para explicar o que aconteceu depois que o cliente clicou em pagar.

## OpenMage e Magento 1

Em checkout transparente no openmage, OpenMage mantém alta compatibilidade com Magento 1 em suas linhas LTS. Isso importa porque lojas legadas conseguem preservar investimento enquanto atualizam a base. Pagamentos parecem uma etapa única na interface, mas internamente são uma sequência de decisões, estados e eventos. A empresa precisa distinguir intenção de compra, tentativa, autorização, captura, confirmação, liquidação e eventos posteriores, porque cada um pode falhar ou chegar em momentos diferentes. Quanto mais cedo essa separação é feita, mais fácil fica evoluir o produto sem depender de regras improvisadas espalhadas pelo checkout, pelo ERP e pelo atendimento.

A implementação mais consistente é inventariar módulos e customizações antes da migração. O acompanhamento deve incluir compatibilidade por extensão. Além das médias, vale segmentar por canal, dispositivo, meio de pagamento, plataforma, seller ou perfil de cliente quando houver volume suficiente. Uma taxa global pode esconder um problema grave em apenas um browser, uma bandeira, uma versão de plugin ou uma rota específica. O objetivo não é acumular dashboards, mas criar sinais acionáveis que permitam saber onde mexer e qual efeito esperar.

O cuidado principal é assumir compatibilidade total entre qualquer versão. Em sistemas distribuídos, retries, timeouts, callbacks duplicados e estados intermediários são normais; a robustez está em tratá-los como parte do desenho, e não como exceções raras. IDs estáveis, idempotência, logs seguros, filas e reconciliação formam uma camada de proteção contra erros que, em pagamentos, podem se transformar em cobrança duplicada, estoque incorreto ou divergência financeira. Por isso, cada mudança relevante deve nascer com critérios de aceite, observabilidade e estratégia de rollback.

## Checkout transparente

Na prática, a experiência integrada reduz mudança de contexto. Isso importa porque lojas antigas frequentemente acumulam passos e customizações. Pagamentos parecem uma etapa única na interface, mas internamente são uma sequência de decisões, estados e eventos. A empresa precisa distinguir intenção de compra, tentativa, autorização, captura, confirmação, liquidação e eventos posteriores, porque cada um pode falhar ou chegar em momentos diferentes. Quanto mais cedo essa separação é feita, mais fácil fica evoluir o produto sem depender de regras improvisadas espalhadas pelo checkout, pelo ERP e pelo atendimento.

A implementação mais consistente é simplificar o fluxo sem perder validações. O acompanhamento deve incluir abandono por etapa. Além das médias, vale segmentar por canal, dispositivo, meio de pagamento, plataforma, seller ou perfil de cliente quando houver volume suficiente. Uma taxa global pode esconder um problema grave em apenas um browser, uma bandeira, uma versão de plugin ou uma rota específica. O objetivo não é acumular dashboards, mas criar sinais acionáveis que permitam saber onde mexer e qual efeito esperar.

O cuidado principal é trocar aparência sem revisar arquitetura. Em sistemas distribuídos, retries, timeouts, callbacks duplicados e estados intermediários são normais; a robustez está em tratá-los como parte do desenho, e não como exceções raras. IDs estáveis, idempotência, logs seguros, filas e reconciliação formam uma camada de proteção contra erros que, em pagamentos, podem se transformar em cobrança duplicada, estoque incorreto ou divergência financeira. Por isso, cada mudança relevante deve nascer com critérios de aceite, observabilidade e estratégia de rollback.

## Módulo de pagamento

Quando a operação ganha volume, a extensão deve permanecer separada do core. Isso importa porque alterações diretas dificultam patches e atualização. Pagamentos parecem uma etapa única na interface, mas internamente são uma sequência de decisões, estados e eventos. A empresa precisa distinguir intenção de compra, tentativa, autorização, captura, confirmação, liquidação e eventos posteriores, porque cada um pode falhar ou chegar em momentos diferentes. Quanto mais cedo essa separação é feita, mais fácil fica evoluir o produto sem depender de regras improvisadas espalhadas pelo checkout, pelo ERP e pelo atendimento.

A implementação mais consistente é instalar módulo versionado e manter changelog. O acompanhamento deve incluir incidentes após atualização. Além das médias, vale segmentar por canal, dispositivo, meio de pagamento, plataforma, seller ou perfil de cliente quando houver volume suficiente. Uma taxa global pode esconder um problema grave em apenas um browser, uma bandeira, uma versão de plugin ou uma rota específica. O objetivo não é acumular dashboards, mas criar sinais acionáveis que permitam saber onde mexer e qual efeito esperar.

O cuidado principal é editar classes core. Em sistemas distribuídos, retries, timeouts, callbacks duplicados e estados intermediários são normais; a robustez está em tratá-los como parte do desenho, e não como exceções raras. IDs estáveis, idempotência, logs seguros, filas e reconciliação formam uma camada de proteção contra erros que, em pagamentos, podem se transformar em cobrança duplicada, estoque incorreto ou divergência financeira. Por isso, cada mudança relevante deve nascer com critérios de aceite, observabilidade e estratégia de rollback.

## Cartão

Do ponto de vista de produto, cartão exige captura segura, parcelamento e estados coerentes. Isso importa porque Magento 1 tem ecossistema antigo e muitas customizações. Pagamentos parecem uma etapa única na interface, mas internamente são uma sequência de decisões, estados e eventos. A empresa precisa distinguir intenção de compra, tentativa, autorização, captura, confirmação, liquidação e eventos posteriores, porque cada um pode falhar ou chegar em momentos diferentes. Quanto mais cedo essa separação é feita, mais fácil fica evoluir o produto sem depender de regras improvisadas espalhadas pelo checkout, pelo ERP e pelo atendimento.

A implementação mais consistente é minimizar dados sensíveis no merchant. O acompanhamento deve incluir aprovação e erros. Além das médias, vale segmentar por canal, dispositivo, meio de pagamento, plataforma, seller ou perfil de cliente quando houver volume suficiente. Uma taxa global pode esconder um problema grave em apenas um browser, uma bandeira, uma versão de plugin ou uma rota específica. O objetivo não é acumular dashboards, mas criar sinais acionáveis que permitam saber onde mexer e qual efeito esperar.

O cuidado principal é guardar PAN/CVV. Em sistemas distribuídos, retries, timeouts, callbacks duplicados e estados intermediários são normais; a robustez está em tratá-los como parte do desenho, e não como exceções raras. IDs estáveis, idempotência, logs seguros, filas e reconciliação formam uma camada de proteção contra erros que, em pagamentos, podem se transformar em cobrança duplicada, estoque incorreto ou divergência financeira. Por isso, cada mudança relevante deve nascer com critérios de aceite, observabilidade e estratégia de rollback.

## Pix

Para uma equipe de pagamentos, Pix pode modernizar conversão sem reescrever toda a loja. Isso importa porque é um meio assíncrono e precisa de confirmação. Pagamentos parecem uma etapa única na interface, mas internamente são uma sequência de decisões, estados e eventos. A empresa precisa distinguir intenção de compra, tentativa, autorização, captura, confirmação, liquidação e eventos posteriores, porque cada um pode falhar ou chegar em momentos diferentes. Quanto mais cedo essa separação é feita, mais fácil fica evoluir o produto sem depender de regras improvisadas espalhadas pelo checkout, pelo ERP e pelo atendimento.

A implementação mais consistente é usar QR/copia e cola e webhook. O acompanhamento deve incluir tempo até pagamento. Além das médias, vale segmentar por canal, dispositivo, meio de pagamento, plataforma, seller ou perfil de cliente quando houver volume suficiente. Uma taxa global pode esconder um problema grave em apenas um browser, uma bandeira, uma versão de plugin ou uma rota específica. O objetivo não é acumular dashboards, mas criar sinais acionáveis que permitam saber onde mexer e qual efeito esperar.

O cuidado principal é marcar pago na geração. Em sistemas distribuídos, retries, timeouts, callbacks duplicados e estados intermediários são normais; a robustez está em tratá-los como parte do desenho, e não como exceções raras. IDs estáveis, idempotência, logs seguros, filas e reconciliação formam uma camada de proteção contra erros que, em pagamentos, podem se transformar em cobrança duplicada, estoque incorreto ou divergência financeira. Por isso, cada mudança relevante deve nascer com critérios de aceite, observabilidade e estratégia de rollback.

## Boleto

Em uma arquitetura madura, boleto possui ciclo distinto. Isso importa porque pedido pode permanecer aguardando confirmação. Pagamentos parecem uma etapa única na interface, mas internamente são uma sequência de decisões, estados e eventos. A empresa precisa distinguir intenção de compra, tentativa, autorização, captura, confirmação, liquidação e eventos posteriores, porque cada um pode falhar ou chegar em momentos diferentes. Quanto mais cedo essa separação é feita, mais fácil fica evoluir o produto sem depender de regras improvisadas espalhadas pelo checkout, pelo ERP e pelo atendimento.

A implementação mais consistente é mapear pending e paid. O acompanhamento deve incluir gerado versus pago. Além das médias, vale segmentar por canal, dispositivo, meio de pagamento, plataforma, seller ou perfil de cliente quando houver volume suficiente. Uma taxa global pode esconder um problema grave em apenas um browser, uma bandeira, uma versão de plugin ou uma rota específica. O objetivo não é acumular dashboards, mas criar sinais acionáveis que permitam saber onde mexer e qual efeito esperar.

O cuidado principal é despachar sem confirmação. Em sistemas distribuídos, retries, timeouts, callbacks duplicados e estados intermediários são normais; a robustez está em tratá-los como parte do desenho, e não como exceções raras. IDs estáveis, idempotência, logs seguros, filas e reconciliação formam uma camada de proteção contra erros que, em pagamentos, podem se transformar em cobrança duplicada, estoque incorreto ou divergência financeira. Por isso, cada mudança relevante deve nascer com critérios de aceite, observabilidade e estratégia de rollback.

## PHP e runtime

Em checkout transparente no openmage, OpenMage moderno suporta runtimes mais atuais em linhas suportadas. Isso importa porque segurança e performance dependem do ambiente. Pagamentos parecem uma etapa única na interface, mas internamente são uma sequência de decisões, estados e eventos. A empresa precisa distinguir intenção de compra, tentativa, autorização, captura, confirmação, liquidação e eventos posteriores, porque cada um pode falhar ou chegar em momentos diferentes. Quanto mais cedo essa separação é feita, mais fácil fica evoluir o produto sem depender de regras improvisadas espalhadas pelo checkout, pelo ERP e pelo atendimento.

A implementação mais consistente é seguir requisitos da versão em uso. O acompanhamento deve incluir erros após upgrade. Além das médias, vale segmentar por canal, dispositivo, meio de pagamento, plataforma, seller ou perfil de cliente quando houver volume suficiente. Uma taxa global pode esconder um problema grave em apenas um browser, uma bandeira, uma versão de plugin ou uma rota específica. O objetivo não é acumular dashboards, mas criar sinais acionáveis que permitam saber onde mexer e qual efeito esperar.

O cuidado principal é atualizar PHP sem homologar extensões. Em sistemas distribuídos, retries, timeouts, callbacks duplicados e estados intermediários são normais; a robustez está em tratá-los como parte do desenho, e não como exceções raras. IDs estáveis, idempotência, logs seguros, filas e reconciliação formam uma camada de proteção contra erros que, em pagamentos, podem se transformar em cobrança duplicada, estoque incorreto ou divergência financeira. Por isso, cada mudança relevante deve nascer com critérios de aceite, observabilidade e estratégia de rollback.

## Redis e cache

Na prática, lojas antigas podem ganhar muito com modernização de infraestrutura. Isso importa porque checkout compete com catálogo e sessão. Pagamentos parecem uma etapa única na interface, mas internamente são uma sequência de decisões, estados e eventos. A empresa precisa distinguir intenção de compra, tentativa, autorização, captura, confirmação, liquidação e eventos posteriores, porque cada um pode falhar ou chegar em momentos diferentes. Quanto mais cedo essa separação é feita, mais fácil fica evoluir o produto sem depender de regras improvisadas espalhadas pelo checkout, pelo ERP e pelo atendimento.

A implementação mais consistente é usar caches suportados e monitorar. O acompanhamento deve incluir tempo de resposta. Além das médias, vale segmentar por canal, dispositivo, meio de pagamento, plataforma, seller ou perfil de cliente quando houver volume suficiente. Uma taxa global pode esconder um problema grave em apenas um browser, uma bandeira, uma versão de plugin ou uma rota específica. O objetivo não é acumular dashboards, mas criar sinais acionáveis que permitam saber onde mexer e qual efeito esperar.

O cuidado principal é cachear estado financeiro incorretamente. Em sistemas distribuídos, retries, timeouts, callbacks duplicados e estados intermediários são normais; a robustez está em tratá-los como parte do desenho, e não como exceções raras. IDs estáveis, idempotência, logs seguros, filas e reconciliação formam uma camada de proteção contra erros que, em pagamentos, podem se transformar em cobrança duplicada, estoque incorreto ou divergência financeira. Por isso, cada mudança relevante deve nascer com critérios de aceite, observabilidade e estratégia de rollback.

## Tema e JavaScript

Quando a operação ganha volume, frontends legados acumulam scripts. Isso importa porque checkout é sensível a conflitos. Pagamentos parecem uma etapa única na interface, mas internamente são uma sequência de decisões, estados e eventos. A empresa precisa distinguir intenção de compra, tentativa, autorização, captura, confirmação, liquidação e eventos posteriores, porque cada um pode falhar ou chegar em momentos diferentes. Quanto mais cedo essa separação é feita, mais fácil fica evoluir o produto sem depender de regras improvisadas espalhadas pelo checkout, pelo ERP e pelo atendimento.

A implementação mais consistente é testar em browsers e dispositivos reais. O acompanhamento deve incluir erros JS. Além das médias, vale segmentar por canal, dispositivo, meio de pagamento, plataforma, seller ou perfil de cliente quando houver volume suficiente. Uma taxa global pode esconder um problema grave em apenas um browser, uma bandeira, uma versão de plugin ou uma rota específica. O objetivo não é acumular dashboards, mas criar sinais acionáveis que permitam saber onde mexer e qual efeito esperar.

O cuidado principal é carregar scripts abandonados. Em sistemas distribuídos, retries, timeouts, callbacks duplicados e estados intermediários são normais; a robustez está em tratá-los como parte do desenho, e não como exceções raras. IDs estáveis, idempotência, logs seguros, filas e reconciliação formam uma camada de proteção contra erros que, em pagamentos, podem se transformar em cobrança duplicada, estoque incorreto ou divergência financeira. Por isso, cada mudança relevante deve nascer com critérios de aceite, observabilidade e estratégia de rollback.

## Segurança

Do ponto de vista de produto, Magento 1 original chegou ao fim de vida, mas OpenMage mantém projeto ativo. Isso importa porque não basta trocar o nome da plataforma. Pagamentos parecem uma etapa única na interface, mas internamente são uma sequência de decisões, estados e eventos. A empresa precisa distinguir intenção de compra, tentativa, autorização, captura, confirmação, liquidação e eventos posteriores, porque cada um pode falhar ou chegar em momentos diferentes. Quanto mais cedo essa separação é feita, mais fácil fica evoluir o produto sem depender de regras improvisadas espalhadas pelo checkout, pelo ERP e pelo atendimento.

A implementação mais consistente é acompanhar releases e patches. O acompanhamento deve incluir tempo sem update. Além das médias, vale segmentar por canal, dispositivo, meio de pagamento, plataforma, seller ou perfil de cliente quando houver volume suficiente. Uma taxa global pode esconder um problema grave em apenas um browser, uma bandeira, uma versão de plugin ou uma rota específica. O objetivo não é acumular dashboards, mas criar sinais acionáveis que permitam saber onde mexer e qual efeito esperar.

O cuidado principal é rodar versão antiga indefinidamente. Em sistemas distribuídos, retries, timeouts, callbacks duplicados e estados intermediários são normais; a robustez está em tratá-los como parte do desenho, e não como exceções raras. IDs estáveis, idempotência, logs seguros, filas e reconciliação formam uma camada de proteção contra erros que, em pagamentos, podem se transformar em cobrança duplicada, estoque incorreto ou divergência financeira. Por isso, cada mudança relevante deve nascer com critérios de aceite, observabilidade e estratégia de rollback.

## Webhooks

Para uma equipe de pagamentos, estado externo precisa refletir no pedido. Isso importa porque cliente pode sair da loja. Pagamentos parecem uma etapa única na interface, mas internamente são uma sequência de decisões, estados e eventos. A empresa precisa distinguir intenção de compra, tentativa, autorização, captura, confirmação, liquidação e eventos posteriores, porque cada um pode falhar ou chegar em momentos diferentes. Quanto mais cedo essa separação é feita, mais fácil fica evoluir o produto sem depender de regras improvisadas espalhadas pelo checkout, pelo ERP e pelo atendimento.

A implementação mais consistente é processar eventos idempotentes. O acompanhamento deve incluir pedidos divergentes. Além das médias, vale segmentar por canal, dispositivo, meio de pagamento, plataforma, seller ou perfil de cliente quando houver volume suficiente. Uma taxa global pode esconder um problema grave em apenas um browser, uma bandeira, uma versão de plugin ou uma rota específica. O objetivo não é acumular dashboards, mas criar sinais acionáveis que permitam saber onde mexer e qual efeito esperar.

O cuidado principal é depender do retorno do browser. Em sistemas distribuídos, retries, timeouts, callbacks duplicados e estados intermediários são normais; a robustez está em tratá-los como parte do desenho, e não como exceções raras. IDs estáveis, idempotência, logs seguros, filas e reconciliação formam uma camada de proteção contra erros que, em pagamentos, podem se transformar em cobrança duplicada, estoque incorreto ou divergência financeira. Por isso, cada mudança relevante deve nascer com critérios de aceite, observabilidade e estratégia de rollback.

## Logs

Em uma arquitetura madura, ecossistemas legados precisam de diagnóstico claro. Isso importa porque conflitos entre módulos são comuns. Pagamentos parecem uma etapa única na interface, mas internamente são uma sequência de decisões, estados e eventos. A empresa precisa distinguir intenção de compra, tentativa, autorização, captura, confirmação, liquidação e eventos posteriores, porque cada um pode falhar ou chegar em momentos diferentes. Quanto mais cedo essa separação é feita, mais fácil fica evoluir o produto sem depender de regras improvisadas espalhadas pelo checkout, pelo ERP e pelo atendimento.

A implementação mais consistente é correlacionar order ID e transaction ID. O acompanhamento deve incluir MTTR. Além das médias, vale segmentar por canal, dispositivo, meio de pagamento, plataforma, seller ou perfil de cliente quando houver volume suficiente. Uma taxa global pode esconder um problema grave em apenas um browser, uma bandeira, uma versão de plugin ou uma rota específica. O objetivo não é acumular dashboards, mas criar sinais acionáveis que permitam saber onde mexer e qual efeito esperar.

O cuidado principal é logar dados sensíveis. Em sistemas distribuídos, retries, timeouts, callbacks duplicados e estados intermediários são normais; a robustez está em tratá-los como parte do desenho, e não como exceções raras. IDs estáveis, idempotência, logs seguros, filas e reconciliação formam uma camada de proteção contra erros que, em pagamentos, podem se transformar em cobrança duplicada, estoque incorreto ou divergência financeira. Por isso, cada mudança relevante deve nascer com critérios de aceite, observabilidade e estratégia de rollback.

## Roadmap

Em checkout transparente no openmage, OpenMage pode ser etapa estratégica e não destino eterno. Isso importa porque negócio precisa decidir custo de modernização. Pagamentos parecem uma etapa única na interface, mas internamente são uma sequência de decisões, estados e eventos. A empresa precisa distinguir intenção de compra, tentativa, autorização, captura, confirmação, liquidação e eventos posteriores, porque cada um pode falhar ou chegar em momentos diferentes. Quanto mais cedo essa separação é feita, mais fácil fica evoluir o produto sem depender de regras improvisadas espalhadas pelo checkout, pelo ERP e pelo atendimento.

A implementação mais consistente é manter plano de evolução da plataforma. O acompanhamento deve incluir custo de manutenção. Além das médias, vale segmentar por canal, dispositivo, meio de pagamento, plataforma, seller ou perfil de cliente quando houver volume suficiente. Uma taxa global pode esconder um problema grave em apenas um browser, uma bandeira, uma versão de plugin ou uma rota específica. O objetivo não é acumular dashboards, mas criar sinais acionáveis que permitam saber onde mexer e qual efeito esperar.

O cuidado principal é adiar decisões sem medir risco. Em sistemas distribuídos, retries, timeouts, callbacks duplicados e estados intermediários são normais; a robustez está em tratá-los como parte do desenho, e não como exceções raras. IDs estáveis, idempotência, logs seguros, filas e reconciliação formam uma camada de proteção contra erros que, em pagamentos, podem se transformar em cobrança duplicada, estoque incorreto ou divergência financeira. Por isso, cada mudança relevante deve nascer com critérios de aceite, observabilidade e estratégia de rollback.

## Checklist de implementação e operação

- Defina o objetivo de negócio e os indicadores de sucesso.
- Mapeie estados, transições e eventos assíncronos do pagamento.
- Use sandbox ou homologação antes de qualquer mudança em produção.
- Implemente idempotência, retry controlado e consulta de contingência.
- Preserve identificadores entre pedido, cobrança, transação e conciliação.
- Mantenha segredos fora do código e dados sensíveis fora dos logs.
- Monitore latência, erros, aprovação, risco e divergências financeiras.
- Documente rollback, ownership e rotina de atualização da integração.

## Perguntas frequentes

### OpenMage é Magento 1?

OpenMage LTS é um fork comunitário do Magento Community Edition, com forte preocupação com compatibilidade e continuidade do ecossistema Magento 1.

### A IOPAY possui módulo para OpenMage?

Sim. O site atual da IOPAY apresenta checkout transparente específico para OpenMage.

### Posso manter extensões antigas?

Algumas podem funcionar, mas compatibilidade precisa ser testada conforme versão de OpenMage, PHP e extensão.

### Pix funciona em OpenMage?

Pode ser integrado por módulo ou API quando a solução oferece suporte, com geração e confirmação assíncrona tratadas corretamente.

### Preciso atualizar PHP?

Siga os requisitos da versão OpenMage adotada e teste toda a stack em homologação.

### OpenMage elimina a necessidade de segurança contínua?

Não. Patches, dependências, plugins e infraestrutura continuam exigindo manutenção.

## Conclusão

OpenMage faz mais sentido quando preserva investimento sem congelar a evolução operacional. A melhor arquitetura de pagamento é aquela que reduz atrito para o cliente sem retirar da empresa a capacidade de observar, explicar e evoluir a operação.

## Onde a IOPAY entra

A IOPAY mantém módulo de checkout para OpenMage, além de APIs e outros módulos para e-commerce, permitindo que lojas legadas modernizem a camada de pagamentos sem necessariamente reescrever toda a operação. Como funcionalidades, versões e condições comerciais evoluem, recomenda-se validar a documentação e as páginas oficiais da IOPAY no momento da publicação.

## Referências

- [IOPAY — Módulos para e-commerce](https://www.iopay.com.br/pagamentos-online/modulos-de-pagamento-para-ecommerce?ref=blog.iopay.com.br)
- [OpenMage LTS — documentação oficial](https://docs.openmage.org/?ref=blog.iopay.com.br)
- [OpenMage LTS — módulos de pagamento](https://docs.openmage.org/users/modules/payment/?ref=blog.iopay.com.br)