stripe 11.4.0.pre.beta.1 → 11.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +662 -1317
- data/Gemfile +0 -4
- data/OPENAPI_VERSION +1 -1
- data/README.md +0 -11
- data/VERSION +1 -1
- data/lib/stripe/api_operations/nested_resource.rb +22 -2
- data/lib/stripe/api_operations/request.rb +1 -2
- data/lib/stripe/api_version.rb +0 -1
- data/lib/stripe/object_types.rb +0 -16
- data/lib/stripe/resources/financial_connections/account.rb +0 -3
- data/lib/stripe/resources/invoice.rb +0 -99
- data/lib/stripe/resources/payment_intent.rb +0 -50
- data/lib/stripe/resources/quote.rb +0 -104
- data/lib/stripe/resources/subscription_schedule.rb +0 -20
- data/lib/stripe/resources/terminal/reader.rb +0 -60
- data/lib/stripe/resources/treasury/outbound_payment.rb +20 -0
- data/lib/stripe/resources/treasury/outbound_transfer.rb +20 -0
- data/lib/stripe/resources.rb +0 -15
- data/lib/stripe/stripe_client.rb +36 -63
- data/lib/stripe/stripe_configuration.rb +1 -2
- data/lib/stripe/util.rb +1 -8
- data/lib/stripe/version.rb +1 -1
- data/lib/stripe.rb +0 -54
- metadata +4 -20
- data/lib/stripe/request_signing_authenticator.rb +0 -79
- data/lib/stripe/resources/account_notice.rb +0 -32
- data/lib/stripe/resources/capital/financing_offer.rb +0 -49
- data/lib/stripe/resources/capital/financing_summary.rb +0 -15
- data/lib/stripe/resources/capital/financing_transaction.rb +0 -27
- data/lib/stripe/resources/financial_connections/account_inferred_balance.rb +0 -14
- data/lib/stripe/resources/gift_cards/card.rb +0 -59
- data/lib/stripe/resources/gift_cards/transaction.rb +0 -93
- data/lib/stripe/resources/invoice_payment.rb +0 -12
- data/lib/stripe/resources/issuing/credit_underwriting_record.rb +0 -88
- data/lib/stripe/resources/margin.rb +0 -37
- data/lib/stripe/resources/order.rb +0 -120
- data/lib/stripe/resources/quote_phase.rb +0 -39
- data/lib/stripe/resources/quote_preview_invoice.rb +0 -43
- data/lib/stripe/resources/quote_preview_subscription_schedule.rb +0 -11
- data/lib/stripe/resources/tax/form.rb +0 -49
    
        data/lib/stripe/resources.rb
    CHANGED
    
    | @@ -3,7 +3,6 @@ | |
| 3 3 |  | 
| 4 4 | 
             
            require "stripe/resources/account"
         | 
| 5 5 | 
             
            require "stripe/resources/account_link"
         | 
| 6 | 
            -
            require "stripe/resources/account_notice"
         | 
| 7 6 | 
             
            require "stripe/resources/account_session"
         | 
| 8 7 | 
             
            require "stripe/resources/apple_pay_domain"
         | 
| 9 8 | 
             
            require "stripe/resources/application_fee"
         | 
| @@ -19,9 +18,6 @@ require "stripe/resources/billing/meter_event_summary" | |
| 19 18 | 
             
            require "stripe/resources/billing_portal/configuration"
         | 
| 20 19 | 
             
            require "stripe/resources/billing_portal/session"
         | 
| 21 20 | 
             
            require "stripe/resources/capability"
         | 
| 22 | 
            -
            require "stripe/resources/capital/financing_offer"
         | 
| 23 | 
            -
            require "stripe/resources/capital/financing_summary"
         | 
| 24 | 
            -
            require "stripe/resources/capital/financing_transaction"
         | 
| 25 21 | 
             
            require "stripe/resources/card"
         | 
| 26 22 | 
             
            require "stripe/resources/cash_balance"
         | 
| 27 23 | 
             
            require "stripe/resources/charge"
         | 
| @@ -48,25 +44,20 @@ require "stripe/resources/exchange_rate" | |
| 48 44 | 
             
            require "stripe/resources/file"
         | 
| 49 45 | 
             
            require "stripe/resources/file_link"
         | 
| 50 46 | 
             
            require "stripe/resources/financial_connections/account"
         | 
| 51 | 
            -
            require "stripe/resources/financial_connections/account_inferred_balance"
         | 
| 52 47 | 
             
            require "stripe/resources/financial_connections/account_owner"
         | 
| 53 48 | 
             
            require "stripe/resources/financial_connections/account_ownership"
         | 
| 54 49 | 
             
            require "stripe/resources/financial_connections/session"
         | 
| 55 50 | 
             
            require "stripe/resources/financial_connections/transaction"
         | 
| 56 51 | 
             
            require "stripe/resources/forwarding/request"
         | 
| 57 52 | 
             
            require "stripe/resources/funding_instructions"
         | 
| 58 | 
            -
            require "stripe/resources/gift_cards/card"
         | 
| 59 | 
            -
            require "stripe/resources/gift_cards/transaction"
         | 
| 60 53 | 
             
            require "stripe/resources/identity/verification_report"
         | 
| 61 54 | 
             
            require "stripe/resources/identity/verification_session"
         | 
| 62 55 | 
             
            require "stripe/resources/invoice"
         | 
| 63 56 | 
             
            require "stripe/resources/invoice_item"
         | 
| 64 57 | 
             
            require "stripe/resources/invoice_line_item"
         | 
| 65 | 
            -
            require "stripe/resources/invoice_payment"
         | 
| 66 58 | 
             
            require "stripe/resources/issuing/authorization"
         | 
| 67 59 | 
             
            require "stripe/resources/issuing/card"
         | 
| 68 60 | 
             
            require "stripe/resources/issuing/cardholder"
         | 
| 69 | 
            -
            require "stripe/resources/issuing/credit_underwriting_record"
         | 
| 70 61 | 
             
            require "stripe/resources/issuing/dispute"
         | 
| 71 62 | 
             
            require "stripe/resources/issuing/personalization_design"
         | 
| 72 63 | 
             
            require "stripe/resources/issuing/physical_bundle"
         | 
| @@ -75,8 +66,6 @@ require "stripe/resources/issuing/transaction" | |
| 75 66 | 
             
            require "stripe/resources/line_item"
         | 
