diff --git a/modules/recurly_hosted/recurly_hosted.install b/modules/recurly_hosted/recurly_hosted.install
new file mode 100644
index 0000000..4b6cdf4
--- /dev/null
+++ b/modules/recurly_hosted/recurly_hosted.install
@@ -0,0 +1,18 @@
+<?php
+
+/**
+ * Implements hook_requirements().
+ */
+function recurly_hosted_requirements($phase) {
+  $requirements = array();
+  $t = get_t();
+  if ($phase === 'install') {
+    // Verify that recurlyjs isn't enabled at the same time.
+    if (module_exists('recurlyjs')) {
+      $requirements['recurly_hosted_conflict']['title'] = $t('Recurly.js conflict');
+      $requirements['recurly_hosted_conflict']['description'] = $t('The "Recurly hosted pages" could not be enabled because the Recurly.js module is active. If specifically needing to use Recurly hosted pages, disable Recurly.js first.');
+      $requirements['recurly_hosted_conflict']['severity'] = REQUIREMENT_ERROR;
+    }
+  }
+  return $requirements;
+}
diff --git a/modules/recurlyjs/recurlyjs.install b/modules/recurlyjs/recurlyjs.install
new file mode 100644
index 0000000..f454bce
--- /dev/null
+++ b/modules/recurlyjs/recurlyjs.install
@@ -0,0 +1,30 @@
+<?php
+
+/**
+ * Implements hook_requirements().
+ */
+function recurlyjs_requirements($phase) {
+  $requirements = array();
+  $t = get_t();
+  if ($phase == 'runtime') {
+    $requirements['recurlyjs'] = array(
+      'title' => $t('Recurly.js'),
+    );
+    // Verify that the recurly php library is present.
+    if (($path = libraries_get_path('recurly-js')) && file_exists($path . '/build/recurly.js')) {
+      $requirements['recurlyjs']['value'] = $t('The required Recurly.js library is installed.');
+      $requirements['recurlyjs']['severity'] = REQUIREMENT_OK;
+    }
+    else {
+      $requirements['recurlyjs']['value'] = $t('The required Recurly.js library is missing. Download the Recurly.js library from <a href="https://github.com/recurly/recurly-js">https://github.com/recurly/recurly-js</a> and place it in libraries so that "recurly.js" is located at sites/all/libraries/recurly-js/build/recurly.js');
+      $requirements['recurlyjs']['severity'] = REQUIREMENT_ERROR;
+    }
+    // Verify that recurly_hosted isn't enabled at the same time.
+    if (module_exists('recurly_hosted')) {
+      $requirements['recurlyjs_conflict']['title'] = $t('Recurly.js conflict');
+      $requirements['recurlyjs_conflict']['value'] = $t('The "Recurly hosted pages" module should not be enabled at the same time as Recurly.js module. Disable Recurly hosted pages module to prevent conflicts.');
+      $requirements['recurlyjs_conflict']['severity'] = REQUIREMENT_ERROR;
+    }
+  }
+  return $requirements;
+}
diff --git a/recurly.install b/recurly.install
index 8a36870..71be9d0 100644
--- a/recurly.install
+++ b/recurly.install
@@ -1,6 +1,30 @@
 <?php
 
 /**
+ * Implements hook_requirements().
+ */
+function recurly_requirements($phase) {
+  $requirements = array();
+  $t = get_t();
+  if ($phase == 'runtime') {
+    $requirements['recurly'] = array(
+      'title' => $t('Recurly'),
+    );
+    // Verify that the recurly php library is present.
+    $path = libraries_get_path('recurly');
+    if (($path = libraries_get_path('recurly')) && file_exists($path . '/lib/recurly.php')) {
+      $requirements['recurly']['value'] = $t('The required Recurly PHP library is installed.');
+      $requirements['recurly']['severity'] = REQUIREMENT_OK;
+    }
+    else {
+      $requirements['recurly']['value'] = $t('The required Recurly PHP library is missing. Download the Recurly PHP library from <a href="https://github.com/recurly/recurly-client-php">https://github.com/recurly/recurly-client-php</a> and place it in sites/all/libraries so that "recurly.php" is located at sites/all/libraries/recurly/lib/recurly.php');
+      $requirements['recurly']['severity'] = REQUIREMENT_ERROR;
+    }
+  }
+  return $requirements;
+}
+
+/**
  * Implements hook_schema().
  */
 function recurly_schema() {