stripe 10.13.0 → 10.14.0.pre.beta.1
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 +305 -46
- data/OPENAPI_VERSION +1 -1
- data/README.md +11 -0
- data/VERSION +1 -1
- data/lib/stripe/api_operations/request.rb +2 -1
- data/lib/stripe/api_version.rb +1 -0
- data/lib/stripe/object_types.rb +23 -0
- data/lib/stripe/request_signing_authenticator.rb +79 -0
- data/lib/stripe/resources/account_notice.rb +32 -0
- data/lib/stripe/resources/billing/meter.rb +83 -0
- data/lib/stripe/resources/billing/meter_event.rb +27 -0
- data/lib/stripe/resources/billing/meter_event_adjustment.rb +26 -0
- data/lib/stripe/resources/billing/meter_event_summary.rb +15 -0
- data/lib/stripe/resources/capital/financing_offer.rb +49 -0
- data/lib/stripe/resources/capital/financing_summary.rb +15 -0
- data/lib/stripe/resources/capital/financing_transaction.rb +27 -0
- data/lib/stripe/resources/entitlements/active_entitlement.rb +26 -0
- data/lib/stripe/resources/entitlements/feature.rb +38 -0
- data/lib/stripe/resources/financial_connections/account.rb +3 -0
- data/lib/stripe/resources/financial_connections/account_inferred_balance.rb +14 -0
- data/lib/stripe/resources/gift_cards/card.rb +59 -0
- data/lib/stripe/resources/gift_cards/transaction.rb +93 -0
- data/lib/stripe/resources/invoice.rb +113 -0
- data/lib/stripe/resources/invoice_payment.rb +12 -0
- data/lib/stripe/resources/issuing/credit_underwriting_record.rb +88 -0
- data/lib/stripe/resources/margin.rb +37 -0
- data/lib/stripe/resources/order.rb +120 -0
- data/lib/stripe/resources/payment_intent.rb +50 -0
- data/lib/stripe/resources/product.rb +3 -0
- data/lib/stripe/resources/product_feature.rb +13 -0
- data/lib/stripe/resources/quote.rb +106 -2
- data/lib/stripe/resources/quote_phase.rb +39 -0
- data/lib/stripe/resources/quote_preview_invoice.rb +43 -0
- data/lib/stripe/resources/quote_preview_subscription_schedule.rb +11 -0
- data/lib/stripe/resources/subscription_schedule.rb +20 -0
- data/lib/stripe/resources/tax/form.rb +49 -0
- data/lib/stripe/resources/terminal/reader.rb +60 -0
- data/lib/stripe/resources.rb +22 -0
- data/lib/stripe/stripe_client.rb +62 -28
- data/lib/stripe/stripe_configuration.rb +2 -1
- data/lib/stripe/util.rb +8 -1
- data/lib/stripe/version.rb +1 -1
- data/lib/stripe.rb +54 -0
- metadata +26 -3
    
        data/lib/stripe/stripe_client.rb
    CHANGED
    
    | @@ -209,9 +209,10 @@ module Stripe | |
| 209 209 | 
             
                end
         | 
| 210 210 |  | 
| 211 211 | 
             
                def execute_request(method, path,
         | 
| 212 | 
            -
                                    api_base: nil, api_key: nil, | 
| 212 | 
            +
                                    api_base: nil, api_key: nil,
         | 
| 213 | 
            +
                                    headers: {}, params: {}, api_mode: nil, usage: [])
         | 
| 213 214 | 
             
                  http_resp, api_key = execute_request_internal(
         | 
| 214 | 
            -
                    method, path, api_base, api_key, headers, params, usage
         | 
| 215 | 
            +
                    method, path, api_base, api_key, headers, params, api_mode, usage
         | 
| 215 216 | 
             
                  )
         | 
| 216 217 |  | 
| 217 218 | 
             
                  begin
         | 
