Ich arbeite für Magento 2 ab der ersten Version. Bisher habe ich für Zahlungen nur Paypal Express Checkout verwendet. Jetzt ist es jedoch erforderlich, Authorize.net Direct Post zu integrieren. Und ich habe versucht, es mit Sandbox-Anmeldeinformationen zu integrieren.
Wenn ich jetzt auf der Checkout-Seite bin und Authorize.net auswähle, um Zahlungen mit der Sandbox-Beispielkartennummer zu tätigen, z . B.: - American Express-Testkarte: 370000000000002 , Wenn ich auf Bestellung klicke , wird weiterhin der Lader angezeigt . Aber wenn ich im Admin-Bereich unter Sales> Order m sehen kann, zeigt es die Bestellung, die ich gerade aufgegeben habe.
Ich habe allot gesucht und festgestellt, dass einige Leute das gleiche Problem gepostet haben, aber sie haben auch die PHP-Version als 7.0.x erwähnt, wo sie Probleme bekommen. zB hier
Aber ich benutze PHP Version 5.6.20 und ich habe dieses Problem auch zuerst mit Magento 2.0.6 Version. Jetzt habe ich Magento 2.0.7 neu auf einem neuen Server installiert, aber die Probleme sind immer noch da
Meine Konfigurationseinstellungen für das Admin-Panel für Authorize.net sind
Testmodus: Ja
Gateway-URL : https://secure.authorize.net/gateway/transact.dll
Ich habe es sogar mit versucht
https://test.authorize.net/gateway/transact.dll
Transaktionsdetails URL : https://api2.authorize.net/xml/v1/request.api
Debug : Ja
Jetzt, wenn ich debug.log überprüft habe
es heißt
[2016-05-27 12:35:03] main.DEBUG: cache_invalidate: {"method":"POST","url":"http://example.com/authorizenet/directpost_payment/place/","invalidateInfo":{"tags":["catalog_category_3","catalog_category"],"mode":"matchingAnyTag"},"is_exception":false} []
[2016-05-27 12:35:03] main.DEBUG: array (
'request' =>
array (
'x_version' => '3.1',
'x_delim_data' => 'FALSE',
'x_relay_response' => 'TRUE',
'x_test_request' => 'TRUE',
'x_login' => '****',
'x_method' => 'CC',
'x_relay_url' => http://example.com/authorizenet/directpost_payment/response',
'x_type' => 'AUTH_CAPTURE',
'x_fp_sequence' => '2',
'x_invoice_num' => '000000002',
'x_amount' => 5.0099999999999998,
'x_currency_code' => 'USD',
'x_tax' => '0.00',
'x_freight' => '5.00',
'x_first_name' => 'Dinesh',
'x_last_name' => 'Saini',
'x_company' => '',
'x_address' => 'test',
'x_city' => 'California',
'x_state' => 'Alabama',
'x_zip' => '90001',
'x_country' => '',
'x_phone' => '1234567890',
'x_fax' => '',
'x_cust_id' => '',
'x_customer_ip' => '122.173.244.114',
'x_customer_tax_id' => '',
'x_email' => '[email protected]',
'x_email_customer' => '1',
'x_merchant_email' => '',
'x_ship_to_first_name' => 'Dinesh',
'x_ship_to_last_name' => 'Saini',
'x_ship_to_company' => '',
'x_ship_to_address' => 'test',
'x_ship_to_city' => 'California',
'x_ship_to_state' => 'Alabama',
'x_ship_to_zip' => '90001',
'x_ship_to_country' => '',
'x_po_num' => '',
'x_fp_timestamp' => 1464352503,
'x_fp_hash' => '27827498413496cd9ad6ed247e9688f3',
),
) {"is_exception":false} []
Kann mir bitte jemand helfen, stimmt etwas in meiner Konfiguration nicht oder ich habe es mit etwas anderem versucht.
Antworten:
Ich denke, Sie arbeiten in localser (localhost). Es gibt ein Problem beim Abrufen einer Antwort auf dem lokalen Computer. Versuchen Sie es mit einem beliebigen Live-Server. Ich hatte das gleiche Problem, aber wenn es live versucht wird, funktioniert es gut.
quelle
Bei magento ee 2.0.15 ist ein ähnliches Problem aufgetreten. Nach einigem kreativen Debuggen habe ich mein Problem auf eine scheinbar nicht verwandte Konfigurationseinstellung zurückgeführt: Stores :: Configuration :: Sales :: Sales Emails :: General Settings :: Asynchronous Settings. Ich habe festgestellt, dass Magento versucht, eine E-Mail an den Benutzer zu senden, wenn "transact.dll" auf Ihrer Website unter / authorizenet / direct_post / response veröffentlicht und die Gebühr erfolgreich war, wenn die obige Einstellung deaktiviert ist. Diese E-Mail verwendet das Magento-Layoutsystem und lädt ein eigenes Layout. Das Problem ist, dass dasselbe "Layout" -Objekt später im Anforderungszyklus verwendet wird und wenn Sie erwarten, dass es das Layout-Update "authorizenet_directpost_payment_response.xml" lädt, nicht, weil der Builder prüft, ob das Layout bereits geladen wurde es war. Dies führt zu einem leeren Layout und einer 0-Byte-Antwort. Die "transact.dll" von Authorize.net interpretiert dies als Zeitüberschreitung, obwohl die Header gesendet wurden und die Inhaltslänge als 0 Byte angegeben wurde.
Weiterverfolgung. Wenn Sie die obige E-Mail-Einstellung ändern, werden Verkaufsbestätigungs-E-Mails per Cron-Job gesendet. Wenn Ihre Site aus dem Verzeichnis "pub" bereitgestellt wird, müssen Sie die sicheren und unsicheren Basismedien und statischen Pfade in der Store-Konfiguration festlegen. Ich habe festgestellt, dass die Verwendung der Platzhaltersyntax ausreichend ist: "{{unsecure_base_url}} static /" und "{{unsecure_base_url}} media /" zum Beispiel.
quelle
SPEICHER -> Konfiguration -> VERKAUF -> Zahlungsmethoden -> Authorize.net Direct Post> Testmodus, ändern Sie ihn in "Nein".
quelle
Ich habe das gleiche Problem.
Hat jemand Autorize.net in gearbeitet
Magento 2.1.2
?Ich habe in die Ausnahme.log geschaut und gefunden
Irgendwelche Ideen / Vorschläge / Gebete?
quelle
Bitte gehen Sie auf die https-Domain-URL und versuchen Sie es mit den Details des autorisierten Live-Kontos. Es wird perfekt funktionieren.
Vielen Dank
quelle
In meinem Fall habe ich einen zu langen MD5-Hash-Schlüssel verwendet, sodass ein Serverfehler aufgetreten ist. Bitte versuchen Sie, den MD4-Hash-Schlüssel zu verkürzen. Es funktioniert
quelle