希望这里有人能给我一个关于我正在为Magento工作的付款方式出错的想法。
正如标题所示,问题是取消并从管理员退款。 在发票时,可以从网关捕获我在此模块下的订单。
这是在模型namespace / modulename / model / standard.php中完成的,即扩展Mage_Payment_Model_Method_Abstract 函数名称:capture
在本课程中,我还有无效,取消和退款的功能。但是他们被称为新人。 我试图在这些方法中插入一些Mage :: Log(),但是在取消订单或进行信用证时(从销售 - 发票视图)没有任何反应。
所以任何人都可以给我一些关于我错过的暗示 - 显然我必须忘记某处,但我真的不知道在哪里。
standard.php类:
class Namespace_Module_Model_Standard extends Mage_Payment_Model_Method_Abstract
{
const PAYMENT_TYPE_AUTH = 'AUTHORIZATION';
const PAYMENT_TYPE_SALE = 'SALE';
protected $_code = 'module';
protected $_isGateway = true;
protected $_canAuthorize = false;
protected $_canCapture = true;
protected $_canCapturePartial = true;
protected $_canRefund = true;
protected $_canRefundInvoicePartial = true;
protected $_canVoid = true;
protected $_canUseInternal = true;
protected $_canUseCheckout = true;
protected $_canUseForMultishipping = true;
protected $_canSaveCc = false;
//this function is not called when order is cancelled
public function cancel(Varien_Object $payment)
{
Mage::Log('order canceled');
return $this;
}
//same with this function - not called when creditmemo is made
public function refund(Varien_Object $payment, $amount)
{
Mage::Log('refund');
return $this;
}
//but this is called, when invoice is being made
public function capture(Varien_Object $payment, $amount)
{
return $this;
}
}
答案 0 :(得分:-1)
我希望这有助于某人!
贷记凭证: 您应该从发票创建贷记凭证,前提是发票是从付款生成的,而不是由admin用户创建的。 在"订单视图(页面)" > "发票(标签)" > "从列表中选择发票" > "贷项通知单(按钮)" > "发票的新贷项通知单(页面)" 你应该看到两个按钮" Refund Offline"和"退款"。 "退还"按钮将触发您的付款方式模型类方法processBeforeRefund(),refund(),processCreditmemo()。