我有一个用于处理信用卡付款的 CAD 和 USD 网关帐户,它们都来自支持 Authorize.net API 的支付提供商。我已经使用 Magento 的内置 Authorize.net 支持成功配置了一个……但是如何配置第二个 Authorize.net 网关以在我的商店中使用?
2 回答
如果您为每种货币分配单独的网站,您可以重复使用现有的 authorize.net 网关。它们实际上不需要是具有自己域的独立网站,只需在“系统”>“管理商店”菜单中指定为网站即可。然后在配置中更改左上角的配置范围下拉框依次选择每个网站,在货币设置部分只允许一种货币,在支付方式部分,您可以让您的特定网关帐户匹配。
通过这种方式,您可以继续在所有商店使用相同的产品,只要基础货币不变,它也会继续自动在货币之间转换。
这可以做到,但基本上需要您复制 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
,并在其中复制布局和模板文件,adminhtml
并frontend
使用您的新模块名称。您还需要编辑system.xml
andconfig.xml
以便配置值不会在命名空间中发生冲突。 grep
是你的朋友。
毕竟,您应该在 System>Config>Payment Methods 中获得一个新的 Payment Method,您可以使用 CAD 详细信息进行配置,并且块应该在 Checkout 流程中呈现。
正如您可能已经从我所说的内容中收集到的那样,为了避免冲突,需要进行一些更改,并且您需要对此进行很好的测试。但它应该工作。我不知道有任何替代方法可以实现这一点......当我想要另一种付款方式的两组不同选项并且它有效时,我已经成功地做到了这一点,但那是为了社区扩展,而不是 Magento 核心,并不是说从哪里复制它真的很重要。
- - - - 编辑 - - -
理想情况下,您应该只复制和修改etc
和sql
文件。这样,Mage_Paygate
仍将使用原始模型和控制器(为升级/补丁提供最佳保护),您只需更新配置值以指向 CAD 实例。我无法确认这是否可行,但如果可能的话,我会尝试。
HTH, 法学博士