stripe 9.4.0.pre.beta.3 → 9.4.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 +46 -212
- data/OPENAPI_VERSION +1 -1
- data/README.md +0 -11
- data/VERSION +1 -1
- data/lib/data/ca-certificates.crt +290 -3340
- data/lib/stripe/api_operations/request.rb +0 -2
- data/lib/stripe/api_version.rb +0 -1
- data/lib/stripe/object_types.rb +1 -17
- data/lib/stripe/resources/financial_connections/account.rb +0 -39
- data/lib/stripe/resources/issuing/token.rb +14 -0
- data/lib/stripe/resources/payment_method_configuration.rb +14 -1
- data/lib/stripe/resources/quote.rb +0 -94
- data/lib/stripe/resources/setup_intent.rb +11 -12
- data/lib/stripe/resources/subscription_schedule.rb +0 -18
- data/lib/stripe/resources/terminal/reader.rb +0 -54
- data/lib/stripe/resources/token.rb +11 -11
- data/lib/stripe/resources.rb +1 -17
- data/lib/stripe/stripe_client.rb +26 -60
- data/lib/stripe/stripe_configuration.rb +0 -2
- data/lib/stripe/util.rb +1 -8
- data/lib/stripe/version.rb +1 -1
- data/lib/stripe.rb +0 -46
- metadata +9 -26
- data/lib/stripe/request_signing_authenticator.rb +0 -83
- data/lib/stripe/resources/capital/financing_offer.rb +0 -32
- data/lib/stripe/resources/capital/financing_summary.rb +0 -12
- data/lib/stripe/resources/capital/financing_transaction.rb +0 -13
- data/lib/stripe/resources/confirmation_token.rb +0 -11
- data/lib/stripe/resources/customer_session.rb +0 -12
- data/lib/stripe/resources/financial_connections/inferred_balance.rb +0 -13
- data/lib/stripe/resources/financial_connections/transaction.rb +0 -13
- data/lib/stripe/resources/gift_cards/card.rb +0 -25
- data/lib/stripe/resources/gift_cards/transaction.rb +0 -56
- data/lib/stripe/resources/issuing/personalization_design.rb +0 -77
- data/lib/stripe/resources/issuing/physical_bundle.rb +0 -13
- data/lib/stripe/resources/order.rb +0 -89
- data/lib/stripe/resources/quote_phase.rb +0 -29
- data/lib/stripe/resources/quote_preview_invoice.rb +0 -42
- data/lib/stripe/resources/quote_preview_schedule.rb +0 -10
- data/lib/stripe/resources/tax/form.rb +0 -39
- data/lib/stripe/resources/tax/registration.rb +0 -19
data/lib/stripe/stripe_client.rb
CHANGED
|
@@ -212,10 +212,9 @@ module Stripe
|
|
|
212
212
|
end
|
|
213
213
|
|
|
214
214
|
def execute_request(method, path,
|
|
215
|
-
api_base: nil, api_key: nil,
|
|
216
|
-
headers: {}, params: {}, api_mode: nil)
|
|
215
|
+
api_base: nil, api_key: nil, headers: {}, params: {})
|
|
217
216
|
http_resp, api_key = execute_request_internal(
|
|
218
|
-
method, path, api_base, api_key, headers, params
|
|
217
|
+
method, path, api_base, api_key, headers, params
|
|
219
218
|
)
|
|
220
219
|
|
|
221
220
|
begin
|
|
@@ -246,7 +245,6 @@ module Stripe
|
|
|
246
245
|
def execute_request_stream(method, path,
|
|
247
246
|
api_base: nil, api_key: nil,
|
|
248
247
|
headers: {}, params: {},
|
|
249
|
-
api_mode: nil,
|
|
250
248
|
&read_body_chunk_block)
|
|
251
249
|
unless block_given?
|
|
252
250
|
raise ArgumentError,
|
|
@@ -254,8 +252,7 @@ module Stripe
|
|
|
254
252
|
end
|
|
255
253
|
|
|
256
254
|
http_resp, api_key = execute_request_internal(
|
|
257
|
-
method, path, api_base, api_key,
|
|
258
|
-
headers, params, api_mode, &read_body_chunk_block
|
|
255
|
+
method, path, api_base, api_key, headers, params, &read_body_chunk_block
|
|
259
256
|
)
|
|
260
257
|
|
|
261
258
|
# When the read_body_chunk_block is given, we no longer have access to the
|
|
@@ -435,7 +432,7 @@ module Stripe
|
|
|
435
432
|
|
|
436
433
|
private def execute_request_internal(method, path,
|
|
437
434
|
api_base, api_key, headers, params,
|
|
438
|
-
|
|
435
|
+
&read_body_chunk_block)
|
|
439
436
|
raise ArgumentError, "method should be a symbol" \
|
|
440
437
|
unless method.is_a?(Symbol)
|
|
441
438
|
raise ArgumentError, "path should be a string" \
|
|
@@ -443,10 +440,9 @@ module Stripe
|
|
|
443
440
|
|
|
444
441
|
api_base ||= config.api_base
|
|
445
442
|
api_key ||= config.api_key
|
|
446
|
-
authenticator ||= config.authenticator
|
|
447
443
|
params = Util.objects_to_ids(params)
|
|
448
444
|
|
|
449
|
-
|
|
445
|
+
check_api_key!(api_key)
|
|
450
446
|
|
|
451
447
|
body_params = nil
|
|
452
448
|
query_params = nil
|
|
@@ -459,9 +455,8 @@ module Stripe
|
|
|
459
455
|
|
|
460
456
|
query_params, path = merge_query_params(query_params, path)
|
|
461
457
|
|
|
462
|
-
headers = request_headers(api_key, method
|
|
458
|
+
headers = request_headers(api_key, method)
|
|
463
459
|
.update(Util.normalize_headers(headers))
|
|
464
|
-
|
|
465
460
|
url = api_url(path, api_base)
|
|
466
461
|
|
|
467
462
|
# Merge given query parameters with any already encoded in the path.
|
|
@@ -472,16 +467,13 @@ module Stripe
|
|
|
472
467
|
# a log-friendly variant of the encoded form. File objects are displayed
|
|
473
468
|
# as such instead of as their file contents.
|
|
474
469
|
body, body_log =
|
|
475
|
-
body_params ? encode_body(body_params, headers
|
|
476
|
-
|
|
477
|
-
authenticator.authenticate(method, headers, body) unless api_key
|
|
470
|
+
body_params ? encode_body(body_params, headers) : [nil, nil]
|
|
478
471
|
|
|
479
472
|
# stores information on the request we're about to make so that we don't
|
|
480
473
|
# have to pass as many parameters around for logging.
|
|
481
474
|
context = RequestLogContext.new
|
|
482
475
|
context.account = headers["Stripe-Account"]
|
|
483
476
|
context.api_key = api_key
|
|
484
|
-
context.authenticator = authenticator
|
|
485
477
|
context.api_version = headers["Stripe-Version"]
|
|
486
478
|
context.body = body_log
|
|
487
479
|
context.idempotency_key = headers["Idempotency-Key"]
|
|
@@ -520,16 +512,8 @@ module Stripe
|
|
|
520
512
|
(api_base || config.api_base) + url
|
|
521
513
|
end
|
|
522
514
|
|
|
523
|
-
private def
|
|
524
|
-
|
|
525
|
-
raise AuthenticationError, "Can't specify both API key " \
|
|
526
|
-
"and authenticator. Either set your API key" \
|
|
527
|
-
'using "Stripe.api_key = <API-KEY>", or set your authenticator ' \
|
|
528
|
-
'using "Stripe.authenticator = <AUTHENTICATOR>"' \
|
|
529
|
-
end
|
|
530
|
-
|
|
531
|
-
unless api_key || authenticator
|
|
532
|
-
# Default to missing API key error message for general users.
|
|
515
|
+
private def check_api_key!(api_key)
|
|
516
|
+
unless api_key
|
|
533
517
|
raise AuthenticationError, "No API key provided. " \
|
|
534
518
|
'Set your API key using "Stripe.api_key = <API-KEY>". ' \
|
|
535
519
|
"You can generate API keys from the Stripe web interface. " \
|
|
@@ -548,7 +532,7 @@ module Stripe
|
|
|
548
532
|
# Encodes a set of body parameters using multipart if `Content-Type` is set
|
|
549
533
|
# for that, or standard form-encoding otherwise. Returns the encoded body
|
|
550
534
|
# and a version of the encoded body that's safe to be logged.
|
|
551
|
-
private def encode_body(body_params, headers
|
|
535
|
+
private def encode_body(body_params, headers)
|
|
552
536
|
body = nil
|
|
553
537
|
flattened_params = Util.flatten_params(body_params)
|
|
554
538
|
|
|
@@ -564,22 +548,15 @@ module Stripe
|
|
|
564
548
|
flattened_params =
|
|
565
549
|
flattened_params.map { |k, v| [k, v.is_a?(String) ? v : v.to_s] }.to_h
|
|
566
550
|
|
|
567
|
-
elsif api_mode == :preview
|
|
568
|
-
body = JSON.generate(body_params)
|
|
569
|
-
headers["Content-Type"] = "application/json"
|
|
570
551
|
else
|
|
571
552
|
body = Util.encode_parameters(body_params)
|
|
572
553
|
end
|
|
573
554
|
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
# forms of certain characters introduce a lot of visual noise and it's
|
|
580
|
-
# nice to have a clearer format for logs.
|
|
581
|
-
body_log = flattened_params.map { |k, v| "#{k}=#{v}" }.join("&")
|
|
582
|
-
end
|
|
555
|
+
# We don't use `Util.encode_parameters` partly as an optimization (to not
|
|
556
|
+
# redo work we've already done), and partly because the encoded forms of
|
|
557
|
+
# certain characters introduce a lot of visual noise and it's nice to
|
|
558
|
+
# have a clearer format for logs.
|
|
559
|
+
body_log = flattened_params.map { |k, v| "#{k}=#{v}" }.join("&")
|
|
583
560
|
|
|
584
561
|
[body, body_log]
|
|
585
562
|
end
|
|
@@ -768,11 +745,10 @@ module Stripe
|
|
|
768
745
|
end
|
|
769
746
|
|
|
770
747
|
private def specific_api_error(resp, error_data, context)
|
|
771
|
-
message = error_data[:message]
|
|
772
748
|
Util.log_error("Stripe API error",
|
|
773
749
|
status: resp.http_status,
|
|
774
750
|
error_code: error_data[:code],
|
|
775
|
-
error_message: message,
|
|
751
|
+
error_message: error_data[:message],
|
|
776
752
|
error_param: error_data[:param],
|
|
777
753
|
error_type: error_data[:type],
|
|
778
754
|
idempotency_key: context.idempotency_key,
|
|
@@ -793,26 +769,26 @@ module Stripe
|
|
|
793
769
|
when 400, 404
|
|
794
770
|
case error_data[:type]
|
|
795
771
|
when "idempotency_error"
|
|
796
|
-
IdempotencyError.new(message, **opts)
|
|
772
|
+
IdempotencyError.new(error_data[:message], **opts)
|
|
797
773
|
else
|
|
798
774
|
InvalidRequestError.new(
|
|
799
|
-
message, error_data[:param],
|
|
775
|
+
error_data[:message], error_data[:param],
|
|
800
776
|
**opts
|
|
801
777
|
)
|
|
802
778
|
end
|
|
803
779
|
when 401
|
|
804
|
-
AuthenticationError.new(message, **opts)
|
|
780
|
+
AuthenticationError.new(error_data[:message], **opts)
|
|
805
781
|
when 402
|
|
806
782
|
CardError.new(
|
|
807
|
-
message, error_data[:param],
|
|
783
|
+
error_data[:message], error_data[:param],
|
|
808
784
|
**opts
|
|
809
785
|
)
|
|
810
786
|
when 403
|
|
811
|
-
PermissionError.new(message, **opts)
|
|
787
|
+
PermissionError.new(error_data[:message], **opts)
|
|
812
788
|
when 429
|
|
813
|
-
RateLimitError.new(message, **opts)
|
|
789
|
+
RateLimitError.new(error_data[:message], **opts)
|
|
814
790
|
else
|
|
815
|
-
APIError.new(message, **opts)
|
|
791
|
+
APIError.new(error_data[:message], **opts)
|
|
816
792
|
end
|
|
817
793
|
end
|
|
818
794
|
|
|
@@ -880,7 +856,7 @@ module Stripe
|
|
|
880
856
|
message + "\n\n(Network error: #{error.message})"
|
|
881
857
|
end
|
|
882
858
|
|
|
883
|
-
private def request_headers(api_key, method
|
|
859
|
+
private def request_headers(api_key, method)
|
|
884
860
|
user_agent = "Stripe/v1 RubyBindings/#{Stripe::VERSION}"
|
|
885
861
|
unless Stripe.app_info.nil?
|
|
886
862
|
user_agent += " " + format_app_info(Stripe.app_info)
|
|
@@ -889,13 +865,9 @@ module Stripe
|
|
|
889
865
|
headers = {
|
|
890
866
|
"User-Agent" => user_agent,
|
|
891
867
|
"Authorization" => "Bearer #{api_key}",
|
|
868
|
+
"Content-Type" => "application/x-www-form-urlencoded",
|
|
892
869
|
}
|
|
893
870
|
|
|
894
|
-
if api_mode != :preview
|
|
895
|
-
# TODO: (major) don't set Content-Type if method is not post
|
|
896
|
-
headers["Content-Type"] = "application/x-www-form-urlencoded"
|
|
897
|
-
end
|
|
898
|
-
|
|
899
871
|
if config.enable_telemetry? && !@last_request_metrics.nil?
|
|
900
872
|
headers["X-Stripe-Client-Telemetry"] = JSON.generate(
|
|
901
873
|
last_request_metrics: @last_request_metrics.payload
|
|
@@ -908,12 +880,7 @@ module Stripe
|
|
|
908
880
|
headers["Idempotency-Key"] ||= SecureRandom.uuid
|
|
909
881
|
end
|
|
910
882
|
|
|
911
|
-
|
|
912
|
-
headers["Stripe-Version"] = ApiVersion::PREVIEW
|
|
913
|
-
elsif config.api_version
|
|
914
|
-
headers["Stripe-Version"] = config.api_version
|
|
915
|
-
end
|
|
916
|
-
|
|
883
|
+
headers["Stripe-Version"] = config.api_version if config.api_version
|
|
917
884
|
headers["Stripe-Account"] = config.stripe_account if config.stripe_account
|
|
918
885
|
|
|
919
886
|
user_agent = @system_profiler.user_agent
|
|
@@ -999,7 +966,6 @@ module Stripe
|
|
|
999
966
|
attr_accessor :body
|
|
1000
967
|
attr_accessor :account
|
|
1001
968
|
attr_accessor :api_key
|
|
1002
|
-
attr_accessor :authenticator
|
|
1003
969
|
attr_accessor :api_version
|
|
1004
970
|
attr_accessor :idempotency_key
|
|
1005
971
|
attr_accessor :method
|
|
@@ -27,7 +27,6 @@ module Stripe
|
|
|
27
27
|
class StripeConfiguration
|
|
28
28
|
attr_accessor :api_key
|
|
29
29
|
attr_accessor :api_version
|
|
30
|
-
attr_accessor :authenticator
|
|
31
30
|
attr_accessor :client_id
|
|
32
31
|
attr_accessor :enable_telemetry
|
|
33
32
|
attr_accessor :logger
|
|
@@ -65,7 +64,6 @@ module Stripe
|
|
|
65
64
|
|
|
66
65
|
def initialize
|
|
67
66
|
@api_version = ApiVersion::CURRENT
|
|
68
|
-
|
|
69
67
|
@ca_bundle_path = Stripe::DEFAULT_CA_BUNDLE_PATH
|
|
70
68
|
@enable_telemetry = true
|
|
71
69
|
@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
|
|
@@ -282,13 +281,7 @@ module Stripe
|
|
|
282
281
|
when String
|
|
283
282
|
{ api_key: opts }
|
|
284
283
|
when Hash
|
|
285
|
-
|
|
286
|
-
# no need to check the api_key per request.
|
|
287
|
-
if !(opts.key?(:client) &&
|
|
288
|
-
opts.fetch(:client).config.authenticator) &&
|
|
289
|
-
opts.key?(:api_key)
|
|
290
|
-
check_api_key!(opts.fetch(:api_key))
|
|
291
|
-
end
|
|
284
|
+
check_api_key!(opts.fetch(:api_key)) if opts.key?(:api_key)
|
|
292
285
|
# Explicitly use dup here instead of clone to avoid preserving freeze
|
|
293
286
|
# state on input params.
|
|
294
287
|
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"
|
|
@@ -45,7 +44,6 @@ require "stripe/api_resource_test_helpers"
|
|
|
45
44
|
require "stripe/singleton_api_resource"
|
|
46
45
|
require "stripe/webhook"
|
|
47
46
|
require "stripe/stripe_configuration"
|
|
48
|
-
require "stripe/request_signing_authenticator"
|
|
49
47
|
|
|
50
48
|
# Named API resources
|
|
51
49
|
require "stripe/resources"
|
|
@@ -72,7 +70,6 @@ module Stripe
|
|
|
72
70
|
|
|
73
71
|
# User configurable options
|
|
74
72
|
def_delegators :@config, :api_key, :api_key=
|
|
75
|
-
def_delegators :@config, :authenticator, :authenticator=
|
|
76
73
|
def_delegators :@config, :api_version, :api_version=
|
|
77
74
|
def_delegators :@config, :stripe_account, :stripe_account=
|
|
78
75
|
def_delegators :@config, :api_base, :api_base=
|
|
@@ -119,49 +116,6 @@ module Stripe
|
|
|
119
116
|
version: version,
|
|
120
117
|
}
|
|
121
118
|
end
|
|
122
|
-
|
|
123
|
-
class Preview
|
|
124
|
-
def self._get_default_opts(opts)
|
|
125
|
-
{ api_mode: :preview }.merge(opts)
|
|
126
|
-
end
|
|
127
|
-
|
|
128
|
-
def self.get(url, opts = {})
|
|
129
|
-
Stripe.raw_request(:get, url, {}, _get_default_opts(opts))
|
|
130
|
-
end
|
|
131
|
-
|
|
132
|
-
def self.post(url, params = {}, opts = {})
|
|
133
|
-
Stripe.raw_request(:post, url, params, _get_default_opts(opts))
|
|
134
|
-
end
|
|
135
|
-
|
|
136
|
-
def self.delete(url, opts = {})
|
|
137
|
-
Stripe.raw_request(:delete, url, {}, _get_default_opts(opts))
|
|
138
|
-
end
|
|
139
|
-
end
|
|
140
|
-
|
|
141
|
-
class RawRequest
|
|
142
|
-
include Stripe::APIOperations::Request
|
|
143
|
-
|
|
144
|
-
def initialize
|
|
145
|
-
@opts = {}
|
|
146
|
-
end
|
|
147
|
-
|
|
148
|
-
def execute(method, url, params = {}, opts = {})
|
|
149
|
-
resp, = execute_resource_request(method, url, params, opts)
|
|
150
|
-
|
|
151
|
-
resp
|
|
152
|
-
end
|
|
153
|
-
end
|
|
154
|
-
|
|
155
|
-
# Sends a request to Stripe REST API
|
|
156
|
-
def self.raw_request(method, url, params = {}, opts = {})
|
|
157
|
-
req = RawRequest.new
|
|
158
|
-
req.execute(method, url, params, opts)
|
|
159
|
-
end
|
|
160
|
-
|
|
161
|
-
def self.deserialize(data)
|
|
162
|
-
data = JSON.parse(data) if data.is_a?(String)
|
|
163
|
-
Util.convert_to_stripe_object(data, {})
|
|
164
|
-
end
|
|
165
119
|
end
|
|
166
120
|
|
|
167
121
|
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: 9.4.
|
|
4
|
+
version: 9.4.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Stripe
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2026-10-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.
|
|
@@ -50,7 +50,6 @@ files:
|
|
|
50
50
|
- lib/stripe/multipart_encoder.rb
|
|
51
51
|
- lib/stripe/oauth.rb
|
|
52
52
|
- lib/stripe/object_types.rb
|
|
53
|
-
- lib/stripe/request_signing_authenticator.rb
|
|
54
53
|
- lib/stripe/resources.rb
|
|
55
54
|
- lib/stripe/resources/account.rb
|
|
56
55
|
- lib/stripe/resources/account_link.rb
|
|
@@ -66,14 +65,10 @@ files:
|
|
|
66
65
|
- lib/stripe/resources/billing_portal/configuration.rb
|
|
67
66
|
- lib/stripe/resources/billing_portal/session.rb
|
|
68
67
|
- lib/stripe/resources/capability.rb
|
|
69
|
-
- lib/stripe/resources/capital/financing_offer.rb
|
|
70
|
-
- lib/stripe/resources/capital/financing_summary.rb
|
|
71
|
-
- lib/stripe/resources/capital/financing_transaction.rb
|
|
72
68
|
- lib/stripe/resources/card.rb
|
|
73
69
|
- lib/stripe/resources/cash_balance.rb
|
|
74
70
|
- lib/stripe/resources/charge.rb
|
|
75
71
|
- lib/stripe/resources/checkout/session.rb
|
|
76
|
-
- lib/stripe/resources/confirmation_token.rb
|
|
77
72
|
- lib/stripe/resources/country_spec.rb
|
|
78
73
|
- lib/stripe/resources/coupon.rb
|
|
79
74
|
- lib/stripe/resources/credit_note.rb
|
|
@@ -81,7 +76,6 @@ files:
|
|
|
81
76
|
- lib/stripe/resources/customer.rb
|
|
82
77
|
- lib/stripe/resources/customer_balance_transaction.rb
|
|
83
78
|
- lib/stripe/resources/customer_cash_balance_transaction.rb
|
|
84
|
-
- lib/stripe/resources/customer_session.rb
|
|
85
79
|
- lib/stripe/resources/discount.rb
|
|
86
80
|
- lib/stripe/resources/dispute.rb
|
|
87
81
|
- lib/stripe/resources/ephemeral_key.rb
|
|
@@ -92,12 +86,8 @@ files:
|
|
|
92
86
|
- lib/stripe/resources/financial_connections/account.rb
|
|
93
87
|
- lib/stripe/resources/financial_connections/account_owner.rb
|
|
94
88
|
- lib/stripe/resources/financial_connections/account_ownership.rb
|
|
95
|
-
- lib/stripe/resources/financial_connections/inferred_balance.rb
|
|
96
89
|
- lib/stripe/resources/financial_connections/session.rb
|
|
97
|
-
- lib/stripe/resources/financial_connections/transaction.rb
|
|
98
90
|
- lib/stripe/resources/funding_instructions.rb
|
|
99
|
-
- lib/stripe/resources/gift_cards/card.rb
|
|
100
|
-
- lib/stripe/resources/gift_cards/transaction.rb
|
|
101
91
|
- lib/stripe/resources/identity/verification_report.rb
|
|
102
92
|
- lib/stripe/resources/identity/verification_session.rb
|
|
103
93
|
- lib/stripe/resources/invoice.rb
|
|
@@ -107,13 +97,11 @@ files:
|
|
|
107
97
|
- lib/stripe/resources/issuing/card.rb
|
|
108
98
|
- lib/stripe/resources/issuing/cardholder.rb
|
|
109
99
|
- lib/stripe/resources/issuing/dispute.rb
|
|
110
|
-
- lib/stripe/resources/issuing/
|
|
111
|
-
- lib/stripe/resources/issuing/physical_bundle.rb
|
|
100
|
+
- lib/stripe/resources/issuing/token.rb
|
|
112
101
|
- lib/stripe/resources/issuing/transaction.rb
|
|
113
102
|
- lib/stripe/resources/line_item.rb
|
|
114
103
|
- lib/stripe/resources/login_link.rb
|
|
115
104
|
- lib/stripe/resources/mandate.rb
|
|
116
|
-
- lib/stripe/resources/order.rb
|
|
117
105
|
- lib/stripe/resources/payment_intent.rb
|
|
118
106
|
- lib/stripe/resources/payment_link.rb
|
|
119
107
|
- lib/stripe/resources/payment_method.rb
|
|
@@ -126,9 +114,6 @@ files:
|
|
|
126
114
|
- lib/stripe/resources/product.rb
|
|
127
115
|
- lib/stripe/resources/promotion_code.rb
|
|
128
116
|
- lib/stripe/resources/quote.rb
|
|
129
|
-
- lib/stripe/resources/quote_phase.rb
|
|
130
|
-
- lib/stripe/resources/quote_preview_invoice.rb
|
|
131
|
-
- lib/stripe/resources/quote_preview_schedule.rb
|
|
132
117
|
- lib/stripe/resources/radar/early_fraud_warning.rb
|
|
133
118
|
- lib/stripe/resources/radar/value_list.rb
|
|
134
119
|
- lib/stripe/resources/radar/value_list_item.rb
|
|
@@ -149,8 +134,6 @@ files:
|
|
|
149
134
|
- lib/stripe/resources/subscription_schedule.rb
|
|
150
135
|
- lib/stripe/resources/tax/calculation.rb
|
|
151
136
|
- lib/stripe/resources/tax/calculation_line_item.rb
|
|
152
|
-
- lib/stripe/resources/tax/form.rb
|
|
153
|
-
- lib/stripe/resources/tax/registration.rb
|
|
154
137
|
- lib/stripe/resources/tax/settings.rb
|
|
155
138
|
- lib/stripe/resources/tax/transaction.rb
|
|
156
139
|
- lib/stripe/resources/tax/transaction_line_item.rb
|
|
@@ -199,7 +182,7 @@ metadata:
|
|
|
199
182
|
github_repo: ssh://github.com/stripe/stripe-ruby
|
|
200
183
|
homepage_uri: https://stripe.com/docs/api?lang=ruby
|
|
201
184
|
source_code_uri: https://github.com/stripe/stripe-ruby
|
|
202
|
-
post_install_message:
|
|
185
|
+
post_install_message:
|
|
203
186
|
rdoc_options: []
|
|
204
187
|
require_paths:
|
|
205
188
|
- lib
|
|
@@ -210,12 +193,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
210
193
|
version: 2.3.0
|
|
211
194
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
212
195
|
requirements:
|
|
213
|
-
- - "
|
|
196
|
+
- - ">="
|
|
214
197
|
- !ruby/object:Gem::Version
|
|
215
|
-
version:
|
|
198
|
+
version: '0'
|
|
216
199
|
requirements: []
|
|
217
|
-
rubygems_version: 3.3.
|
|
218
|
-
signing_key:
|
|
200
|
+
rubygems_version: 3.3.27
|
|
201
|
+
signing_key:
|
|
219
202
|
specification_version: 4
|
|
220
203
|
summary: Ruby bindings for the Stripe API
|
|
221
204
|
test_files: []
|
|
@@ -1,83 +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
|
-
unless auth_token.is_a?(String)
|
|
17
|
-
raise ArgumentError, "auth_token must be a string"
|
|
18
|
-
end
|
|
19
|
-
unless sign_lambda.is_a?(Proc)
|
|
20
|
-
raise ArgumentError, "sign_lambda must be a lambda"
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
@auth_token = auth_token
|
|
24
|
-
@sign_lambda = sign_lambda
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
def authenticate(method, headers, body)
|
|
28
|
-
covered_headers = [CONTENT_TYPE_HEADER_NAME,
|
|
29
|
-
CONTENT_DIGEST_HEADER_NAME,
|
|
30
|
-
STRIPE_CONTEXT_HEADER_NAME,
|
|
31
|
-
STRIPE_ACCOUNT_HEADER_NAME,
|
|
32
|
-
AUTHORIZATION_HEADER_NAME,]
|
|
33
|
-
|
|
34
|
-
headers[AUTHORIZATION_HEADER_NAME] = "STRIPE-V2-SIG #{auth_token}"
|
|
35
|
-
|
|
36
|
-
if method == :get
|
|
37
|
-
covered_headers -= [CONTENT_TYPE_HEADER_NAME,
|
|
38
|
-
CONTENT_DIGEST_HEADER_NAME,]
|
|
39
|
-
else
|
|
40
|
-
content = body || ""
|
|
41
|
-
headers[CONTENT_DIGEST_HEADER_NAME] =
|
|
42
|
-
%(sha-256=:#{content_digest(content)}:)
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
covered_headers_formatted = covered_headers
|
|
46
|
-
.map { |string| %("#{string.downcase}") }
|
|
47
|
-
.join(" ")
|
|
48
|
-
|
|
49
|
-
signature_input = "(#{covered_headers_formatted});created=#{created_time}"
|
|
50
|
-
|
|
51
|
-
inputs = covered_headers
|
|
52
|
-
.map { |header| %("#{header.downcase}": #{headers[header]}) }
|
|
53
|
-
.join("\n")
|
|
54
|
-
|
|
55
|
-
signature_base = %(#{inputs}\n"@signature-params": #{signature_input})
|
|
56
|
-
.encode(Encoding::UTF_8)
|
|
57
|
-
|
|
58
|
-
headers[SIGNATURE_INPUT_HEADER_NAME] = "sig1=#{signature_input}"
|
|
59
|
-
|
|
60
|
-
headers[SIGNATURE_HEADER_NAME] =
|
|
61
|
-
"sig1=:#{encoded_signature(signature_base)}:"
|
|
62
|
-
end
|
|
63
|
-
|
|
64
|
-
private def sign(signature_base)
|
|
65
|
-
@sign_lambda.call(signature_base)
|
|
66
|
-
end
|
|
67
|
-
|
|
68
|
-
private def encoded_signature(signature_base)
|
|
69
|
-
Base64.strict_encode64(sign(signature_base))
|
|
70
|
-
rescue StandardError
|
|
71
|
-
raise AuthenticationError, "Encountered '#{e.message} (#{e.class})' "\
|
|
72
|
-
"when calculating request signature."
|
|
73
|
-
end
|
|
74
|
-
|
|
75
|
-
private def content_digest(content)
|
|
76
|
-
Base64.strict_encode64(OpenSSL::Digest.new("SHA256").digest(content))
|
|
77
|
-
end
|
|
78
|
-
|
|
79
|
-
private def created_time
|
|
80
|
-
Time.now.to_i
|
|
81
|
-
end
|
|
82
|
-
end
|
|
83
|
-
end
|
|
@@ -1,32 +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
|
-
|
|
13
|
-
def mark_delivered(params = {}, opts = {})
|
|
14
|
-
request_stripe_object(
|
|
15
|
-
method: :post,
|
|
16
|
-
path: format("/v1/capital/financing_offers/%<financing_offer>s/mark_delivered", { financing_offer: CGI.escape(self["id"]) }),
|
|
17
|
-
params: params,
|
|
18
|
-
opts: opts
|
|
19
|
-
)
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
def self.mark_delivered(financing_offer, params = {}, opts = {})
|
|
23
|
-
request_stripe_object(
|
|
24
|
-
method: :post,
|
|
25
|
-
path: format("/v1/capital/financing_offers/%<financing_offer>s/mark_delivered", { financing_offer: CGI.escape(financing_offer) }),
|
|
26
|
-
params: params,
|
|
27
|
-
opts: opts
|
|
28
|
-
)
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
end
|
|
@@ -1,12 +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
|
-
end
|
|
11
|
-
end
|
|
12
|
-
end
|
|
@@ -1,13 +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
|
-
end
|
|
12
|
-
end
|
|
13
|
-
end
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
# File generated from our OpenAPI spec
|
|
2
|
-
# frozen_string_literal: true
|
|
3
|
-
|
|
4
|
-
module Stripe
|
|
5
|
-
# ConfirmationTokens help transport client side data collected by Stripe JS over
|
|
6
|
-
# to your server for confirming a PaymentIntent or SetupIntent. If the confirmation
|
|
7
|
-
# is successful, values present on the ConfirmationToken are written onto the Intent.
|
|
8
|
-
class ConfirmationToken < APIResource
|
|
9
|
-
OBJECT_NAME = "confirmation_token"
|
|
10
|
-
end
|
|
11
|
-
end
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
# File generated from our OpenAPI spec
|
|
2
|
-
# frozen_string_literal: true
|
|
3
|
-
|
|
4
|
-
module Stripe
|
|
5
|
-
# A customer session allows you to grant client access to Stripe's frontend SDKs (like StripeJs)
|
|
6
|
-
# control over a customer.
|
|
7
|
-
class CustomerSession < APIResource
|
|
8
|
-
extend Stripe::APIOperations::Create
|
|
9
|
-
|
|
10
|
-
OBJECT_NAME = "customer_session"
|
|
11
|
-
end
|
|
12
|
-
end
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
# File generated from our OpenAPI spec
|
|
2
|
-
# frozen_string_literal: true
|
|
3
|
-
|
|
4
|
-
module Stripe
|
|
5
|
-
module FinancialConnections
|
|
6
|
-
# A historical balance for the account on a particular day. It may be sourced from a balance snapshot provided by a financial institution, or inferred using transactions data.
|
|
7
|
-
class InferredBalance < APIResource
|
|
8
|
-
extend Stripe::APIOperations::List
|
|
9
|
-
|
|
10
|
-
OBJECT_NAME = "financial_connections.account_inferred_balance"
|
|
11
|
-
end
|
|
12
|
-
end
|
|
13
|
-
end
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
# File generated from our OpenAPI spec
|
|
2
|
-
# frozen_string_literal: true
|
|
3
|
-
|
|
4
|
-
module Stripe
|
|
5
|
-
module FinancialConnections
|
|
6
|
-
# A Transaction represents a real transaction that affects a Financial Connections Account balance.
|
|
7
|
-
class Transaction < APIResource
|
|
8
|
-
extend Stripe::APIOperations::List
|
|
9
|
-
|
|
10
|
-
OBJECT_NAME = "financial_connections.transaction"
|
|
11
|
-
end
|
|
12
|
-
end
|
|
13
|
-
end
|