diff --git a/.ruby-version b/.ruby-version
index 73462a5..860487c 100644
--- a/.ruby-version
+++ b/.ruby-version
@@ -1 +1 @@
-2.5.1
+2.7.1
diff --git a/lib/candy_check/app_store/client.rb b/lib/candy_check/app_store/client.rb
index a1b0bd0..42c92df 100644
--- a/lib/candy_check/app_store/client.rb
+++ b/lib/candy_check/app_store/client.rb
@@ -19,8 +19,8 @@ def initialize(endpoint_url)
       # @param receipt_data [String] base64 encoded data string from the app
       # @param secret [String] the password for auto-renewable subscriptions
       # @return [Hash]
-      def verify(receipt_data, secret = nil)
-        request  = build_request(build_request_parameters(receipt_data, secret))
+      def verify(receipt_data, secret = nil, exclude_old_transactions = nil)
+        request  = build_request(build_request_parameters(receipt_data, secret, exclude_old_transactions))
         response = perform_request(request)
         MultiJson.load(response.body)
       end
@@ -46,10 +46,11 @@ def build_request(parameters)
         end
       end
 
-      def build_request_parameters(receipt_data, secret)
+      def build_request_parameters(receipt_data, secret, exclude_old_transactions)
         {
-          'receipt-data' => receipt_data
+          'receipt-data' => receipt_data,
         }.tap do |h|
+          h['exclude-old-transactions'] = exclude_old_transactions if exclude_old_transactions
           h['password'] = secret if secret
         end
       end
diff --git a/lib/candy_check/app_store/subscription_verification.rb b/lib/candy_check/app_store/subscription_verification.rb
index 2e9a615..bba15d0 100644
--- a/lib/candy_check/app_store/subscription_verification.rb
+++ b/lib/candy_check/app_store/subscription_verification.rb
@@ -8,13 +8,15 @@ class SubscriptionVerification < CandyCheck::AppStore::Verification
       # @param receipt_data [String] the raw data to be verified
       # @param secret [String] optional: shared secret
       # @param product_ids [Array<String>] optional: select specific products
+      # @param exclude_old_transactions [Boolean] optional: exclude older subscription transactions
       def initialize(
         endpoint_url,
         receipt_data,
         secret = nil,
-        product_ids = nil
+        product_ids = nil,
+        exclude_old_transactions = nil
       )
-        super(endpoint_url, receipt_data, secret)
+        super(endpoint_url, receipt_data, secret, exclude_old_transactions)
         @product_ids = product_ids
       end
 
diff --git a/lib/candy_check/app_store/verification.rb b/lib/candy_check/app_store/verification.rb
index b7536d0..59853c8 100644
--- a/lib/candy_check/app_store/verification.rb
+++ b/lib/candy_check/app_store/verification.rb
@@ -9,6 +9,8 @@ class Verification
       attr_reader :receipt_data
       # @return [String] the optional shared secret
       attr_reader :secret
+      # @return [Boolean] optional. Set this value to true for the response to include only the latest renewal transaction for any subscriptions.
+      attr_reader :exclude_old_transactions
 
       # Constant for successful responses
       STATUS_OK = 0
@@ -17,10 +19,11 @@ class Verification
       # @param endpoint_url [String] the verification URL to use
       # @param receipt_data [String] the raw data to be verified
       # @param secret [String] optional: shared secret
-      def initialize(endpoint_url, receipt_data, secret = nil)
-        @endpoint_url = endpoint_url
-        @receipt_data = receipt_data
-        @secret = secret
+      def initialize(endpoint_url, receipt_data, secret = nil, exclude_old_transactions = nil)
+        @endpoint_url             = endpoint_url
+        @receipt_data             = receipt_data
+        @secret                   = secret
+        @exclude_old_transactions = exclude_old_transactions
       end
 
       # Performs the verification against the remote server
@@ -43,7 +46,7 @@ def valid?
 
       def verify!
         client    = Client.new(endpoint_url)
-        @response = client.verify(receipt_data, secret)
+        @response = client.verify(receipt_data, secret, exclude_old_transactions)
       end
     end
   end
diff --git a/lib/candy_check/app_store/verifier.rb b/lib/candy_check/app_store/verifier.rb
index 283117b..3232c9d 100644
--- a/lib/candy_check/app_store/verifier.rb
+++ b/lib/candy_check/app_store/verifier.rb
@@ -29,8 +29,8 @@ def initialize(config)
       # @param secret [String] the optional shared secret
       # @return [Receipt] if successful
       # @return [VerificationFailure] otherwise
-      def verify(receipt_data, secret = nil)
-        fetch_receipt_information(Verification, [receipt_data, secret])
+      def verify(receipt_data, secret = nil, exclude_old_transactions: false)
+        fetch_receipt_information(Verification, [receipt_data, secret, exclude_old_transactions])
       end
 
       # Calls a subscription verification for the given input
@@ -39,8 +39,8 @@ def verify(receipt_data, secret = nil)
       # @param product_ids [Array<String>] optional: products to filter
       # @return [ReceiptCollection] if successful
       # @return [Verification] otherwise
-      def verify_subscription(receipt_data, secret = nil, product_ids = nil)
-        args = [receipt_data, secret, product_ids]
+      def verify_subscription(receipt_data, secret = nil, product_ids = nil, exclude_old_transactions: false)
+        args = [receipt_data, secret, product_ids, exclude_old_transactions]
         fetch_receipt_information(SubscriptionVerification, args)
       end