stripe 10.10.0.pre.beta.1 → 10.10.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 +47 -281
- data/OPENAPI_VERSION +1 -1
- data/README.md +18 -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 -23
- data/lib/stripe/resources/customer.rb +0 -11
- data/lib/stripe/resources/financial_connections/account.rb +0 -3
- data/lib/stripe/resources/invoice.rb +0 -53
- data/lib/stripe/resources/invoice_line_item.rb +15 -0
- 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/tax_id.rb +14 -16
- data/lib/stripe/resources/terminal/reader.rb +0 -60
- data/lib/stripe/resources.rb +0 -22
- 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 -46
- metadata +4 -27
- 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/confirmation_token.rb +0 -16
- data/lib/stripe/resources/customer_entitlement.rb +0 -12
- data/lib/stripe/resources/customer_entitlement_summary.rb +0 -12
- data/lib/stripe/resources/entitlements/event.rb +0 -26
- data/lib/stripe/resources/entitlements/feature.rb +0 -38
- 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/issuing/personalization_design.rb +0 -119
- data/lib/stripe/resources/issuing/physical_bundle.rb +0 -26
- data/lib/stripe/resources/margin.rb +0 -37
- data/lib/stripe/resources/order.rb +0 -120
- data/lib/stripe/resources/quote_phase.rb +0 -39
- data/lib/stripe/resources/quote_preview_invoice.rb +0 -43
- data/lib/stripe/resources/quote_preview_subscription_schedule.rb +0 -11
- data/lib/stripe/resources/tax/form.rb +0 -49
data/lib/stripe/resources.rb
CHANGED
@@ -3,7 +3,6 @@
|
|
3
3
|
|
4
4
|
require "stripe/resources/account"
|
5
5
|
require "stripe/resources/account_link"
|
6
|
-
require "stripe/resources/account_notice"
|
7
6
|
require "stripe/resources/account_session"
|
8
7
|
require "stripe/resources/apple_pay_domain"
|
9
8
|
require "stripe/resources/application_fee"
|
@@ -15,9 +14,6 @@ require "stripe/resources/bank_account"
|
|
15
14
|
require "stripe/resources/billing_portal/configuration"
|
16
15
|
require "stripe/resources/billing_portal/session"
|
17
16
|
require "stripe/resources/capability"
|
18
|
-
require "stripe/resources/capital/financing_offer"
|
19
|
-
require "stripe/resources/capital/financing_summary"
|
20
|
-
require "stripe/resources/capital/financing_transaction"
|
21
17
|
require "stripe/resources/card"
|
22
18
|
require "stripe/resources/cash_balance"
|
23
19
|
require "stripe/resources/charge"
|
@@ -25,7 +21,6 @@ require "stripe/resources/checkout/session"
|
|
25
21
|
require "stripe/resources/climate/order"
|
26
22
|
require "stripe/resources/climate/product"
|
27
23
|
require "stripe/resources/climate/supplier"
|
28
|
-
require "stripe/resources/confirmation_token"
|
29
24
|
require "stripe/resources/country_spec"
|
30
25
|
require "stripe/resources/coupon"
|
31
26
|
require "stripe/resources/credit_note"
|
@@ -33,47 +28,34 @@ require "stripe/resources/credit_note_line_item"
|
|
33
28
|
require "stripe/resources/customer"
|
34
29
|
require "stripe/resources/customer_balance_transaction"
|
35
30
|
require "stripe/resources/customer_cash_balance_transaction"
|
36
|
-
require "stripe/resources/customer_entitlement"
|
37
|
-
require "stripe/resources/customer_entitlement_summary"
|
38
31
|
require "stripe/resources/customer_session"
|
39
32
|
require "stripe/resources/discount"
|
40
33
|
require "stripe/resources/dispute"
|
41
|
-
require "stripe/resources/entitlements/event"
|
42
|
-
require "stripe/resources/entitlements/feature"
|
43
34
|
require "stripe/resources/ephemeral_key"
|
44
35
|
require "stripe/resources/event"
|
45
36
|
require "stripe/resources/exchange_rate"
|
46
37
|
require "stripe/resources/file"
|
47
38
|
require "stripe/resources/file_link"
|
48
39
|
require "stripe/resources/financial_connections/account"
|
49
|
-
require "stripe/resources/financial_connections/account_inferred_balance"
|
50
40
|
require "stripe/resources/financial_connections/account_owner"
|
51
41
|
require "stripe/resources/financial_connections/account_ownership"
|
52
42
|
require "stripe/resources/financial_connections/session"
|
53
43
|
require "stripe/resources/financial_connections/transaction"
|
54
44
|
require "stripe/resources/funding_instructions"
|
55
|
-
require "stripe/resources/gift_cards/card"
|
56
|
-
require "stripe/resources/gift_cards/transaction"
|
57
45
|
require "stripe/resources/identity/verification_report"
|
58
46
|
require "stripe/resources/identity/verification_session"
|
59
47
|
require "stripe/resources/invoice"
|
60
48
|
require "stripe/resources/invoice_item"
|
61
49
|
require "stripe/resources/invoice_line_item"
|
62
|
-
require "stripe/resources/invoice_payment"
|
63
50
|
require "stripe/resources/issuing/authorization"
|
64
51
|
require "stripe/resources/issuing/card"
|
65
52
|
require "stripe/resources/issuing/cardholder"
|
66
|
-
require "stripe/resources/issuing/credit_underwriting_record"
|
67
53
|
require "stripe/resources/issuing/dispute"
|
68
|
-
require "stripe/resources/issuing/personalization_design"
|
69
|
-
require "stripe/resources/issuing/physical_bundle"
|
70
54
|
require "stripe/resources/issuing/token"
|
71
55
|
require "stripe/resources/issuing/transaction"
|
72
56
|
require "stripe/resources/line_item"
|
73
57
|
require "stripe/resources/login_link"
|
74
58
|
require "stripe/resources/mandate"
|
75
|
-
require "stripe/resources/margin"
|
76
|
-
require "stripe/resources/order"
|
77
59
|
require "stripe/resources/payment_intent"
|
78
60
|
require "stripe/resources/payment_link"
|
79
61
|
require "stripe/resources/payment_method"
|
@@ -86,9 +68,6 @@ require "stripe/resources/price"
|
|
86
68
|
require "stripe/resources/product"
|
87
69
|
require "stripe/resources/promotion_code"
|
88
70
|
require "stripe/resources/quote"
|
89
|
-
require "stripe/resources/quote_phase"
|
90
|
-
require "stripe/resources/quote_preview_invoice"
|
91
|
-
require "stripe/resources/quote_preview_subscription_schedule"
|
92
71
|
require "stripe/resources/radar/early_fraud_warning"
|
93
72
|
require "stripe/resources/radar/value_list"
|
94
73
|
require "stripe/resources/radar/value_list_item"
|
@@ -108,7 +87,6 @@ require "stripe/resources/subscription_item"
|
|
108
87
|
require "stripe/resources/subscription_schedule"
|
109
88
|
require "stripe/resources/tax/calculation"
|
110
89
|
require "stripe/resources/tax/calculation_line_item"
|
111
|
-
require "stripe/resources/tax/form"
|
112
90
|
require "stripe/resources/tax/registration"
|
113
91
|
require "stripe/resources/tax/settings"
|
114
92
|
require "stripe/resources/tax/transaction"
|
data/lib/stripe/stripe_client.rb
CHANGED
@@ -209,10 +209,9 @@ module Stripe
|
|
209
209
|
end
|
210
210
|
|
211
211
|
def execute_request(method, path,
|
212
|
-
api_base: nil, api_key: nil,
|
213
|
-
headers: {}, params: {}, api_mode: nil, usage: [])
|
212
|
+
api_base: nil, api_key: nil, headers: {}, params: {}, usage: [])
|
214
213
|
http_resp, api_key = execute_request_internal(
|
215
|
-
method, path, api_base, api_key, headers, params,
|
214
|
+
method, path, api_base, api_key, headers, params, usage
|
216
215
|
)
|
217
216
|
|
218
217
|
begin
|
@@ -243,7 +242,6 @@ module Stripe
|
|
243
242
|
def execute_request_stream(method, path,
|
244
243
|
api_base: nil, api_key: nil, usage: [],
|
245
244
|
headers: {}, params: {},
|
246
|
-
api_mode: nil,
|
247
245
|
&read_body_chunk_block)
|
248
246
|
unless block_given?
|
249
247
|
raise ArgumentError,
|
@@ -251,8 +249,7 @@ module Stripe
|
|
251
249
|
end
|
252
250
|
|
253
251
|
http_resp, api_key = execute_request_internal(
|
254
|
-
method, path, api_base, api_key,
|
255
|
-
headers, params, api_mode, usage, &read_body_chunk_block
|
252
|
+
method, path, api_base, api_key, headers, params, usage, &read_body_chunk_block
|
256
253
|
)
|
257
254
|
|
258
255
|
# When the read_body_chunk_block is given, we no longer have access to the
|
@@ -431,8 +428,8 @@ module Stripe
|
|
431
428
|
end
|
432
429
|
|
433
430
|
private def execute_request_internal(method, path,
|
434
|
-
api_base, api_key, headers, params,
|
435
|
-
|
431
|
+
api_base, api_key, headers, params, usage,
|
432
|
+
&read_body_chunk_block)
|
436
433
|
raise ArgumentError, "method should be a symbol" \
|
437
434
|
unless method.is_a?(Symbol)
|
438
435
|
raise ArgumentError, "path should be a string" \
|
@@ -440,10 +437,9 @@ module Stripe
|
|
440
437
|
|
441
438
|
api_base ||= config.api_base
|
442
439
|
api_key ||= config.api_key
|
443
|
-
authenticator ||= config.authenticator
|
444
440
|
params = Util.objects_to_ids(params)
|
445
441
|
|
446
|
-
|
442
|
+
check_api_key!(api_key)
|
447
443
|
|
448
444
|
body_params = nil
|
449
445
|
query_params = nil
|
@@ -456,9 +452,8 @@ module Stripe
|
|
456
452
|
|
457
453
|
query_params, path = merge_query_params(query_params, path)
|
458
454
|
|
459
|
-
headers = request_headers(api_key, method
|
455
|
+
headers = request_headers(api_key, method)
|
460
456
|
.update(Util.normalize_headers(headers))
|
461
|
-
|
462
457
|
url = api_url(path, api_base)
|
463
458
|
|
464
459
|
# Merge given query parameters with any already encoded in the path.
|
@@ -469,16 +464,13 @@ module Stripe
|
|
469
464
|
# a log-friendly variant of the encoded form. File objects are displayed
|
470
465
|
# as such instead of as their file contents.
|
471
466
|
body, body_log =
|
472
|
-
body_params ? encode_body(body_params, headers
|
473
|
-
|
474
|
-
authenticator.authenticate(method, headers, body) unless api_key
|
467
|
+
body_params ? encode_body(body_params, headers) : [nil, nil]
|
475
468
|
|
476
469
|
# stores information on the request we're about to make so that we don't
|
477
470
|
# have to pass as many parameters around for logging.
|
478
471
|
context = RequestLogContext.new
|
479
472
|
context.account = headers["Stripe-Account"]
|
480
473
|
context.api_key = api_key
|
481
|
-
context.authenticator = authenticator
|
482
474
|
context.api_version = headers["Stripe-Version"]
|
483
475
|
context.body = body_log
|
484
476
|
context.idempotency_key = headers["Idempotency-Key"]
|
@@ -515,16 +507,8 @@ module Stripe
|
|
515
507
|
(api_base || config.api_base) + url
|
516
508
|
end
|
517
509
|
|
518
|
-
private def
|
519
|
-
|
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.
|
510
|
+
private def check_api_key!(api_key)
|
511
|
+
unless api_key
|
528
512
|
raise AuthenticationError, "No API key provided. " \
|
529
513
|
'Set your API key using "Stripe.api_key = <API-KEY>". ' \
|
530
514
|
"You can generate API keys from the Stripe web interface. " \
|
@@ -543,7 +527,7 @@ module Stripe
|
|
543
527
|
# Encodes a set of body parameters using multipart if `Content-Type` is set
|
544
528
|
# for that, or standard form-encoding otherwise. Returns the encoded body
|
545
529
|
# and a version of the encoded body that's safe to be logged.
|
546
|
-
private def encode_body(body_params, headers
|
530
|
+
private def encode_body(body_params, headers)
|
547
531
|
body = nil
|
548
532
|
flattened_params = Util.flatten_params(body_params)
|
549
533
|
|
@@ -559,22 +543,15 @@ module Stripe
|
|
559
543
|
flattened_params =
|
560
544
|
flattened_params.map { |k, v| [k, v.is_a?(String) ? v : v.to_s] }.to_h
|
561
545
|
|
562
|
-
elsif api_mode == :preview
|
563
|
-
body = JSON.generate(body_params)
|
564
|
-
headers["Content-Type"] = "application/json"
|
565
546
|
else
|
566
547
|
body = Util.encode_parameters(body_params)
|
567
548
|
end
|
568
549
|
|
569
|
-
|
570
|
-
|
571
|
-
|
572
|
-
|
573
|
-
|
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
|
550
|
+
# We don't use `Util.encode_parameters` partly as an optimization (to not
|
551
|
+
# redo work we've already done), and partly because the encoded forms of
|
552
|
+
# certain characters introduce a lot of visual noise and it's nice to
|
553
|
+
# have a clearer format for logs.
|
554
|
+
body_log = flattened_params.map { |k, v| "#{k}=#{v}" }.join("&")
|
578
555
|
|
579
556
|
[body, body_log]
|
580
557
|
end
|
@@ -761,11 +738,10 @@ module Stripe
|
|
761
738
|
end
|
762
739
|
|
763
740
|
private def specific_api_error(resp, error_data, context)
|
764
|
-
message = error_data[:message]
|
765
741
|
Util.log_error("Stripe API error",
|
766
742
|
status: resp.http_status,
|
767
743
|
error_code: error_data[:code],
|
768
|
-
error_message: message,
|
744
|
+
error_message: error_data[:message],
|
769
745
|
error_param: error_data[:param],
|
770
746
|
error_type: error_data[:type],
|
771
747
|
idempotency_key: context.idempotency_key,
|
@@ -786,26 +762,26 @@ module Stripe
|
|
786
762
|
when 400, 404
|
787
763
|
case error_data[:type]
|
788
764
|
when "idempotency_error"
|
789
|
-
IdempotencyError.new(message, **opts)
|
765
|
+
IdempotencyError.new(error_data[:message], **opts)
|
790
766
|
else
|
791
767
|
InvalidRequestError.new(
|
792
|
-
message, error_data[:param],
|
768
|
+
error_data[:message], error_data[:param],
|
793
769
|
**opts
|
794
770
|
)
|
795
771
|
end
|
796
772
|
when 401
|
797
|
-
AuthenticationError.new(message, **opts)
|
773
|
+
AuthenticationError.new(error_data[:message], **opts)
|
798
774
|
when 402
|
799
775
|
CardError.new(
|
800
|
-
message, error_data[:param],
|
776
|
+
error_data[:message], error_data[:param],
|
801
777
|
**opts
|
802
778
|
)
|
803
779
|
when 403
|
804
|
-
PermissionError.new(message, **opts)
|
780
|
+
PermissionError.new(error_data[:message], **opts)
|
805
781
|
when 429
|
806
|
-
RateLimitError.new(message, **opts)
|
782
|
+
RateLimitError.new(error_data[:message], **opts)
|
807
783
|
else
|
808
|
-
APIError.new(message, **opts)
|
784
|
+
APIError.new(error_data[:message], **opts)
|
809
785
|
end
|
810
786
|
end
|
811
787
|
|
@@ -873,20 +849,16 @@ module Stripe
|
|
873
849
|
message + "\n\n(Network error: #{error.message})"
|
874
850
|
end
|
875
851
|
|
876
|
-
private def request_headers(api_key, method
|
852
|
+
private def request_headers(api_key, method)
|
877
853
|
user_agent = "Stripe/v1 RubyBindings/#{Stripe::VERSION}"
|
878
854
|
user_agent += " " + format_app_info(Stripe.app_info) unless Stripe.app_info.nil?
|
879
855
|
|
880
856
|
headers = {
|
881
857
|
"User-Agent" => user_agent,
|
882
858
|
"Authorization" => "Bearer #{api_key}",
|
859
|
+
"Content-Type" => "application/x-www-form-urlencoded",
|
883
860
|
}
|
884
861
|
|
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
|
-
|
890
862
|
if config.enable_telemetry? && !@last_request_metrics.nil?
|
891
863
|
headers["X-Stripe-Client-Telemetry"] = JSON.generate(
|
892
864
|
last_request_metrics: @last_request_metrics.payload
|
@@ -899,12 +871,7 @@ module Stripe
|
|
899
871
|
headers["Idempotency-Key"] ||= SecureRandom.uuid
|
900
872
|
end
|
901
873
|
|
902
|
-
|
903
|
-
headers["Stripe-Version"] = ApiVersion::PREVIEW
|
904
|
-
elsif config.api_version
|
905
|
-
headers["Stripe-Version"] = config.api_version
|
906
|
-
end
|
907
|
-
|
874
|
+
headers["Stripe-Version"] = config.api_version if config.api_version
|
908
875
|
headers["Stripe-Account"] = config.stripe_account if config.stripe_account
|
909
876
|
|
910
877
|
user_agent = @system_profiler.user_agent
|
@@ -987,8 +954,7 @@ module Stripe
|
|
987
954
|
# that we can log certain information. It's useful because it means that we
|
988
955
|
# don't have to pass around as many parameters.
|
989
956
|
class RequestLogContext
|
990
|
-
attr_accessor :body, :account, :api_key, :
|
991
|
-
:request_id
|
957
|
+
attr_accessor :body, :account, :api_key, :api_version, :idempotency_key, :method, :path, :query, :request_id
|
992
958
|
|
993
959
|
# The idea with this method is that we might want to update some of
|
994
960
|
# 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,49 +117,6 @@ module Stripe
|
|
120
117
|
version: version,
|
121
118
|
}
|
122
119
|
end
|
123
|
-
|
124
|
-
class Preview
|
125
|
-
def self._get_default_opts(opts)
|
126
|
-
{ api_mode: :preview }.merge(opts)
|
127
|
-
end
|
128
|
-
|
129
|
-
def self.get(url, opts = {})
|
130
|
-
Stripe.raw_request(:get, url, {}, _get_default_opts(opts))
|
131
|
-
end
|
132
|
-
|
133
|
-
def self.post(url, params = {}, opts = {})
|
134
|
-
Stripe.raw_request(:post, url, params, _get_default_opts(opts))
|
135
|
-
end
|
136
|
-
|
137
|
-
def self.delete(url, opts = {})
|
138
|
-
Stripe.raw_request(:delete, url, {}, _get_default_opts(opts))
|
139
|
-
end
|
140
|
-
end
|
141
|
-
|
142
|
-
class RawRequest
|
143
|
-
include Stripe::APIOperations::Request
|
144
|
-
|
145
|
-
def initialize
|
146
|
-
@opts = {}
|
147
|
-
end
|
148
|
-
|
149
|
-
def execute(method, url, params = {}, opts = {}, usage = [])
|
150
|
-
resp, = execute_resource_request(method, url, params, opts, usage)
|
151
|
-
|
152
|
-
resp
|
153
|
-
end
|
154
|
-
end
|
155
|
-
|
156
|
-
# Sends a request to Stripe REST API
|
157
|
-
def self.raw_request(method, url, params = {}, opts = {})
|
158
|
-
req = RawRequest.new
|
159
|
-
req.execute(method, url, params, opts, ["raw_request"])
|
160
|
-
end
|
161
|
-
|
162
|
-
def self.deserialize(data)
|
163
|
-
data = JSON.parse(data) if data.is_a?(String)
|
164
|
-
Util.convert_to_stripe_object(data, {})
|
165
|
-
end
|
166
120
|
end
|
167
121
|
|
168
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: 10.10.0
|
4
|
+
version: 10.10.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Stripe
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-02-
|
11
|
+
date: 2024-02-22 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.
|
@@ -53,11 +53,9 @@ files:
|
|
53
53
|
- lib/stripe/multipart_encoder.rb
|
54
54
|
- lib/stripe/oauth.rb
|
55
55
|
- lib/stripe/object_types.rb
|
56
|
-
- lib/stripe/request_signing_authenticator.rb
|
57
56
|
- lib/stripe/resources.rb
|
58
57
|
- lib/stripe/resources/account.rb
|
59
58
|
- lib/stripe/resources/account_link.rb
|
60
|
-
- lib/stripe/resources/account_notice.rb
|
61
59
|
- lib/stripe/resources/account_session.rb
|
62
60
|
- lib/stripe/resources/alipay_account.rb
|
63
61
|
- lib/stripe/resources/apple_pay_domain.rb
|
@@ -70,9 +68,6 @@ files:
|
|
70
68
|
- lib/stripe/resources/billing_portal/configuration.rb
|
71
69
|
- lib/stripe/resources/billing_portal/session.rb
|
72
70
|
- lib/stripe/resources/capability.rb
|
73
|
-
- lib/stripe/resources/capital/financing_offer.rb
|
74
|
-
- lib/stripe/resources/capital/financing_summary.rb
|
75
|
-
- lib/stripe/resources/capital/financing_transaction.rb
|
76
71
|
- lib/stripe/resources/card.rb
|
77
72
|
- lib/stripe/resources/cash_balance.rb
|
78
73
|
- lib/stripe/resources/charge.rb
|
@@ -80,7 +75,6 @@ files:
|
|
80
75
|
- lib/stripe/resources/climate/order.rb
|
81
76
|
- lib/stripe/resources/climate/product.rb
|
82
77
|
- lib/stripe/resources/climate/supplier.rb
|
83
|
-
- lib/stripe/resources/confirmation_token.rb
|
84
78
|
- lib/stripe/resources/country_spec.rb
|
85
79
|
- lib/stripe/resources/coupon.rb
|
86
80
|
- lib/stripe/resources/credit_note.rb
|
@@ -88,47 +82,34 @@ files:
|
|
88
82
|
- lib/stripe/resources/customer.rb
|
89
83
|
- lib/stripe/resources/customer_balance_transaction.rb
|
90
84
|
- lib/stripe/resources/customer_cash_balance_transaction.rb
|
91
|
-
- lib/stripe/resources/customer_entitlement.rb
|
92
|
-
- lib/stripe/resources/customer_entitlement_summary.rb
|
93
85
|
- lib/stripe/resources/customer_session.rb
|
94
86
|
- lib/stripe/resources/discount.rb
|
95
87
|
- lib/stripe/resources/dispute.rb
|
96
|
-
- lib/stripe/resources/entitlements/event.rb
|
97
|
-
- lib/stripe/resources/entitlements/feature.rb
|
98
88
|
- lib/stripe/resources/ephemeral_key.rb
|
99
89
|
- lib/stripe/resources/event.rb
|
100
90
|
- lib/stripe/resources/exchange_rate.rb
|
101
91
|
- lib/stripe/resources/file.rb
|
102
92
|
- lib/stripe/resources/file_link.rb
|
103
93
|
- lib/stripe/resources/financial_connections/account.rb
|
104
|
-
- lib/stripe/resources/financial_connections/account_inferred_balance.rb
|
105
94
|
- lib/stripe/resources/financial_connections/account_owner.rb
|
106
95
|
- lib/stripe/resources/financial_connections/account_ownership.rb
|
107
96
|
- lib/stripe/resources/financial_connections/session.rb
|
108
97
|
- lib/stripe/resources/financial_connections/transaction.rb
|
109
98
|
- lib/stripe/resources/funding_instructions.rb
|
110
|
-
- lib/stripe/resources/gift_cards/card.rb
|
111
|
-
- lib/stripe/resources/gift_cards/transaction.rb
|
112
99
|
- lib/stripe/resources/identity/verification_report.rb
|
113
100
|
- lib/stripe/resources/identity/verification_session.rb
|
114
101
|
- lib/stripe/resources/invoice.rb
|
115
102
|
- lib/stripe/resources/invoice_item.rb
|
116
103
|
- lib/stripe/resources/invoice_line_item.rb
|
117
|
-
- lib/stripe/resources/invoice_payment.rb
|
118
104
|
- lib/stripe/resources/issuing/authorization.rb
|
119
105
|
- lib/stripe/resources/issuing/card.rb
|
120
106
|
- lib/stripe/resources/issuing/cardholder.rb
|
121
|
-
- lib/stripe/resources/issuing/credit_underwriting_record.rb
|
122
107
|
- lib/stripe/resources/issuing/dispute.rb
|
123
|
-
- lib/stripe/resources/issuing/personalization_design.rb
|
124
|
-
- lib/stripe/resources/issuing/physical_bundle.rb
|
125
108
|
- lib/stripe/resources/issuing/token.rb
|
126
109
|
- lib/stripe/resources/issuing/transaction.rb
|
127
110
|
- lib/stripe/resources/line_item.rb
|
128
111
|
- lib/stripe/resources/login_link.rb
|
129
112
|
- lib/stripe/resources/mandate.rb
|
130
|
-
- lib/stripe/resources/margin.rb
|
131
|
-
- lib/stripe/resources/order.rb
|
132
113
|
- lib/stripe/resources/payment_intent.rb
|
133
114
|
- lib/stripe/resources/payment_link.rb
|
134
115
|
- lib/stripe/resources/payment_method.rb
|
@@ -141,9 +122,6 @@ files:
|
|
141
122
|
- lib/stripe/resources/product.rb
|
142
123
|
- lib/stripe/resources/promotion_code.rb
|
143
124
|
- lib/stripe/resources/quote.rb
|
144
|
-
- lib/stripe/resources/quote_phase.rb
|
145
|
-
- lib/stripe/resources/quote_preview_invoice.rb
|
146
|
-
- lib/stripe/resources/quote_preview_subscription_schedule.rb
|
147
125
|
- lib/stripe/resources/radar/early_fraud_warning.rb
|
148
126
|
- lib/stripe/resources/radar/value_list.rb
|
149
127
|
- lib/stripe/resources/radar/value_list_item.rb
|
@@ -164,7 +142,6 @@ files:
|
|
164
142
|
- lib/stripe/resources/subscription_schedule.rb
|
165
143
|
- lib/stripe/resources/tax/calculation.rb
|
166
144
|
- lib/stripe/resources/tax/calculation_line_item.rb
|
167
|
-
- lib/stripe/resources/tax/form.rb
|
168
145
|
- lib/stripe/resources/tax/registration.rb
|
169
146
|
- lib/stripe/resources/tax/settings.rb
|
170
147
|
- lib/stripe/resources/tax/transaction.rb
|
@@ -281,9 +258,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
281
258
|
version: 2.3.0
|
282
259
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
283
260
|
requirements:
|
284
|
-
- - "
|
261
|
+
- - ">="
|
285
262
|
- !ruby/object:Gem::Version
|
286
|
-
version:
|
263
|
+
version: '0'
|
287
264
|
requirements: []
|
288
265
|
rubygems_version: 3.3.26
|
289
266
|
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
|