Надеюсь, кто-нибудь здесь может дать мне представление о том, что происходит не так в способе оплаты, над которым я работаю для Magento.
Как следует из названия, проблема заключается в отмене и возврате средств от администратора. Заказы, которые я размещаю с помощью этого модуля, могут быть получены из шлюза при выставлении счета.
Это делается в пространстве имен модели/имя модуля/модель/standard.php, которое расширяет Mage_Payment_Model_Method_Abstract Имя функции: захват
В этом классе у меня также есть функции void, cancel и return. но они новее называются. Я попытался вставить некоторые Mage::Log() в эти методы, но ничего не происходит, когда заказ отменяется или делается кредит-нота (из продажи - счет-фактура).
Итак, может ли кто-нибудь дать мне несколько советов о том, что я пропустил - очевидно, я где-то что-то забыл, но я действительно не могу понять, где.
класс стандарт.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;
}
}
MAGE_IS_DEVELOPER_MODE
иini_set('display_errors', 1)
? У вас есть правильная сигнатура метода, принимающаяVarien_Object $payment
. Пожалуйста, опубликуйте несколько примеров кода, чтобы мы могли увидеть, что вы уже сделали. - person Jonathan Day   schedule 21.06.2011