| 76 67 | 
             
            require "stripe/resources/login_link"
         | 
| 77 68 | 
             
            require "stripe/resources/mandate"
         | 
| 78 | 
            -
            require "stripe/resources/margin"
         | 
| 79 | 
            -
            require "stripe/resources/order"
         | 
| 80 69 | 
             
            require "stripe/resources/payment_intent"
         | 
| 81 70 | 
             
            require "stripe/resources/payment_link"
         | 
| 82 71 | 
             
            require "stripe/resources/payment_method"
         | 
| @@ -90,9 +79,6 @@ require "stripe/resources/product" | |
| 90 79 | 
             
            require "stripe/resources/product_feature"
         | 
| 91 80 | 
             
            require "stripe/resources/promotion_code"
         | 
| 92 81 | 
             
            require "stripe/resources/quote"
         | 
| 93 | 
            -
            require "stripe/resources/quote_phase"
         | 
| 94 | 
            -
            require "stripe/resources/quote_preview_invoice"
         | 
| 95 | 
            -
            require "stripe/resources/quote_preview_subscription_schedule"
         | 
| 96 82 | 
             
            require "stripe/resources/radar/early_fraud_warning"
         | 
| 97 83 | 
             
            require "stripe/resources/radar/value_list"
         | 
| 98 84 | 
             
            require "stripe/resources/radar/value_list_item"
         | 
| @@ -112,7 +98,6 @@ require "stripe/resources/subscription_item" | |
| 112 98 | 
             
            require "stripe/resources/subscription_schedule"
         | 
| 113 99 | 
             
            require "stripe/resources/tax/calculation"
         | 
| 114 100 | 
             
            require "stripe/resources/tax/calculation_line_item"
         | 
| 115 | 
            -
            require "stripe/resources/tax/form"
         | 
| 116 101 | 
             
            require "stripe/resources/tax/registration"
         | 
| 117 102 | 
             
            require "stripe/resources/tax/settings"
         | 
| 118 103 | 
             
            require "stripe/resources/tax/transaction"
         | 
    
        data/lib/stripe/stripe_client.rb
    CHANGED
    
    | @@ -18,6 +18,11 @@ module Stripe | |
| 18 18 | 
             
                  @system_profiler = SystemProfiler.new
         | 
| 19 19 | 
             
                  @last_request_metrics = nil
         | 
| 20 20 |  | 
| 21 | 
            +
                  # The following attribute is only used to log whether or not
         | 
| 22 | 
            +
                  # StripeClient#request has been called. To be removed in a
         | 
| 23 | 
            +
                  # future major version.
         | 
| 24 | 
            +
                  @usage = []
         | 
| 25 | 
            +
             | 
| 21 26 | 
             
                  @config = case config_arg
         | 
| 22 27 | 
             
                            when Hash
         | 
| 23 28 | 
             
                              Stripe.config.reverse_duplicate_merge(config_arg)
         | 
| @@ -186,6 +191,7 @@ module Stripe | |
| 186 191 | 
             
                #     charge, resp = client.request { Charge.create }
         | 
| 187 192 | 
             
                #
         | 
| 188 193 | 
             
                def request
         | 
| 194 | 
            +
                  @usage = ["stripe_client_request"]
         | 
| 189 195 | 
             
                  old_stripe_client = self.class.current_thread_context.active_client
         | 
| 190 196 | 
             
                  self.class.current_thread_context.active_client = self
         | 
| 191 197 |  | 
| @@ -200,16 +206,16 @@ module Stripe | |
| 200 206 | 
             
                    res = yield
         | 
| 201 207 | 
             
                    [res, self.class.current_thread_context.last_responses[object_id]]
         | 
| 202 208 | 
             
                  ensure
         | 
| 209 | 
            +
                    @usage = []
         | 
| 203 210 | 
             
                    self.class.current_thread_context.active_client = old_stripe_client
         | 
| 204 211 | 
             
                    self.class.current_thread_context.last_responses.delete(object_id)
         | 
| 205 212 | 
             
                  end
         | 
| 206 213 | 
             
                end
         | 
| 207 214 |  | 
| 208 215 | 
             
                def execute_request(method, path,
         | 
| 209 | 
            -
                                    api_base: nil, api_key: nil,
         | 
| 210 | 
            -
                                    headers: {}, params: {}, api_mode: nil, usage: [])
         | 
| 216 | 
            +
                                    api_base: nil, api_key: nil, headers: {}, params: {}, usage: [])
         | 
| 211 217 | 
             
                  http_resp, api_key = execute_request_internal(
         | 
| 212 | 
            -
                    method, path, api_base, api_key, headers, params,  | 
| 218 | 
            +
                    method, path, api_base, api_key, headers, params, usage
         | 
| 213 219 | 
             
                  )
         | 
| 214 220 |  | 
| 215 221 | 
             
                  begin
         | 
| @@ -240,7 +246,6 @@ module Stripe | |
| 240 246 | 
             
                def execute_request_stream(method, path,
         | 
| 241 247 | 
             
                                           api_base: nil, api_key: nil, usage: [],
         | 
| 242 248 | 
             
                                           headers: {}, params: {},
         | 
| 243 | 
            -
                                           api_mode: nil,
         | 
| 244 249 | 
             
                                           &read_body_chunk_block)
         | 
| 245 250 | 
             
                  unless block_given?
         | 
| 246 251 | 
             
                    raise ArgumentError,
         | 
| @@ -248,8 +253,7 @@ module Stripe | |
| 248 253 | 
             
                  end
         | 
| 249 254 |  | 
| 250 255 | 
             
                  http_resp, api_key = execute_request_internal(
         | 
| 251 | 
            -
                    method, path, api_base, api_key,
         | 
| 252 | 
            -
                    headers, params, api_mode, usage, &read_body_chunk_block
         | 
| 256 | 
            +
                    method, path, api_base, api_key, headers, params, usage, &read_body_chunk_block
         | 
| 253 257 | 
             
                  )
         | 
| 254 258 |  | 
| 255 259 | 
             
                  # When the read_body_chunk_block is given, we no longer have access to the
         | 
| @@ -428,8 +432,8 @@ module Stripe | |
| 428 432 | 
             
                end
         | 
| 429 433 |  | 
| 430 434 | 
             
                private def execute_request_internal(method, path,
         | 
| 431 | 
            -
                                                     api_base, api_key, headers, params,
         | 
| 432 | 
            -
                                                      | 
| 435 | 
            +
                                                     api_base, api_key, headers, params, usage,
         | 
| 436 | 
            +
                                                     &read_body_chunk_block)
         | 