| @@ -242,6 +243,7 @@ module Stripe | |
| 242 243 | 
             
                def execute_request_stream(method, path,
         | 
| 243 244 | 
             
                                           api_base: nil, api_key: nil, usage: [],
         | 
| 244 245 | 
             
                                           headers: {}, params: {},
         | 
| 246 | 
            +
                                           api_mode: nil,
         | 
| 245 247 | 
             
                                           &read_body_chunk_block)
         | 
| 246 248 | 
             
                  unless block_given?
         | 
| 247 249 | 
             
                    raise ArgumentError,
         | 
| @@ -249,7 +251,8 @@ module Stripe | |
| 249 251 | 
             
                  end
         | 
| 250 252 |  | 
| 251 253 | 
             
                  http_resp, api_key = execute_request_internal(
         | 
| 252 | 
            -
                    method, path, api_base, api_key, | 
| 254 | 
            +
                    method, path, api_base, api_key,
         | 
| 255 | 
            +
                    headers, params, api_mode, usage, &read_body_chunk_block
         | 
| 253 256 | 
             
                  )
         | 
| 254 257 |  | 
| 255 258 | 
             
                  # When the read_body_chunk_block is given, we no longer have access to the
         | 
| @@ -428,8 +431,8 @@ module Stripe | |
| 428 431 | 
             
                end
         | 
| 429 432 |  | 
| 430 433 | 
             
                private def execute_request_internal(method, path,
         | 
| 431 | 
            -
                                                     api_base, api_key, headers, params, | 
| 432 | 
            -
                                                     &read_body_chunk_block)
         | 
| 434 | 
            +
                                                     api_base, api_key, headers, params,
         | 
| 435 | 
            +
                                                     api_mode, usage, &read_body_chunk_block)
         | 
| 433 436 | 
             
                  raise ArgumentError, "method should be a symbol" \
         | 
| 434 437 | 
             
                  unless method.is_a?(Symbol)
         | 
| 435 438 | 
             
                  raise ArgumentError, "path should be a string" \
         | 
| @@ -437,9 +440,10 @@ module Stripe | |
| 437 440 |  | 
| 438 441 | 
             
                  api_base ||= config.api_base
         | 
| 439 442 | 
             
                  api_key ||= config.api_key
         | 
| 443 | 
            +
                  authenticator ||= config.authenticator
         | 
| 440 444 | 
             
                  params = Util.objects_to_ids(params)
         | 
| 441 445 |  | 
| 442 | 
            -
                   | 
| 446 | 
            +
                  check_keys!(api_key, authenticator)
         | 
| 443 447 |  | 
| 444 448 | 
             
                  body_params = nil
         | 
| 445 449 | 
             
                  query_params = nil
         | 
| @@ -452,8 +456,9 @@ module Stripe | |
| 452 456 |  | 
| 453 457 | 
             
                  query_params, path = merge_query_params(query_params, path)
         | 
| 454 458 |  | 
| 455 | 
            -
                  headers = request_headers(api_key, method)
         | 
| 459 | 
            +
                  headers = request_headers(api_key, method, api_mode)
         | 
| 456 460 | 
             
                            .update(Util.normalize_headers(headers))
         | 
| 461 | 
            +
             | 
| 457 462 | 
             
                  url = api_url(path, api_base)
         | 
| 458 463 |  | 
| 459 464 | 
             
                  # Merge given query parameters with any already encoded in the path.
         | 
| @@ -464,13 +469,16 @@ module Stripe | |
| 464 469 | 
             
                  # a log-friendly variant of the encoded form. File objects are displayed
         | 
| 465 470 | 
             
                  # as such instead of as their file contents.
         | 
| 466 471 | 
             
                  body, body_log =
         | 
| 467 | 
            -
                    body_params ? encode_body(body_params, headers) : [nil, nil]
         | 
| 472 | 
            +
                    body_params ? encode_body(body_params, headers, api_mode) : [nil, nil]
         | 
| 473 | 
            +
             | 
| 474 | 
            +
                  authenticator.authenticate(method, headers, body) unless api_key
         | 
| 468 475 |  | 
| 469 476 | 
             
                  # stores information on the request we're about to make so that we don't
         | 
| 470 477 | 
             
                  # have to pass as many parameters around for logging.
         | 
| 471 478 | 
             
                  context = RequestLogContext.new
         | 
| 472 479 | 
             
                  context.account         = headers["Stripe-Account"]
         | 
| 473 480 | 
             
                  context.api_key         = api_key
         | 
| 481 | 
            +
                  context.authenticator   = authenticator
         | 
| 474 482 | 
             
                  context.api_version     = headers["Stripe-Version"]
         | 
| 475 483 | 
             
                  context.body            = body_log
         | 
| 476 484 | 
             
                  context.idempotency_key = headers["Idempotency-Key"]
         | 
| @@ -507,8 +515,16 @@ module Stripe | |
| 507 515 | 
             
                  (api_base || config.api_base) + url
         | 
| 508 516 | 
             
                end
         | 
| 509 517 |  | 
| 510 | 
            -
                private def  | 
| 511 | 
            -
                   | 
| 518 | 
            +
                private def check_keys!(api_key, authenticator)
         | 
| 519 | 
            +
                  if api_key && authenticator
         | 
| 520 | 
            +
                    raise AuthenticationError, "Can't specify both API key " \
         | 
| 521 | 
            +
                                               "and authenticator. Either set your API key" \
         | 
| 522 | 
            +
                                               'using "Stripe.api_key = <API-KEY>", or set your authenticator ' \
         | 
| 523 | 
            +
                                               'using "Stripe.authenticator = <AUTHENTICATOR>"' \
         | 
| 524 | 
            +
                  end
         | 
| 525 | 
            +
             | 
| 526 | 
            +
                  unless api_key || authenticator
         | 
| 527 | 
            +
                    # Default to missing API key error message for general users.
         | 
| 512 528 | 
             
                    raise AuthenticationError, "No API key provided. " \
         | 
| 513 529 | 
             
                                               'Set your API key using "Stripe.api_key = <API-KEY>". ' \
         | 
| 514 530 | 
             
                                               "You can generate API keys from the Stripe web interface. " \
         | 
| @@ -527,7 +543,7 @@ module Stripe | |
| 527 543 | 
             
                # Encodes a set of body parameters using multipart if `Content-Type` is set
         | 
| 528 544 | 
             
                # for that, or standard form-encoding otherwise. Returns the encoded body
         | 
| 529 545 | 
             
                # and a version of the encoded body that's safe to be logged.
         | 
| 530 | 
            -
                private def encode_body(body_params, headers)
         | 
| 546 | 
            +
                private def encode_body(body_params, headers, api_mode)
         | 
| 531 547 | 
             
                  body = nil
         | 
| 532 548 | 
             
                  flattened_params = Util.flatten_params(body_params)
         | 
| 533 549 |  | 
| @@ -543,15 +559,22 @@ module Stripe | |
| 543 559 | 
             
                    flattened_params =
         | 
| 544 560 | 
             
                      flattened_params.map { |k, v| [k, v.is_a?(String) ? v : v.to_s] }.to_h
         | 
| 545 561 |  | 
| 562 | 
            +
                  elsif api_mode == :preview
         | 
| 563 | 
            +
                    body = JSON.generate(body_params)
         | 
| 564 | 
            +
                    headers["Content-Type"] = "application/json"
         | 
| 546 565 | 
             
                  else
         | 
| 547 566 | 
             
                    body = Util.encode_parameters(body_params)
         | 
| 548 567 | 
             
                  end
         | 
| 549 568 |  | 
| 550 | 
            -
                   | 
| 551 | 
            -
             | 
| 552 | 
            -
             | 
| 553 | 
            -
             | 
| 554 | 
            -
             | 
| 569 | 
            +
                  body_log = if api_mode == :preview
         | 
| 570 | 
            +
                               body
         | 
| 571 | 
            +
                             else
         | 
| 572 | 
            +
                               # We don't use `Util.encode_parameters` partly as an optimization (to
         | 
| 573 | 
            +
                               # not redo work we've already done), and partly because the encoded
         | 
| 574 | 
            +
                               # forms of certain characters introduce a lot of visual noise and it's
         | 
| 575 | 
            +
                               # nice to have a clearer format for logs.
         | 
| 576 | 
            +
                               flattened_params.map { |k, v| "#{k}=#{v}" }.join("&")
         | 
| 577 | 
            +
                             end
         | 
| 555 578 |  | 
| 556 579 | 
             
                  [body, body_log]
         | 
| 557 580 | 
             
                end
         | 
| @@ -738,10 +761,11 @@ module Stripe | |
| 738 761 | 
             
                end
         | 
| 739 762 |  | 
| 740 763 | 
             
                private def specific_api_error(resp, error_data, context)
         | 
| 764 | 
            +
                  message = error_data[:message]
         | 
| 741 765 | 
             
                  Util.log_error("Stripe API error",
         | 
| 742 766 | 
             
                                 status: resp.http_status,
         | 
| 743 767 | 
             
                                 error_code: error_data[:code],
         | 
| 744 | 
            -
                                 error_message:  | 
| 768 | 
            +
                                 error_message: message,
         | 
| 745 769 | 
             
                                 error_param: error_data[:param],
         | 
| 746 770 | 
             
                                 error_type: error_data[:type],
         | 
| 747 771 | 
             
                                 idempotency_key: context.idempotency_key,
         | 
| @@ -762,26 +786,26 @@ module Stripe | |
| 762 786 | 
             
                  when 400, 404
         | 
| 763 787 | 
             
                    case error_data[:type]
         | 
| 764 788 | 
             
                    when "idempotency_error"
         | 
| 765 | 
            -
                      IdempotencyError.new( | 
| 789 | 
            +
                      IdempotencyError.new(message, **opts)
         | 
| 766 790 | 
             
                    else
         | 
| 767 791 | 
             
                      InvalidRequestError.new(
         | 
| 768 | 
            -
                         | 
| 792 | 
            +
                        message, error_data[:param],
         | 
| 769 793 | 
             
                        **opts
         | 
| 770 794 | 
             
                      )
         | 
| 771 795 | 
             
                    end
         | 
| 772 796 | 
             
                  when 401
         | 
| 773 | 
            -
                    AuthenticationError.new( | 
| 797 | 
            +
                    AuthenticationError.new(message, **opts)
         | 
| 774 798 | 
             
                  when 402
         | 
| 775 799 | 
             
                    CardError.new(
         | 
| 776 | 
            -
                       | 
| 800 | 
            +
                      message, error_data[:param],
         | 
| 777 801 | 
             
                      **opts
         | 
| 778 802 | 
             
                    )
         | 
| 779 803 | 
             
                  when 403
         | 
| 780 | 
            -
                    PermissionError.new( | 
| 804 | 
            +
                    PermissionError.new(message, **opts)
         | 
| 781 805 | 
             
                  when 429
         | 
| 782 | 
            -
                    RateLimitError.new( | 
| 806 | 
            +
                    RateLimitError.new(message, **opts)
         | 
| 783 807 | 
             
                  else
         | 
| 784 | 
            -
                    APIError.new( | 
| 808 | 
            +
                    APIError.new(message, **opts)
         | 
| 785 809 | 
             
                  end
         | 
| 786 810 | 
             
                end
         | 
| 787 811 |  | 
| @@ -849,16 +873,20 @@ module Stripe | |
| 849 873 | 
             
                        message + "\n\n(Network error: #{error.message})"
         | 
| 850 874 | 
             
                end
         | 
| 851 875 |  | 
| 852 | 
            -
                private def request_headers(api_key, method)
         | 
| 876 | 
            +
                private def request_headers(api_key, method, api_mode)
         | 
| 853 877 | 
             
                  user_agent = "Stripe/v1 RubyBindings/#{Stripe::VERSION}"
         | 
| 854 878 | 
             
                  user_agent += " " + format_app_info(Stripe.app_info) unless Stripe.app_info.nil?
         | 
| 855 879 |  | 
| 856 880 | 
             
                  headers = {
         | 
| 857 881 | 
             
                    "User-Agent" => user_agent,
         | 
| 858 882 | 
             
                    "Authorization" => "Bearer #{api_key}",
         | 
| 859 | 
            -
                    "Content-Type" => "application/x-www-form-urlencoded",
         | 
| 860 883 | 
             
                  }
         | 
| 861 884 |  | 
| 885 | 
            +
                  if api_mode != :preview
         | 
| 886 | 
            +
                    # TODO: (major) don't set Content-Type if method is not post
         | 
| 887 | 
            +
                    headers["Content-Type"] = "application/x-www-form-urlencoded"
         | 
| 888 | 
            +
                  end
         | 
| 889 | 
            +
             | 
| 862 890 | 
             
                  if config.enable_telemetry? && !@last_request_metrics.nil?
         | 
| 863 891 | 
             
                    headers["X-Stripe-Client-Telemetry"] = JSON.generate(
         | 
| 864 892 | 
             
                      last_request_metrics: @last_request_metrics.payload
         | 
| @@ -871,7 +899,12 @@ module Stripe | |
| 871 899 | 
             
                    headers["Idempotency-Key"] ||= SecureRandom.uuid
         | 
| 872 900 | 
             
                  end
         | 
| 873 901 |  | 
| 874 | 
            -
                   | 
| 902 | 
            +
                  if api_mode == :preview
         | 
| 903 | 
            +
                    headers["Stripe-Version"] = ApiVersion::PREVIEW
         | 
| 904 | 
            +
                  elsif config.api_version
         | 
| 905 | 
            +
                    headers["Stripe-Version"] = config.api_version
         | 
| 906 | 
            +
                  end
         | 
| 907 | 
            +
             | 
| 875 908 | 
             
                  headers["Stripe-Account"] = config.stripe_account if config.stripe_account
         | 
| 876 909 |  | 
| 877 910 | 
             
                  user_agent = @system_profiler.user_agent
         | 
| @@ -954,7 +987,8 @@ module Stripe | |
| 954 987 | 
             
                # that we can log certain information. It's useful because it means that we
         | 
| 955 988 | 
             
                # don't have to pass around as many parameters.
         | 
| 956 989 | 
             
                class RequestLogContext
         | 
| 957 | 
            -
                  attr_accessor :body, :account, :api_key, :api_version, :idempotency_key, :method, :path, :query, | 
| 990 | 
            +
                  attr_accessor :body, :account, :api_key, :authenticator, :api_version, :idempotency_key, :method, :path, :query,
         | 
| 991 | 
            +
                                :request_id
         | 
| 958 992 |  | 
| 959 993 | 
             
                  # The idea with this method is that we might want to update some of
         | 
| 960 994 | 
             
                  # 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, :client_id, :enable_telemetry, :logger, :stripe_account
         | 
| 28 | 
            +
                attr_accessor :api_key, :api_version, :authenticator, :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,6 +50,7 @@ module Stripe | |
| 50 50 |  | 
| 51 51 | 
             
                def initialize
         | 
| 52 52 | 
             
                  @api_version = ApiVersion::CURRENT
         | 
| 53 | 
            +
             | 
| 53 54 | 
             
                  @ca_bundle_path = Stripe::DEFAULT_CA_BUNDLE_PATH
         | 
| 54 55 | 
             
                  @enable_telemetry = true
         | 
| 55 56 | 
             
                  @verify_ssl_certs = true
         | 
    
        data/lib/stripe/util.rb
    CHANGED
    
    | @@ -7,6 +7,7 @@ module Stripe | |
| 7 7 | 
             
                # Options that a user is allowed to specify.
         | 
| 8 8 | 
             
                OPTS_USER_SPECIFIED = Set[
         | 
| 9 9 | 
             
                  :api_key,
         | 
| 10 | 
            +
                  :authenticator,
         | 
| 10 11 | 
             
                  :idempotency_key,
         | 
| 11 12 | 
             
                  :stripe_account,
         | 
| 12 13 | 
             
                  :stripe_version
         | 
| @@ -279,7 +280,13 @@ module Stripe | |
| 279 280 | 
             
                  when String
         | 
| 280 281 | 
             
                    { api_key: opts }
         | 
| 281 282 | 
             
                  when Hash
         | 
| 282 | 
            -
                     | 
| 283 | 
            +
                    # If the user is using request signing for authentication,
         | 
| 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
         | 
| 283 290 | 
             
                    # Explicitly use dup here instead of clone to avoid preserving freeze
         | 
| 284 291 | 
             
                    # state on input params.
         | 
| 285 292 | 
             
                    opts.dup
         | 
    
        data/lib/stripe/version.rb
    CHANGED
    
    
    
        data/lib/stripe.rb
    CHANGED
    
    | @@ -13,6 +13,7 @@ require "set" | |
| 13 13 | 
             
            require "socket"
         | 
| 14 14 | 
             
            require "uri"
         | 
| 15 15 | 
             
            require "forwardable"
         | 
| 16 | 
            +
            require "base64"
         | 
| 16 17 |  | 
| 17 18 | 
             
            # Version
         | 
| 18 19 | 
             
            require "stripe/api_version"
         | 
| @@ -45,6 +46,7 @@ require "stripe/api_resource_test_helpers" | |
| 45 46 | 
             
            require "stripe/singleton_api_resource"
         | 
| 46 47 | 
             
            require "stripe/webhook"
         | 
| 47 48 | 
             
            require "stripe/stripe_configuration"
         | 
| 49 | 
            +
            require "stripe/request_signing_authenticator"
         | 
| 48 50 |  | 
| 49 51 | 
             
            # Named API resources
         | 
| 50 52 | 
             
            require "stripe/resources"
         | 
| @@ -71,6 +73,7 @@ module Stripe | |
| 71 73 |  | 
| 72 74 | 
             
                # User configurable options
         | 
| 73 75 | 
             
                def_delegators :@config, :api_key, :api_key=
         | 
| 76 | 
            +
                def_delegators :@config, :authenticator, :authenticator=
         | 
| 74 77 | 
             
                def_delegators :@config, :api_version, :api_version=
         | 
| 75 78 | 
             
                def_delegators :@config, :stripe_account, :stripe_account=
         | 
| 76 79 | 
             
                def_delegators :@config, :api_base, :api_base=
         | 
| @@ -117,6 +120,57 @@ module Stripe | |
| 117 120 | 
             
                  version: version,
         | 
| 118 121 | 
             
                }
         | 
| 119 122 | 
             
              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
         | 
| 120 174 | 
             
            end
         | 
| 121 175 |  | 
| 122 176 | 
             
            Stripe.log_level = ENV["STRIPE_LOG"] unless ENV["STRIPE_LOG"].nil?
         | 
    
        metadata
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: stripe
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 10. | 
| 4 | 
            +
              version: 10.14.0.pre.beta.1
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Stripe
         | 
| @@ -51,9 +51,11 @@ 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
         | 
| 54 55 | 
             
            - lib/stripe/resources.rb
         | 
| 55 56 | 
             
            - lib/stripe/resources/account.rb
         | 
| 56 57 | 
             
            - lib/stripe/resources/account_link.rb
         | 
| 58 | 
            +
            - lib/stripe/resources/account_notice.rb
         | 
| 57 59 | 
             
            - lib/stripe/resources/account_session.rb
         | 
| 58 60 | 
             
            - lib/stripe/resources/alipay_account.rb
         | 
| 59 61 | 
             
            - lib/stripe/resources/apple_pay_domain.rb
         | 
| @@ -63,9 +65,16 @@ files: | |
| 63 65 | 
             
            - lib/stripe/resources/balance.rb
         | 
| 64 66 | 
             
            - lib/stripe/resources/balance_transaction.rb
         | 
| 65 67 | 
             
            - lib/stripe/resources/bank_account.rb
         | 
| 68 | 
            +
            - lib/stripe/resources/billing/meter.rb
         | 
| 69 | 
            +
            - lib/stripe/resources/billing/meter_event.rb
         | 
| 70 | 
            +
            - lib/stripe/resources/billing/meter_event_adjustment.rb
         | 
| 71 | 
            +
            - lib/stripe/resources/billing/meter_event_summary.rb
         | 
| 66 72 | 
             
            - lib/stripe/resources/billing_portal/configuration.rb
         | 
| 67 73 | 
             
            - lib/stripe/resources/billing_portal/session.rb
         | 
| 68 74 | 
             
            - 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
         | 
| 69 78 | 
             
            - lib/stripe/resources/card.rb
         | 
| 70 79 | 
             
            - lib/stripe/resources/cash_balance.rb
         | 
| 71 80 | 
             
            - lib/stripe/resources/charge.rb
         | 
| @@ -84,26 +93,33 @@ files: | |
| 84 93 | 
             
            - lib/stripe/resources/customer_session.rb
         | 
| 85 94 | 
             
            - lib/stripe/resources/discount.rb
         | 
| 86 95 | 
             
            - lib/stripe/resources/dispute.rb
         | 
| 96 | 
            +
            - lib/stripe/resources/entitlements/active_entitlement.rb
         | 
| 97 | 
            +
            - lib/stripe/resources/entitlements/feature.rb
         | 
| 87 98 | 
             
            - lib/stripe/resources/ephemeral_key.rb
         | 
| 88 99 | 
             
            - lib/stripe/resources/event.rb
         | 
| 89 100 | 
             
            - lib/stripe/resources/exchange_rate.rb
         | 
| 90 101 | 
             
            - lib/stripe/resources/file.rb
         | 
| 91 102 | 
             
            - lib/stripe/resources/file_link.rb
         | 
| 92 103 | 
             
            - lib/stripe/resources/financial_connections/account.rb
         | 
| 104 | 
            +
            - lib/stripe/resources/financial_connections/account_inferred_balance.rb
         | 
| 93 105 | 
             
            - lib/stripe/resources/financial_connections/account_owner.rb
         | 
| 94 106 | 
             
            - lib/stripe/resources/financial_connections/account_ownership.rb
         | 
| 95 107 | 
             
            - lib/stripe/resources/financial_connections/session.rb
         | 
| 96 108 | 
             
            - lib/stripe/resources/financial_connections/transaction.rb
         | 
| 97 109 | 
             
            - lib/stripe/resources/forwarding/request.rb
         | 
| 98 110 | 
             
            - lib/stripe/resources/funding_instructions.rb
         | 
| 111 | 
            +
            - lib/stripe/resources/gift_cards/card.rb
         | 
| 112 | 
            +
            - lib/stripe/resources/gift_cards/transaction.rb
         | 
| 99 113 | 
             
            - lib/stripe/resources/identity/verification_report.rb
         | 
| 100 114 | 
             
            - lib/stripe/resources/identity/verification_session.rb
         | 
| 101 115 | 
             
            - lib/stripe/resources/invoice.rb
         | 
| 102 116 | 
             
            - lib/stripe/resources/invoice_item.rb
         | 
| 103 117 | 
             
            - lib/stripe/resources/invoice_line_item.rb
         | 
| 118 | 
            +
            - lib/stripe/resources/invoice_payment.rb
         | 
| 104 119 | 
             
            - lib/stripe/resources/issuing/authorization.rb
         | 
| 105 120 | 
             
            - lib/stripe/resources/issuing/card.rb
         | 
| 106 121 | 
             
            - lib/stripe/resources/issuing/cardholder.rb
         | 
| 122 | 
            +
            - lib/stripe/resources/issuing/credit_underwriting_record.rb
         | 
| 107 123 | 
             
            - lib/stripe/resources/issuing/dispute.rb
         | 
| 108 124 | 
             
            - lib/stripe/resources/issuing/personalization_design.rb
         | 
| 109 125 | 
             
            - lib/stripe/resources/issuing/physical_bundle.rb
         | 
| @@ -112,6 +128,8 @@ files: | |
| 112 128 | 
             
            - lib/stripe/resources/line_item.rb
         | 
| 113 129 | 
             
            - lib/stripe/resources/login_link.rb
         | 
| 114 130 | 
             
            - lib/stripe/resources/mandate.rb
         | 
| 131 | 
            +
            - lib/stripe/resources/margin.rb
         | 
| 132 | 
            +
            - lib/stripe/resources/order.rb
         | 
| 115 133 | 
             
            - lib/stripe/resources/payment_intent.rb
         | 
| 116 134 | 
             
            - lib/stripe/resources/payment_link.rb
         | 
| 117 135 | 
             
            - lib/stripe/resources/payment_method.rb
         | 
| @@ -122,8 +140,12 @@ files: | |
| 122 140 | 
             
            - lib/stripe/resources/plan.rb
         | 
| 123 141 | 
             
            - lib/stripe/resources/price.rb
         | 
| 124 142 | 
             
            - lib/stripe/resources/product.rb
         | 
| 143 | 
            +
            - lib/stripe/resources/product_feature.rb
         | 
| 125 144 | 
             
            - lib/stripe/resources/promotion_code.rb
         | 
| 126 145 | 
             
            - 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
         | 
| 127 149 | 
             
            - lib/stripe/resources/radar/early_fraud_warning.rb
         | 
| 128 150 | 
             
            - lib/stripe/resources/radar/value_list.rb
         | 
| 129 151 | 
             
            - lib/stripe/resources/radar/value_list_item.rb
         | 
| @@ -144,6 +166,7 @@ files: | |
| 144 166 | 
             
            - lib/stripe/resources/subscription_schedule.rb
         | 
| 145 167 | 
             
            - lib/stripe/resources/tax/calculation.rb
         | 
| 146 168 | 
             
            - lib/stripe/resources/tax/calculation_line_item.rb
         | 
| 169 | 
            +
            - lib/stripe/resources/tax/form.rb
         | 
| 147 170 | 
             
            - lib/stripe/resources/tax/registration.rb
         | 
| 148 171 | 
             
            - lib/stripe/resources/tax/settings.rb
         | 
| 149 172 | 
             
            - lib/stripe/resources/tax/transaction.rb
         | 
| @@ -205,9 +228,9 @@ required_ruby_version: !ruby/object:Gem::Requirement | |
| 205 228 | 
             
                  version: 2.3.0
         | 
| 206 229 | 
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         | 
| 207 230 | 
             
              requirements:
         | 
| 208 | 
            -
              - - " | 
| 231 | 
            +
              - - ">"
         | 
| 209 232 | 
             
                - !ruby/object:Gem::Version
         | 
| 210 | 
            -
                  version:  | 
| 233 | 
            +
                  version: 1.3.1
         | 
| 211 234 | 
             
            requirements: []
         | 
| 212 235 | 
             
            rubygems_version: 3.3.26
         | 
| 213 236 | 
             
            signing_key: 
         |