Pagamentos em cripto para Paymenter
Uma extensão de gateway para o Paymenter, o painel de faturamento de código aberto para hospedagem. O cliente escolhe SnapEX Pay em uma fatura em aberto e paga em USDT nas redes TRC20, ERC20 ou BEP20 ou em outras moedas oferecidas na página da SnapEX Pay. Um webhook assinado registra o pagamento, e a fatura no Paymenter passa para Paid.
Grátis. Versão 1.1.0.
O que faz
- Extensão de gateway nativa para Paymenter v1, que aparece em Admin → Gateways.
- Os webhooks são verificados com HMAC-SHA256 e uma janela de 5 minutos, e a fatura é relida na API da SnapEX Pay antes de qualquer pagamento ser registrado.
- Cada pagamento é registrado uma única vez: um webhook repetido não cria uma segunda transação. O valor creditado é exatamente o faturado, na moeda da fatura.
- Cada site Paymenter só dá baixa nas próprias faturas (elas são marcadas com um hash do
APP_URL). - Modo de teste com faturas de teste confirmadas sem dinheiro real; pagamentos de teste são ignorados enquanto o gateway está em modo real. Cotação fixa do USD para lojas que não faturam em USD.
Instalação
- Descompacte o arquivo e coloque a pasta no Paymenter como
extensions/Gateways/SnapexPay/(comSnapexPay.phperoutes.phpdentro; o nome precisa ser igual ao da classe). Na imagem Docker, use/app/extensions/Gateways/SnapexPay. - Se o gateway não aparecer, execute
composer dump-autoload -oephp artisan optimize:clear. - No Paymenter, vá em Admin → Gateways → New, escolha SnapEX Pay e cole a chave de API (escopos
invoices.read,invoices.write) do painel da SnapEX Pay. - No painel → Desenvolvedores, defina a URL do webhook como
https://<your-paymenter>/extensions/snapexpay/webhooke cole a chave secretawhsec_…(exibida uma única vez, ao salvar a URL pela primeira vez) em Webhook secret. - Defina Environment como
test, pague uma fatura e confirme o pagamento de teste na página da SnapEX Pay; a fatura deve passar para Paid. Depois, volte paralive.
Configurações
| API key | No painel da SnapEX Pay → Desenvolvedores, escopos invoices.read e invoices.write. |
|---|---|
| Webhook secret | A chave secreta whsec_… do endpoint do webhook. Webhooks sem assinatura HMAC ou com assinatura inválida são rejeitados. |
| Network fee paid by | merchant: o cliente paga o valor da fatura, e a taxa é descontada do que você recebe. customer: a taxa da SnapEX Pay e a taxa de rede são somadas ao valor. |
| Payment window, minutes | 1–1440, padrão 60. |
| USD per 1 invoice currency | 1 se o Paymenter fatura em USD; para EUR cotado a 1,08 USD, informe 1.08. |
| Environment | live ou test. |
| Partner ID | Opcional: o Partner ID do integrador que configurou o módulo (programa de indicações da SnapEX Pay). Deixe em branco se você mesmo fez a configuração. |
| API URL | Deixe como está. |
Perguntas
O gateway não aparece em Admin → Gateways.
Confira o caminho extensions/Gateways/SnapexPay/SnapexPay.php (diferencia maiúsculas de minúsculas) e se o servidor web consegue lê-lo; depois, execute composer dump-autoload -o && php artisan optimize:clear.
O cliente pagou, mas a fatura continua em aberto.
Confira as entregas do webhook no painel da SnapEX Pay. 400 invalid signature significa que a chave secreta não confere ou que o relógio do servidor está fora de sincronia; not_paid significa que o pagamento ainda não estava confirmado naquele momento, e a fatura recebe baixa quando chegar o webhook invoice.paid.
O cliente pagou menos que o valor da fatura.
Faturas pagas parcialmente não são creditadas automaticamente. Confira o pagamento no painel da SnapEX Pay e adicione a transação no Paymenter manualmente.
Vários sites Paymenter podem usar uma só conta da SnapEX Pay?
Cada site só dá baixa nas próprias faturas (elas são marcadas com um hash do APP_URL), mas uma conta da SnapEX Pay tem uma única URL de webhook, e a extensão só registra pagamentos vindos do webhook. Por isso, só o site definido como webhook tem os pagamentos registrados automaticamente.
Outras integrações
Pronto para receber em cripto?
Crie uma conta de comerciante, gere uma chave de API e conecte o módulo. 1% por pagamento, sem mensalidade.