Index: uc_payflowpro.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/uc_payflowpro/uc_payflowpro.module,v
retrieving revision 1.2.2.27
diff -u -r1.2.2.27 uc_payflowpro.module
--- uc_payflowpro.module	3 Jun 2010 13:43:07 -0000	1.2.2.27
+++ uc_payflowpro.module	24 Jul 2010 15:42:27 -0000
@@ -1325,7 +1325,13 @@
         // For now, integration with uc_roles is direct.  After integration
         // with uc_recurring is done, this should no longer be needed because
         // uc_recurring will already take care of it. @see #525222
-        if (is_callable('uc_roles_action_order_renew')) {
+        // This hook allows custom logic or skipping renewal and replaces the default behavior.  @see #862806
+        $rolesOverrides = module_implements('uc_payflowpro_roles_renew');
+        if (!empty($rolesOverrides))
+        {
+          module_invoke_all('uc_payflowpro_roles_renew', $row, $profile, $order);
+        }
+        elseif (is_callable('uc_roles_action_order_renew')) {
           uc_roles_action_order_renew($order, array());
         }
       }
