Exception: Stripe::StripeError
- Inherits:
-
StandardError
- Object
- StandardError
- Stripe::StripeError
- Defined in:
- lib/stripe/errors.rb
Overview
StripeError is the base error from which all other more specific Stripe errors derive.
Direct Known Subclasses
APIConnectionError, APIError, AuthenticationError, CardError, IdempotencyError, InvalidRequestError, OAuth::OAuthError, PermissionError, RateLimitError, SignatureVerificationError, TemporarySessionExpiredError
Instance Attribute Summary collapse
-
#code ⇒ Object
readonly
Returns the value of attribute code.
-
#error ⇒ Object
readonly
Returns the value of attribute error.
-
#http_body ⇒ Object
readonly
Returns the value of attribute http_body.
-
#http_headers ⇒ Object
readonly
Returns the value of attribute http_headers.
-
#http_status ⇒ Object
readonly
Returns the value of attribute http_status.
-
#json_body ⇒ Object
readonly
Returns the value of attribute json_body.
-
#message ⇒ Object
readonly
Returns the value of attribute message.
-
#request_id ⇒ Object
readonly
Returns the value of attribute request_id.
-
#response ⇒ Object
Response contains a StripeResponse object that has some basic information about the response that conveyed the error.
Instance Method Summary collapse
- #construct_error_object ⇒ Object
-
#idempotent_replayed? ⇒ Boolean
Whether the error was the result of an idempotent replay, meaning that it originally occurred on a previous request and is being replayed back because the user sent the same idempotency key for this one.
-
#initialize(message = nil, http_status: nil, http_body: nil, json_body: nil, http_headers: nil, code: nil) ⇒ StripeError
constructor
Initializes a StripeError.
- #to_s ⇒ Object
Constructor Details
#initialize(message = nil, http_status: nil, http_body: nil, json_body: nil, http_headers: nil, code: nil) ⇒ StripeError
Initializes a StripeError.
14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/stripe/errors.rb', line 14 def initialize( = nil, http_status: nil, http_body: nil, # rubocop:todo Lint/MissingSuper json_body: nil, http_headers: nil, code: nil) @message = @http_status = http_status @http_body = http_body @http_headers = http_headers || {} @idempotent_replayed = @http_headers["idempotent-replayed"] == "true" @json_body = json_body @code = code @request_id = @http_headers["request-id"] @error = construct_error_object end |
Instance Attribute Details
#code ⇒ Object (readonly)
Returns the value of attribute code.
7 8 9 |
# File 'lib/stripe/errors.rb', line 7 def code @code end |
#error ⇒ Object (readonly)
Returns the value of attribute error.
7 8 9 |
# File 'lib/stripe/errors.rb', line 7 def error @error end |
#http_body ⇒ Object (readonly)
Returns the value of attribute http_body.
7 8 9 |
# File 'lib/stripe/errors.rb', line 7 def http_body @http_body end |
#http_headers ⇒ Object (readonly)
Returns the value of attribute http_headers.
7 8 9 |
# File 'lib/stripe/errors.rb', line 7 def http_headers @http_headers end |
#http_status ⇒ Object (readonly)
Returns the value of attribute http_status.
7 8 9 |
# File 'lib/stripe/errors.rb', line 7 def http_status @http_status end |
#json_body ⇒ Object (readonly)
Returns the value of attribute json_body.
7 8 9 |
# File 'lib/stripe/errors.rb', line 7 def json_body @json_body end |
#message ⇒ Object (readonly)
Returns the value of attribute message.
7 8 9 |
# File 'lib/stripe/errors.rb', line 7 def @message end |
#request_id ⇒ Object (readonly)
Returns the value of attribute request_id.
7 8 9 |
# File 'lib/stripe/errors.rb', line 7 def request_id @request_id end |
#response ⇒ Object
Response contains a StripeResponse object that has some basic information about the response that conveyed the error.
11 12 13 |
# File 'lib/stripe/errors.rb', line 11 def response @response end |
Instance Method Details
#construct_error_object ⇒ Object
27 28 29 30 31 32 |
# File 'lib/stripe/errors.rb', line 27 def construct_error_object return nil if @json_body.nil? || !@json_body.key?(:error) # ErrorObject is shared between v1 and v2, so use original object_classes to find ErrorObject.construct_from(@json_body[:error], {}, nil, :v1) end |
#idempotent_replayed? ⇒ Boolean
Whether the error was the result of an idempotent replay, meaning that it originally occurred on a previous request and is being replayed back because the user sent the same idempotency key for this one.
37 38 39 |
# File 'lib/stripe/errors.rb', line 37 def idempotent_replayed? @idempotent_replayed end |
#to_s ⇒ Object
41 42 43 44 45 |
# File 'lib/stripe/errors.rb', line 41 def to_s status_string = @http_status.nil? ? "" : "(Status #{@http_status}) " id_string = @request_id.nil? ? "" : "(Request #{@request_id}) " "#{status_string}#{id_string}#{@message}" end |