diff --git a/stripe-tests.cabal b/stripe-tests.cabal
--- a/stripe-tests.cabal
+++ b/stripe-tests.cabal
@@ -1,5 +1,5 @@
 name:                stripe-tests
-version:             2.5.0
+version:             2.6.0
 synopsis:            Tests for Stripe API bindings for Haskell
 license:             MIT
 license-file:        LICENSE
@@ -28,11 +28,11 @@
                      , free                 >= 4.10  && < 6
                      , mtl                  >= 2.1.2 && < 2.3
                      , random               >= 1.1   && < 1.2
-                     , hspec                >= 2.1.0 && < 2.7
-                     , hspec-core           >= 2.1.0 && < 2.7
+                     , hspec                >= 2.1.0 && < 2.8
+                     , hspec-core           >= 2.1.0 && < 2.8
                      , stripe-core
                      , text                 >= 1.0   && < 1.3
-                     , time                 >= 1.4   && < 1.9
+                     , time                 >= 1.4   && < 1.11
                      , transformers         >= 0.3   && < 0.6
                      , unordered-containers >= 0.2.5 && < 0.3
 
diff --git a/tests/Web/Stripe/Test/Account.hs b/tests/Web/Stripe/Test/Account.hs
--- a/tests/Web/Stripe/Test/Account.hs
+++ b/tests/Web/Stripe/Test/Account.hs
@@ -12,7 +12,6 @@
 accountTests stripe = do
   describe "Account tests" $ do
     it "Succesfully retrieves account information" $ do
-      result <- stripe $ do d <- getAccountDetails             
+      result <- stripe $ do d <- getAccountDetails
                             return d
       result `shouldSatisfy` isRight
