stripe 5.28.0 → 8.7.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +286 -0
- data/Gemfile +5 -3
- data/Makefile +13 -0
- data/OPENAPI_VERSION +1 -0
- data/README.md +43 -5
- data/VERSION +1 -1
- data/lib/data/ca-certificates.crt +1241 -1937
- data/lib/stripe/api_operations/create.rb +6 -2
- data/lib/stripe/api_operations/delete.rb +12 -7
- data/lib/stripe/api_operations/list.rb +6 -9
- data/lib/stripe/api_operations/nested_resource.rb +62 -34
- data/lib/stripe/api_operations/request.rb +45 -2
- data/lib/stripe/api_operations/save.rb +13 -3
- data/lib/stripe/api_operations/search.rb +16 -0
- data/lib/stripe/api_resource.rb +11 -18
- data/lib/stripe/api_resource_test_helpers.rb +49 -0
- data/lib/stripe/api_version.rb +8 -0
- data/lib/stripe/connection_manager.rb +49 -11
- data/lib/stripe/error_object.rb +2 -3
- data/lib/stripe/instrumentation.rb +46 -6
- data/lib/stripe/oauth.rb +4 -3
- data/lib/stripe/object_types.rb +36 -10
- data/lib/stripe/resources/account.rb +39 -17
- data/lib/stripe/resources/account_link.rb +4 -0
- data/lib/stripe/resources/application_fee_refund.rb +7 -1
- data/lib/stripe/resources/apps/secret.rb +40 -0
- data/lib/stripe/resources/balance.rb +11 -0
- data/lib/stripe/resources/balance_transaction.rb +4 -0
- data/lib/stripe/resources/bank_account.rb +7 -0
- data/lib/stripe/resources/billing_portal/configuration.rb +15 -0
- data/lib/stripe/resources/billing_portal/session.rb +14 -0
- data/lib/stripe/resources/capability.rb +5 -1
- data/lib/stripe/resources/card.rb +6 -3
- data/lib/stripe/resources/cash_balance.rb +23 -0
- data/lib/stripe/resources/charge.rb +23 -3
- data/lib/stripe/resources/checkout/session.rb +49 -2
- data/lib/stripe/resources/country_spec.rb +6 -0
- data/lib/stripe/resources/coupon.rb +3 -0
- data/lib/stripe/resources/credit_note.rb +27 -9
- data/lib/stripe/resources/credit_note_line_item.rb +2 -0
- data/lib/stripe/resources/customer.rb +132 -4
- data/lib/stripe/resources/customer_balance_transaction.rb +9 -2
- data/lib/stripe/resources/customer_cash_balance_transaction.rb +14 -0
- data/lib/stripe/resources/discount.rb +5 -0
- data/lib/stripe/resources/dispute.rb +17 -3
- data/lib/stripe/resources/event.rb +29 -0
- data/lib/stripe/resources/exchange_rate.rb +11 -0
- data/lib/stripe/resources/file.rb +9 -1
- data/lib/stripe/resources/file_link.rb +3 -0
- data/lib/stripe/resources/financial_connections/account.rb +67 -0
- data/lib/stripe/resources/financial_connections/account_owner.rb +11 -0
- data/lib/stripe/resources/financial_connections/account_ownership.rb +11 -0
- data/lib/stripe/resources/financial_connections/session.rb +13 -0
- data/lib/stripe/resources/funding_instructions.rb +21 -0
- data/lib/stripe/resources/identity/verification_report.rb +23 -0
- data/lib/stripe/resources/identity/verification_session.rb +61 -0
- data/lib/stripe/resources/invoice.rb +105 -17
- data/lib/stripe/resources/invoice_item.rb +11 -0
- data/lib/stripe/resources/invoice_line_item.rb +1 -0
- data/lib/stripe/resources/issuing/authorization.rb +25 -5
- data/lib/stripe/resources/issuing/card.rb +78 -8
- data/lib/stripe/resources/issuing/cardholder.rb +3 -0
- data/lib/stripe/resources/issuing/dispute.rb +13 -3
- data/lib/stripe/resources/issuing/transaction.rb +5 -0
- data/lib/stripe/resources/line_item.rb +2 -0
- data/lib/stripe/resources/login_link.rb +2 -0
- data/lib/stripe/resources/mandate.rb +1 -0
- data/lib/stripe/resources/payment_intent.rb +103 -6
- data/lib/stripe/resources/payment_link.rb +35 -0
- data/lib/stripe/resources/payment_method.rb +25 -5
- data/lib/stripe/resources/payout.rb +28 -5
- data/lib/stripe/resources/person.rb +7 -0
- data/lib/stripe/resources/plan.rb +8 -0
- data/lib/stripe/resources/price.rb +15 -0
- data/lib/stripe/resources/product.rb +17 -0
- data/lib/stripe/resources/promotion_code.rb +2 -0
- data/lib/stripe/resources/quote.rb +128 -0
- data/lib/stripe/resources/radar/early_fraud_warning.rb +4 -0
- data/lib/stripe/resources/radar/value_list.rb +3 -0
- data/lib/stripe/resources/radar/value_list_item.rb +3 -0
- data/lib/stripe/resources/refund.rb +49 -0
- data/lib/stripe/resources/reporting/report_run.rb +8 -0
- data/lib/stripe/resources/reporting/report_type.rb +8 -1
- data/lib/stripe/resources/reversal.rb +16 -2
- data/lib/stripe/resources/review.rb +14 -3
- data/lib/stripe/resources/setup_attempt.rb +4 -0
- data/lib/stripe/resources/setup_intent.rb +60 -5
- data/lib/stripe/resources/shipping_rate.rb +14 -0
- data/lib/stripe/resources/sigma/scheduled_query_run.rb +4 -0
- data/lib/stripe/resources/source.rb +26 -6
- data/lib/stripe/resources/source_transaction.rb +5 -0
- data/lib/stripe/resources/subscription.rb +57 -3
- data/lib/stripe/resources/subscription_item.rb +2 -7
- data/lib/stripe/resources/subscription_schedule.rb +23 -5
- data/lib/stripe/resources/tax/calculation.rb +33 -0
- data/lib/stripe/resources/tax/calculation_line_item.rb +10 -0
- data/lib/stripe/resources/tax/settings.rb +15 -0
- data/lib/stripe/resources/tax/transaction.rb +49 -0
- data/lib/stripe/resources/tax/transaction_line_item.rb +10 -0
- data/lib/stripe/resources/tax_code.rb +11 -0
- data/lib/stripe/resources/tax_id.rb +5 -0
- data/lib/stripe/resources/tax_rate.rb +3 -0
- data/lib/stripe/resources/terminal/configuration.rb +16 -0
- data/lib/stripe/resources/terminal/connection_token.rb +3 -0
- data/lib/stripe/resources/terminal/location.rb +3 -0
- data/lib/stripe/resources/terminal/reader.rb +119 -0
- data/lib/stripe/resources/test_helpers/test_clock.rb +35 -0
- data/lib/stripe/resources/token.rb +20 -0
- data/lib/stripe/resources/topup.rb +15 -3
- data/lib/stripe/resources/transfer.rb +10 -11
- data/lib/stripe/resources/treasury/credit_reversal.rb +14 -0
- data/lib/stripe/resources/treasury/debit_reversal.rb +14 -0
- data/lib/stripe/resources/treasury/financial_account.rb +52 -0
- data/lib/stripe/resources/treasury/financial_account_features.rb +12 -0
- data/lib/stripe/resources/treasury/inbound_transfer.rb +94 -0
- data/lib/stripe/resources/treasury/outbound_payment.rb +96 -0
- data/lib/stripe/resources/treasury/outbound_transfer.rb +100 -0
- data/lib/stripe/resources/treasury/received_credit.rb +30 -0
- data/lib/stripe/resources/treasury/received_debit.rb +30 -0
- data/lib/stripe/resources/treasury/transaction.rb +13 -0
- data/lib/stripe/resources/treasury/transaction_entry.rb +17 -0
- data/lib/stripe/resources/usage_record.rb +5 -0
- data/lib/stripe/resources/usage_record_summary.rb +1 -0
- data/lib/stripe/resources/webhook_endpoint.rb +7 -0
- data/lib/stripe/resources.rb +34 -10
- data/lib/stripe/search_result_object.rb +86 -0
- data/lib/stripe/stripe_client.rb +267 -121
- data/lib/stripe/stripe_configuration.rb +29 -10
- data/lib/stripe/stripe_object.rb +25 -2
- data/lib/stripe/stripe_response.rb +80 -52
- data/lib/stripe/util.rb +100 -9
- data/lib/stripe/version.rb +1 -1
- data/lib/stripe.rb +27 -23
- data/stripe.gemspec +12 -5
- metadata +46 -204
- data/.editorconfig +0 -10
- data/.gitattributes +0 -4
- data/.github/ISSUE_TEMPLATE.md +0 -5
- data/.gitignore +0 -8
- data/.rubocop.yml +0 -80
- data/.rubocop_todo.yml +0 -33
- data/.travis.yml +0 -38
- data/.vscode/extensions.json +0 -7
- data/.vscode/settings.json +0 -8
- data/lib/stripe/resources/bitcoin_receiver.rb +0 -24
- data/lib/stripe/resources/bitcoin_transaction.rb +0 -15
- data/lib/stripe/resources/issuing/card_details.rb +0 -9
- data/lib/stripe/resources/order.rb +0 -33
- data/lib/stripe/resources/order_return.rb +0 -10
- data/lib/stripe/resources/recipient.rb +0 -14
- data/lib/stripe/resources/sku.rb +0 -13
- data/lib/stripe/resources/three_d_secure.rb +0 -14
- data/test/openapi/README.md +0 -9
- data/test/stripe/account_link_test.rb +0 -18
- data/test/stripe/account_test.rb +0 -412
- data/test/stripe/alipay_account_test.rb +0 -37
- data/test/stripe/api_operations_test.rb +0 -80
- data/test/stripe/api_resource_test.rb +0 -646
- data/test/stripe/apple_pay_domain_test.rb +0 -46
- data/test/stripe/application_fee_refund_test.rb +0 -37
- data/test/stripe/application_fee_test.rb +0 -58
- data/test/stripe/balance_test.rb +0 -13
- data/test/stripe/balance_transaction_test.rb +0 -20
- data/test/stripe/bank_account_test.rb +0 -36
- data/test/stripe/billing_portal/session_test.rb +0 -18
- data/test/stripe/capability_test.rb +0 -45
- data/test/stripe/charge_test.rb +0 -64
- data/test/stripe/checkout/session_test.rb +0 -53
- data/test/stripe/connection_manager_test.rb +0 -167
- data/test/stripe/country_spec_test.rb +0 -20
- data/test/stripe/coupon_test.rb +0 -61
- data/test/stripe/credit_note_test.rb +0 -90
- data/test/stripe/customer_balance_transaction_test.rb +0 -37
- data/test/stripe/customer_card_test.rb +0 -48
- data/test/stripe/customer_test.rb +0 -226
- data/test/stripe/dispute_test.rb +0 -51
- data/test/stripe/ephemeral_key_test.rb +0 -93
- data/test/stripe/errors_test.rb +0 -53
- data/test/stripe/exchange_rate_test.rb +0 -20
- data/test/stripe/file_link_test.rb +0 -41
- data/test/stripe/file_test.rb +0 -87
- data/test/stripe/instrumentation_test.rb +0 -74
- data/test/stripe/invoice_item_test.rb +0 -66
- data/test/stripe/invoice_line_item_test.rb +0 -8
- data/test/stripe/invoice_test.rb +0 -229
- data/test/stripe/issuing/authorization_test.rb +0 -72
- data/test/stripe/issuing/card_test.rb +0 -74
- data/test/stripe/issuing/cardholder_test.rb +0 -53
- data/test/stripe/issuing/dispute_test.rb +0 -54
- data/test/stripe/issuing/transaction_test.rb +0 -48
- data/test/stripe/list_object_test.rb +0 -202
- data/test/stripe/login_link_test.rb +0 -37
- data/test/stripe/mandate_test.rb +0 -14
- data/test/stripe/multipart_encoder_test.rb +0 -130
- data/test/stripe/oauth_test.rb +0 -104
- data/test/stripe/order_return_test.rb +0 -21
- data/test/stripe/order_test.rb +0 -82
- data/test/stripe/payment_intent_test.rb +0 -107
- data/test/stripe/payment_method_test.rb +0 -84
- data/test/stripe/payout_test.rb +0 -72
- data/test/stripe/person_test.rb +0 -46
- data/test/stripe/plan_test.rb +0 -98
- data/test/stripe/price_test.rb +0 -48
- data/test/stripe/product_test.rb +0 -58
- data/test/stripe/promotion_code_test.rb +0 -42
- data/test/stripe/radar/early_fraud_warning_test.rb +0 -22
- data/test/stripe/radar/value_list_item_test.rb +0 -48
- data/test/stripe/radar/value_list_test.rb +0 -61
- data/test/stripe/recipient_test.rb +0 -62
- data/test/stripe/refund_test.rb +0 -39
- data/test/stripe/reporting/report_run_test.rb +0 -33
- data/test/stripe/reporting/report_type_test.rb +0 -22
- data/test/stripe/reversal_test.rb +0 -43
- data/test/stripe/review_test.rb +0 -27
- data/test/stripe/setup_attempt_test.rb +0 -16
- data/test/stripe/setup_intent_test.rb +0 -84
- data/test/stripe/sigma/scheduled_query_run_test.rb +0 -22
- data/test/stripe/sku_test.rb +0 -60
- data/test/stripe/source_test.rb +0 -119
- data/test/stripe/stripe_client_test.rb +0 -1291
- data/test/stripe/stripe_configuration_test.rb +0 -131
- data/test/stripe/stripe_object_test.rb +0 -500
- data/test/stripe/stripe_response_test.rb +0 -95
- data/test/stripe/subscription_item_test.rb +0 -84
- data/test/stripe/subscription_schedule_test.rb +0 -82
- data/test/stripe/subscription_test.rb +0 -80
- data/test/stripe/tax_id_test.rb +0 -31
- data/test/stripe/tax_rate_test.rb +0 -43
- data/test/stripe/terminal/connection_token_test.rb +0 -16
- data/test/stripe/terminal/location_test.rb +0 -68
- data/test/stripe/terminal/reader_test.rb +0 -62
- data/test/stripe/three_d_secure_test.rb +0 -23
- data/test/stripe/topup_test.rb +0 -62
- data/test/stripe/transfer_test.rb +0 -88
- data/test/stripe/usage_record_summary_test.rb +0 -29
- data/test/stripe/util_test.rb +0 -402
- data/test/stripe/webhook_endpoint_test.rb +0 -59
- data/test/stripe/webhook_test.rb +0 -135
- data/test/stripe_mock.rb +0 -78
- data/test/stripe_test.rb +0 -132
- data/test/test_data.rb +0 -61
- data/test/test_helper.rb +0 -77
@@ -1,6 +1,11 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
1
2
|
# frozen_string_literal: true
|
2
3
|
|
3
4
|
module Stripe
|
5
|
+
# Some payment methods have no required amount that a customer must send.
|
6
|
+
# Customers can be instructed to send any amount, and it can be made up of
|
7
|
+
# multiple transactions. As such, sources can have multiple associated
|
8
|
+
# transactions.
|
4
9
|
class SourceTransaction < StripeObject
|
5
10
|
OBJECT_NAME = "source_transaction"
|
6
11
|
end
|
@@ -2,25 +2,79 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
module Stripe
|
5
|
+
# Subscriptions allow you to charge a customer on a recurring basis.
|
6
|
+
#
|
7
|
+
# Related guide: [Creating subscriptions](https://stripe.com/docs/billing/subscriptions/creating)
|
5
8
|
class Subscription < APIResource
|
6
9
|
extend Stripe::APIOperations::Create
|
7
|
-
include Stripe::APIOperations::Delete
|
8
10
|
extend Stripe::APIOperations::List
|
11
|
+
extend Stripe::APIOperations::Search
|
9
12
|
include Stripe::APIOperations::Save
|
10
13
|
|
11
14
|
OBJECT_NAME = "subscription"
|
12
15
|
|
13
|
-
|
16
|
+
def cancel(params = {}, opts = {})
|
17
|
+
request_stripe_object(
|
18
|
+
method: :delete,
|
19
|
+
path: format("/v1/subscriptions/%<subscription_exposed_id>s", { subscription_exposed_id: CGI.escape(self["id"]) }),
|
20
|
+
params: params,
|
21
|
+
opts: opts
|
22
|
+
)
|
23
|
+
end
|
14
24
|
|
15
25
|
def delete_discount(params = {}, opts = {})
|
16
26
|
request_stripe_object(
|
17
27
|
method: :delete,
|
18
|
-
path:
|
28
|
+
path: format("/v1/subscriptions/%<subscription_exposed_id>s/discount", { subscription_exposed_id: CGI.escape(self["id"]) }),
|
29
|
+
params: params,
|
30
|
+
opts: opts
|
31
|
+
)
|
32
|
+
end
|
33
|
+
|
34
|
+
def resume(params = {}, opts = {})
|
35
|
+
request_stripe_object(
|
36
|
+
method: :post,
|
37
|
+
path: format("/v1/subscriptions/%<subscription>s/resume", { subscription: CGI.escape(self["id"]) }),
|
38
|
+
params: params,
|
39
|
+
opts: opts
|
40
|
+
)
|
41
|
+
end
|
42
|
+
|
43
|
+
def self.cancel(subscription_exposed_id, params = {}, opts = {})
|
44
|
+
request_stripe_object(
|
45
|
+
method: :delete,
|
46
|
+
path: format("/v1/subscriptions/%<subscription_exposed_id>s", { subscription_exposed_id: CGI.escape(subscription_exposed_id) }),
|
47
|
+
params: params,
|
48
|
+
opts: opts
|
49
|
+
)
|
50
|
+
end
|
51
|
+
|
52
|
+
def self.delete_discount(subscription_exposed_id, params = {}, opts = {})
|
53
|
+
request_stripe_object(
|
54
|
+
method: :delete,
|
55
|
+
path: format("/v1/subscriptions/%<subscription_exposed_id>s/discount", { subscription_exposed_id: CGI.escape(subscription_exposed_id) }),
|
56
|
+
params: params,
|
57
|
+
opts: opts
|
58
|
+
)
|
59
|
+
end
|
60
|
+
|
61
|
+
def self.resume(subscription, params = {}, opts = {})
|
62
|
+
request_stripe_object(
|
63
|
+
method: :post,
|
64
|
+
path: format("/v1/subscriptions/%<subscription>s/resume", { subscription: CGI.escape(subscription) }),
|
19
65
|
params: params,
|
20
66
|
opts: opts
|
21
67
|
)
|
22
68
|
end
|
23
69
|
|
24
70
|
save_nested_resource :source
|
71
|
+
|
72
|
+
def self.search(params = {}, opts = {})
|
73
|
+
_search("/v1/subscriptions/search", params, opts)
|
74
|
+
end
|
75
|
+
|
76
|
+
def self.search_auto_paging_each(params = {}, opts = {}, &blk)
|
77
|
+
search(params, opts).auto_paging_each(&blk)
|
78
|
+
end
|
25
79
|
end
|
26
80
|
end
|
@@ -2,6 +2,8 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
module Stripe
|
5
|
+
# Subscription items allow you to create customer subscriptions with more than
|
6
|
+
# one plan, making it easy to represent complex billing relationships.
|
5
7
|
class SubscriptionItem < APIResource
|
6
8
|
extend Stripe::APIOperations::Create
|
7
9
|
include Stripe::APIOperations::Delete
|
@@ -15,12 +17,5 @@ module Stripe
|
|
15
17
|
nested_resource_class_methods :usage_record_summary,
|
16
18
|
operations: %i[list],
|
17
19
|
resource_plural: "usage_record_summaries"
|
18
|
-
|
19
|
-
def usage_record_summaries(params = {}, opts = {})
|
20
|
-
resp, opts = execute_resource_request(:get, resource_url + "/usage_record_summaries", params, opts)
|
21
|
-
Util.convert_to_stripe_object(resp.data, opts)
|
22
|
-
end
|
23
|
-
extend Gem::Deprecate
|
24
|
-
deprecate :usage_record_summaries, :"SubscriptionItem.list_usage_record_summaries", 2020, 1
|
25
20
|
end
|
26
21
|
end
|
@@ -2,6 +2,9 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
module Stripe
|
5
|
+
# A subscription schedule allows you to create and manage the lifecycle of a subscription by predefining expected changes.
|
6
|
+
#
|
7
|
+
# Related guide: [Subscription schedules](https://stripe.com/docs/billing/subscriptions/subscription-schedules)
|
5
8
|
class SubscriptionSchedule < APIResource
|
6
9
|
extend Stripe::APIOperations::Create
|
7
10
|
extend Stripe::APIOperations::List
|
@@ -9,13 +12,10 @@ module Stripe
|
|
9
12
|
|
10
13
|
OBJECT_NAME = "subscription_schedule"
|
11
14
|
|
12
|
-
custom_method :cancel, http_verb: :post
|
13
|
-
custom_method :release, http_verb: :post
|
14
|
-
|
15
15
|
def cancel(params = {}, opts = {})
|
16
16
|
request_stripe_object(
|
17
17
|
method: :post,
|
18
|
-
path:
|
18
|
+
path: format("/v1/subscription_schedules/%<schedule>s/cancel", { schedule: CGI.escape(self["id"]) }),
|
19
19
|
params: params,
|
20
20
|
opts: opts
|
21
21
|
)
|
@@ -24,7 +24,25 @@ module Stripe
|
|
24
24
|
def release(params = {}, opts = {})
|
25
25
|
request_stripe_object(
|
26
26
|
method: :post,
|
27
|
-
path:
|
27
|
+
path: format("/v1/subscription_schedules/%<schedule>s/release", { schedule: CGI.escape(self["id"]) }),
|
28
|
+
params: params,
|
29
|
+
opts: opts
|
30
|
+
)
|
31
|
+
end
|
32
|
+
|
33
|
+
def self.cancel(schedule, params = {}, opts = {})
|
34
|
+
request_stripe_object(
|
35
|
+
method: :post,
|
36
|
+
path: format("/v1/subscription_schedules/%<schedule>s/cancel", { schedule: CGI.escape(schedule) }),
|
37
|
+
params: params,
|
38
|
+
opts: opts
|
39
|
+
)
|
40
|
+
end
|
41
|
+
|
42
|
+
def self.release(schedule, params = {}, opts = {})
|
43
|
+
request_stripe_object(
|
44
|
+
method: :post,
|
45
|
+
path: format("/v1/subscription_schedules/%<schedule>s/release", { schedule: CGI.escape(schedule) }),
|
28
46
|
params: params,
|
29
47
|
opts: opts
|
30
48
|
)
|
@@ -0,0 +1,33 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
module Tax
|
6
|
+
# A Tax Calculation allows you to calculate the tax to collect from your customer.
|
7
|
+
#
|
8
|
+
# Related guide: [Calculate tax in your custom payment flow](https://stripe.com/docs/tax/custom)
|
9
|
+
class Calculation < APIResource
|
10
|
+
extend Stripe::APIOperations::Create
|
11
|
+
|
12
|
+
OBJECT_NAME = "tax.calculation"
|
13
|
+
|
14
|
+
def list_line_items(params = {}, opts = {})
|
15
|
+
request_stripe_object(
|
16
|
+
method: :get,
|
17
|
+
path: format("/v1/tax/calculations/%<calculation>s/line_items", { calculation: CGI.escape(self["id"]) }),
|
18
|
+
params: params,
|
19
|
+
opts: opts
|
20
|
+
)
|
21
|
+
end
|
22
|
+
|
23
|
+
def self.list_line_items(calculation, params = {}, opts = {})
|
24
|
+
request_stripe_object(
|
25
|
+
method: :get,
|
26
|
+
path: format("/v1/tax/calculations/%<calculation>s/line_items", { calculation: CGI.escape(calculation) }),
|
27
|
+
params: params,
|
28
|
+
opts: opts
|
29
|
+
)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
module Tax
|
6
|
+
# You can use Tax `Settings` to manage configurations used by Stripe Tax calculations.
|
7
|
+
#
|
8
|
+
# Related guide: [Using the Settings API](https://stripe.com/docs/tax/settings-api)
|
9
|
+
class Settings < SingletonAPIResource
|
10
|
+
include Stripe::APIOperations::Save
|
11
|
+
|
12
|
+
OBJECT_NAME = "tax.settings"
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
module Tax
|
6
|
+
# A Tax Transaction records the tax collected from or refunded to your customer.
|
7
|
+
#
|
8
|
+
# Related guide: [Calculate tax in your custom payment flow](https://stripe.com/docs/tax/custom#tax-transaction)
|
9
|
+
class Transaction < APIResource
|
10
|
+
OBJECT_NAME = "tax.transaction"
|
11
|
+
|
12
|
+
def list_line_items(params = {}, opts = {})
|
13
|
+
request_stripe_object(
|
14
|
+
method: :get,
|
15
|
+
path: format("/v1/tax/transactions/%<transaction>s/line_items", { transaction: CGI.escape(self["id"]) }),
|
16
|
+
params: params,
|
17
|
+
opts: opts
|
18
|
+
)
|
19
|
+
end
|
20
|
+
|
21
|
+
def self.create_from_calculation(params = {}, opts = {})
|
22
|
+
request_stripe_object(
|
23
|
+
method: :post,
|
24
|
+
path: "/v1/tax/transactions/create_from_calculation",
|
25
|
+
params: params,
|
26
|
+
opts: opts
|
27
|
+
)
|
28
|
+
end
|
29
|
+
|
30
|
+
def self.create_reversal(params = {}, opts = {})
|
31
|
+
request_stripe_object(
|
32
|
+
method: :post,
|
33
|
+
path: "/v1/tax/transactions/create_reversal",
|
34
|
+
params: params,
|
35
|
+
opts: opts
|
36
|
+
)
|
37
|
+
end
|
38
|
+
|
39
|
+
def self.list_line_items(transaction, params = {}, opts = {})
|
40
|
+
request_stripe_object(
|
41
|
+
method: :get,
|
42
|
+
path: format("/v1/tax/transactions/%<transaction>s/line_items", { transaction: CGI.escape(transaction) }),
|
43
|
+
params: params,
|
44
|
+
opts: opts
|
45
|
+
)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
# [Tax codes](https://stripe.com/docs/tax/tax-categories) classify goods and services for tax purposes.
|
6
|
+
class TaxCode < APIResource
|
7
|
+
extend Stripe::APIOperations::List
|
8
|
+
|
9
|
+
OBJECT_NAME = "tax_code"
|
10
|
+
end
|
11
|
+
end
|
@@ -1,6 +1,11 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
1
2
|
# frozen_string_literal: true
|
2
3
|
|
3
4
|
module Stripe
|
5
|
+
# You can add one or multiple tax IDs to a [customer](https://stripe.com/docs/api/customers).
|
6
|
+
# A customer's tax IDs are displayed on invoices and credit notes issued for the customer.
|
7
|
+
#
|
8
|
+
# Related guide: [Customer tax identification numbers](https://stripe.com/docs/billing/taxes/tax-ids)
|
4
9
|
class TaxId < APIResource
|
5
10
|
include Stripe::APIOperations::Delete
|
6
11
|
extend Stripe::APIOperations::List
|
@@ -2,6 +2,9 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
module Stripe
|
5
|
+
# Tax rates can be applied to [invoices](https://stripe.com/docs/billing/invoices/tax-rates), [subscriptions](https://stripe.com/docs/billing/subscriptions/taxes) and [Checkout Sessions](https://stripe.com/docs/payments/checkout/set-up-a-subscription#tax-rates) to collect tax.
|
6
|
+
#
|
7
|
+
# Related guide: [Tax rates](https://stripe.com/docs/billing/taxes/tax-rates)
|
5
8
|
class TaxRate < APIResource
|
6
9
|
extend Stripe::APIOperations::Create
|
7
10
|
extend Stripe::APIOperations::List
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
module Terminal
|
6
|
+
# A Configurations object represents how features should be configured for terminal readers.
|
7
|
+
class Configuration < APIResource
|
8
|
+
extend Stripe::APIOperations::Create
|
9
|
+
include Stripe::APIOperations::Delete
|
10
|
+
extend Stripe::APIOperations::List
|
11
|
+
include Stripe::APIOperations::Save
|
12
|
+
|
13
|
+
OBJECT_NAME = "terminal.configuration"
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -3,6 +3,9 @@
|
|
3
3
|
|
4
4
|
module Stripe
|
5
5
|
module Terminal
|
6
|
+
# A Connection Token is used by the Stripe Terminal SDK to connect to a reader.
|
7
|
+
#
|
8
|
+
# Related guide: [Fleet management](https://stripe.com/docs/terminal/fleet/locations)
|
6
9
|
class ConnectionToken < APIResource
|
7
10
|
extend Stripe::APIOperations::Create
|
8
11
|
|
@@ -3,6 +3,9 @@
|
|
3
3
|
|
4
4
|
module Stripe
|
5
5
|
module Terminal
|
6
|
+
# A Location represents a grouping of readers.
|
7
|
+
#
|
8
|
+
# Related guide: [Fleet management](https://stripe.com/docs/terminal/fleet/locations)
|
6
9
|
class Location < APIResource
|
7
10
|
extend Stripe::APIOperations::Create
|
8
11
|
include Stripe::APIOperations::Delete
|
@@ -3,6 +3,9 @@
|
|
3
3
|
|
4
4
|
module Stripe
|
5
5
|
module Terminal
|
6
|
+
# A Reader represents a physical device for accepting payment details.
|
7
|
+
#
|
8
|
+
# Related guide: [Connecting to a reader](https://stripe.com/docs/terminal/payments/connect-reader)
|
6
9
|
class Reader < APIResource
|
7
10
|
extend Stripe::APIOperations::Create
|
8
11
|
include Stripe::APIOperations::Delete
|
@@ -10,6 +13,122 @@ module Stripe
|
|
10
13
|
include Stripe::APIOperations::Save
|
11
14
|
|
12
15
|
OBJECT_NAME = "terminal.reader"
|
16
|
+
|
17
|
+
def cancel_action(params = {}, opts = {})
|
18
|
+
request_stripe_object(
|
19
|
+
method: :post,
|
20
|
+
path: format("/v1/terminal/readers/%<reader>s/cancel_action", { reader: CGI.escape(self["id"]) }),
|
21
|
+
params: params,
|
22
|
+
opts: opts
|
23
|
+
)
|
24
|
+
end
|
25
|
+
|
26
|
+
def process_payment_intent(params = {}, opts = {})
|
27
|
+
request_stripe_object(
|
28
|
+
method: :post,
|
29
|
+
path: format("/v1/terminal/readers/%<reader>s/process_payment_intent", { reader: CGI.escape(self["id"]) }),
|
30
|
+
params: params,
|
31
|
+
opts: opts
|
32
|
+
)
|
33
|
+
end
|
34
|
+
|
35
|
+
def process_setup_intent(params = {}, opts = {})
|
36
|
+
request_stripe_object(
|
37
|
+
method: :post,
|
38
|
+
path: format("/v1/terminal/readers/%<reader>s/process_setup_intent", { reader: CGI.escape(self["id"]) }),
|
39
|
+
params: params,
|
40
|
+
opts: opts
|
41
|
+
)
|
42
|
+
end
|
43
|
+
|
44
|
+
def refund_payment(params = {}, opts = {})
|
45
|
+
request_stripe_object(
|
46
|
+
method: :post,
|
47
|
+
path: format("/v1/terminal/readers/%<reader>s/refund_payment", { reader: CGI.escape(self["id"]) }),
|
48
|
+
params: params,
|
49
|
+
opts: opts
|
50
|
+
)
|
51
|
+
end
|
52
|
+
|
53
|
+
def set_reader_display(params = {}, opts = {})
|
54
|
+
request_stripe_object(
|
55
|
+
method: :post,
|
56
|
+
path: format("/v1/terminal/readers/%<reader>s/set_reader_display", { reader: CGI.escape(self["id"]) }),
|
57
|
+
params: params,
|
58
|
+
opts: opts
|
59
|
+
)
|
60
|
+
end
|
61
|
+
|
62
|
+
def self.cancel_action(reader, params = {}, opts = {})
|
63
|
+
request_stripe_object(
|
64
|
+
method: :post,
|
65
|
+
path: format("/v1/terminal/readers/%<reader>s/cancel_action", { reader: CGI.escape(reader) }),
|
66
|
+
params: params,
|
67
|
+
opts: opts
|
68
|
+
)
|
69
|
+
end
|
70
|
+
|
71
|
+
def self.process_payment_intent(reader, params = {}, opts = {})
|
72
|
+
request_stripe_object(
|
73
|
+
method: :post,
|
74
|
+
path: format("/v1/terminal/readers/%<reader>s/process_payment_intent", { reader: CGI.escape(reader) }),
|
75
|
+
params: params,
|
76
|
+
opts: opts
|
77
|
+
)
|
78
|
+
end
|
79
|
+
|
80
|
+
def self.process_setup_intent(reader, params = {}, opts = {})
|
81
|
+
request_stripe_object(
|
82
|
+
method: :post,
|
83
|
+
path: format("/v1/terminal/readers/%<reader>s/process_setup_intent", { reader: CGI.escape(reader) }),
|
84
|
+
params: params,
|
85
|
+
opts: opts
|
86
|
+
)
|
87
|
+
end
|
88
|
+
|
89
|
+
def self.refund_payment(reader, params = {}, opts = {})
|
90
|
+
request_stripe_object(
|
91
|
+
method: :post,
|
92
|
+
path: format("/v1/terminal/readers/%<reader>s/refund_payment", { reader: CGI.escape(reader) }),
|
93
|
+
params: params,
|
94
|
+
opts: opts
|
95
|
+
)
|
96
|
+
end
|
97
|
+
|
98
|
+
def self.set_reader_display(reader, params = {}, opts = {})
|
99
|
+
request_stripe_object(
|
100
|
+
method: :post,
|
101
|
+
path: format("/v1/terminal/readers/%<reader>s/set_reader_display", { reader: CGI.escape(reader) }),
|
102
|
+
params: params,
|
103
|
+
opts: opts
|
104
|
+
)
|
105
|
+
end
|
106
|
+
|
107
|
+
def test_helpers
|
108
|
+
TestHelpers.new(self)
|
109
|
+
end
|
110
|
+
|
111
|
+
class TestHelpers < APIResourceTestHelpers
|
112
|
+
RESOURCE_CLASS = Reader
|
113
|
+
|
114
|
+
def self.present_payment_method(reader, params = {}, opts = {})
|
115
|
+
request_stripe_object(
|
116
|
+
method: :post,
|
117
|
+
path: format("/v1/test_helpers/terminal/readers/%<reader>s/present_payment_method", { reader: CGI.escape(reader) }),
|
118
|
+
params: params,
|
119
|
+
opts: opts
|
120
|
+
)
|
121
|
+
end
|
122
|
+
|
123
|
+
def present_payment_method(params = {}, opts = {})
|
124
|
+
@resource.request_stripe_object(
|
125
|
+
method: :post,
|
126
|
+
path: format("/v1/test_helpers/terminal/readers/%<reader>s/present_payment_method", { reader: CGI.escape(@resource["id"]) }),
|
127
|
+
params: params,
|
128
|
+
opts: opts
|
129
|
+
)
|
130
|
+
end
|
131
|
+
end
|
13
132
|
end
|
14
133
|
end
|
15
134
|
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
module TestHelpers
|
6
|
+
# A test clock enables deterministic control over objects in testmode. With a test clock, you can create
|
7
|
+
# objects at a frozen time in the past or future, and advance to a specific future time to observe webhooks and state changes. After the clock advances,
|
8
|
+
# you can either validate the current state of your scenario (and test your assumptions), change the current state of your scenario (and test more complex scenarios), or keep advancing forward in time.
|
9
|
+
class TestClock < APIResource
|
10
|
+
extend Stripe::APIOperations::Create
|
11
|
+
include Stripe::APIOperations::Delete
|
12
|
+
extend Stripe::APIOperations::List
|
13
|
+
|
14
|
+
OBJECT_NAME = "test_helpers.test_clock"
|
15
|
+
|
16
|
+
def advance(params = {}, opts = {})
|
17
|
+
request_stripe_object(
|
18
|
+
method: :post,
|
19
|
+
path: format("/v1/test_helpers/test_clocks/%<test_clock>s/advance", { test_clock: CGI.escape(self["id"]) }),
|
20
|
+
params: params,
|
21
|
+
opts: opts
|
22
|
+
)
|
23
|
+
end
|
24
|
+
|
25
|
+
def self.advance(test_clock, params = {}, opts = {})
|
26
|
+
request_stripe_object(
|
27
|
+
method: :post,
|
28
|
+
path: format("/v1/test_helpers/test_clocks/%<test_clock>s/advance", { test_clock: CGI.escape(test_clock) }),
|
29
|
+
params: params,
|
30
|
+
opts: opts
|
31
|
+
)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -2,6 +2,26 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
module Stripe
|
5
|
+
# Tokenization is the process Stripe uses to collect sensitive card or bank
|
6
|
+
# account details, or personally identifiable information (PII), directly from
|
7
|
+
# your customers in a secure manner. A token representing this information is
|
8
|
+
# returned to your server to use. You should use our
|
9
|
+
# [recommended payments integrations](https://stripe.com/docs/payments) to perform this process
|
10
|
+
# client-side. This ensures that no sensitive card data touches your server,
|
11
|
+
# and allows your integration to operate in a PCI-compliant way.
|
12
|
+
#
|
13
|
+
# If you cannot use client-side tokenization, you can also create tokens using
|
14
|
+
# the API with either your publishable or secret API key. Keep in mind that if
|
15
|
+
# your integration uses this method, you are responsible for any PCI compliance
|
16
|
+
# that may be required, and you must keep your secret API key safe. Unlike with
|
17
|
+
# client-side tokenization, your customer's information is not sent directly to
|
18
|
+
# Stripe, so we cannot determine how it is handled or stored.
|
19
|
+
#
|
20
|
+
# Tokens cannot be stored or used more than once. To store card or bank account
|
21
|
+
# information for later use, you can create [Customer](https://stripe.com/docs/api#customers)
|
22
|
+
# objects or [Custom accounts](https://stripe.com/docs/api#external_accounts). Note that
|
23
|
+
# [Radar](https://stripe.com/docs/radar), our integrated solution for automatic fraud protection,
|
24
|
+
# performs best with integrations that use client-side tokenization.
|
5
25
|
class Token < APIResource
|
6
26
|
extend Stripe::APIOperations::Create
|
7
27
|
|
@@ -2,6 +2,11 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
module Stripe
|
5
|
+
# To top up your Stripe balance, you create a top-up object. You can retrieve
|
6
|
+
# individual top-ups, as well as list all top-ups. Top-ups are identified by a
|
7
|
+
# unique, random ID.
|
8
|
+
#
|
9
|
+
# Related guide: [Topping up your platform account](https://stripe.com/docs/connect/top-ups)
|
5
10
|
class Topup < APIResource
|
6
11
|
extend Stripe::APIOperations::Create
|
7
12
|
extend Stripe::APIOperations::List
|
@@ -9,12 +14,19 @@ module Stripe
|
|
9
14
|
|
10
15
|
OBJECT_NAME = "topup"
|
11
16
|
|
12
|
-
custom_method :cancel, http_verb: :post
|
13
|
-
|
14
17
|
def cancel(params = {}, opts = {})
|
15
18
|
request_stripe_object(
|
16
19
|
method: :post,
|
17
|
-
path:
|
20
|
+
path: format("/v1/topups/%<topup>s/cancel", { topup: CGI.escape(self["id"]) }),
|
21
|
+
params: params,
|
22
|
+
opts: opts
|
23
|
+
)
|
24
|
+
end
|
25
|
+
|
26
|
+
def self.cancel(topup, params = {}, opts = {})
|
27
|
+
request_stripe_object(
|
28
|
+
method: :post,
|
29
|
+
path: format("/v1/topups/%<topup>s/cancel", { topup: CGI.escape(topup) }),
|
18
30
|
params: params,
|
19
31
|
opts: opts
|
20
32
|
)
|
@@ -2,6 +2,16 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
module Stripe
|
5
|
+
# A `Transfer` object is created when you move funds between Stripe accounts as
|
6
|
+
# part of Connect.
|
7
|
+
#
|
8
|
+
# Before April 6, 2017, transfers also represented movement of funds from a
|
9
|
+
# Stripe account to a card or bank account. This behavior has since been split
|
10
|
+
# out into a [Payout](https://stripe.com/docs/api#payout_object) object, with corresponding payout endpoints. For more
|
11
|
+
# information, read about the
|
12
|
+
# [transfer/payout split](https://stripe.com/docs/transfer-payout-split).
|
13
|
+
#
|
14
|
+
# Related guide: [Creating separate charges and transfers](https://stripe.com/docs/connect/separate-charges-and-transfers)
|
5
15
|
class Transfer < APIResource
|
6
16
|
extend Stripe::APIOperations::Create
|
7
17
|
extend Stripe::APIOperations::List
|
@@ -10,18 +20,7 @@ module Stripe
|
|
10
20
|
|
11
21
|
OBJECT_NAME = "transfer"
|
12
22
|
|
13
|
-
custom_method :cancel, http_verb: :post
|
14
|
-
|
15
23
|
nested_resource_class_methods :reversal,
|
16
24
|
operations: %i[create retrieve update list]
|
17
|
-
|
18
|
-
def cancel(params = {}, opts = {})
|
19
|
-
request_stripe_object(
|
20
|
-
method: :post,
|
21
|
-
path: resource_url + "/cancel",
|
22
|
-
params: params,
|
23
|
-
opts: opts
|
24
|
-
)
|
25
|
-
end
|
26
25
|
end
|
27
26
|
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
module Treasury
|
6
|
+
# You can reverse some [ReceivedCredits](https://stripe.com/docs/api#received_credits) depending on their network and source flow. Reversing a ReceivedCredit leads to the creation of a new object known as a CreditReversal.
|
7
|
+
class CreditReversal < APIResource
|
8
|
+
extend Stripe::APIOperations::Create
|
9
|
+
extend Stripe::APIOperations::List
|
10
|
+
|
11
|
+
OBJECT_NAME = "treasury.credit_reversal"
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
module Treasury
|
6
|
+
# You can reverse some [ReceivedDebits](https://stripe.com/docs/api#received_debits) depending on their network and source flow. Reversing a ReceivedDebit leads to the creation of a new object known as a DebitReversal.
|
7
|
+
class DebitReversal < APIResource
|
8
|
+
extend Stripe::APIOperations::Create
|
9
|
+
extend Stripe::APIOperations::List
|
10
|
+
|
11
|
+
OBJECT_NAME = "treasury.debit_reversal"
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|