O que você precisa
| Campo | O que faz |
|---|---|
| API Login ID | Identifica a sua conta nas chamadas de API. Pareado com a Transaction Key. |
| Transaction Key | A metade secreta da autenticação de API. Com o Login ID, gera cada formulário de pagamento. Secreta. |
| Signature Key | Confirma que um webhook realmente veio do Authorize.Net. Separada da Transaction Key. Secreta. |
| URL de sucesso / URL de cancelamento | Onde o comprador chega depois de pagar ou desistir. |
O API Login ID e a Transaction Key sempre andam juntos. A Signature Key é independente.
Por que pedimos cada campo
API Login ID
Nomeia a sua conta nas chamadas de API. Funciona apenas quando pareado com a Transaction Key.
Transaction Key
O segredo que comprova que uma requisição de API é sua. Com o API Login ID, permite construirmos o formulário de pagamento hospedado, para que a cobrança corra pela sua conta.
Signature Key
Comprova que um webhook recebido é genuinamente do Authorize.Net, para que ninguém possa forjar um evento de "pago". É um valor separado da Transaction Key.
URL de sucesso e cancelamento
Configurações simples: onde o comprador chega depois de pagar ou desistir. Não são secretas.
Configurar
- Crie uma conta sandbox gratuita (sem pagamento)
Você não precisa de uma conta de comerciante paga para testar. O Authorize.Net oferece um sandbox gratuito que espelha a produção, sem cartão de crédito necessário.
- Vá até developer.authorize.net/hello_world/sandbox.html e crie uma conta sandbox. Use esse link, não a página principal de cadastro ou de preços (que é a aplicação de produção paga).
- Entre na Merchant Interface do sandbox em sandbox.authorize.net.
O esquema de assinatura é idêntico ao de produção, então qualquer coisa que você verifique no sandbox se comporta da mesma forma em produção.
- Copie as suas três credenciais
Mesmo caminho no sandbox e na produção: Account → Settings → Security Settings → General Security Settings → API Credentials and Keys.
- O API Login ID é mostrado no topo.
- Transaction Key: selecione "New Transaction Key", confirme, e copie imediatamente (é mostrada uma vez).
- Signature Key: selecione "New Signature Key", confirme, e copie na hora.
Account → Settings → Security Settings → API Credentials and Keys - Adicione o webhook
- Account → Settings → Business Settings → Webhooks, adicione um endpoint.
- Defina a URL do endpoint como o endereço de webhook do seu projeto (abaixo).
- Inscreva-se em eventos. Pagamentos únicos: net.authorize.payment.authorization.created, authcapture.created, capture.created, priorAuthCapture.created, refund.created, void.created, e os eventos fraud.* (held, approved, declined). Assinaturas (Automated Recurring Billing): os eventos net.authorize.customer.subscription.*. As renovações chegam como authcapture.created, já coberto. Eventos extras são inofensivos.
- Salve. O Authorize.Net assina cada entrega com a sua Signature Key.
https://api.coinmoebius.com/webhook/authorizenet/<your project id>Account → Settings → Business Settings → Webhooks Coin Moebius registra cada id de evento uma vez e ignora duplicatas, então webhooks reenviados são tratados para você.
- Teste com cartões do sandbox
Os cartões do sandbox nunca cobram um cartão real. Use qualquer validade futura (por exemplo 12/2030) e qualquer CVV (3 dígitos, ou 4 para American Express).
Bandeira Cartão Visa 4111111111111111 Mastercard 5424000000000015 American Express 370000000000002 Discover 6011000000000012 - Conecte no painel
Adicionar provedor → Authorize.Net. Insira a URL de sucesso, a URL de cancelamento, e o grupo de produção (API Login ID, Transaction Key, Signature Key). Adicione o grupo de sandbox opcional para testar. O grupo de sandbox é tudo ou nada: os três campos, ou nenhum. Produção e sandbox são checados separadamente.
Depois de conectar
Faça um pagamento de teste antes de ir ao ar:
- Crie um produto e defina o Ambiente dele como Teste. Isso roda o produto nas suas credenciais de sandbox, para que você possa fazer um pedido completo sem mover dinheiro. (Se você pulou o conjunto de sandbox, um produto de Teste recai para a produção, então adicione-o primeiro.)
- Coloque o botão de compra em uma página (um arquivo HTML local serve) apontado para o seu projeto.
- Conclua o checkout com um cartão de teste do sandbox de cima.
- Abra a aba Transações. Uma nova linha aparece, marcada como Teste. Quando o status dela chegar a succeeded, as suas credenciais e o webhook estão ambos funcionando de ponta a ponta.
Mude o Ambiente do produto para Produção quando você estiver pronto para pagamentos reais.
Solução de problemas
Comece com Verificar. No painel, clique em Verificar (ou Verificar credenciais de teste para o conjunto de sandbox) para checar o seu API Login ID e a Transaction Key.
A verificação falha.
O API Login ID e a Transaction Key devem ser o par da mesma conta (produção ou sandbox). Copie ambos de novo.
A verificação de assinatura falha.
A Signature Key é um valor diferente da Transaction Key. Copie a Signature Key da mesma tela. O esquema é idêntico no sandbox e na produção.
O pagamento se conclui mas o pedido fica pendente.
Confirme que a URL do webhook coincide exatamente e que você se inscreveu nos eventos de pagamento.
Um produto de teste cobrou um cartão real.
Um produto marcado como teste recai para as suas credenciais de produção quando nenhum conjunto completo de sandbox está configurado. Adicione os três campos de sandbox, ou desmarque o produto como teste.
Confirme de ponta a ponta.
O Authorize.Net só faz ping em webhooks inativos: defina o endpoint como inativo, envie um ping, depois reative-o, e observe o pedido atualizar.
Bom saber
Os tokens são de curta duração. O token do formulário hospedado dura cerca de 15 minutos. Geramos um novo a cada checkout.
Moeda. O Authorize.Net é principalmente um gateway dos EUA, em USD. Moedas diferentes do USD dependem do seu contrato com o processador.
Rotacionando chaves. Gere uma nova Transaction Key ou Signature Key quando quiser, depois cole. Os campos secretos ficam em branco na edição.
Dúvidas? Join our Discord