stripe 11.5.0.pre.beta.1 → 11.5.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 +659 -1322
- data/OPENAPI_VERSION +1 -1
- data/README.md +0 -11
- data/VERSION +1 -1
- 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.rb +0 -15
- data/lib/stripe/stripe_client.rb +28 -62
- 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/stripe_client.rb
CHANGED
@@ -213,10 +213,9 @@ module Stripe
|
|
213
213
|
end
|
214
214
|
|
215
215
|
def execute_request(method, path,
|
216
|
-
api_base: nil, api_key: nil,
|
217
|
-
headers: {}, params: {}, api_mode: nil, usage: [])
|
216
|
+
api_base: nil, api_key: nil, headers: {}, params: {}, usage: [])
|
218
217
|
http_resp, api_key = execute_request_internal(
|
219
|
-
method, path, api_base, api_key, headers, params,
|
218
|
+
method, path, api_base, api_key, headers, params, usage
|
220
219
|
)
|
221
220
|
|
222
221
|
begin
|
@@ -247,7 +246,6 @@ module Stripe
|
|
247
246
|
def execute_request_stream(method, path,
|
248
247
|
api_base: nil, api_key: nil, usage: [],
|
249
248
|
headers: {}, params: {},
|
250
|
-
api_mode: nil,
|
251
249
|
&read_body_chunk_block)
|
252
250
|
unless block_given?
|
253
251
|
raise ArgumentError,
|
@@ -255,8 +253,7 @@ module Stripe
|
|
255
253
|
end
|
256
254
|
|
257
255
|
http_resp, api_key = execute_request_internal(
|
258
|
-
method, path, api_base, api_key,
|
259
|
-
headers, params, api_mode, usage, &read_body_chunk_block
|
256
|
+
method, path, api_base, api_key, headers, params, usage, &read_body_chunk_block
|
260
257
|
)
|
261
258
|
|
262
259
|
# When the read_body_chunk_block is given, we no longer have access to the
|
@@ -435,8 +432,8 @@ module Stripe
|
|
435
432
|
end
|
436
433
|
|
437
434
|
private def execute_request_internal(method, path,
|
438
|
-
api_base, api_key, headers, params,
|
439
|
-
|
435
|
+
api_base, api_key, headers, params, usage,
|
436
|
+
&read_body_chunk_block)
|
440
437
|
raise ArgumentError, "method should be a symbol" \
|
441
438
|
unless method.is_a?(Symbol)
|
442
439
|
raise ArgumentError, "path should be a string" \
|
@@ -444,10 +441,9 @@ module Stripe
|
|
444
441
|
|
445
442
|
api_base ||= config.api_base
|
446
443
|
api_key ||= config.api_key
|
447
|
-
authenticator ||= config.authenticator
|
448
444
|
params = Util.objects_to_ids(params)
|
449
445
|
|
450
|
-
|
446
|
+
check_api_key!(api_key)
|
451
447
|
|
452
448
|
body_params = nil
|
453
449
|
query_params = nil
|
@@ -460,9 +456,8 @@ module Stripe
|
|
460
456
|
|
461
457
|
query_params, path = merge_query_params(query_params, path)
|
462
458
|
|
463
|
-
headers = request_headers(api_key, method
|
459
|
+
headers = request_headers(api_key, method)
|
464
460
|
.update(Util.normalize_headers(headers))
|
465
|
-
|
466
461
|
url = api_url(path, api_base)
|
467
462
|
|
468
463
|
# Merge given query parameters with any already encoded in the path.
|
@@ -473,16 +468,13 @@ module Stripe
|
|
473
468
|
# a log-friendly variant of the encoded form. File objects are displayed
|
474
469
|
# as such instead of as their file contents.
|
475
470
|
body, body_log =
|
476
|
-
body_params ? encode_body(body_params, headers
|
477
|
-
|
478
|
-
authenticator.authenticate(method, headers, body) unless api_key
|
471
|
+
body_params ? encode_body(body_params, headers) : [nil, nil]
|
479
472
|
|
480
473
|
# stores information on the request we're about to make so that we don't
|
481
474
|
# have to pass as many parameters around for logging.
|
482
475
|
context = RequestLogContext.new
|
483
476
|
context.account = headers["Stripe-Account"]
|
484
477
|
context.api_key = api_key
|
485
|
-
context.authenticator = authenticator
|
486
478
|
context.api_version = headers["Stripe-Version"]
|
487
479
|
context.body = body_log
|
488
480
|
context.idempotency_key = headers["Idempotency-Key"]
|
@@ -519,16 +511,8 @@ module Stripe
|
|
519
511
|
(api_base || config.api_base) + url
|
520
512
|
end
|
521
513
|
|
522
|
-
private def
|
523
|
-
|
524
|
-
raise AuthenticationError, "Can't specify both API key " \
|
525
|
-
"and authenticator. Either set your API key" \
|
526
|
-
'using "Stripe.api_key = <API-KEY>", or set your authenticator ' \
|
527
|
-
'using "Stripe.authenticator = <AUTHENTICATOR>"' \
|
528
|
-
end
|
529
|
-
|
530
|
-
unless api_key || authenticator
|
531
|
-
# Default to missing API key error message for general users.
|
514
|
+
private def check_api_key!(api_key)
|
515
|
+
unless api_key
|
532
516
|
raise AuthenticationError, "No API key provided. " \
|
533
517
|
'Set your API key using "Stripe.api_key = <API-KEY>". ' \
|
534
518
|
"You can generate API keys from the Stripe web interface. " \
|
@@ -547,7 +531,7 @@ module Stripe
|
|
547
531
|
# Encodes a set of body parameters using multipart if `Content-Type` is set
|
548
532
|
# for that, or standard form-encoding otherwise. Returns the encoded body
|
549
533
|
# and a version of the encoded body that's safe to be logged.
|
550
|
-
private def encode_body(body_params, headers
|
534
|
+
private def encode_body(body_params, headers)
|
551
535
|
body = nil
|
552
536
|
flattened_params = Util.flatten_params(body_params)
|
553
537
|
|
@@ -563,22 +547,15 @@ module Stripe
|
|
563
547
|
flattened_params =
|
564
548
|
flattened_params.map { |k, v| [k, v.is_a?(String) ? v : v.to_s] }.to_h
|
565
549
|
|
566
|
-
elsif api_mode == :preview
|
567
|
-
body = JSON.generate(body_params)
|
568
|
-
headers["Content-Type"] = "application/json"
|
569
550
|
else
|
570
551
|
body = Util.encode_parameters(body_params)
|
571
552
|
end
|
572
553
|
|
573
|
-
|
574
|
-
|
575
|
-
|
576
|
-
|
577
|
-
|
578
|
-
# forms of certain characters introduce a lot of visual noise and it's
|
579
|
-
# nice to have a clearer format for logs.
|
580
|
-
flattened_params.map { |k, v| "#{k}=#{v}" }.join("&")
|
581
|
-
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("&")
|
582
559
|
|
583
560
|
[body, body_log]
|
584
561
|
end
|
@@ -764,11 +741,10 @@ module Stripe
|
|
764
741
|
end
|
765
742
|
|
766
743
|
private def specific_api_error(resp, error_data, context)
|
767
|
-
message = error_data[:message]
|
768
744
|
Util.log_error("Stripe API error",
|
769
745
|
status: resp.http_status,
|
770
746
|
error_code: error_data[:code],
|
771
|
-
error_message: message,
|
747
|
+
error_message: error_data[:message],
|
772
748
|
error_param: error_data[:param],
|
773
749
|
error_type: error_data[:type],
|
774
750
|
idempotency_key: context.idempotency_key,
|
@@ -789,26 +765,26 @@ module Stripe
|
|
789
765
|
when 400, 404
|
790
766
|
case error_data[:type]
|
791
767
|
when "idempotency_error"
|
792
|
-
IdempotencyError.new(message, **opts)
|
768
|
+
IdempotencyError.new(error_data[:message], **opts)
|
793
769
|
else
|
794
770
|
InvalidRequestError.new(
|
795
|
-
message, error_data[:param],
|
771
|
+
error_data[:message], error_data[:param],
|
796
772
|
**opts
|
797
773
|
)
|
798
774
|
end
|
799
775
|
when 401
|
800
|
-
AuthenticationError.new(message, **opts)
|
776
|
+
AuthenticationError.new(error_data[:message], **opts)
|
801
777
|
when 402
|
802
778
|
CardError.new(
|
803
|
-
message, error_data[:param],
|
779
|
+
error_data[:message], error_data[:param],
|
804
780
|
**opts
|
805
781
|
)
|
806
782
|
when 403
|
807
|
-
PermissionError.new(message, **opts)
|
783
|
+
PermissionError.new(error_data[:message], **opts)
|
808
784
|
when 429
|
809
|
-
RateLimitError.new(message, **opts)
|
785
|
+
RateLimitError.new(error_data[:message], **opts)
|
810
786
|
else
|
811
|
-
APIError.new(message, **opts)
|
787
|
+
APIError.new(error_data[:message], **opts)
|
812
788
|
end
|
813
789
|
end
|
814
790
|
|
@@ -876,20 +852,16 @@ module Stripe
|
|
876
852
|
message + "\n\n(Network error: #{error.message})"
|
877
853
|
end
|
878
854
|
|
879
|
-
private def request_headers(api_key, method
|
855
|
+
private def request_headers(api_key, method)
|
880
856
|
user_agent = "Stripe/v1 RubyBindings/#{Stripe::VERSION}"
|
881
857
|
user_agent += " " + format_app_info(Stripe.app_info) unless Stripe.app_info.nil?
|
882
858
|
|
883
859
|
headers = {
|
884
860
|
"User-Agent" => user_agent,
|
885
861
|
"Authorization" => "Bearer #{api_key}",
|
862
|
+
"Content-Type" => "application/x-www-form-urlencoded",
|
886
863
|
}
|
887
864
|
|
888
|
-
if api_mode != :preview
|
889
|
-
# TODO: (major) don't set Content-Type if method is not post
|
890
|
-
headers["Content-Type"] = "application/x-www-form-urlencoded"
|
891
|
-
end
|
892
|
-
|
893
865
|
if config.enable_telemetry? && !@last_request_metrics.nil?
|
894
866
|
headers["X-Stripe-Client-Telemetry"] = JSON.generate(
|
895
867
|
last_request_metrics: @last_request_metrics.payload
|
@@ -902,12 +874,7 @@ module Stripe
|
|
902
874
|
headers["Idempotency-Key"] ||= SecureRandom.uuid
|
903
875
|
end
|
904
876
|
|
905
|
-
|
906
|
-
headers["Stripe-Version"] = ApiVersion::PREVIEW
|
907
|
-
elsif config.api_version
|
908
|
-
headers["Stripe-Version"] = config.api_version
|
909
|
-
end
|
910
|
-
|
877
|
+
headers["Stripe-Version"] = config.api_version if config.api_version
|
911
878
|
headers["Stripe-Account"] = config.stripe_account if config.stripe_account
|
912
879
|
|
913
880
|
user_agent = @system_profiler.user_agent
|
@@ -990,8 +957,7 @@ module Stripe
|
|
990
957
|
# that we can log certain information. It's useful because it means that we
|
991
958
|
# don't have to pass around as many parameters.
|
992
959
|
class RequestLogContext
|
993
|
-
attr_accessor :body, :account, :api_key, :
|
994
|
-
:request_id
|
960
|
+
attr_accessor :body, :account, :api_key, :api_version, :idempotency_key, :method, :path, :query, :request_id
|
995
961
|
|
996
962
|
# The idea with this method is that we might want to update some of
|
997
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.5.0
|
4
|
+
version: 11.5.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-23 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
|
@@ -1,49 +0,0 @@
|
|
1
|
-
# File generated from our OpenAPI spec
|
2
|
-
# frozen_string_literal: true
|
3
|
-
|
4
|
-
module Stripe
|
5
|
-
module Capital
|
6
|
-
# This is an object representing an offer of financing from
|
7
|
-
# Stripe Capital to a Connect subaccount.
|
8
|
-
class FinancingOffer < APIResource
|
9
|
-
extend Stripe::APIOperations::List
|
10
|
-
|
11
|
-
OBJECT_NAME = "capital.financing_offer"
|
12
|
-
def self.object_name
|
13
|
-
"capital.financing_offer"
|
14
|
-
end
|
15
|
-
|
16
|
-
# Retrieves the financing offers available for Connected accounts that belong to your platform.
|
17
|
-
def self.list(filters = {}, opts = {})
|
18
|
-
request_stripe_object(
|
19
|
-
method: :get,
|
20
|
-
path: "/v1/capital/financing_offers",
|
21
|
-
params: filters,
|
22
|
-
opts: opts
|
23
|
-
)
|
24
|
-
end
|
25
|
-
|
26
|
-
# Acknowledges that platform has received and delivered the financing_offer to
|
27
|
-
# the intended merchant recipient.
|
28
|
-
def mark_delivered(params = {}, opts = {})
|
29
|
-
request_stripe_object(
|
30
|
-
method: :post,
|
31
|
-
path: format("/v1/capital/financing_offers/%<financing_offer>s/mark_delivered", { financing_offer: CGI.escape(self["id"]) }),
|
32
|
-
params: params,
|
33
|
-
opts: opts
|
34
|
-
)
|
35
|
-
end
|
36
|
-
|
37
|
-
# Acknowledges that platform has received and delivered the financing_offer to
|
38
|
-
# the intended merchant recipient.
|
39
|
-
def self.mark_delivered(financing_offer, params = {}, opts = {})
|
40
|
-
request_stripe_object(
|
41
|
-
method: :post,
|
42
|
-
path: format("/v1/capital/financing_offers/%<financing_offer>s/mark_delivered", { financing_offer: CGI.escape(financing_offer) }),
|
43
|
-
params: params,
|
44
|
-
opts: opts
|
45
|
-
)
|
46
|
-
end
|
47
|
-
end
|
48
|
-
end
|
49
|
-
end
|
@@ -1,15 +0,0 @@
|
|
1
|
-
# File generated from our OpenAPI spec
|
2
|
-
# frozen_string_literal: true
|
3
|
-
|
4
|
-
module Stripe
|
5
|
-
module Capital
|
6
|
-
# A financing object describes an account's current financing state. Used by Connect
|
7
|
-
# platforms to read the state of Capital offered to their connected accounts.
|
8
|
-
class FinancingSummary < SingletonAPIResource
|
9
|
-
OBJECT_NAME = "capital.financing_summary"
|
10
|
-
def self.object_name
|
11
|
-
"capital.financing_summary"
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
@@ -1,27 +0,0 @@
|
|
1
|
-
# File generated from our OpenAPI spec
|
2
|
-
# frozen_string_literal: true
|
3
|
-
|
4
|
-
module Stripe
|
5
|
-
module Capital
|
6
|
-
# This is an object representing the details of a transaction on a Capital financing object.
|
7
|
-
class FinancingTransaction < APIResource
|
8
|
-
extend Stripe::APIOperations::List
|
9
|
-
|
10
|
-
OBJECT_NAME = "capital.financing_transaction"
|
11
|
-
def self.object_name
|
12
|
-
"capital.financing_transaction"
|
13
|
-
end
|
14
|
-
|
15
|
-
# Returns a list of financing transactions. The transactions are returned in sorted order,
|
16
|
-
# with the most recent transactions appearing first.
|
17
|
-
def self.list(filters = {}, opts = {})
|
18
|
-
request_stripe_object(
|
19
|
-
method: :get,
|
20
|
-
path: "/v1/capital/financing_transactions",
|
21
|
-
params: filters,
|
22
|
-
opts: opts
|
23
|
-
)
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|