【问题标题】:Magento - Authorize.net - Get Payment Update for expired transactionsMagento - Authorize.net - 获取过期交易的付款更新
【发布时间】:2012-12-04 19:14:48
【问题描述】:

Magento 1.6.1

我已经为客户的商店设置了 Authorize.net (AIM)。以前他们使用保存的抄送方法并在 Authorize.net 的商户终端中手动输入信息。

大部分都按预期工作,但是对于被 Authorize.net 标记为“可疑欺诈”的交易,如果客户端在授权到期之前未手动更新交易,则在 Magento 中使用“获取付款更新”会失败因为交易已过期(我相信仅授权交易需要五天)。

对于客户端,在 Magento 中更新此订单的唯一方法似乎是简单地删除订单,因为 Paygate 模型似乎不知道过期交易。执行“获取付款更新”只会返回“此付款没有更新”。

我已经修改了文件:/app/code/core/Mage/Paygate/Model/Authorize.net 以获得正确的 API URL,如问题 #27117 中所述(http://www.magentocommerce.com/bug-tracking/issue?issue=12991 - 必须登录才能查看)。这解决了按钮不适用于所有其他订单;但这并不能解决我所描述的问题。

是否有人熟悉 Authorize.net 的 AIM API,以便我们可以在 Magento 中将这些订单更新为有意义的内容(取消等),而无需删除订单?我认为这应该是向 Magento 添加新订单状态,检查“过期”状态的更新,并将订单设置为新创建的订单状态的情况。

-- 编辑--

我刚刚对上述文件进行了比较,并注意到 Magento 1.7.0.2 包含 _isTransactionExpired() 方法,这似乎可以解决问题。是否可以像使用较新版本更新此模型一样简单?

【问题讨论】:

    标签: magento authorize.net


    【解决方案1】:

    在这种情况下,我手动将我的问题中描述的_isTransactionExpired() 方法包含在app/code/core/Mage/Paygate/Model/Authorize.php 中,一切看起来都很正常,并且似乎按预期工作。

    现在已经一个半月了,我还没有让客户回来告诉我事情不正常,所以我假设这解决了问题。

    【讨论】:

      猜你喜欢
      • 2013-06-12
      • 1970-01-01
      • 2011-03-29
      • 2012-03-12
      • 2012-11-24
      • 2015-09-21
      • 2011-02-10
      • 2012-11-19
      • 2020-06-16
      相关资源
      最近更新 更多