Cosa ti serve
| Campo | Cosa fa |
|---|---|
| API Login ID | Identifica il tuo account nelle chiamate API. Abbinato alla Transaction Key. |
| Transaction Key | La metà segreta dell'autenticazione API. Con il Login ID, genera ogni form di pagamento. Segreta. |
| Signature Key | Conferma che un webhook provenga davvero da Authorize.Net. Separata dalla Transaction Key. Segreta. |
| URL di conferma / URL di annullamento | Dove arriva il cliente dopo aver pagato o essersi tirato indietro. |
L'API Login ID e la Transaction Key viaggiano sempre insieme. La Signature Key è indipendente.
Perché chiediamo ogni campo
API Login ID
Nomina il tuo account nelle chiamate API. Funziona solo se abbinato alla Transaction Key.
Transaction Key
Il segreto che dimostra che una richiesta API è tua. Con l'API Login ID, ci permette di costruire il form di pagamento ospitato, così l'addebito passa per il tuo account.
Signature Key
Dimostra che un webhook in arrivo provenga davvero da Authorize.Net, così nessuno può falsificare un evento "pagato". È un valore separato dalla Transaction Key.
URL di conferma e annullamento
Impostazioni semplici: dove arriva il cliente dopo aver pagato o essersi tirato indietro. Non segrete.
Configurazione
- Crea un account sandbox gratuito (nessun pagamento)
Non ti serve un merchant account a pagamento per testare. Authorize.Net offre un sandbox gratuito che rispecchia la produzione, senza carta di credito.
- Vai su developer.authorize.net/hello_world/sandbox.html e registrati per un account sandbox. Usa quel link, non la registrazione principale o la pagina dei prezzi (che è la domanda live a pagamento).
- Accedi alla Merchant Interface sandbox su sandbox.authorize.net.
Lo schema di firma è identico alla produzione, quindi tutto ciò che verifichi nel sandbox si comporta allo stesso modo in live.
- Copia le tue tre credenziali
Stesso percorso sia in sandbox sia in live: Account → Settings → Security Settings → General Security Settings → API Credentials and Keys.
- L'API Login ID è mostrato in alto.
- Transaction Key: seleziona "New Transaction Key", conferma e copiala subito (viene mostrata una sola volta).
- Signature Key: seleziona "New Signature Key", conferma e copiala subito.
Account → Settings → Security Settings → API Credentials and Keys - Aggiungi il webhook
- Account → Settings → Business Settings → Webhooks, aggiungi un endpoint.
- Imposta l'URL dell'endpoint sull'indirizzo del webhook del tuo progetto (sotto).
- Iscriviti agli eventi. Pagamenti una tantum: net.authorize.payment.authorization.created, authcapture.created, capture.created, priorAuthCapture.created, refund.created, void.created, e gli eventi fraud.* (held, approved, declined). Abbonamenti (Automated Recurring Billing): gli eventi net.authorize.customer.subscription.*. I rinnovi arrivano come authcapture.created, già coperti. Gli eventi extra sono innocui.
- Salva. Authorize.Net firma ogni consegna con la tua Signature Key.
https://api.coinmoebius.com/webhook/authorizenet/<your project id>Account → Settings → Business Settings → Webhooks Coin Moebius registra ogni id di evento una volta e ignora i duplicati, così i webhook ritrasmessi sono gestiti per te.
- Testa con le carte sandbox
Le carte sandbox non addebitano mai una carta reale. Usa una scadenza futura qualsiasi (ad esempio 12/2030) e un CVV qualsiasi (3 cifre, o 4 per American Express).
Circuito Carta Visa 4111111111111111 Mastercard 5424000000000015 American Express 370000000000002 Discover 6011000000000012 - Collega nella dashboard
Aggiungi provider → Authorize.Net. Inserisci URL di conferma, URL di annullamento e il gruppo Live (API Login ID, Transaction Key, Signature Key). Aggiungi il gruppo Sandbox opzionale per testare. Il gruppo Sandbox è tutto-o-niente: tutti e tre i campi, o nessuno. Live e sandbox sono verificati separatamente.
Dopo aver collegato
Esegui un pagamento di prova prima di andare in produzione:
- Crea un prodotto e imposta il suo Ambiente su Testing. Questo esegue il prodotto sulle tue credenziali sandbox, così puoi piazzare un ordine completo senza muovere denaro. (Se hai saltato il set sandbox, un prodotto in Testing ricade su live, quindi aggiungilo prima.)
- Metti il pulsante di acquisto su una pagina (un file HTML locale va bene) puntato sul tuo progetto.
- Completa il checkout con una carta di test sandbox di quelle sopra.
- Apri la scheda Transazioni. Appare una nuova riga, etichettata Testing. Quando il suo stato raggiunge succeeded, le tue credenziali e il webhook funzionano entrambi da capo a fondo.
Cambia l'Ambiente del prodotto su Live quando sei pronto per i pagamenti reali.
Risoluzione dei problemi
Inizia da Verifica. Nella dashboard, fai clic su Verifica (o Verifica credenziali di test per il set sandbox) per controllare il tuo API Login ID e la Transaction Key.
La verifica fallisce.
L'API Login ID e la Transaction Key devono essere la coppia dello stesso account (live o sandbox). Ricopia entrambe.
La verifica della firma fallisce.
La Signature Key è un valore diverso dalla Transaction Key. Copia la Signature Key dalla stessa schermata. Lo schema è identico in sandbox e live.
Il pagamento si completa ma l'ordine resta in sospeso.
Conferma che l'URL del webhook corrisponda esattamente e che ti sia iscritto agli eventi di pagamento.
Un prodotto di test ha addebitato una carta reale.
Un prodotto segnato come test ricade sulle tue credenziali live quando non è configurato un set sandbox completo. Aggiungi tutti e tre i campi sandbox, o togli il segno di test al prodotto.
Conferma da capo a fondo.
Authorize.Net effettua il ping solo dei webhook inattivi: imposta l'endpoint come inattivo, invia un ping, poi riattivalo, e guarda l'ordine aggiornarsi.
Buono a sapersi
I token durano poco. Il token del form ospitato dura circa 15 minuti. Ne generiamo uno nuovo per ogni checkout.
Valuta. Authorize.Net è principalmente un gateway USA, in USD. Le valute diverse dall'USD dipendono dal tuo accordo con il processore.
Ruotare le chiavi. Genera una nuova Transaction Key o Signature Key quando vuoi, poi incollala. I campi segreti restano vuoti in modifica.
Domande? Join our Discord