Errore durante l'ordine con l'account Sandbox Authorize.net (si è verificato un errore sul server)

In questo articolo viene fornita una correzione per il messaggio di errore "Si è verificato un errore sul server" durante l'invio di un ordine tramite Authorize.Net Direct Post.

WARNING
Avviso di rimozione
A causa della direttiva sui servizi di pagamento PSD2 e della continua evoluzione di molte API, Authorize.Net rischia di diventare obsoleto e non più conforme alla sicurezza in futuro. Per questo motivo, è ora obsoleto. Ti consigliamo di disabilitarlo nella configurazione di Adobe Commerce e di passare alla corrispondente estensione Commerce Marketplace.
Questa integrazione è stata rimossa da Adobe Commerce 2.4.0 ed è stata rimossa dalle versioni correnti di 2.3.
Per informazioni dettagliate su come effettuare una transizione sicura da integrazioni di pagamenti obsolete, consulta il nostro DevBlog.

Problema

Se si effettua un ordine utilizzando l'account sandbox Authorize.Net Direct Post, viene visualizzato un messaggio di errore:

​>>
"Si è verificato un errore sul server. Provare a riordinare"

Causa 1: la modalità di test è abilitata

Non sembra ovvio, ma l'impostazione della Modalità di test di Authorize.net deve essere impostata su No anche durante il test con l'account Sandbox.

Soluzione 1: disabilitare la modalità di test

  1. Vai a Negozi > Configurazione > Vendite > Metodi di pagamento > Altri metodi di pagamento > Authorize.net Direct Post.
  2. Impostare Modalità test su "No" (deselezionare Usa valore di sistema, quindi selezionare "No" nel menu).
  3. Fai clic su Salva configurazione.

authorize-net_test-mode_setting.png

Causa 2: URL errati

Le impostazioni Authorize.net potrebbero contenere indirizzi URL non corretti per le risorse critiche di Authorize.Net.

Soluzione 2: fornire gli URL corretti

  • URL gateway: https://test.authorize.net/gateway/transact.dll
  • URL dettagli transazione: https://apitest.authorize.net/xml/v1/request.api
  • Riferimento API: https://developer.authorize.net/api/reference/

In caso contrario: ottieni informazioni di debug

Se l'invio di un ordine con Authorize.net non riesce e viene visualizzato un errore non informativo "Si è verificato un errore", controllare Adobe Commerce debug.log.

Transact.dll

Se debug.log è vuoto, controlla la risposta di transact.dll nella console del browser Web:

  1. Apri la console.
  2. Prima di effettuare un ordine, passare alla scheda Rete e selezionare Mantieni registro. web-console_network_preserve-log.png
  3. Filtra le risposte in base a transact.dll per visualizzare un messaggio di risposta con un possibile errore. transact-dll_web-console_response.png
recommendation-more-help
8bd06ef0-b3d5-4137-b74e-d7b00485808a