def terminate refund_type = :none
      return false unless link? :terminate
      unless REFUND_TYPES.include? refund_type.to_s
        raise ArgumentError, "refund must be one of: #{REFUND_TYPES.join ', '}"
      end
      reload follow_link(:terminate, :params => { :refund => refund_type })
      true
    end
def terminate refund_type = :none
      return false unless link? :terminate
      unless REFUND_TYPES.include? refund_type.to_s
        raise ArgumentError, "refund must be one of: #{REFUND_TYPES.join ', '}"
      end
      reload follow_link(:terminate, :params => { :refund => refund_type })
      true
    end
Immediately terminate a subscription (with optional refund).

 @return [true, false] +true+ when successful, +false+ when unable to
   (e.g., the subscription is not active).
 @param refund_type [:none, :full, :partial] <tt>:none</tt> terminates the
   subscription with no refund (the default), <tt>:full</tt> refunds the
   subscription in full, and <tt>:partial</tt> refunds the subscription in
   part.
 @raise [ArgumentError] Invalid +refund_type+.
 @example
   account = Account.find account_code
   subscription = account.subscriptions.first
   subscription.terminate(:partial) # => true