Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Magento多个授权.net网关_Magento_Payment_Authorize.net_E Commerce - Fatal编程技术网

Magento多个授权.net网关

Magento多个授权.net网关,magento,payment,authorize.net,e-commerce,Magento,Payment,Authorize.net,E Commerce,我有一个CAD和USD网关帐户,用于处理信用卡支付,这两个帐户都来自一个支持Authorize.net API的支付提供商。我已使用Magento的内置Authorize.net支持成功配置了一个。。。但是如何配置第二个Authorize.net网关以在我的应用商店中使用呢?这是可以做到的,但基本上需要您复制Authorize模块并更改所有名称空间。这需要一些修改,但首先将app/code/core/Mage/Paygate模块复制到app/code/local/Yourcompany/Payg

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

这是可以做到的,但基本上需要您复制Authorize模块并更改所有名称空间。这需要一些修改,但首先将
app/code/core/Mage/Paygate
模块复制到
app/code/local/Yourcompany/Paygatecad
之类的地方,然后继续重命名类(
Mage\u Paygate\u Model\u Authorizenet
变成
Yourcompany\u Paygatecad\u Model\u Authorizenet
)。注意区分大小写的文件名和类名,我建议您使用所有前导大写字母,后跟小写字母

app/etc/modules
中创建
Yourcompany\u Paygatecad.xml
模块声明,并在
adminhtml
frontend
中复制布局和模板文件以使用新模块名称。您还需要编辑
system.xml
config.xml
,以便配置值在名称空间中不冲突
grep
是你的朋友

在所有这些之后,您应该在System>Config>Payment Methods(系统>配置>付款方式)中获得一种新的付款方式,您可以使用CAD详细信息进行配置,并且这些块应该在签出流中呈现

正如您可能已经从我所说的内容中了解到的,为了避免冲突,需要进行一些更改,您需要真正地对其进行测试。但它应该起作用。我不知道有什么替代方法来实现这一点。。。我成功地做到了这一点,当我想为另一种支付方式提供两套不同的选项时,它起到了作用,但这是一个社区扩展,而不是Magento core,这并不意味着你从哪里复制它真的很重要

--------编辑-----

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

嗯,,
JD

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


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

啊,这似乎比我想象的更好。我认为我们实际上会利用我们拥有的一些其他域(我们有.com和.ca…),但我需要为此获得适当的SSL证书。非常感谢您的回答,这听起来是正确的做法。因为您已经拥有了.ca域,所以利用它是有意义的。祝你好运。这是一个比我的好得多的解决方案-nice one@clockworkgeekWould使用此方法还需要你实现一个网站切换程序,以便每组客户都可以使用正确的网站进行结帐,以获得他们的货币?@Marguay yes。如果你也像balleyne那样,拥有不同的域名,那么每个客户(希望)都已经在正确的网站上了。谢谢,这正是我想要的,但我认为clockworkgeek的解决方案可能比我想象的更有意义。