我正在使用 Magento 1.7 中的 authorize.net 模块来处理信用卡交易。现在,发送的是交易 ID,而不是订单号。有什么方法可以代替发送订单号吗?
我会在 app/code/core/Mage/Paygate/Model/Authorize.net 的第 1367 行将 ->setLastTransId($response->getTransactionId()) 更改为 getOrderID 吗?
当然,我不会更改核心文件,我会先将其复制到本地。
我正在使用 Magento 1.7 中的 authorize.net 模块来处理信用卡交易。现在,发送的是交易 ID,而不是订单号。有什么方法可以代替发送订单号吗?
我会在 app/code/core/Mage/Paygate/Model/Authorize.net 的第 1367 行将 ->setLastTransId($response->getTransactionId()) 更改为 getOrderID 吗?
当然,我不会更改核心文件,我会先将其复制到本地。
看起来目前 Magento Community Edition 1.7 中的 Authorize.Net 支付方式在 XInvoiceNum 字段中将订单增量 ID 号(通常被认为是订单号)发送到 Authorize.Net 网关。请参阅 app/code/core/Mage/Paygate/Model/Authorizenet.php 中的第 1154 至 1156 行:
if ($order && $order->getIncrementId()) {
$request->setXInvoiceNum($order->getIncrementId());
}
从 Magento 将更多订单信息获取到 Authorize.Net 的一种可能方法是使用 Authorize.Net 的 CIM(客户信息管理器)版本的网关,以及 Magento 支付方式,例如我们的:
http://www.storefrontconsulting.com/authorize-net-cim-saved-credit-cards-extension-for-magento/