我已经看到了关于货币类型的问题,但我要问的是如何在同一商店中为不同的信用卡类型配置第二个Authorize.net帐户。因此,我们希望一些信用卡使用第一个主Authorize.net网关,而另一些使用辅助Authorize.net帐户,以便付款可以路由到两个不同的银行帐户。这是为了对账,是一种约束,不能修改。
我想我所需要做的就是在提交订单后(但在通过API发送到Authorize.net之前)弄清楚它是哪种卡类型,知道要传递给API的凭证,但是我不确定在哪里添加这些代码,或者添加它的最佳方式。
我们将非常感谢您的任何见解或建议。
发布于 2011-02-25 05:17:43
默认情况下,无法完成此操作,因此您需要使用一些自定义代码。具体地说,覆盖Authnet payment类Mage_Paygate_Model_Authorizenet
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帐户:
$request->setXLogin($this->getConfigData('login'))
->setXTranKey($this->getConfigData('trans_key'))
->setXType($payment->getAnetTransType())
->setXMethod($payment->getAnetTransMethod()); 取而代之的是,你需要一些类似的东西:
if(whatever cc type) {
// set alternate gateway
} else {
// set default gateway
}要实现这一点,您还需要在后端创建新的选项,以加密形式保存凭据。希望这能有所帮助!
谢谢,乔
https://stackoverflow.com/questions/5109783
复制相似问题