我有一个CAD和美元的网关帐户处理信用卡付款,都是从一个支持Authorize.net应用编程接口的支付提供商。我已经使用Magento的内置Authorize.net支持成功地配置了一个...但是,我如何配置第二个Authorize.net网关以便在我的商店中使用?
发布于 2010-10-25 07:19:39
如果您为每种货币分配不同的网站,则可以重用现有的authorize.net网关。它们实际上不需要是拥有自己域名的独立网站,只需在系统>管理商店菜单中指定为网站即可。然后在Configuration change左上角的Configuration Scope下拉框中依次选择每个网站,在Currency Setup部分allow one currency和Payment Methods部分您可以让您的特定网关帐户匹配。
这种方式允许您继续在所有商店使用相同的产品,并且只要基础货币保持不变,它也将继续在货币之间自动转换。
发布于 2010-10-23 11:02:59
这是可以做到的,但基本上需要复制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
是你的朋友。
在这之后,您应该在System>Config>Payment方法中获得一个新的支付方法,您可以使用您的CAD详细信息来配置该方法,并且块应该呈现在Checkout流中。
正如您可能已经从我所说的内容中了解到的,为了避免冲突,需要进行一些更改,并且您需要很好地测试这个真正的。但它应该能行得通。我不知道有任何替代方法来实现这一点……当我想要另一种支付方式的两种不同的选项时,我已经成功地做到了这一点,而且它起作用了,但这是为了社区扩展,而不是Magento核心,这并不是说你从哪里复制它真的很重要。
-编辑
理想情况下,您应该只复制和修改etc
和sql
文件。这样,原始的Mage_Paygate
型号和控制器仍将被使用(为升级/补丁提供最佳保护),您只需更新配置值以指向CAD实例。我不能确定这是否有效,但如果可能的话,我会试一试。
HTH,JD
https://stackoverflow.com/questions/4000052
复制相似问题