Magento 1.6.1
クライアントのストア用にAuthorize.net(AIM)を設定しました。以前は、保存されたCCメソッドを使用し、Authorize.netのマーチャントターミナルに手動で情報を入力していました。
ほとんどは期待どおりに機能していますが、Authorize.netによって「不正の疑い」のフラグが付けられたトランザクションの場合、承認の期限が切れる前にクライアントがトランザクションを手動で更新しないと、Magentoで「GetPaymentUpdate」を使用するとトランザクションが失敗します。有効期限が切れています(承認のみのトランザクションの場合は5日だと思います)。
クライアントにとって、Magentoでこの注文を更新する唯一の方法は、Paygateモデルが期限切れのトランザクションを認識していないように見えるため、単に注文を削除することです。「GetPaymentUpdate」を実行すると、「この支払いの更新はありません」が返されます。
私はすでにファイルを変更しました:問題#27117( http://www.magentocommerce.com/bug-tracking/issue?issue=12991-表示するにはログインする必要があります)で/app/code/core/Mage/Paygate/Model/Authorize.net
説明されているように正しいAPIURLを取得します。これにより、ボタンが他のすべての注文で機能しないことが解決されました。ただし、これで説明している問題は修正されません。
Authorize.netのAIMAPIに精通している人はいますか?これにより、Magentoでこれらの注文を、注文を削除せずに意味のあるもの(キャンセルなど)に更新できますか?Magentoに新しい注文ステータスを追加し、更新で「期限切れ」ステータスを確認し、注文を新しく作成された注文ステータスに設定する場合だと思います。
- 編集 -
上記のファイルの差分を実行したところ、Magento1.7.0.2に_isTransactionExpired()
修正のように見えるメソッドが含まれていることに気付きました。このモデルを新しいバージョンで更新するのと同じくらい簡単ですか?