How to Cancel an Order Programmatically and Notify Customer in Magento 1.8

magento-1.8

I'm using an extension which cancels an order after X days old. However, customers are not being notified about it. See my code:

if($order_bis->canUnhold()) {
    $order_bis->unhold()->save();
}
if ($order_bis->canCancel()) {
    Mage::log( '[kinento-reminder] Canceling order '.$order_bis->getIncrementId().' ('.$cancelprepaid->getTimestamp().' > '.$orderdate.')', null, 'kinento.log', true );
    $order_bis->cancel();
    $order_bis->addStatusToHistory($order_bis->getStatus(), 'Cancelado automaticamente', true);
    $order_bis->save();
    Mage::getSingleton( 'adminhtml/session' )->addSuccess( Mage::helper( 'reminder' )->__( 'Order %d canceled', $order_bis->getIncrementId() ) );
}

Is there something wrong here?

Best Answer

Add below after $order_bis->save() add below code

 $order_bis->sendOrderUpdateEmail($notify=true, $comment='Cancelado automaticamente');

This code is sending order update email.