class Stripe::StripeClient
def specific_api_error(resp, error_data, context)
def specific_api_error(resp, error_data, context) og_error("Stripe API error", status: resp.http_status, error_code: error_data[:code], error_message: error_data[:message], error_param: error_data[:param], error_type: error_data[:type], idempotency_key: context.idempotency_key, request_id: context.request_id) standard set of arguments that can be used to initialize most of exceptions. { _body: resp.http_body, _headers: resp.http_headers, _status: resp.http_status, _body: resp.data, : error_data[:code], esp.http_status 00, 404 error_data[:type] "idempotency_error" empotencyError.new(error_data[:message], opts) validRequestError.new( error_data[:message], error_data[:param], opts 01 enticationError.new(error_data[:message], opts) 02 DO: modify CardError constructor to make code a keyword argument so we don't have to delete it from opts .delete(:code) Error.new( ror_data[:message], error_data[:param], error_data[:code], ts 03 issionError.new(error_data[:message], opts) 29 LimitError.new(error_data[:message], opts) rror.new(error_data[:message], opts)