diff --git a/lib/chargify_api_ares.rb b/lib/chargify_api_ares.rb
index <HASH>..<HASH> 100644
--- a/lib/chargify_api_ares.rb
+++ b/lib/chargify_api_ares.rb
@@ -171,6 +171,19 @@ module Chargify
     end
 
     class Transaction < Base
+      def full_refund(attrs = {})
+        return false if self.transaction_type != 'payment'
+
+        attrs.merge!(:amount_in_cents => self.amount_in_cents)
+        self.refund(attrs)
+      end
+
+      def refund(attrs = {})
+        return false if self.transaction_type != 'payment'
+
+        attrs.merge!(:payment_id => self.id)
+        Subscription.find(self.prefix_options[:subscription_id]).refund(attrs)
+      end
     end
   end
 
@@ -217,6 +230,19 @@ module Chargify
   end
   
   class Transaction < Base
+    def full_refund(attrs = {})
+      return false if self.transaction_type != 'payment'
+
+      attrs.merge!(:amount_in_cents => self.amount_in_cents)
+      self.refund(attrs)
+    end
+
+    def refund(attrs = {})
+      return false if self.transaction_type != 'payment'
+
+      attrs.merge!(:payment_id => self.id)
+      Subscription.find(self.subscription_id).refund(attrs)
+    end
   end
   
   class PaymentProfile < Base
Extending transactions to support refunds on payments.