Я знаю, что это было некоторое время назад, но в случае, если кто-то все еще нуждается в помощи по этому вопросу, надеюсь, будет полезно следующее.
В методе наблюдателя используйте следующий код для получения идентификатора счета.
$invoice = $observer->getEvent()->getInvoice();
$invoice_id = $invoice->getData('entity_id'); // or you could also use ->getEntityId();
Вы можете просмотреть таблицу sales_flat_invoice в Mage db (ID - это первое поле с именем 'entity_id'). Если у вас есть объект $ invoice, аналогичный любому другому объекту, который наследуется от класса Varien_Object , вы можете использовать метод getData()
Magento для доступа к значениям атрибута.
Кроме того, возможно, нужно посмотреть на другое событие, возможно ... событие sales_order_invoice_register возвращает "неизвестно" в соответствии с документами Mage. Попробуйте событие sales_order_invoice_pay
для приведенного выше кода.