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)