-
diff --git a/tests/Web/Stripe/Test/AllTests.hs b/tests/Web/Stripe/Test/AllTests.hs
--- a/tests/Web/Stripe/Test/AllTests.hs
+++ b/tests/Web/Stripe/Test/AllTests.hs
@@ -1,6 +1,7 @@
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE RankNTypes #-}
 {-# LANGUAGE RecordWildCards   #-}
+{-# LANGUAGE RankNTypes #-}
 module Web.Stripe.Test.AllTests where
 
 import           Test.Hspec                            (hspec)
diff --git a/tests/Web/Stripe/Test/ApplicationFee.hs b/tests/Web/Stripe/Test/ApplicationFee.hs
--- a/tests/Web/Stripe/Test/ApplicationFee.hs
+++ b/tests/Web/Stripe/Test/ApplicationFee.hs
@@ -1,5 +1,6 @@
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE RebindableSyntax #-}
+{-# LANGUAGE RankNTypes #-}
 module Web.Stripe.Test.ApplicationFee where
 
 import Test.Hspec
diff --git a/tests/Web/Stripe/Test/ApplicationFeeRefund.hs b/tests/Web/Stripe/Test/ApplicationFeeRefund.hs
--- a/tests/Web/Stripe/Test/ApplicationFeeRefund.hs
+++ b/tests/Web/Stripe/Test/ApplicationFeeRefund.hs
@@ -1,6 +1,7 @@
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE RebindableSyntax #-}
 {-# LANGUAGE RecordWildCards   #-}
+{-# LANGUAGE RankNTypes #-}
 module Web.Stripe.Test.ApplicationFeeRefund where
 
 import           Data.Either
diff --git a/tests/Web/Stripe/Test/Balance.hs b/tests/Web/Stripe/Test/Balance.hs
--- a/tests/Web/Stripe/Test/Balance.hs
+++ b/tests/Web/Stripe/Test/Balance.hs
@@ -1,5 +1,6 @@
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE RebindableSyntax  #-}
+{-# LANGUAGE RankNTypes #-}
 module Web.Stripe.Test.Balance where
 
 import           Data.Either
diff --git a/tests/Web/Stripe/Test/Card.hs b/tests/Web/Stripe/Test/Card.hs
--- a/tests/Web/Stripe/Test/Card.hs
+++ b/tests/Web/Stripe/Test/Card.hs
@@ -1,6 +1,7 @@
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE RebindableSyntax  #-}
 {-# LANGUAGE RecordWildCards   #-}
+{-# LANGUAGE RankNTypes #-}
 module Web.Stripe.Test.Card where
 
 import           Data.Either
diff --git a/tests/Web/Stripe/Test/Charge.hs b/tests/Web/Stripe/Test/Charge.hs
--- a/tests/Web/Stripe/Test/Charge.hs
+++ b/tests/Web/Stripe/Test/Charge.hs
@@ -1,6 +1,7 @@
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE RebindableSyntax  #-}
 {-# LANGUAGE RecordWildCards   #-}
+{-# LANGUAGE RankNTypes #-}
 module Web.Stripe.Test.Charge where
 
 import           Data.Either
diff --git a/tests/Web/Stripe/Test/Coupon.hs b/tests/Web/Stripe/Test/Coupon.hs
--- a/tests/Web/Stripe/Test/Coupon.hs
+++ b/tests/Web/Stripe/Test/Coupon.hs
@@ -1,5 +1,6 @@
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE RebindableSyntax #-}
+{-# LANGUAGE RankNTypes #-}
 module Web.Stripe.Test.Coupon where
 
 import           Data.Either
diff --git a/tests/Web/Stripe/Test/Customer.hs b/tests/Web/Stripe/Test/Customer.hs
--- a/tests/Web/Stripe/Test/Customer.hs
+++ b/tests/Web/Stripe/Test/Customer.hs
@@ -1,6 +1,7 @@
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE RecordWildCards #-}
 {-# LANGUAGE RebindableSyntax #-}
+{-# LANGUAGE RankNTypes #-}
 module Web.Stripe.Test.Customer where
 import           Data.Either
 import           Data.Maybe
diff --git a/tests/Web/Stripe/Test/Discount.hs b/tests/Web/Stripe/Test/Discount.hs
--- a/tests/Web/Stripe/Test/Discount.hs
+++ b/tests/Web/Stripe/Test/Discount.hs
@@ -1,6 +1,7 @@
 {-# LANGUAGE RecordWildCards #-}
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE RebindableSyntax #-}
+{-# LANGUAGE RankNTypes #-}
 module Web.Stripe.Test.Discount where
 
 import           Data.Either
diff --git a/tests/Web/Stripe/Test/Dispute.hs b/tests/Web/Stripe/Test/Dispute.hs
--- a/tests/Web/Stripe/Test/Dispute.hs
+++ b/tests/Web/Stripe/Test/Dispute.hs
@@ -1,6 +1,7 @@
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE RebindableSyntax  #-}
 {-# LANGUAGE RecordWildCards   #-}
+{-# LANGUAGE RankNTypes #-}
 module Web.Stripe.Test.Dispute where
 
 import           Control.Concurrent      (threadDelay)
diff --git a/tests/Web/Stripe/Test/Event.hs b/tests/Web/Stripe/Test/Event.hs
--- a/tests/Web/Stripe/Test/Event.hs
+++ b/tests/Web/Stripe/Test/Event.hs
@@ -1,5 +1,6 @@
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE RebindableSyntax #-}
+{-# LANGUAGE RankNTypes #-}
 module Web.Stripe.Test.Event where
 
 import           Data.Either
diff --git a/tests/Web/Stripe/Test/Invoice.hs b/tests/Web/Stripe/Test/Invoice.hs
--- a/tests/Web/Stripe/Test/Invoice.hs
+++ b/tests/Web/Stripe/Test/Invoice.hs
@@ -1,6 +1,7 @@
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE RebindableSyntax  #-}
 {-# LANGUAGE RecordWildCards   #-}
+{-# LANGUAGE RankNTypes #-}
 module Web.Stripe.Test.Invoice where
 
 import           Data.Either
diff --git a/tests/Web/Stripe/Test/InvoiceItem.hs b/tests/Web/Stripe/Test/InvoiceItem.hs
--- a/tests/Web/Stripe/Test/InvoiceItem.hs
+++ b/tests/Web/Stripe/Test/InvoiceItem.hs
@@ -1,6 +1,7 @@
 {-# LANGUAGE RecordWildCards #-}
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE RebindableSyntax #-}
+{-# LANGUAGE RankNTypes #-}
 module Web.Stripe.Test.InvoiceItem where
 
 import           Data.Either
diff --git a/tests/Web/Stripe/Test/Plan.hs b/tests/Web/Stripe/Test/Plan.hs
--- a/tests/Web/Stripe/Test/Plan.hs
+++ b/tests/Web/Stripe/Test/Plan.hs
@@ -1,5 +1,6 @@
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE RebindableSyntax #-}
+{-# LANGUAGE RankNTypes #-}
 module Web.Stripe.Test.Plan where
 
 import           Data.Either   (Either(..), isRight)
diff --git a/tests/Web/Stripe/Test/Prelude.hs b/tests/Web/Stripe/Test/Prelude.hs
--- a/tests/Web/Stripe/Test/Prelude.hs
+++ b/tests/Web/Stripe/Test/Prelude.hs
@@ -114,7 +114,7 @@
 void :: (FromJSON (StripeReturn a)) => StripeRequest a -> Stripe ()
 void req = M.void (stripeLift req)
 
-fail :: (M.Monad m) => String -> m a
+fail :: (M.MonadFail m) => String -> m a
 fail = M.fail
 
 return :: (M.Monad m) => a -> m a
diff --git a/tests/Web/Stripe/Test/Recipient.hs b/tests/Web/Stripe/Test/Recipient.hs
--- a/tests/Web/Stripe/Test/Recipient.hs
+++ b/tests/Web/Stripe/Test/Recipient.hs
@@ -1,6 +1,7 @@
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE RecordWildCards #-}
 {-# LANGUAGE RebindableSyntax #-}
+{-# LANGUAGE RankNTypes #-}
 module Web.Stripe.Test.Recipient where
 
 import           Data.Either
diff --git a/tests/Web/Stripe/Test/Refund.hs b/tests/Web/Stripe/Test/Refund.hs
--- a/tests/Web/Stripe/Test/Refund.hs
+++ b/tests/Web/Stripe/Test/Refund.hs
@@ -1,6 +1,7 @@
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE RebindableSyntax  #-}
 {-# LANGUAGE RecordWildCards   #-}
+{-# LANGUAGE RankNTypes #-}
 module Web.Stripe.Test.Refund where
 
 import           Data.Either
diff --git a/tests/Web/Stripe/Test/Subscription.hs b/tests/Web/Stripe/Test/Subscription.hs
--- a/tests/Web/Stripe/Test/Subscription.hs
+++ b/tests/Web/Stripe/Test/Subscription.hs
@@ -1,6 +1,7 @@
 {-# LANGUAGE RecordWildCards #-}
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE RebindableSyntax #-}
+{-# LANGUAGE RankNTypes #-}
 module Web.Stripe.Test.Subscription where
 
 import           Data.Either
diff --git a/tests/Web/Stripe/Test/Token.hs b/tests/Web/Stripe/Test/Token.hs
--- a/tests/Web/Stripe/Test/Token.hs
+++ b/tests/Web/Stripe/Test/Token.hs
@@ -1,6 +1,7 @@
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE RebindableSyntax  #-}
 {-# LANGUAGE RecordWildCards   #-}
+{-# LANGUAGE RankNTypes #-}
 module Web.Stripe.Test.Token where
 
 import           Data.Either
diff --git a/tests/Web/Stripe/Test/Transfer.hs b/tests/Web/Stripe/Test/Transfer.hs
--- a/tests/Web/Stripe/Test/Transfer.hs
+++ b/tests/Web/Stripe/Test/Transfer.hs
@@ -1,6 +1,7 @@
 {-# LANGUAGE RecordWildCards #-}
 {-# LANGUAGE OverloadedStrings #-}
 {-# LANGUAGE RebindableSyntax #-}
+{-# LANGUAGE RankNTypes #-}
 module Web.Stripe.Test.Transfer where
 
 import           Data.Maybe
