Magento 2.0.X Authorize.net Direct Postは、注文をクリックした後もロードを表示し続けます


7

私は最初のバージョンからMagento 2で働いています。今までのところ、支払いにはPaypal Express Checkoutのみを使用しました。しかし今、Authorize.netダイレクトポストを統合する必要があります。サンドボックスの認証情報を使用して統合しようとしました。

次に、チェックアウトページでAuthorize.netを選択して、サンドボックスのサンプルカード番号を使用して支払いを行います(例:-American Express Test Card:370000000000002)。注文をクリックすると、ローダーが表示され続けます。しかし、管理パネルの[Sales]> [Order m]の下に表示される場合は、先ほど行った注文が表示されます。

私はallotを検索し、何人かの人々が同じ問題を投稿したことを発見しましたが、彼らは問題が発生している7.0.xとしてPHPバージョンについても言及しました。例えばここ

しかし、私はPHPバージョン5.6.20を使用しています。また、Magento 2.0.6バージョンで最初にこの問題を抱えています。新しいサーバーでMagento 2.0.7の新規インストールを完了しましたが、問題はまだ残っています

Authorize.netの私の管理パネル構成設定は

テストモード:はい

ゲートウェイURLhttps : //secure.authorize.net/gateway/transact.dll

私も試しました

https://test.authorize.net/gateway/transact.dll

トランザクション詳細URLhttps : //api2.authorize.net/xml/v1/request.api

デバッグ:はい

debug.logを確認したら

それは言っている

[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' => 'dineshs@test.com',
    '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} []

誰かが助けてくれますか、私の設定に何か問題がありますか、それとも何か他のもので試しましたか?



同じ問題があります。私はテストの設定をしており、authorized.netでテストのtrasacationを見ることができますが、magentoではajaxディスパッチをロードするだけで成功ページにリダイレクトしません。
Bhargav Joshi

任意のソリューション。提案してください。同じ問題で立ち往生
Ahmad Vaqas Khan 2018

回答:


3

私はあなたがlocalserver(localhost)で作業しているものです。ローカルマシンでの応答に問題があります。ライブサーバーを試してください。私は同じ問題を抱えていましたが、ライブで試したところ、問題なく動作しました。


お返事をありがとうございます。しかし、私はライブサーバーで作業していて、この問題を取得しています
Dinesh Saini '28

すべてのキャッシュをフラッシュし、静的コンテンツのデプロイも試しましたか?また、承認済みの未決済トランザクションでトランザクションを取得していますか?
Bhargav Joshi

これはうまくいきましたか?
Bhargav Joshi

はい、私はすべてを実行し、未決済のアカウントでトランザクションを取得し、さらにレシートの電子メールを取得しています
Dinesh Saini

同じ問題があったのでこれがうまくいくと聞いて奇妙に思われますが、ライブで作業した後はうまくいき、注文は成功しました。何か見つけたとしてもお知らせします。:)
Bhargav Joshi

1

magento ee 2.0.15でも同様の問題が発生しました。クリエイティブなデバッグを行った後、一見無関係な構成設定であるStores :: Configuration :: Sales :: Sales Emails :: General Settings :: Asynchronous Settingsに問題を突き止めました。私が見つけたのは、 "transact.dll"が/ authorizenet / direct_post / responseでサイトに投稿し、請求が成功したときに、上記の設定が無効になっている場合、magentoがユーザーにメールを送信しようとすることです。このメールは、magentoレイアウトシステムを使用し、独自のレイアウトを読み込みます。問題は、リクエストサイクルの後半で同じ「レイアウト」オブジェクトが使用され、レイアウトの更新「authorizenet_directpost_payment_response.xml」をロードすると予想される場合、ビルダーがレイアウトがすでにロードされているかどうかを確認するため、それは行われません。そうだった。これにより、レイアウトが空になり、0バイトの応答が返されます。Authorize.netの "transact.dll"は、ヘッダーが送信され、content-lengthが0バイトとして指定されていても、これをタイムアウトとして解釈します。

これについてフォローアップ。上記のメール設定を変更すると、販売確認メールがcronジョブ経由で送信されます。サイトが「pub」ディレクトリから提供されている場合、ストア構成でセキュアおよび非セキュアのベースメディアと静的パスを設定する必要があります。たとえば、「{{unsecure_base_url}} static /」や「{{unsecure_base_url}} media /」など、プレースホルダー構文を使用するだけで十分であることがわかりました。


これで問題は解決しました。ありそうもない。理にかなっています。他の人のためだけ:Cloudflare、AWS ELB、Nginx、Magento 2
Ram Iyer

6時間を費やして、本当に近くにいて、私が学んだことで検索して、私をここに導いてくれました。この答え、ありがとうございます。2.2 Magentoでもまだ問題があります。

0

STORES-> Configuration-> SALES-> Payment Methods-> Authorize.net Direct Post> Test Mode、change to "No"


それもなしに、テストモードを変更した後にその私のために働いていない、あなたのために働いている
ディネッシュSAINI

0

私は同じ問題を抱えています。

Autorize.netを使っている人はいMagento 2.1.2ますか?

exception.logを調べたところ、

2017-01-31 19:41:05] main.CRITICAL:Magento \ Framework \ Exception \ LocalizedException:応答ハッシュの検証に失敗したため、トランザクションは拒否されました。vendor / magento / module-authorizenet / Model / Directpost.php:550内

アイデア/提案/祈り?



0

私の場合、md5ハッシュキーが長すぎるため、サーバーエラーが発生しました。md4ハッシュキーのキーを短くしてみてください。効く

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.