Magento - Authorize.net - 获取过期交易的付款更新

时间:2012-12-17 16:55:45

标签: magento authorize.net

Magento 1.6.1

我为客户的商店设置了Authorize.net(AIM)。以前他们使用保存的CC方法并在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添加新订单状态,检查更新是否为“已过期”状态,并将订单设置为新创建的订单状态。

- 编辑 -

我刚刚为上面提到的文件运行了一个diff,并注意到Magento 1.7.0.2包含_isTransactionExpired()方法,这似乎是修复。它可以像使用较新版本更新此模型一样简单吗?

2 个答案:

答案 0 :(得分:0)

在这种情况下,我手动将_isTransactionExpired()方法中描述的app/code/core/Mage/Paygate/Model/Authorize.php方法包含在{{1}}中,看似正常,看起来按预期工作。

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

答案 1 :(得分:-1)

我发现Magneto问题#27117(http://www.magentocommerce.com/bug-tracking/issue?issue=12991)解决了1.6和1.7中失败的Authorize.net“获取付款更新”