首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Magento多Authorize.net网关

Magento多Authorize.net网关
EN

Stack Overflow用户
提问于 2011-02-25 04:00:22
回答 1查看 1.3K关注 0票数 3

我已经看到了关于货币类型的问题,但我要问的是如何在同一商店中为不同的信用卡类型配置第二个Authorize.net帐户。因此,我们希望一些信用卡使用第一个主Authorize.net网关,而另一些使用辅助Authorize.net帐户,以便付款可以路由到两个不同的银行帐户。这是为了对账,是一种约束,不能修改。

我想我所需要做的就是在提交订单后(但在通过API发送到Authorize.net之前)弄清楚它是哪种卡类型,知道要传递给API的凭证,但是我不确定在哪里添加这些代码,或者添加它的最佳方式。

我们将非常感谢您的任何见解或建议。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-02-25 05:17:43

默认情况下,无法完成此操作,因此您需要使用一些自定义代码。具体地说,覆盖Authnet payment类Mage_Paygate_Model_Authorizenet

代码语言:javascript
复制
class MyNamespace_MyModule_Model_Authorizenet extends Mage_Paygate_Model_Authorizenet {

  /**
   * Prepare request to gateway
   *
   * @link http://www.authorize.net/support/AIM_guide.pdf
   * @param Mage_Sales_Model_Document $order
   * @return unknown
   */
  protected function _buildRequest(Varien_Object $payment) 
     //see below
  }
}

在该函数中,在我的第277行,执行以下代码来设置Authnet帐户:

代码语言:javascript
复制
    $request->setXLogin($this->getConfigData('login'))
        ->setXTranKey($this->getConfigData('trans_key'))
        ->setXType($payment->getAnetTransType())
        ->setXMethod($payment->getAnetTransMethod());   

取而代之的是,你需要一些类似的东西:

代码语言:javascript
复制
if(whatever cc type) {
     // set alternate gateway
} else {
     // set default gateway
}

要实现这一点,您还需要在后端创建新的选项,以加密形式保存凭据。希望这能有所帮助!

谢谢,乔

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5109783

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档