【发布时间】:2011-04-29 08:11:13
【问题描述】:
我有一个 CAD 和 USD 网关帐户,用于处理信用卡付款,这两个帐户都来自支持 Authorize.net API 的支付提供商。我已经使用 Magento 的内置 Authorize.net 支持成功配置了一个...但是如何配置第二个 Authorize.net 网关以在我的商店中使用?
【问题讨论】:
标签: magento payment authorize.net e-commerce
我有一个 CAD 和 USD 网关帐户,用于处理信用卡付款,这两个帐户都来自支持 Authorize.net API 的支付提供商。我已经使用 Magento 的内置 Authorize.net 支持成功配置了一个...但是如何配置第二个 Authorize.net 网关以在我的商店中使用?
【问题讨论】:
标签: magento payment authorize.net e-commerce
如果您为每种货币分配单独的网站,您可以重复使用现有的 authorize.net 网关。它们实际上不需要是具有自己域的独立网站,只需在“系统”>“管理商店”菜单中指定为网站即可。然后在配置中更改左上角的配置范围下拉框以依次选择每个网站,在货币设置部分只允许一种货币,在付款方式部分中,您可以匹配您的特定网关帐户。
这种方式让您可以继续在所有商店使用相同的产品,只要基础货币不变,它也会继续自动在货币之间转换。
【讨论】:
这可以做到,但基本上需要您复制 Authorize 模块并更改所有命名空间。这需要一些麻烦,但首先将app/code/core/Mage/Paygate 模块复制到app/code/local/Yourcompany/Paygatecad 之类的地方,然后继续重命名类(Mage_Paygate_Model_Authorizenet 变为Yourcompany_Paygatecad_Model_Authorizenet 等)。注意区分大小写的文件和类名,我建议您使用所有前导大写,后跟小写。
在app/etc/modules 中创建Yourcompany_Paygatecad.xml 模块声明,并在adminhtml 和frontend 中复制布局和模板文件以使用您的新模块名称。您还需要编辑system.xml 和config.xml,以便配置值不会在命名空间中发生冲突。 grep 是你的朋友。
毕竟,您应该在系统>配置>付款方式中获得一个新的付款方式,您可以使用 CAD 详细信息进行配置,并且块应该在结帐流程中呈现。
您可能已经从我所说的内容中了解到,为了避免冲突,需要进行一些更改,并且您需要真正很好地测试这一点。但它应该工作。我不知道有任何替代方法可以实现这一点......当我想要另一种付款方式的两组不同选项并且它有效时,我已经成功地做到了这一点,但那是为了社区扩展,而不是 Magento 核心,并不是说从哪里复制它真的很重要。
--------编辑-----
理想情况下,您应该只复制和修改etc 和sql 文件。这样一来
原始Mage_Paygate 模型和控制器仍将被使用(为升级/补丁提供最佳保护),您只需更新配置值以指向 CAD 实例。我无法确认这是否可行,但如果可能的话,我会尝试。
HTH, 京东
【讨论】: