Magento多个Authorize.net网关

时间:2010-10-22 18:59:16

标签: magento payment authorize.net e-commerce

我有一个CAD和USD网关帐户用于处理信用卡付款,这两个帐户都来自支持Authorize.net API的支付提供商。我已经使用Magento内置的Authorize.net支持成功配置了一个...但是如何在我的商店中配置第二个Authorize.net网关?

2 个答案:

答案 0 :(得分:3)

如果您为每种货币分配单独的网站,则可以重复使用现有的authorize.net网关。它们实际上不需要是具有自己域名的单独网站,只需要在系统中指定为网站>管理商店菜单。然后在配置中更改左上角的配置范围下拉框以依次选择每个网站,在货币设置部分只允许一种货币,在付款方式部分,您可以让您的特定网关帐户匹配。

通过这种方式,您可以继续为所有商店使用相同的商品,只要基础货币不变,它就会继续自动在货币之间转换。

答案 1 :(得分:0)

这可以完成,但基本上要求您复制Authorize模块并更改所有命名空间。这将需要一些小问题,但首先将app/code/core/Mage/Paygate模块复制到app/code/local/Yourcompany/Paygatecad之类的地方,然后继续重命名类(Mage_Paygate_Model_Authorizenet变为Yourcompany_Paygatecad_Model_Authorizenet等)。注意区分大小写的文件和类名,我建议您使用所有主要资本,后跟小写。

Yourcompany_Paygatecad.xml中创建app/etc/modules模块声明,并复制adminhtmlfrontend中的布局和模板文件以使用新模块名称。您还需要编辑system.xmlconfig.xml,以便配置值在命名空间中不会发生冲突。 grep是你的朋友。

毕竟,您应该在系统>配置>付款方式中获得一个新的付款方式,您可以使用您的CAD详细信息配置这些付款方式,并且这些块应在结帐流程中呈现。

正如您可能已经从我所说的那样收集到的,为避免冲突,我们需要进行一些修改,您需要对此真正进行测试。但它应该工作。我不知道有任何替代方法来实现这一点......当我想要另一种付款方式的两种不同的选项时,我已经成功完成了这项工作,但这是为了社区扩展,而不是Magento核心而不是你从哪里复制它真的很重要。

-------- EDIT -----

理想情况下,您应该做的是仅复制和修改etcsql文件。那样的 原始Mage_Paygate模型和控制器仍将使用(为升级/补丁提供最佳保护),您只需更新配置值以指向CAD实例。我无法确认这是否有效,但如果可能的话我会尝试。

HTH, JD