stripe 5.55.0 → 8.3.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 +122 -2
- data/Gemfile +1 -0
- data/Makefile +1 -1
- data/OPENAPI_VERSION +1 -0
- data/README.md +37 -3
- 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 +10 -0
- data/lib/stripe/api_operations/save.rb +11 -3
- data/lib/stripe/api_operations/search.rb +6 -9
- data/lib/stripe/api_resource.rb +1 -1
- data/lib/stripe/api_resource_test_helpers.rb +2 -0
- data/lib/stripe/api_version.rb +8 -0
- data/lib/stripe/instrumentation.rb +45 -7
- data/lib/stripe/object_types.rb +12 -10
- data/lib/stripe/resources/account.rb +36 -9
- data/lib/stripe/resources/account_link.rb +4 -0
- data/lib/stripe/resources/application_fee_refund.rb +5 -0
- 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 +1 -0
- data/lib/stripe/resources/billing_portal/session.rb +14 -0
- data/lib/stripe/resources/capability.rb +3 -0
- data/lib/stripe/resources/card.rb +6 -3
- data/lib/stripe/resources/cash_balance.rb +1 -0
- data/lib/stripe/resources/charge.rb +15 -3
- data/lib/stripe/resources/checkout/session.rb +41 -5
- 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/customer.rb +109 -19
- data/lib/stripe/resources/customer_balance_transaction.rb +6 -0
- data/lib/stripe/resources/customer_cash_balance_transaction.rb +14 -0
- data/lib/stripe/resources/discount.rb +4 -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 +7 -0
- data/lib/stripe/resources/file_link.rb +3 -0
- data/lib/stripe/resources/financial_connections/account.rb +42 -6
- data/lib/stripe/resources/financial_connections/account_ownership.rb +1 -0
- data/lib/stripe/resources/financial_connections/session.rb +1 -0
- data/lib/stripe/resources/funding_instructions.rb +5 -0
- data/lib/stripe/resources/identity/verification_report.rb +11 -0
- data/lib/stripe/resources/identity/verification_session.rb +31 -5
- data/lib/stripe/resources/invoice.rb +96 -17
- data/lib/stripe/resources/invoice_item.rb +11 -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 +1 -0
- data/lib/stripe/resources/mandate.rb +1 -0
- data/lib/stripe/resources/payment_intent.rb +71 -13
- data/lib/stripe/resources/payment_link.rb +15 -3
- data/lib/stripe/resources/payment_method.rb +25 -5
- data/lib/stripe/resources/payout.rb +28 -5
- data/lib/stripe/resources/person.rb +6 -0
- data/lib/stripe/resources/plan.rb +8 -0
- data/lib/stripe/resources/price.rb +6 -0
- data/lib/stripe/resources/product.rb +8 -0
- data/lib/stripe/resources/promotion_code.rb +2 -0
- data/lib/stripe/resources/quote.rb +52 -11
- 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 +24 -5
- 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 +13 -0
- data/lib/stripe/resources/review.rb +14 -3
- data/lib/stripe/resources/setup_attempt.rb +4 -0
- data/lib/stripe/resources/setup_intent.rb +52 -7
- data/lib/stripe/resources/shipping_rate.rb +3 -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 +4 -0
- data/lib/stripe/resources/subscription.rb +48 -3
- data/lib/stripe/resources/subscription_item.rb +2 -7
- data/lib/stripe/resources/subscription_schedule.rb +23 -5
- data/lib/stripe/resources/tax_code.rb +1 -0
- data/lib/stripe/resources/tax_id.rb +4 -0
- data/lib/stripe/resources/tax_rate.rb +3 -0
- data/lib/stripe/resources/terminal/configuration.rb +1 -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 +70 -11
- data/lib/stripe/resources/test_helpers/test_clock.rb +13 -3
- data/lib/stripe/resources/token.rb +22 -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/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 +4 -0
- data/lib/stripe/resources/webhook_endpoint.rb +7 -0
- data/lib/stripe/resources.rb +12 -10
- data/lib/stripe/stripe_client.rb +25 -17
- data/lib/stripe/stripe_object.rb +2 -2
- data/lib/stripe/util.rb +38 -3
- data/lib/stripe/version.rb +1 -1
- metadata +17 -11
- data/lib/stripe/resources/bitcoin_receiver.rb +0 -24
- data/lib/stripe/resources/bitcoin_transaction.rb +0 -16
- data/lib/stripe/resources/issuing/card_details.rb +0 -10
- 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
@@ -2,6 +2,11 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
module Stripe
|
5
|
+
# PaymentMethod objects represent your customer's payment instruments.
|
6
|
+
# You can use them with [PaymentIntents](https://stripe.com/docs/payments/payment-intents) to collect payments or save them to
|
7
|
+
# Customer objects to store instrument details for future payments.
|
8
|
+
#
|
9
|
+
# Related guides: [Payment Methods](https://stripe.com/docs/payments/payment-methods) and [More Payment Scenarios](https://stripe.com/docs/payments/more-payment-scenarios).
|
5
10
|
class PaymentMethod < APIResource
|
6
11
|
extend Stripe::APIOperations::Create
|
7
12
|
extend Stripe::APIOperations::List
|
@@ -9,13 +14,10 @@ module Stripe
|
|
9
14
|
|
10
15
|
OBJECT_NAME = "payment_method"
|
11
16
|
|
12
|
-
custom_method :attach, http_verb: :post
|
13
|
-
custom_method :detach, http_verb: :post
|
14
|
-
|
15
17
|
def attach(params = {}, opts = {})
|
16
18
|
request_stripe_object(
|
17
19
|
method: :post,
|
18
|
-
path:
|
20
|
+
path: format("/v1/payment_methods/%<payment_method>s/attach", { payment_method: CGI.escape(self["id"]) }),
|
19
21
|
params: params,
|
20
22
|
opts: opts
|
21
23
|
)
|
@@ -24,7 +26,25 @@ module Stripe
|
|
24
26
|
def detach(params = {}, opts = {})
|
25
27
|
request_stripe_object(
|
26
28
|
method: :post,
|
27
|
-
path:
|
29
|
+
path: format("/v1/payment_methods/%<payment_method>s/detach", { payment_method: CGI.escape(self["id"]) }),
|
30
|
+
params: params,
|
31
|
+
opts: opts
|
32
|
+
)
|
33
|
+
end
|
34
|
+
|
35
|
+
def self.attach(payment_method, params = {}, opts = {})
|
36
|
+
request_stripe_object(
|
37
|
+
method: :post,
|
38
|
+
path: format("/v1/payment_methods/%<payment_method>s/attach", { payment_method: CGI.escape(payment_method) }),
|
39
|
+
params: params,
|
40
|
+
opts: opts
|
41
|
+
)
|
42
|
+
end
|
43
|
+
|
44
|
+
def self.detach(payment_method, params = {}, opts = {})
|
45
|
+
request_stripe_object(
|
46
|
+
method: :post,
|
47
|
+
path: format("/v1/payment_methods/%<payment_method>s/detach", { payment_method: CGI.escape(payment_method) }),
|
28
48
|
params: params,
|
29
49
|
opts: opts
|
30
50
|
)
|
@@ -2,6 +2,14 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
module Stripe
|
5
|
+
# A `Payout` object is created when you receive funds from Stripe, or when you
|
6
|
+
# initiate a payout to either a bank account or debit card of a [connected
|
7
|
+
# Stripe account](https://stripe.com/docs/connect/bank-debit-card-payouts). You can retrieve individual payouts,
|
8
|
+
# as well as list all payouts. Payouts are made on [varying
|
9
|
+
# schedules](https://stripe.com/docs/connect/manage-payout-schedule), depending on your country and
|
10
|
+
# industry.
|
11
|
+
#
|
12
|
+
# Related guide: [Receiving Payouts](https://stripe.com/docs/payouts).
|
5
13
|
class Payout < APIResource
|
6
14
|
extend Stripe::APIOperations::Create
|
7
15
|
extend Stripe::APIOperations::List
|
@@ -9,13 +17,10 @@ module Stripe
|
|
9
17
|
|
10
18
|
OBJECT_NAME = "payout"
|
11
19
|
|
12
|
-
custom_method :cancel, http_verb: :post
|
13
|
-
custom_method :reverse, http_verb: :post
|
14
|
-
|
15
20
|
def cancel(params = {}, opts = {})
|
16
21
|
request_stripe_object(
|
17
22
|
method: :post,
|
18
|
-
path:
|
23
|
+
path: format("/v1/payouts/%<payout>s/cancel", { payout: CGI.escape(self["id"]) }),
|
19
24
|
params: params,
|
20
25
|
opts: opts
|
21
26
|
)
|
@@ -24,7 +29,25 @@ module Stripe
|
|
24
29
|
def reverse(params = {}, opts = {})
|
25
30
|
request_stripe_object(
|
26
31
|
method: :post,
|
27
|
-
path:
|
32
|
+
path: format("/v1/payouts/%<payout>s/reverse", { payout: CGI.escape(self["id"]) }),
|
33
|
+
params: params,
|
34
|
+
opts: opts
|
35
|
+
)
|
36
|
+
end
|
37
|
+
|
38
|
+
def self.cancel(payout, params = {}, opts = {})
|
39
|
+
request_stripe_object(
|
40
|
+
method: :post,
|
41
|
+
path: format("/v1/payouts/%<payout>s/cancel", { payout: CGI.escape(payout) }),
|
42
|
+
params: params,
|
43
|
+
opts: opts
|
44
|
+
)
|
45
|
+
end
|
46
|
+
|
47
|
+
def self.reverse(payout, params = {}, opts = {})
|
48
|
+
request_stripe_object(
|
49
|
+
method: :post,
|
50
|
+
path: format("/v1/payouts/%<payout>s/reverse", { payout: CGI.escape(payout) }),
|
28
51
|
params: params,
|
29
52
|
opts: opts
|
30
53
|
)
|
@@ -2,6 +2,12 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
module Stripe
|
5
|
+
# This is an object representing a person associated with a Stripe account.
|
6
|
+
#
|
7
|
+
# A platform cannot access a Standard or Express account's persons after the account starts onboarding, such as after generating an account link for the account.
|
8
|
+
# See the [Standard onboarding](https://stripe.com/docs/connect/standard-accounts) or [Express onboarding documentation](https://stripe.com/docs/connect/express-accounts) for information about platform pre-filling and account onboarding steps.
|
9
|
+
#
|
10
|
+
# Related guide: [Handling Identity Verification with the API](https://stripe.com/docs/connect/identity-verification-api#person-information).
|
5
11
|
class Person < APIResource
|
6
12
|
extend Stripe::APIOperations::List
|
7
13
|
include Stripe::APIOperations::Save
|
@@ -2,6 +2,14 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
module Stripe
|
5
|
+
# You can now model subscriptions more flexibly using the [Prices API](https://stripe.com/docs/api#prices). It replaces the Plans API and is backwards compatible to simplify your migration.
|
6
|
+
#
|
7
|
+
# Plans define the base price, currency, and billing cycle for recurring purchases of products.
|
8
|
+
# [Products](https://stripe.com/docs/api#products) help you track inventory or provisioning, and plans help you track pricing. Different physical goods or levels of service should be represented by products, and pricing options should be represented by plans. This approach lets you change prices without having to change your provisioning scheme.
|
9
|
+
#
|
10
|
+
# For example, you might have a single "gold" product that has plans for $10/month, $100/year, €9/month, and €90/year.
|
11
|
+
#
|
12
|
+
# Related guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription) and more about [products and prices](https://stripe.com/docs/products-prices/overview).
|
5
13
|
class Plan < APIResource
|
6
14
|
extend Stripe::APIOperations::Create
|
7
15
|
include Stripe::APIOperations::Delete
|
@@ -2,6 +2,12 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
module Stripe
|
5
|
+
# Prices define the unit cost, currency, and (optional) billing cycle for both recurring and one-time purchases of products.
|
6
|
+
# [Products](https://stripe.com/docs/api#products) help you track inventory or provisioning, and prices help you track payment terms. Different physical goods or levels of service should be represented by products, and pricing options should be represented by prices. This approach lets you change prices without having to change your provisioning scheme.
|
7
|
+
#
|
8
|
+
# For example, you might have a single "gold" product that has prices for $10/month, $100/year, and €9 once.
|
9
|
+
#
|
10
|
+
# Related guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription), [create an invoice](https://stripe.com/docs/billing/invoices/create), and more about [products and prices](https://stripe.com/docs/products-prices/overview).
|
5
11
|
class Price < APIResource
|
6
12
|
extend Stripe::APIOperations::Create
|
7
13
|
extend Stripe::APIOperations::List
|
@@ -2,6 +2,14 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
module Stripe
|
5
|
+
# Products describe the specific goods or services you offer to your customers.
|
6
|
+
# For example, you might offer a Standard and Premium version of your goods or service; each version would be a separate Product.
|
7
|
+
# They can be used in conjunction with [Prices](https://stripe.com/docs/api#prices) to configure pricing in Payment Links, Checkout, and Subscriptions.
|
8
|
+
#
|
9
|
+
# Related guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription),
|
10
|
+
# [share a Payment Link](https://stripe.com/docs/payments/payment-links/overview),
|
11
|
+
# [accept payments with Checkout](https://stripe.com/docs/payments/accept-a-payment#create-product-prices-upfront),
|
12
|
+
# and more about [Products and Prices](https://stripe.com/docs/products-prices/overview)
|
5
13
|
class Product < APIResource
|
6
14
|
extend Stripe::APIOperations::Create
|
7
15
|
include Stripe::APIOperations::Delete
|
@@ -2,6 +2,8 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
module Stripe
|
5
|
+
# A Promotion Code represents a customer-redeemable code for a [coupon](https://stripe.com/docs/api#coupons). It can be used to
|
6
|
+
# create multiple codes for a single coupon.
|
5
7
|
class PromotionCode < APIResource
|
6
8
|
extend Stripe::APIOperations::Create
|
7
9
|
extend Stripe::APIOperations::List
|
@@ -2,6 +2,8 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
module Stripe
|
5
|
+
# A Quote is a way to model prices that you'd like to provide to a customer.
|
6
|
+
# Once accepted, it will automatically create an invoice, subscription or subscription schedule.
|
5
7
|
class Quote < APIResource
|
6
8
|
extend Stripe::APIOperations::Create
|
7
9
|
extend Stripe::APIOperations::List
|
@@ -9,16 +11,10 @@ module Stripe
|
|
9
11
|
|
10
12
|
OBJECT_NAME = "quote"
|
11
13
|
|
12
|
-
custom_method :accept, http_verb: :post
|
13
|
-
custom_method :cancel, http_verb: :post
|
14
|
-
custom_method :finalize_quote, http_verb: :post, http_path: "finalize"
|
15
|
-
custom_method :list_computed_upfront_line_items, http_verb: :get, http_path: "computed_upfront_line_items"
|
16
|
-
custom_method :list_line_items, http_verb: :get, http_path: "line_items"
|
17
|
-
|
18
14
|
def accept(params = {}, opts = {})
|
19
15
|
request_stripe_object(
|
20
16
|
method: :post,
|
21
|
-
path:
|
17
|
+
path: format("/v1/quotes/%<quote>s/accept", { quote: CGI.escape(self["id"]) }),
|
22
18
|
params: params,
|
23
19
|
opts: opts
|
24
20
|
)
|
@@ -27,7 +23,7 @@ module Stripe
|
|
27
23
|
def cancel(params = {}, opts = {})
|
28
24
|
request_stripe_object(
|
29
25
|
method: :post,
|
30
|
-
path:
|
26
|
+
path: format("/v1/quotes/%<quote>s/cancel", { quote: CGI.escape(self["id"]) }),
|
31
27
|
params: params,
|
32
28
|
opts: opts
|
33
29
|
)
|
@@ -36,7 +32,7 @@ module Stripe
|
|
36
32
|
def finalize_quote(params = {}, opts = {})
|
37
33
|
request_stripe_object(
|
38
34
|
method: :post,
|
39
|
-
path:
|
35
|
+
path: format("/v1/quotes/%<quote>s/finalize", { quote: CGI.escape(self["id"]) }),
|
40
36
|
params: params,
|
41
37
|
opts: opts
|
42
38
|
)
|
@@ -45,7 +41,7 @@ module Stripe
|
|
45
41
|
def list_computed_upfront_line_items(params = {}, opts = {})
|
46
42
|
request_stripe_object(
|
47
43
|
method: :get,
|
48
|
-
path:
|
44
|
+
path: format("/v1/quotes/%<quote>s/computed_upfront_line_items", { quote: CGI.escape(self["id"]) }),
|
49
45
|
params: params,
|
50
46
|
opts: opts
|
51
47
|
)
|
@@ -54,7 +50,52 @@ module Stripe
|
|
54
50
|
def list_line_items(params = {}, opts = {})
|
55
51
|
request_stripe_object(
|
56
52
|
method: :get,
|
57
|
-
path:
|
53
|
+
path: format("/v1/quotes/%<quote>s/line_items", { quote: CGI.escape(self["id"]) }),
|
54
|
+
params: params,
|
55
|
+
opts: opts
|
56
|
+
)
|
57
|
+
end
|
58
|
+
|
59
|
+
def self.accept(quote, params = {}, opts = {})
|
60
|
+
request_stripe_object(
|
61
|
+
method: :post,
|
62
|
+
path: format("/v1/quotes/%<quote>s/accept", { quote: CGI.escape(quote) }),
|
63
|
+
params: params,
|
64
|
+
opts: opts
|
65
|
+
)
|
66
|
+
end
|
67
|
+
|
68
|
+
def self.cancel(quote, params = {}, opts = {})
|
69
|
+
request_stripe_object(
|
70
|
+
method: :post,
|
71
|
+
path: format("/v1/quotes/%<quote>s/cancel", { quote: CGI.escape(quote) }),
|
72
|
+
params: params,
|
73
|
+
opts: opts
|
74
|
+
)
|
75
|
+
end
|
76
|
+
|
77
|
+
def self.finalize_quote(quote, params = {}, opts = {})
|
78
|
+
request_stripe_object(
|
79
|
+
method: :post,
|
80
|
+
path: format("/v1/quotes/%<quote>s/finalize", { quote: CGI.escape(quote) }),
|
81
|
+
params: params,
|
82
|
+
opts: opts
|
83
|
+
)
|
84
|
+
end
|
85
|
+
|
86
|
+
def self.list_computed_upfront_line_items(quote, params = {}, opts = {})
|
87
|
+
request_stripe_object(
|
88
|
+
method: :get,
|
89
|
+
path: format("/v1/quotes/%<quote>s/computed_upfront_line_items", { quote: CGI.escape(quote) }),
|
90
|
+
params: params,
|
91
|
+
opts: opts
|
92
|
+
)
|
93
|
+
end
|
94
|
+
|
95
|
+
def self.list_line_items(quote, params = {}, opts = {})
|
96
|
+
request_stripe_object(
|
97
|
+
method: :get,
|
98
|
+
path: format("/v1/quotes/%<quote>s/line_items", { quote: CGI.escape(quote) }),
|
58
99
|
params: params,
|
59
100
|
opts: opts
|
60
101
|
)
|
@@ -3,6 +3,10 @@
|
|
3
3
|
|
4
4
|
module Stripe
|
5
5
|
module Radar
|
6
|
+
# An early fraud warning indicates that the card issuer has notified us that a
|
7
|
+
# charge may be fraudulent.
|
8
|
+
#
|
9
|
+
# Related guide: [Early Fraud Warnings](https://stripe.com/docs/disputes/measuring#early-fraud-warnings).
|
6
10
|
class EarlyFraudWarning < APIResource
|
7
11
|
extend Stripe::APIOperations::List
|
8
12
|
|
@@ -3,6 +3,9 @@
|
|
3
3
|
|
4
4
|
module Stripe
|
5
5
|
module Radar
|
6
|
+
# Value lists allow you to group values together which can then be referenced in rules.
|
7
|
+
#
|
8
|
+
# Related guide: [Default Stripe Lists](https://stripe.com/docs/radar/lists#managing-list-items).
|
6
9
|
class ValueList < 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 Radar
|
6
|
+
# Value list items allow you to add specific values to a given Radar value list, which can then be used in rules.
|
7
|
+
#
|
8
|
+
# Related guide: [Managing List Items](https://stripe.com/docs/radar/lists#managing-list-items).
|
6
9
|
class ValueListItem < APIResource
|
7
10
|
extend Stripe::APIOperations::Create
|
8
11
|
include Stripe::APIOperations::Delete
|
@@ -2,6 +2,11 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
module Stripe
|
5
|
+
# `Refund` objects allow you to refund a charge that has previously been created
|
6
|
+
# but not yet refunded. Funds will be refunded to the credit or debit card that
|
7
|
+
# was originally charged.
|
8
|
+
#
|
9
|
+
# Related guide: [Refunds](https://stripe.com/docs/refunds).
|
5
10
|
class Refund < 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 = "refund"
|
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/refunds/%<refund>s/cancel", { refund: CGI.escape(self["id"]) }),
|
21
|
+
params: params,
|
22
|
+
opts: opts
|
23
|
+
)
|
24
|
+
end
|
25
|
+
|
26
|
+
def self.cancel(refund, params = {}, opts = {})
|
27
|
+
request_stripe_object(
|
28
|
+
method: :post,
|
29
|
+
path: format("/v1/refunds/%<refund>s/cancel", { refund: CGI.escape(refund) }),
|
18
30
|
params: params,
|
19
31
|
opts: opts
|
20
32
|
)
|
@@ -27,12 +39,19 @@ module Stripe
|
|
27
39
|
class TestHelpers < APIResourceTestHelpers
|
28
40
|
RESOURCE_CLASS = Refund
|
29
41
|
|
30
|
-
|
42
|
+
def self.expire(refund, params = {}, opts = {})
|
43
|
+
request_stripe_object(
|
44
|
+
method: :post,
|
45
|
+
path: format("/v1/test_helpers/refunds/%<refund>s/expire", { refund: CGI.escape(refund) }),
|
46
|
+
params: params,
|
47
|
+
opts: opts
|
48
|
+
)
|
49
|
+
end
|
31
50
|
|
32
51
|
def expire(params = {}, opts = {})
|
33
52
|
@resource.request_stripe_object(
|
34
53
|
method: :post,
|
35
|
-
path:
|
54
|
+
path: format("/v1/test_helpers/refunds/%<refund>s/expire", { refund: CGI.escape(@resource["id"]) }),
|
36
55
|
params: params,
|
37
56
|
opts: opts
|
38
57
|
)
|
@@ -3,6 +3,14 @@
|
|
3
3
|
|
4
4
|
module Stripe
|
5
5
|
module Reporting
|
6
|
+
# The Report Run object represents an instance of a report type generated with
|
7
|
+
# specific run parameters. Once the object is created, Stripe begins processing the report.
|
8
|
+
# When the report has finished running, it will give you a reference to a file
|
9
|
+
# where you can retrieve your results. For an overview, see
|
10
|
+
# [API Access to Reports](https://stripe.com/docs/reporting/statements/api).
|
11
|
+
#
|
12
|
+
# Note that certain report types can only be run based on your live-mode data (not test-mode
|
13
|
+
# data), and will error when queried without a [live-mode API key](https://stripe.com/docs/keys#test-live-modes).
|
6
14
|
class ReportRun < APIResource
|
7
15
|
extend Stripe::APIOperations::Create
|
8
16
|
extend Stripe::APIOperations::List
|
@@ -3,8 +3,15 @@
|
|
3
3
|
|
4
4
|
module Stripe
|
5
5
|
module Reporting
|
6
|
+
# The Report Type resource corresponds to a particular type of report, such as
|
7
|
+
# the "Activity summary" or "Itemized payouts" reports. These objects are
|
8
|
+
# identified by an ID belonging to a set of enumerated values. See
|
9
|
+
# [API Access to Reports documentation](https://stripe.com/docs/reporting/statements/api)
|
10
|
+
# for those Report Type IDs, along with required and optional parameters.
|
11
|
+
#
|
12
|
+
# Note that certain report types can only be run based on your live-mode data (not test-mode
|
13
|
+
# data), and will error when queried without a [live-mode API key](https://stripe.com/docs/keys#test-live-modes).
|
6
14
|
class ReportType < APIResource
|
7
|
-
extend Stripe::APIOperations::Create
|
8
15
|
extend Stripe::APIOperations::List
|
9
16
|
|
10
17
|
OBJECT_NAME = "reporting.report_type"
|
@@ -2,6 +2,19 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
module Stripe
|
5
|
+
# [Stripe Connect](https://stripe.com/docs/connect) platforms can reverse transfers made to a
|
6
|
+
# connected account, either entirely or partially, and can also specify whether
|
7
|
+
# to refund any related application fees. Transfer reversals add to the
|
8
|
+
# platform's balance and subtract from the destination account's balance.
|
9
|
+
#
|
10
|
+
# Reversing a transfer that was made for a [destination
|
11
|
+
# charge](https://stripe.com/docs/connect/destination-charges) is allowed only up to the amount of
|
12
|
+
# the charge. It is possible to reverse a
|
13
|
+
# [transfer_group](https://stripe.com/docs/connect/charges-transfers#transfer-options)
|
14
|
+
# transfer only if the destination account has enough balance to cover the
|
15
|
+
# reversal.
|
16
|
+
#
|
17
|
+
# Related guide: [Reversing Transfers](https://stripe.com/docs/connect/charges-transfers#reversing-transfers).
|
5
18
|
class Reversal < APIResource
|
6
19
|
extend Stripe::APIOperations::List
|
7
20
|
include Stripe::APIOperations::Save
|
@@ -2,17 +2,28 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
module Stripe
|
5
|
+
# Reviews can be used to supplement automated fraud detection with human expertise.
|
6
|
+
#
|
7
|
+
# Learn more about [Radar](https://stripe.com/radar) and reviewing payments
|
8
|
+
# [here](https://stripe.com/docs/radar/reviews).
|
5
9
|
class Review < APIResource
|
6
10
|
extend Stripe::APIOperations::List
|
7
11
|
|
8
12
|
OBJECT_NAME = "review"
|
9
13
|
|
10
|
-
custom_method :approve, http_verb: :post
|
11
|
-
|
12
14
|
def approve(params = {}, opts = {})
|
13
15
|
request_stripe_object(
|
14
16
|
method: :post,
|
15
|
-
path:
|
17
|
+
path: format("/v1/reviews/%<review>s/approve", { review: CGI.escape(self["id"]) }),
|
18
|
+
params: params,
|
19
|
+
opts: opts
|
20
|
+
)
|
21
|
+
end
|
22
|
+
|
23
|
+
def self.approve(review, params = {}, opts = {})
|
24
|
+
request_stripe_object(
|
25
|
+
method: :post,
|
26
|
+
path: format("/v1/reviews/%<review>s/approve", { review: CGI.escape(review) }),
|
16
27
|
params: params,
|
17
28
|
opts: opts
|
18
29
|
)
|
@@ -2,6 +2,10 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
module Stripe
|
5
|
+
# A SetupAttempt describes one attempted confirmation of a SetupIntent,
|
6
|
+
# whether that confirmation was successful or unsuccessful. You can use
|
7
|
+
# SetupAttempts to inspect details of a specific attempt at setting up a
|
8
|
+
# payment method using a SetupIntent.
|
5
9
|
class SetupAttempt < APIResource
|
6
10
|
extend Stripe::APIOperations::List
|
7
11
|
|
@@ -2,6 +2,28 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
module Stripe
|
5
|
+
# A SetupIntent guides you through the process of setting up and saving a customer's payment credentials for future payments.
|
6
|
+
# For example, you could use a SetupIntent to set up and save your customer's card without immediately collecting a payment.
|
7
|
+
# Later, you can use [PaymentIntents](https://stripe.com/docs/api#payment_intents) to drive the payment flow.
|
8
|
+
#
|
9
|
+
# Create a SetupIntent as soon as you're ready to collect your customer's payment credentials.
|
10
|
+
# Do not maintain long-lived, unconfirmed SetupIntents as they may no longer be valid.
|
11
|
+
# The SetupIntent then transitions through multiple [statuses](https://stripe.com/docs/payments/intents#intent-statuses) as it guides
|
12
|
+
# you through the setup process.
|
13
|
+
#
|
14
|
+
# Successful SetupIntents result in payment credentials that are optimized for future payments.
|
15
|
+
# For example, cardholders in [certain regions](https://stripe.com/guides/strong-customer-authentication) may need to be run through
|
16
|
+
# [Strong Customer Authentication](https://stripe.com/docs/strong-customer-authentication) at the time of payment method collection
|
17
|
+
# in order to streamline later [off-session payments](https://stripe.com/docs/payments/setup-intents).
|
18
|
+
# If the SetupIntent is used with a [Customer](https://stripe.com/docs/api#setup_intent_object-customer), upon success,
|
19
|
+
# it will automatically attach the resulting payment method to that Customer.
|
20
|
+
# We recommend using SetupIntents or [setup_future_usage](https://stripe.com/docs/api#payment_intent_object-setup_future_usage) on
|
21
|
+
# PaymentIntents to save payment methods in order to prevent saving invalid or unoptimized payment methods.
|
22
|
+
#
|
23
|
+
# By using SetupIntents, you ensure that your customers experience the minimum set of required friction,
|
24
|
+
# even as regulations change over time.
|
25
|
+
#
|
26
|
+
# Related guide: [Setup Intents API](https://stripe.com/docs/payments/setup-intents).
|
5
27
|
class SetupIntent < APIResource
|
6
28
|
extend Stripe::APIOperations::Create
|
7
29
|
extend Stripe::APIOperations::List
|
@@ -9,14 +31,10 @@ module Stripe
|
|
9
31
|
|
10
32
|
OBJECT_NAME = "setup_intent"
|
11
33
|
|
12
|
-
custom_method :cancel, http_verb: :post
|
13
|
-
custom_method :confirm, http_verb: :post
|
14
|
-
custom_method :verify_microdeposits, http_verb: :post
|
15
|
-
|
16
34
|
def cancel(params = {}, opts = {})
|
17
35
|
request_stripe_object(
|
18
36
|
method: :post,
|
19
|
-
path:
|
37
|
+
path: format("/v1/setup_intents/%<intent>s/cancel", { intent: CGI.escape(self["id"]) }),
|
20
38
|
params: params,
|
21
39
|
opts: opts
|
22
40
|
)
|
@@ -25,7 +43,7 @@ module Stripe
|
|
25
43
|
def confirm(params = {}, opts = {})
|
26
44
|
request_stripe_object(
|
27
45
|
method: :post,
|
28
|
-
path:
|
46
|
+
path: format("/v1/setup_intents/%<intent>s/confirm", { intent: CGI.escape(self["id"]) }),
|
29
47
|
params: params,
|
30
48
|
opts: opts
|
31
49
|
)
|
@@ -34,7 +52,34 @@ module Stripe
|
|
34
52
|
def verify_microdeposits(params = {}, opts = {})
|
35
53
|
request_stripe_object(
|
36
54
|
method: :post,
|
37
|
-
path:
|
55
|
+
path: format("/v1/setup_intents/%<intent>s/verify_microdeposits", { intent: CGI.escape(self["id"]) }),
|
56
|
+
params: params,
|
57
|
+
opts: opts
|
58
|
+
)
|
59
|
+
end
|
60
|
+
|
61
|
+
def self.cancel(intent, params = {}, opts = {})
|
62
|
+
request_stripe_object(
|
63
|
+
method: :post,
|
64
|
+
path: format("/v1/setup_intents/%<intent>s/cancel", { intent: CGI.escape(intent) }),
|
65
|
+
params: params,
|
66
|
+
opts: opts
|
67
|
+
)
|
68
|
+
end
|
69
|
+
|
70
|
+
def self.confirm(intent, params = {}, opts = {})
|
71
|
+
request_stripe_object(
|
72
|
+
method: :post,
|
73
|
+
path: format("/v1/setup_intents/%<intent>s/confirm", { intent: CGI.escape(intent) }),
|
74
|
+
params: params,
|
75
|
+
opts: opts
|
76
|
+
)
|
77
|
+
end
|
78
|
+
|
79
|
+
def self.verify_microdeposits(intent, params = {}, opts = {})
|
80
|
+
request_stripe_object(
|
81
|
+
method: :post,
|
82
|
+
path: format("/v1/setup_intents/%<intent>s/verify_microdeposits", { intent: CGI.escape(intent) }),
|
38
83
|
params: params,
|
39
84
|
opts: opts
|
40
85
|
)
|
@@ -2,6 +2,9 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
module Stripe
|
5
|
+
# Shipping rates describe the price of shipping presented to your customers and can be
|
6
|
+
# applied to [Checkout Sessions](https://stripe.com/docs/payments/checkout/shipping)
|
7
|
+
# and [Orders](https://stripe.com/docs/orders/shipping) to collect shipping costs.
|
5
8
|
class ShippingRate < APIResource
|
6
9
|
extend Stripe::APIOperations::Create
|
7
10
|
extend Stripe::APIOperations::List
|
@@ -3,6 +3,10 @@
|
|
3
3
|
|
4
4
|
module Stripe
|
5
5
|
module Sigma
|
6
|
+
# If you have [scheduled a Sigma query](https://stripe.com/docs/sigma/scheduled-queries), you'll
|
7
|
+
# receive a `sigma.scheduled_query_run.created` webhook each time the query
|
8
|
+
# runs. The webhook contains a `ScheduledQueryRun` object, which you can use to
|
9
|
+
# retrieve the query results.
|
6
10
|
class ScheduledQueryRun < APIResource
|
7
11
|
extend Stripe::APIOperations::List
|
8
12
|
|
@@ -2,6 +2,16 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
module Stripe
|
5
|
+
# `Source` objects allow you to accept a variety of payment methods. They
|
6
|
+
# represent a customer's payment instrument, and can be used with the Stripe API
|
7
|
+
# just like a `Card` object: once chargeable, they can be charged, or can be
|
8
|
+
# attached to customers.
|
9
|
+
#
|
10
|
+
# Stripe doesn't recommend using the deprecated [Sources API](https://stripe.com/docs/api/sources).
|
11
|
+
# We recommend that you adopt the [PaymentMethods API](https://stripe.com/docs/api/payment_methods).
|
12
|
+
# This newer API provides access to our latest features and payment method types.
|
13
|
+
#
|
14
|
+
# Related guides: [Sources API](https://stripe.com/docs/sources) and [Sources & Customers](https://stripe.com/docs/sources/customers).
|
5
15
|
class Source < APIResource
|
6
16
|
extend Stripe::APIOperations::Create
|
7
17
|
include Stripe::APIOperations::Save
|
@@ -9,15 +19,22 @@ module Stripe
|
|
9
19
|
|
10
20
|
OBJECT_NAME = "source"
|
11
21
|
|
12
|
-
custom_method :verify, http_verb: :post
|
13
|
-
|
14
22
|
nested_resource_class_methods :source_transaction,
|
15
23
|
operations: %i[retrieve list]
|
16
24
|
|
17
25
|
def verify(params = {}, opts = {})
|
18
26
|
request_stripe_object(
|
19
27
|
method: :post,
|
20
|
-
path:
|
28
|
+
path: format("/v1/sources/%<source>s/verify", { source: CGI.escape(self["id"]) }),
|
29
|
+
params: params,
|
30
|
+
opts: opts
|
31
|
+
)
|
32
|
+
end
|
33
|
+
|
34
|
+
def self.verify(source, params = {}, opts = {})
|
35
|
+
request_stripe_object(
|
36
|
+
method: :post,
|
37
|
+
path: format("/v1/sources/%<source>s/verify", { source: CGI.escape(source) }),
|
21
38
|
params: params,
|
22
39
|
opts: opts
|
23
40
|
)
|
@@ -37,9 +54,12 @@ module Stripe
|
|
37
54
|
end
|
38
55
|
|
39
56
|
def source_transactions(params = {}, opts = {})
|
40
|
-
|
41
|
-
|
42
|
-
|
57
|
+
request_stripe_object(
|
58
|
+
method: :get,
|
59
|
+
path: resource_url + "/source_transactions",
|
60
|
+
params: params,
|
61
|
+
opts: opts
|
62
|
+
)
|
43
63
|
end
|
44
64
|
extend Gem::Deprecate
|
45
65
|
deprecate :source_transactions, :"Source.list_source_transactions", 2020, 1
|
@@ -2,6 +2,10 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
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.
|
5
9
|
class SourceTransaction < StripeObject
|
6
10
|
OBJECT_NAME = "source_transaction"
|
7
11
|
end
|