}
            // if we are here, we got the latest transaction
            // We want to worry about only transactions in the New status - because these transactions have not
            // given next cycle's entitlements to the customer - so we want to make
            if ($latestTx != null) {
                print 'Latest Transaction ' . $latestTx->merchantTransactionId . 'has status = ' . $latestTx->statusLog[0]->status . PHP_EOL;
                if ($latestTx->statusLog[0]->status == 'New') {
                    print 'Attempting to issue refund against pending transaction ID ' . $latestTx->merchantTransactionId . '.' . PHP_EOL;
                    $refund = new Refund();
                    $refund->setAmount($latestTx->getAmount());
                    $refund->setTransaction($latestTx);
                    $refund->setCurrency($latestTx->getCurrency());
                    $nowNewYork = new \DateTime('now', new \DateTimeZone('America/New_York'));
                    $refund->setNote('Refunding due to subscription cancellation at ' . $nowNewYork->format('Y-m-d_h_i_s') . PHP_EOL);
                    $refundAPI = new Refund();
                    logCall('refundAPI->perform ' . $latestTx->merchantTransactionId);
                    $response = $refundAPI->perform(array($refund));
                    if (isCallSuccessful($response)) {
                        $refunds = $response['data']->refunds;
                        print 'Issued refund of ' . $refunds[0]->getAmount() . ' against pending transaction ID ' . $latestTx->getMerchantTransactionId() . PHP_EOL;
                    }
                }
            } else {
                // We do not need to do anything since we could not
                // find a transaction in 'New' status for this AutoBill
            }
        } else {
            print 'No transactions found' . PHP_EOL;
        }
    }
}