| 433 437 | 
             
                  raise ArgumentError, "method should be a symbol" \
         | 
| 434 438 | 
             
                  unless method.is_a?(Symbol)
         | 
| 435 439 | 
             
                  raise ArgumentError, "path should be a string" \
         | 
| @@ -437,10 +441,9 @@ module Stripe | |
| 437 441 |  | 
| 438 442 | 
             
                  api_base ||= config.api_base
         | 
| 439 443 | 
             
                  api_key ||= config.api_key
         | 
| 440 | 
            -
                  authenticator ||= config.authenticator
         | 
| 441 444 | 
             
                  params = Util.objects_to_ids(params)
         | 
| 442 445 |  | 
| 443 | 
            -
                   | 
| 446 | 
            +
                  check_api_key!(api_key)
         | 
| 444 447 |  | 
| 445 448 | 
             
                  body_params = nil
         | 
| 446 449 | 
             
                  query_params = nil
         | 
| @@ -453,9 +456,8 @@ module Stripe | |
| 453 456 |  | 
| 454 457 | 
             
                  query_params, path = merge_query_params(query_params, path)
         | 
| 455 458 |  | 
| 456 | 
            -
                  headers = request_headers(api_key, method | 
| 459 | 
            +
                  headers = request_headers(api_key, method)
         | 
| 457 460 | 
             
                            .update(Util.normalize_headers(headers))
         | 
| 458 | 
            -
             | 
| 459 461 | 
             
                  url = api_url(path, api_base)
         | 
| 460 462 |  | 
| 461 463 | 
             
                  # Merge given query parameters with any already encoded in the path.
         | 
| @@ -466,16 +468,13 @@ module Stripe | |
| 466 468 | 
             
                  # a log-friendly variant of the encoded form. File objects are displayed
         | 
| 467 469 | 
             
                  # as such instead of as their file contents.
         | 
| 468 470 | 
             
                  body, body_log =
         | 
| 469 | 
            -
                    body_params ? encode_body(body_params, headers | 
| 470 | 
            -
             | 
| 471 | 
            -
                  authenticator.authenticate(method, headers, body) unless api_key
         | 
| 471 | 
            +
                    body_params ? encode_body(body_params, headers) : [nil, nil]
         | 
| 472 472 |  | 
| 473 473 | 
             
                  # stores information on the request we're about to make so that we don't
         | 
| 474 474 | 
             
                  # have to pass as many parameters around for logging.
         | 
| 475 475 | 
             
                  context = RequestLogContext.new
         | 
| 476 476 | 
             
                  context.account         = headers["Stripe-Account"]
         | 
| 477 477 | 
             
                  context.api_key         = api_key
         | 
| 478 | 
            -
                  context.authenticator   = authenticator
         | 
| 479 478 | 
             
                  context.api_version     = headers["Stripe-Version"]
         | 
| 480 479 | 
             
                  context.body            = body_log
         | 
| 481 480 | 
             
                  context.idempotency_key = headers["Idempotency-Key"]
         | 
| @@ -512,16 +511,8 @@ module Stripe | |
| 512 511 | 
             
                  (api_base || config.api_base) + url
         | 
| 513 512 | 
             
                end
         | 
| 514 513 |  | 
| 515 | 
            -
                private def  | 
| 516 | 
            -
                   | 
| 517 | 
            -
                    raise AuthenticationError, "Can't specify both API key " \
         | 
| 518 | 
            -
                                               "and authenticator. Either set your API key" \
         | 
| 519 | 
            -
                                               'using "Stripe.api_key = <API-KEY>", or set your authenticator ' \
         | 
| 520 | 
            -
                                               'using "Stripe.authenticator = <AUTHENTICATOR>"' \
         | 
| 521 | 
            -
                  end
         | 
| 522 | 
            -
             | 
| 523 | 
            -
                  unless api_key || authenticator
         | 
| 524 | 
            -
                    # Default to missing API key error message for general users.
         | 
| 514 | 
            +
                private def check_api_key!(api_key)
         | 
| 515 | 
            +
                  unless api_key
         | 
| 525 516 | 
             
                    raise AuthenticationError, "No API key provided. " \
         | 
| 526 517 | 
             
                                               'Set your API key using "Stripe.api_key = <API-KEY>". ' \
         | 
| 527 518 | 
             
                                               "You can generate API keys from the Stripe web interface. " \
         | 
| @@ -540,7 +531,7 @@ module Stripe | |
| 540 531 | 
             
                # Encodes a set of body parameters using multipart if `Content-Type` is set
         | 
| 541 532 | 
             
                # for that, or standard form-encoding otherwise. Returns the encoded body
         | 
| 542 533 | 
             
                # and a version of the encoded body that's safe to be logged.
         | 
| 543 | 
            -
                private def encode_body(body_params, headers | 
| 534 | 
            +
                private def encode_body(body_params, headers)
         | 
| 544 535 | 
             
                  body = nil
         | 
| 545 536 | 
             
                  flattened_params = Util.flatten_params(body_params)
         | 
| 546 537 |  | 
| @@ -556,22 +547,15 @@ module Stripe | |
| 556 547 | 
             
                    flattened_params =
         | 
| 557 548 | 
             
                      flattened_params.map { |k, v| [k, v.is_a?(String) ? v : v.to_s] }.to_h
         | 
| 558 549 |  | 
| 559 | 
            -
                  elsif api_mode == :preview
         | 
| 560 | 
            -
                    body = JSON.generate(body_params)
         | 
| 561 | 
            -
                    headers["Content-Type"] = "application/json"
         | 
| 562 550 | 
             
                  else
         | 
| 563 551 | 
             
                    body = Util.encode_parameters(body_params)
         | 
| 564 552 | 
             
                  end
         | 
| 565 553 |  | 
| 566 | 
            -
                   | 
| 567 | 
            -
             | 
| 568 | 
            -
             | 
| 569 | 
            -
             | 
| 570 | 
            -
             | 
| 571 | 
            -
                               # forms of certain characters introduce a lot of visual noise and it's
         | 
| 572 | 
            -
                               # nice to have a clearer format for logs.
         | 
| 573 | 
            -
                               flattened_params.map { |k, v| "#{k}=#{v}" }.join("&")
         | 
| 574 | 
            -
                             end
         | 
| 554 | 
            +
                  # We don't use `Util.encode_parameters` partly as an optimization (to not
         | 
| 555 | 
            +
                  # redo work we've already done), and partly because the encoded forms of
         | 
| 556 | 
            +
                  # certain characters introduce a lot of visual noise and it's nice to
         | 
| 557 | 
            +
                  # have a clearer format for logs.
         | 
| 558 | 
            +
                  body_log = flattened_params.map { |k, v| "#{k}=#{v}" }.join("&")
         | 
| 575 559 |  | 
| 576 560 | 
             
                  [body, body_log]
         | 
| 577 561 | 
             
                end
         | 
| @@ -606,7 +590,7 @@ module Stripe | |
| 606 590 | 
             
                    if config.enable_telemetry? && context.request_id
         | 
| 607 591 | 
             
                      request_duration_ms = (request_duration * 1000).to_i
         | 
| 608 592 | 
             
                      @last_request_metrics =
         | 
| 609 | 
            -
                        StripeRequestMetrics.new(context.request_id, request_duration_ms, usage: usage)
         | 
| 593 | 
            +
                        StripeRequestMetrics.new(context.request_id, request_duration_ms, usage: usage + @usage)
         | 
| 610 594 | 
             
                    end
         | 
| 611 595 |  | 
| 612 596 | 
             
                  # We rescue all exceptions from a request so that we have an easy spot to
         | 
| @@ -757,11 +741,10 @@ module Stripe | |
| 757 741 | 
             
                end
         | 
| 758 742 |  | 
| 759 743 | 
             
                private def specific_api_error(resp, error_data, context)
         | 
| 760 | 
            -
                  message = error_data[:message]
         | 
| 761 744 | 
             
                  Util.log_error("Stripe API error",
         | 
| 762 745 | 
             
                                 status: resp.http_status,
         | 
| 763 746 | 
             
                                 error_code: error_data[:code],
         | 
| 764 | 
            -
                                 error_message: message,
         | 
| 747 | 
            +
                                 error_message: error_data[:message],
         | 
| 765 748 | 
             
                                 error_param: error_data[:param],
         | 
| 766 749 | 
             
                                 error_type: error_data[:type],
         | 
| 767 750 | 
             
                                 idempotency_key: context.idempotency_key,
         | 
| @@ -782,26 +765,26 @@ module Stripe | |
| 782 765 | 
             
                  when 400, 404
         | 
| 783 766 | 
             
                    case error_data[:type]
         | 
| 784 767 | 
             
                    when "idempotency_error"
         | 
| 785 | 
            -
                      IdempotencyError.new(message, **opts)
         | 
| 768 | 
            +
                      IdempotencyError.new(error_data[:message], **opts)
         | 
| 786 769 | 
             
                    else
         | 
| 787 770 | 
             
                      InvalidRequestError.new(
         | 
| 788 | 
            -
                        message, error_data[:param],
         | 
| 771 | 
            +
                        error_data[:message], error_data[:param],
         | 
| 789 772 | 
             
                        **opts
         | 
| 790 773 | 
             
                      )
         | 
| 791 774 | 
             
                    end
         | 
| 792 775 | 
             
                  when 401
         | 
| 793 | 
            -
                    AuthenticationError.new(message, **opts)
         | 
| 776 | 
            +
                    AuthenticationError.new(error_data[:message], **opts)
         | 
| 794 777 | 
             
                  when 402
         | 
| 795 778 | 
             
                    CardError.new(
         | 
| 796 | 
            -
                      message, error_data[:param],
         | 
| 779 | 
            +
                      error_data[:message], error_data[:param],
         | 
| 797 780 | 
             
                      **opts
         | 
| 798 781 | 
             
                    )
         | 
| 799 782 | 
             
                  when 403
         | 
| 800 | 
            -
                    PermissionError.new(message, **opts)
         | 
| 783 | 
            +
                    PermissionError.new(error_data[:message], **opts)
         | 
| 801 784 | 
             
                  when 429
         | 
| 802 | 
            -
                    RateLimitError.new(message, **opts)
         | 
| 785 | 
            +
                    RateLimitError.new(error_data[:message], **opts)
         | 
| 803 786 | 
             
                  else
         | 
| 804 | 
            -
                    APIError.new(message, **opts)
         | 
| 787 | 
            +
                    APIError.new(error_data[:message], **opts)
         | 
| 805 788 | 
             
                  end
         | 
| 806 789 | 
             
                end
         | 
| 807 790 |  | 
| @@ -869,20 +852,16 @@ module Stripe | |
| 869 852 | 
             
                        message + "\n\n(Network error: #{error.message})"
         | 
| 870 853 | 
             
                end
         | 
| 871 854 |  | 
| 872 | 
            -
                private def request_headers(api_key, method | 
| 855 | 
            +
                private def request_headers(api_key, method)
         | 
| 873 856 | 
             
                  user_agent = "Stripe/v1 RubyBindings/#{Stripe::VERSION}"
         | 
| 874 857 | 
             
                  user_agent += " " + format_app_info(Stripe.app_info) unless Stripe.app_info.nil?
         | 
| 875 858 |  | 
| 876 859 | 
             
                  headers = {
         | 
| 877 860 | 
             
                    "User-Agent" => user_agent,
         | 
| 878 861 | 
             
                    "Authorization" => "Bearer #{api_key}",
         | 
| 862 | 
            +
                    "Content-Type" => "application/x-www-form-urlencoded",
         | 
| 879 863 | 
             
                  }
         | 
| 880 864 |  | 
| 881 | 
            -
                  if api_mode != :preview
         | 
| 882 | 
            -
                    # TODO: (major) don't set Content-Type if method is not post
         | 
| 883 | 
            -
                    headers["Content-Type"] = "application/x-www-form-urlencoded"
         | 
| 884 | 
            -
                  end
         | 
| 885 | 
            -
             | 
| 886 865 | 
             
                  if config.enable_telemetry? && !@last_request_metrics.nil?
         | 
| 887 866 | 
             
                    headers["X-Stripe-Client-Telemetry"] = JSON.generate(
         | 
| 888 867 | 
             
                      last_request_metrics: @last_request_metrics.payload
         | 
| @@ -895,12 +874,7 @@ module Stripe | |
| 895 874 | 
             
                    headers["Idempotency-Key"] ||= SecureRandom.uuid
         | 
| 896 875 | 
             
                  end
         | 
| 897 876 |  | 
| 898 | 
            -
                   | 
| 899 | 
            -
                    headers["Stripe-Version"] = ApiVersion::PREVIEW
         | 
| 900 | 
            -
                  elsif config.api_version
         | 
| 901 | 
            -
                    headers["Stripe-Version"] = config.api_version
         | 
| 902 | 
            -
                  end
         | 
| 903 | 
            -
             | 
| 877 | 
            +
                  headers["Stripe-Version"] = config.api_version if config.api_version
         | 
| 904 878 | 
             
                  headers["Stripe-Account"] = config.stripe_account if config.stripe_account
         | 
| 905 879 |  | 
| 906 880 | 
             
                  user_agent = @system_profiler.user_agent
         | 
| @@ -983,8 +957,7 @@ module Stripe | |
| 983 957 | 
             
                # that we can log certain information. It's useful because it means that we
         | 
| 984 958 | 
             
                # don't have to pass around as many parameters.
         | 
| 985 959 | 
             
                class RequestLogContext
         | 
| 986 | 
            -
                  attr_accessor :body, :account, :api_key, : | 
| 987 | 
            -
                                :request_id
         | 
| 960 | 
            +
                  attr_accessor :body, :account, :api_key, :api_version, :idempotency_key, :method, :path, :query, :request_id
         | 
| 988 961 |  | 
| 989 962 | 
             
                  # The idea with this method is that we might want to update some of
         | 
| 990 963 | 
             
                  # context information because a response that we've received from the API
         | 
| @@ -25,7 +25,7 @@ module Stripe | |
| 25 25 | 
             
              # If `.logger` is set, the value of `.log_level` is ignored. The decision on
         | 
| 26 26 | 
             
              # what levels to print is entirely deferred to the logger.
         | 
| 27 27 | 
             
              class StripeConfiguration
         | 
| 28 | 
            -
                attr_accessor :api_key, :api_version, : | 
| 28 | 
            +
                attr_accessor :api_key, :api_version, :client_id, :enable_telemetry, :logger, :stripe_account
         | 
| 29 29 |  | 
| 30 30 | 
             
                attr_reader :api_base, :uploads_base, :connect_base, :ca_bundle_path, :log_level, :initial_network_retry_delay,
         | 
| 31 31 | 
             
                            # rubocop:todo Layout/LineLength
         | 
| @@ -50,7 +50,6 @@ module Stripe | |
| 50 50 |  | 
| 51 51 | 
             
                def initialize
         | 
| 52 52 | 
             
                  @api_version = ApiVersion::CURRENT
         | 
| 53 | 
            -
             | 
| 54 53 | 
             
                  @ca_bundle_path = Stripe::DEFAULT_CA_BUNDLE_PATH
         | 
| 55 54 | 
             
                  @enable_telemetry = true
         | 
| 56 55 | 
             
                  @verify_ssl_certs = true
         | 
    
        data/lib/stripe/util.rb
    CHANGED
    
    | @@ -7,7 +7,6 @@ module Stripe | |
| 7 7 | 
             
                # Options that a user is allowed to specify.
         | 
| 8 8 | 
             
                OPTS_USER_SPECIFIED = Set[
         | 
| 9 9 | 
             
                  :api_key,
         | 
| 10 | 
            -
                  :authenticator,
         | 
| 11 10 | 
             
                  :idempotency_key,
         | 
| 12 11 | 
             
                  :stripe_account,
         | 
| 13 12 | 
             
                  :stripe_version
         | 
| @@ -280,13 +279,7 @@ module Stripe | |
| 280 279 | 
             
                  when String
         | 
| 281 280 | 
             
                    { api_key: opts }
         | 
| 282 281 | 
             
                  when Hash
         | 
| 283 | 
            -
                     | 
| 284 | 
            -
                    # no need to check the api_key per request.
         | 
| 285 | 
            -
                    if !(opts.key?(:client) &&
         | 
| 286 | 
            -
                       opts.fetch(:client).config.authenticator) &&
         | 
| 287 | 
            -
                       opts.key?(:api_key)
         | 
| 288 | 
            -
                      check_api_key!(opts.fetch(:api_key))
         | 
| 289 | 
            -
                    end
         | 
| 282 | 
            +
                    check_api_key!(opts.fetch(:api_key)) if opts.key?(:api_key)
         | 
| 290 283 | 
             
                    # Explicitly use dup here instead of clone to avoid preserving freeze
         | 
| 291 284 | 
             
                    # state on input params.
         | 
| 292 285 | 
             
                    opts.dup
         | 
    
        data/lib/stripe/version.rb
    CHANGED
    
    
    
        data/lib/stripe.rb
    CHANGED
    
    | @@ -13,7 +13,6 @@ require "set" | |
| 13 13 | 
             
            require "socket"
         | 
| 14 14 | 
             
            require "uri"
         | 
| 15 15 | 
             
            require "forwardable"
         | 
| 16 | 
            -
            require "base64"
         | 
| 17 16 |  | 
| 18 17 | 
             
            # Version
         | 
| 19 18 | 
             
            require "stripe/api_version"
         | 
| @@ -46,7 +45,6 @@ require "stripe/api_resource_test_helpers" | |
| 46 45 | 
             
            require "stripe/singleton_api_resource"
         | 
| 47 46 | 
             
            require "stripe/webhook"
         | 
| 48 47 | 
             
            require "stripe/stripe_configuration"
         | 
| 49 | 
            -
            require "stripe/request_signing_authenticator"
         | 
| 50 48 |  | 
| 51 49 | 
             
            # Named API resources
         | 
| 52 50 | 
             
            require "stripe/resources"
         | 
| @@ -73,7 +71,6 @@ module Stripe | |
| 73 71 |  | 
| 74 72 | 
             
                # User configurable options
         | 
| 75 73 | 
             
                def_delegators :@config, :api_key, :api_key=
         | 
| 76 | 
            -
                def_delegators :@config, :authenticator, :authenticator=
         | 
| 77 74 | 
             
                def_delegators :@config, :api_version, :api_version=
         | 
| 78 75 | 
             
                def_delegators :@config, :stripe_account, :stripe_account=
         | 
| 79 76 | 
             
                def_delegators :@config, :api_base, :api_base=
         | 
| @@ -120,57 +117,6 @@ module Stripe | |
| 120 117 | 
             
                  version: version,
         | 
| 121 118 | 
             
                }
         | 
| 122 119 | 
             
              end
         | 
| 123 | 
            -
             | 
| 124 | 
            -
              def self.add_beta_version(beta_name, version)
         | 
| 125 | 
            -
                if api_version.include?("; #{beta_name}=")
         | 
| 126 | 
            -
                  raise "Stripe version header #{api_version} already contains entry for beta #{beta_name}"
         | 
| 127 | 
            -
                end
         | 
| 128 | 
            -
             | 
| 129 | 
            -
                self.api_version = "#{api_version}; #{beta_name}=#{version}"
         | 
| 130 | 
            -
              end
         | 
| 131 | 
            -
             | 
| 132 | 
            -
              class Preview
         | 
| 133 | 
            -
                def self._get_default_opts(opts)
         | 
| 134 | 
            -
                  { api_mode: :preview }.merge(opts)
         | 
| 135 | 
            -
                end
         | 
| 136 | 
            -
             | 
| 137 | 
            -
                def self.get(url, opts = {})
         | 
| 138 | 
            -
                  Stripe.raw_request(:get, url, {}, _get_default_opts(opts))
         | 
| 139 | 
            -
                end
         | 
| 140 | 
            -
             | 
| 141 | 
            -
                def self.post(url, params = {}, opts = {})
         | 
| 142 | 
            -
                  Stripe.raw_request(:post, url, params, _get_default_opts(opts))
         | 
| 143 | 
            -
                end
         | 
| 144 | 
            -
             | 
| 145 | 
            -
                def self.delete(url, opts = {})
         | 
| 146 | 
            -
                  Stripe.raw_request(:delete, url, {}, _get_default_opts(opts))
         | 
| 147 | 
            -
                end
         | 
| 148 | 
            -
              end
         | 
| 149 | 
            -
             | 
| 150 | 
            -
              class RawRequest
         | 
| 151 | 
            -
                include Stripe::APIOperations::Request
         | 
| 152 | 
            -
             | 
| 153 | 
            -
                def initialize
         | 
| 154 | 
            -
                  @opts = {}
         | 
| 155 | 
            -
                end
         | 
| 156 | 
            -
             | 
| 157 | 
            -
                def execute(method, url, params = {}, opts = {}, usage = [])
         | 
| 158 | 
            -
                  resp, = execute_resource_request(method, url, params, opts, usage)
         | 
| 159 | 
            -
             | 
| 160 | 
            -
                  resp
         | 
| 161 | 
            -
                end
         | 
| 162 | 
            -
              end
         | 
| 163 | 
            -
             | 
| 164 | 
            -
              # Sends a request to Stripe REST API
         | 
| 165 | 
            -
              def self.raw_request(method, url, params = {}, opts = {})
         | 
| 166 | 
            -
                req = RawRequest.new
         | 
| 167 | 
            -
                req.execute(method, url, params, opts, ["raw_request"])
         | 
| 168 | 
            -
              end
         | 
| 169 | 
            -
             | 
| 170 | 
            -
              def self.deserialize(data)
         | 
| 171 | 
            -
                data = JSON.parse(data) if data.is_a?(String)
         | 
| 172 | 
            -
                Util.convert_to_stripe_object(data, {})
         | 
| 173 | 
            -
              end
         | 
| 174 120 | 
             
            end
         | 
| 175 121 |  | 
| 176 122 | 
             
            Stripe.log_level = ENV["STRIPE_LOG"] unless ENV["STRIPE_LOG"].nil?
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: stripe
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 11.4.0 | 
| 4 | 
            +
              version: 11.4.0
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Stripe
         | 
| 8 8 | 
             
            autorequire: 
         | 
| 9 9 | 
             
            bindir: exe
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2024-05- | 
| 11 | 
            +
            date: 2024-05-09 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies: []
         | 
| 13 13 | 
             
            description: Stripe is the easiest way to accept payments online.  See https://stripe.com
         | 
| 14 14 | 
             
              for details.
         | 
| @@ -51,11 +51,9 @@ files: | |
| 51 51 | 
             
            - lib/stripe/multipart_encoder.rb
         | 
| 52 52 | 
             
            - lib/stripe/oauth.rb
         | 
| 53 53 | 
             
            - lib/stripe/object_types.rb
         | 
| 54 | 
            -
            - lib/stripe/request_signing_authenticator.rb
         | 
| 55 54 | 
             
            - lib/stripe/resources.rb
         | 
| 56 55 | 
             
            - lib/stripe/resources/account.rb
         | 
| 57 56 | 
             
            - lib/stripe/resources/account_link.rb
         | 
| 58 | 
            -
            - lib/stripe/resources/account_notice.rb
         | 
| 59 57 | 
             
            - lib/stripe/resources/account_session.rb
         | 
| 60 58 | 
             
            - lib/stripe/resources/alipay_account.rb
         | 
| 61 59 | 
             
            - lib/stripe/resources/apple_pay_domain.rb
         | 
| @@ -72,9 +70,6 @@ files: | |
| 72 70 | 
             
            - lib/stripe/resources/billing_portal/configuration.rb
         | 
| 73 71 | 
             
            - lib/stripe/resources/billing_portal/session.rb
         | 
| 74 72 | 
             
            - lib/stripe/resources/capability.rb
         | 
| 75 | 
            -
            - lib/stripe/resources/capital/financing_offer.rb
         | 
| 76 | 
            -
            - lib/stripe/resources/capital/financing_summary.rb
         | 
| 77 | 
            -
            - lib/stripe/resources/capital/financing_transaction.rb
         | 
| 78 73 | 
             
            - lib/stripe/resources/card.rb
         | 
| 79 74 | 
             
            - lib/stripe/resources/cash_balance.rb
         | 
| 80 75 | 
             
            - lib/stripe/resources/charge.rb
         | 
| @@ -101,25 +96,20 @@ files: | |
| 101 96 | 
             
            - lib/stripe/resources/file.rb
         | 
| 102 97 | 
             
            - lib/stripe/resources/file_link.rb
         | 
| 103 98 | 
             
            - lib/stripe/resources/financial_connections/account.rb
         | 
| 104 | 
            -
            - lib/stripe/resources/financial_connections/account_inferred_balance.rb
         | 
| 105 99 | 
             
            - lib/stripe/resources/financial_connections/account_owner.rb
         | 
| 106 100 | 
             
            - lib/stripe/resources/financial_connections/account_ownership.rb
         | 
| 107 101 | 
             
            - lib/stripe/resources/financial_connections/session.rb
         | 
| 108 102 | 
             
            - lib/stripe/resources/financial_connections/transaction.rb
         | 
| 109 103 | 
             
            - lib/stripe/resources/forwarding/request.rb
         | 
| 110 104 | 
             
            - lib/stripe/resources/funding_instructions.rb
         | 
| 111 | 
            -
            - lib/stripe/resources/gift_cards/card.rb
         | 
| 112 | 
            -
            - lib/stripe/resources/gift_cards/transaction.rb
         | 
| 113 105 | 
             
            - lib/stripe/resources/identity/verification_report.rb
         | 
| 114 106 | 
             
            - lib/stripe/resources/identity/verification_session.rb
         | 
| 115 107 | 
             
            - lib/stripe/resources/invoice.rb
         | 
| 116 108 | 
             
            - lib/stripe/resources/invoice_item.rb
         | 
| 117 109 | 
             
            - lib/stripe/resources/invoice_line_item.rb
         | 
| 118 | 
            -
            - lib/stripe/resources/invoice_payment.rb
         | 
| 119 110 | 
             
            - lib/stripe/resources/issuing/authorization.rb
         | 
| 120 111 | 
             
            - lib/stripe/resources/issuing/card.rb
         | 
| 121 112 | 
             
            - lib/stripe/resources/issuing/cardholder.rb
         | 
| 122 | 
            -
            - lib/stripe/resources/issuing/credit_underwriting_record.rb
         | 
| 123 113 | 
             
            - lib/stripe/resources/issuing/dispute.rb
         | 
| 124 114 | 
             
            - lib/stripe/resources/issuing/personalization_design.rb
         | 
| 125 115 | 
             
            - lib/stripe/resources/issuing/physical_bundle.rb
         | 
| @@ -128,8 +118,6 @@ files: | |
| 128 118 | 
             
            - lib/stripe/resources/line_item.rb
         | 
| 129 119 | 
             
            - lib/stripe/resources/login_link.rb
         | 
| 130 120 | 
             
            - lib/stripe/resources/mandate.rb
         | 
| 131 | 
            -
            - lib/stripe/resources/margin.rb
         | 
| 132 | 
            -
            - lib/stripe/resources/order.rb
         | 
| 133 121 | 
             
            - lib/stripe/resources/payment_intent.rb
         | 
| 134 122 | 
             
            - lib/stripe/resources/payment_link.rb
         | 
| 135 123 | 
             
            - lib/stripe/resources/payment_method.rb
         | 
| @@ -143,9 +131,6 @@ files: | |
| 143 131 | 
             
            - lib/stripe/resources/product_feature.rb
         | 
| 144 132 | 
             
            - lib/stripe/resources/promotion_code.rb
         | 
| 145 133 | 
             
            - lib/stripe/resources/quote.rb
         | 
| 146 | 
            -
            - lib/stripe/resources/quote_phase.rb
         | 
| 147 | 
            -
            - lib/stripe/resources/quote_preview_invoice.rb
         | 
| 148 | 
            -
            - lib/stripe/resources/quote_preview_subscription_schedule.rb
         | 
| 149 134 | 
             
            - lib/stripe/resources/radar/early_fraud_warning.rb
         | 
| 150 135 | 
             
            - lib/stripe/resources/radar/value_list.rb
         | 
| 151 136 | 
             
            - lib/stripe/resources/radar/value_list_item.rb
         | 
| @@ -166,7 +151,6 @@ files: | |
| 166 151 | 
             
            - lib/stripe/resources/subscription_schedule.rb
         | 
| 167 152 | 
             
            - lib/stripe/resources/tax/calculation.rb
         | 
| 168 153 | 
             
            - lib/stripe/resources/tax/calculation_line_item.rb
         | 
| 169 | 
            -
            - lib/stripe/resources/tax/form.rb
         | 
| 170 154 | 
             
            - lib/stripe/resources/tax/registration.rb
         | 
| 171 155 | 
             
            - lib/stripe/resources/tax/settings.rb
         | 
| 172 156 | 
             
            - lib/stripe/resources/tax/transaction.rb
         | 
| @@ -228,9 +212,9 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 228 212 | 
             
                  version: 2.3.0
         | 
| 229 213 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 230 214 | 
             
              requirements:
         | 
| 231 | 
            -
              - - " | 
| 215 | 
            +
              - - ">="
         | 
| 232 216 | 
             
                - !ruby/object:Gem::Version
         | 
| 233 | 
            -
                  version:  | 
| 217 | 
            +
                  version: '0'
         | 
| 234 218 | 
             
            requirements: []
         | 
| 235 219 | 
             
            rubygems_version: 3.3.27
         | 
| 236 220 | 
             
            signing_key: 
         | 
| @@ -1,79 +0,0 @@ | |
| 1 | 
            -
            # frozen_string_literal: true
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            module Stripe
         | 
| 4 | 
            -
              class RequestSigningAuthenticator
         | 
| 5 | 
            -
                AUTHORIZATION_HEADER_NAME = "Authorization"
         | 
| 6 | 
            -
                CONTENT_TYPE_HEADER_NAME = "Content-Type"
         | 
| 7 | 
            -
                STRIPE_CONTEXT_HEADER_NAME = "Stripe-Context"
         | 
| 8 | 
            -
                STRIPE_ACCOUNT_HEADER_NAME = "Stripe-Account"
         | 
| 9 | 
            -
                CONTENT_DIGEST_HEADER_NAME = "Content-Digest"
         | 
| 10 | 
            -
                SIGNATURE_INPUT_HEADER_NAME = "Signature-Input"
         | 
| 11 | 
            -
                SIGNATURE_HEADER_NAME = "Signature"
         | 
| 12 | 
            -
             | 
| 13 | 
            -
                attr_reader :auth_token, :sign_lambda
         | 
| 14 | 
            -
             | 
| 15 | 
            -
                def initialize(auth_token, sign_lambda)
         | 
| 16 | 
            -
                  raise ArgumentError, "auth_token must be a string" unless auth_token.is_a?(String)
         | 
| 17 | 
            -
                  raise ArgumentError, "sign_lambda must be a lambda" unless sign_lambda.is_a?(Proc)
         | 
| 18 | 
            -
             | 
| 19 | 
            -
                  @auth_token = auth_token
         | 
| 20 | 
            -
                  @sign_lambda = sign_lambda
         | 
| 21 | 
            -
                end
         | 
| 22 | 
            -
             | 
| 23 | 
            -
                def authenticate(method, headers, body)
         | 
| 24 | 
            -
                  covered_headers = [CONTENT_TYPE_HEADER_NAME,
         | 
| 25 | 
            -
                                     CONTENT_DIGEST_HEADER_NAME,
         | 
| 26 | 
            -
                                     STRIPE_CONTEXT_HEADER_NAME,
         | 
| 27 | 
            -
                                     STRIPE_ACCOUNT_HEADER_NAME,
         | 
| 28 | 
            -
                                     AUTHORIZATION_HEADER_NAME,]
         | 
| 29 | 
            -
             | 
| 30 | 
            -
                  headers[AUTHORIZATION_HEADER_NAME] = "STRIPE-V2-SIG #{auth_token}"
         | 
| 31 | 
            -
             | 
| 32 | 
            -
                  if method == :get
         | 
| 33 | 
            -
                    covered_headers -= [CONTENT_TYPE_HEADER_NAME,
         | 
| 34 | 
            -
                                        CONTENT_DIGEST_HEADER_NAME,]
         | 
| 35 | 
            -
                  else
         | 
| 36 | 
            -
                    content = body || ""
         | 
| 37 | 
            -
                    headers[CONTENT_DIGEST_HEADER_NAME] =
         | 
| 38 | 
            -
                      %(sha-256=:#{content_digest(content)}:)
         | 
| 39 | 
            -
                  end
         | 
| 40 | 
            -
             | 
| 41 | 
            -
                  covered_headers_formatted = covered_headers
         | 
| 42 | 
            -
                                              .map { |string| %("#{string.downcase}") }
         | 
| 43 | 
            -
                                              .join(" ")
         | 
| 44 | 
            -
             | 
| 45 | 
            -
                  signature_input = "(#{covered_headers_formatted});created=#{created_time}"
         | 
| 46 | 
            -
             | 
| 47 | 
            -
                  inputs = covered_headers
         | 
| 48 | 
            -
                           .map { |header| %("#{header.downcase}": #{headers[header]}) }
         | 
| 49 | 
            -
                           .join("\n")
         | 
| 50 | 
            -
             | 
| 51 | 
            -
                  signature_base = %(#{inputs}\n"@signature-params": #{signature_input})
         | 
| 52 | 
            -
                                   .encode(Encoding::UTF_8)
         | 
| 53 | 
            -
             | 
| 54 | 
            -
                  headers[SIGNATURE_INPUT_HEADER_NAME] = "sig1=#{signature_input}"
         | 
| 55 | 
            -
             | 
| 56 | 
            -
                  headers[SIGNATURE_HEADER_NAME] =
         | 
| 57 | 
            -
                    "sig1=:#{encoded_signature(signature_base)}:"
         | 
| 58 | 
            -
                end
         | 
| 59 | 
            -
             | 
| 60 | 
            -
                private def sign(signature_base)
         | 
| 61 | 
            -
                  @sign_lambda.call(signature_base)
         | 
| 62 | 
            -
                end
         | 
| 63 | 
            -
             | 
| 64 | 
            -
                private def encoded_signature(signature_base)
         | 
| 65 | 
            -
                  Base64.strict_encode64(sign(signature_base))
         | 
| 66 | 
            -
                rescue StandardError
         | 
| 67 | 
            -
                  raise AuthenticationError, "Encountered '#{e.message} (#{e.class})' " \
         | 
| 68 | 
            -
                                             "when calculating request signature."
         | 
| 69 | 
            -
                end
         | 
| 70 | 
            -
             | 
| 71 | 
            -
                private def content_digest(content)
         | 
| 72 | 
            -
                  Base64.strict_encode64(OpenSSL::Digest.new("SHA256").digest(content))
         | 
| 73 | 
            -
                end
         | 
| 74 | 
            -
             | 
| 75 | 
            -
                private def created_time
         | 
| 76 | 
            -
                  Time.now.to_i
         | 
| 77 | 
            -
                end
         | 
| 78 | 
            -
              end
         | 
| 79 | 
            -
            end
         | 
| @@ -1,32 +0,0 @@ | |
| 1 | 
            -
            # File generated from our OpenAPI spec
         | 
| 2 | 
            -
            # frozen_string_literal: true
         | 
| 3 | 
            -
             | 
| 4 | 
            -
            module Stripe
         | 
| 5 | 
            -
              # A notice to a Connected account. Notice can be sent by Stripe on your behalf or you can opt to send the notices yourself.
         | 
| 6 | 
            -
              #
         | 
| 7 | 
            -
              # See the [guide to send notices](https://stripe.com/docs/issuing/compliance-us/issuing-regulated-customer-notices) to your connected accounts.
         | 
| 8 | 
            -
              class AccountNotice < APIResource
         | 
| 9 | 
            -
                extend Stripe::APIOperations::List
         | 
| 10 | 
            -
                include Stripe::APIOperations::Save
         | 
| 11 | 
            -
             | 
| 12 | 
            -
                OBJECT_NAME = "account_notice"
         | 
| 13 | 
            -
                def self.object_name
         | 
| 14 | 
            -
                  "account_notice"
         | 
| 15 | 
            -
                end
         | 
| 16 | 
            -
             | 
| 17 | 
            -
                # Retrieves a list of AccountNotice objects. The objects are sorted in descending order by creation date, with the most-recently-created object appearing first.
         | 
| 18 | 
            -
                def self.list(filters = {}, opts = {})
         | 
| 19 | 
            -
                  request_stripe_object(method: :get, path: "/v1/account_notices", params: filters, opts: opts)
         | 
| 20 | 
            -
                end
         | 
| 21 | 
            -
             | 
| 22 | 
            -
                # Updates an AccountNotice object.
         | 
| 23 | 
            -
                def self.update(id, params = {}, opts = {})
         | 
| 24 | 
            -
                  request_stripe_object(
         | 
| 25 | 
            -
                    method: :post,
         | 
| 26 | 
            -
                    path: format("/v1/account_notices/%<id>s", { id: CGI.escape(id) }),
         | 
| 27 | 
            -
                    params: params,
         | 
| 28 | 
            -
                    opts: opts
         | 
| 29 | 
            -
                  )
         | 
| 30 | 
            -
                end
         | 
| 31 | 
            -
              end
         | 
| 32 | 
            -
            end
         |