diff --git modules/uc_recurring.uc_authorizenet.inc modules/uc_recurring.uc_authorizenet.inc
new file mode 100644
index 0000000..53764d4
--- /dev/null
+++ modules/uc_recurring.uc_authorizenet.inc
@@ -0,0 +1,57 @@
+<?php
+// $Id: uc_recurring.test_gateway.inc,v 1.1.2.1 2009/09/03 05:00:08 univate Exp $
+
+/**
+ * @file
+ * Uc recurring implementation for the test gateway module.
+ */
+
+/**
+ * Implementation of hook_recurring_info().
+ */
+function uc_recurring_uc_authorizenet_recurring_info() {
+  $items['authorizenet_cim'] = array(
+    'name' => t('Authorize.net (CIM)'),
+    'payment method' => 'credit',
+    'module' => 'uc_recurring',
+    'fee handler' => 'authorizenet_cim',
+    'renew' => 'uc_recurring_authorizenet_cim_renew',
+    'process' => 'uc_recurring_authorizenet_cim_process',
+  );
+  return $items;
+}
+
+/**
+ * Set up the recurring fee by creating a CIM profile for future payments
+ *
+ * @param $order
+ *   The order object.
+ * @param $fee
+ *   The fee object.
+ * @return
+ *   TRUE if renewal succeeded
+ */
+function uc_recurring_authorizenet_cim_process($order, &$fee) {
+  $data = array(
+    'txn_type' => UC_CREDIT_REFERENCE_SET,
+  );
+  return uc_authorizenet_charge($order->order_id, $order->total_amount, $data);
+}
+
+/**
+ * Process a renewal using the CIM profile
+ *
+ * @param $order
+ *   The order object.
+ * @param $fee
+ *   The fee object.
+ * @return
+ *   TRUE if renewal succeeded
+ */
+function uc_recurring_authorizenet_cim_renew($order, &$fee) {
+  $data = array(
+    'txn_type' => UC_CREDIT_REFERENCE_TXN,
+    'ref_id' => '', // #TODO: find where the reference is stored, it appears to be stored against the original order?
+  );
+  return uc_authorizenet_charge($order->order_id, $order->total_amount, $data);
+}
diff --git uc_recurring.module uc_recurring.module
index bbdc408..fb58f69 100644
--- uc_recurring.module
+++ uc_recurring.module
@@ -513,7 +513,7 @@ function uc_recurring_default_handler() {
  */
 function uc_recurring_includes() {
   $return = array();
-  $modules = array('uc_paypal', 'test_gateway', 'uc_credit');
+  $modules = array('uc_paypal', 'uc_authorizenet', 'test_gateway', 'uc_credit');
   foreach ($modules as $module) {
     if (module_exists($module)) {
       module_load_include('inc', 'uc_recurring', '/modules/uc_recurring.'. $module);
