Magento多个授权.net网关
我有一个CAD和USD网关帐户,用于处理信用卡支付,这两个帐户都来自一个支持Authorize.net API的支付提供商。我已使用Magento的内置Authorize.net支持成功配置了一个。。。但是如何配置第二个Authorize.net网关以在我的应用商店中使用呢?这是可以做到的,但基本上需要您复制Authorize模块并更改所有名称空间。这需要一些修改,但首先将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
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的解决方案可能比我想象的更有意义。