mirror of
				https://github.com/stripe/stripe-ruby.git
				synced 2025-11-04 00:01:47 -05:00 
			
		
		
		
	
		
			
				
	
	
		
			142 lines
		
	
	
		
			6.0 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			142 lines
		
	
	
		
			6.0 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
# File generated from our OpenAPI spec
 | 
						|
# frozen_string_literal: true
 | 
						|
 | 
						|
module Stripe
 | 
						|
  # Reviews can be used to supplement automated fraud detection with human expertise.
 | 
						|
  #
 | 
						|
  # Learn more about [Radar](https://stripe.com/radar) and reviewing payments
 | 
						|
  # [here](https://stripe.com/docs/radar/reviews).
 | 
						|
  class Review < APIResource
 | 
						|
    extend Stripe::APIOperations::List
 | 
						|
 | 
						|
    OBJECT_NAME = "review"
 | 
						|
    def self.object_name
 | 
						|
      "review"
 | 
						|
    end
 | 
						|
 | 
						|
    class IpAddressLocation < Stripe::StripeObject
 | 
						|
      # The city where the payment originated.
 | 
						|
      attr_reader :city
 | 
						|
      # Two-letter ISO code representing the country where the payment originated.
 | 
						|
      attr_reader :country
 | 
						|
      # The geographic latitude where the payment originated.
 | 
						|
      attr_reader :latitude
 | 
						|
      # The geographic longitude where the payment originated.
 | 
						|
      attr_reader :longitude
 | 
						|
      # The state/county/province/region where the payment originated.
 | 
						|
      attr_reader :region
 | 
						|
    end
 | 
						|
 | 
						|
    class Session < Stripe::StripeObject
 | 
						|
      # The browser used in this browser session (e.g., `Chrome`).
 | 
						|
      attr_reader :browser
 | 
						|
      # Information about the device used for the browser session (e.g., `Samsung SM-G930T`).
 | 
						|
      attr_reader :device
 | 
						|
      # The platform for the browser session (e.g., `Macintosh`).
 | 
						|
      attr_reader :platform
 | 
						|
      # The version for the browser session (e.g., `61.0.3163.100`).
 | 
						|
      attr_reader :version
 | 
						|
    end
 | 
						|
 | 
						|
    class ListParams < Stripe::RequestParams
 | 
						|
      class Created < Stripe::RequestParams
 | 
						|
        # Minimum value to filter by (exclusive)
 | 
						|
        attr_accessor :gt
 | 
						|
        # Minimum value to filter by (inclusive)
 | 
						|
        attr_accessor :gte
 | 
						|
        # Maximum value to filter by (exclusive)
 | 
						|
        attr_accessor :lt
 | 
						|
        # Maximum value to filter by (inclusive)
 | 
						|
        attr_accessor :lte
 | 
						|
 | 
						|
        def initialize(gt: nil, gte: nil, lt: nil, lte: nil)
 | 
						|
          @gt = gt
 | 
						|
          @gte = gte
 | 
						|
          @lt = lt
 | 
						|
          @lte = lte
 | 
						|
        end
 | 
						|
      end
 | 
						|
      # Only return reviews that were created during the given date interval.
 | 
						|
      attr_accessor :created
 | 
						|
      # A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
 | 
						|
      attr_accessor :ending_before
 | 
						|
      # Specifies which fields in the response should be expanded.
 | 
						|
      attr_accessor :expand
 | 
						|
      # A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
 | 
						|
      attr_accessor :limit
 | 
						|
      # A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
 | 
						|
      attr_accessor :starting_after
 | 
						|
 | 
						|
      def initialize(created: nil, ending_before: nil, expand: nil, limit: nil, starting_after: nil)
 | 
						|
        @created = created
 | 
						|
        @ending_before = ending_before
 | 
						|
        @expand = expand
 | 
						|
        @limit = limit
 | 
						|
        @starting_after = starting_after
 | 
						|
      end
 | 
						|
    end
 | 
						|
 | 
						|
    class ApproveParams < Stripe::RequestParams
 | 
						|
      # Specifies which fields in the response should be expanded.
 | 
						|
      attr_accessor :expand
 | 
						|
 | 
						|
      def initialize(expand: nil)
 | 
						|
        @expand = expand
 | 
						|
      end
 | 
						|
    end
 | 
						|
    # The ZIP or postal code of the card used, if applicable.
 | 
						|
    attr_reader :billing_zip
 | 
						|
    # The charge associated with this review.
 | 
						|
    attr_reader :charge
 | 
						|
    # The reason the review was closed, or null if it has not yet been closed. One of `approved`, `refunded`, `refunded_as_fraud`, `disputed`, `redacted`, or `canceled`.
 | 
						|
    attr_reader :closed_reason
 | 
						|
    # Time at which the object was created. Measured in seconds since the Unix epoch.
 | 
						|
    attr_reader :created
 | 
						|
    # Unique identifier for the object.
 | 
						|
    attr_reader :id
 | 
						|
    # The IP address where the payment originated.
 | 
						|
    attr_reader :ip_address
 | 
						|
    # Information related to the location of the payment. Note that this information is an approximation and attempts to locate the nearest population center - it should not be used to determine a specific address.
 | 
						|
    attr_reader :ip_address_location
 | 
						|
    # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
 | 
						|
    attr_reader :livemode
 | 
						|
    # String representing the object's type. Objects of the same type share the same value.
 | 
						|
    attr_reader :object
 | 
						|
    # If `true`, the review needs action.
 | 
						|
    attr_reader :open
 | 
						|
    # The reason the review was opened. One of `rule` or `manual`.
 | 
						|
    attr_reader :opened_reason
 | 
						|
    # The PaymentIntent ID associated with this review, if one exists.
 | 
						|
    attr_reader :payment_intent
 | 
						|
    # The reason the review is currently open or closed. One of `rule`, `manual`, `approved`, `refunded`, `refunded_as_fraud`, `disputed`, `redacted`, or `canceled`.
 | 
						|
    attr_reader :reason
 | 
						|
    # Information related to the browsing session of the user who initiated the payment.
 | 
						|
    attr_reader :session
 | 
						|
 | 
						|
    # Approves a Review object, closing it and removing it from the list of reviews.
 | 
						|
    def approve(params = {}, opts = {})
 | 
						|
      request_stripe_object(
 | 
						|
        method: :post,
 | 
						|
        path: format("/v1/reviews/%<review>s/approve", { review: CGI.escape(self["id"]) }),
 | 
						|
        params: params,
 | 
						|
        opts: opts
 | 
						|
      )
 | 
						|
    end
 | 
						|
 | 
						|
    # Approves a Review object, closing it and removing it from the list of reviews.
 | 
						|
    def self.approve(review, params = {}, opts = {})
 | 
						|
      request_stripe_object(
 | 
						|
        method: :post,
 | 
						|
        path: format("/v1/reviews/%<review>s/approve", { review: CGI.escape(review) }),
 | 
						|
        params: params,
 | 
						|
        opts: opts
 | 
						|
      )
 | 
						|
    end
 | 
						|
 | 
						|
    # Returns a list of Review objects that have open set to true. The objects are sorted in descending order by creation date, with the most recently created object appearing first.
 | 
						|
    def self.list(params = {}, opts = {})
 | 
						|
      request_stripe_object(method: :get, path: "/v1/reviews", params: params, opts: opts)
 | 
						|
    end
 | 
						|
  end
 | 
						|
end
 |