stripe 5.39.0 → 10.1.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 +304 -0
- data/Gemfile +5 -2
- data/Makefile +13 -0
- data/OPENAPI_VERSION +1 -0
- data/README.md +40 -6
- 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 +13 -3
- data/lib/stripe/api_operations/search.rb +16 -0
- data/lib/stripe/api_resource.rb +3 -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 +22 -1
- data/lib/stripe/instrumentation.rb +45 -7
- data/lib/stripe/object_types.rb +35 -10
- data/lib/stripe/resources/account.rb +37 -11
- data/lib/stripe/resources/account_link.rb +4 -0
- data/lib/stripe/resources/account_session.rb +17 -0
- data/lib/stripe/resources/application_fee.rb +1 -2
- 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 +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 +1 -0
- data/lib/stripe/resources/customer.rb +119 -15
- 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 +5 -0
- data/lib/stripe/resources/dispute.rb +15 -3
- data/lib/stripe/resources/event.rb +30 -0
- data/lib/stripe/resources/exchange_rate.rb +26 -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 +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 +11 -0
- data/lib/stripe/resources/identity/verification_session.rb +31 -5
- data/lib/stripe/resources/invoice.rb +100 -17
- data/lib/stripe/resources/invoice_item.rb +11 -0
- data/lib/stripe/resources/issuing/authorization.rb +114 -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/token.rb +14 -0
- data/lib/stripe/resources/issuing/transaction.rb +49 -0
- data/lib/stripe/resources/line_item.rb +1 -0
- data/lib/stripe/resources/login_link.rb +1 -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/payment_method_configuration.rb +26 -0
- data/lib/stripe/resources/payment_method_domain.rb +34 -0
- 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 +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 +58 -35
- 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 +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 +59 -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 +27 -8
- 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/registration.rb +19 -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 +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 +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 +11 -13
- 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 +96 -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 +33 -10
- data/lib/stripe/search_result_object.rb +86 -0
- data/lib/stripe/stripe_client.rb +37 -22
- data/lib/stripe/stripe_configuration.rb +5 -1
- data/lib/stripe/stripe_object.rb +2 -2
- data/lib/stripe/util.rb +85 -2
- data/lib/stripe/version.rb +1 -1
- data/lib/stripe/webhook.rb +2 -1
- data/lib/stripe.rb +5 -1
- data/stripe.gemspec +3 -3
- metadata +45 -14
- 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 -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
@@ -3,6 +3,7 @@
|
|
3
3
|
|
4
4
|
module Stripe
|
5
5
|
module Issuing
|
6
|
+
# You can [create physical or virtual cards](https://stripe.com/docs/issuing/cards) that are issued to cardholders.
|
6
7
|
class Card < APIResource
|
7
8
|
extend Stripe::APIOperations::Create
|
8
9
|
extend Stripe::APIOperations::List
|
@@ -10,15 +11,84 @@ module Stripe
|
|
10
11
|
|
11
12
|
OBJECT_NAME = "issuing.card"
|
12
13
|
|
13
|
-
|
14
|
+
def test_helpers
|
15
|
+
TestHelpers.new(self)
|
16
|
+
end
|
17
|
+
|
18
|
+
class TestHelpers < APIResourceTestHelpers
|
19
|
+
RESOURCE_CLASS = Card
|
20
|
+
|
21
|
+
def self.deliver_card(card, params = {}, opts = {})
|
22
|
+
request_stripe_object(
|
23
|
+
method: :post,
|
24
|
+
path: format("/v1/test_helpers/issuing/cards/%<card>s/shipping/deliver", { card: CGI.escape(card) }),
|
25
|
+
params: params,
|
26
|
+
opts: opts
|
27
|
+
)
|
28
|
+
end
|
29
|
+
|
30
|
+
def self.fail_card(card, params = {}, opts = {})
|
31
|
+
request_stripe_object(
|
32
|
+
method: :post,
|
33
|
+
path: format("/v1/test_helpers/issuing/cards/%<card>s/shipping/fail", { card: CGI.escape(card) }),
|
34
|
+
params: params,
|
35
|
+
opts: opts
|
36
|
+
)
|
37
|
+
end
|
38
|
+
|
39
|
+
def self.return_card(card, params = {}, opts = {})
|
40
|
+
request_stripe_object(
|
41
|
+
method: :post,
|
42
|
+
path: format("/v1/test_helpers/issuing/cards/%<card>s/shipping/return", { card: CGI.escape(card) }),
|
43
|
+
params: params,
|
44
|
+
opts: opts
|
45
|
+
)
|
46
|
+
end
|
47
|
+
|
48
|
+
def self.ship_card(card, params = {}, opts = {})
|
49
|
+
request_stripe_object(
|
50
|
+
method: :post,
|
51
|
+
path: format("/v1/test_helpers/issuing/cards/%<card>s/shipping/ship", { card: CGI.escape(card) }),
|
52
|
+
params: params,
|
53
|
+
opts: opts
|
54
|
+
)
|
55
|
+
end
|
56
|
+
|
57
|
+
def deliver_card(params = {}, opts = {})
|
58
|
+
@resource.request_stripe_object(
|
59
|
+
method: :post,
|
60
|
+
path: format("/v1/test_helpers/issuing/cards/%<card>s/shipping/deliver", { card: CGI.escape(@resource["id"]) }),
|
61
|
+
params: params,
|
62
|
+
opts: opts
|
63
|
+
)
|
64
|
+
end
|
65
|
+
|
66
|
+
def fail_card(params = {}, opts = {})
|
67
|
+
@resource.request_stripe_object(
|
68
|
+
method: :post,
|
69
|
+
path: format("/v1/test_helpers/issuing/cards/%<card>s/shipping/fail", { card: CGI.escape(@resource["id"]) }),
|
70
|
+
params: params,
|
71
|
+
opts: opts
|
72
|
+
)
|
73
|
+
end
|
74
|
+
|
75
|
+
def return_card(params = {}, opts = {})
|
76
|
+
@resource.request_stripe_object(
|
77
|
+
method: :post,
|
78
|
+
path: format("/v1/test_helpers/issuing/cards/%<card>s/shipping/return", { card: CGI.escape(@resource["id"]) }),
|
79
|
+
params: params,
|
80
|
+
opts: opts
|
81
|
+
)
|
82
|
+
end
|
14
83
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
84
|
+
def ship_card(params = {}, opts = {})
|
85
|
+
@resource.request_stripe_object(
|
86
|
+
method: :post,
|
87
|
+
path: format("/v1/test_helpers/issuing/cards/%<card>s/shipping/ship", { card: CGI.escape(@resource["id"]) }),
|
88
|
+
params: params,
|
89
|
+
opts: opts
|
90
|
+
)
|
91
|
+
end
|
22
92
|
end
|
23
93
|
end
|
24
94
|
end
|
@@ -3,6 +3,9 @@
|
|
3
3
|
|
4
4
|
module Stripe
|
5
5
|
module Issuing
|
6
|
+
# An Issuing `Cardholder` object represents an individual or business entity who is [issued](https://stripe.com/docs/issuing) cards.
|
7
|
+
#
|
8
|
+
# Related guide: [How to create a cardholder](https://stripe.com/docs/issuing/cards#create-cardholder)
|
6
9
|
class Cardholder < APIResource
|
7
10
|
extend Stripe::APIOperations::Create
|
8
11
|
extend Stripe::APIOperations::List
|
@@ -3,6 +3,9 @@
|
|
3
3
|
|
4
4
|
module Stripe
|
5
5
|
module Issuing
|
6
|
+
# As a [card issuer](https://stripe.com/docs/issuing), you can dispute transactions that the cardholder does not recognize, suspects to be fraudulent, or has other issues with.
|
7
|
+
#
|
8
|
+
# Related guide: [Issuing disputes](https://stripe.com/docs/issuing/purchases/disputes)
|
6
9
|
class Dispute < APIResource
|
7
10
|
extend Stripe::APIOperations::Create
|
8
11
|
extend Stripe::APIOperations::List
|
@@ -10,12 +13,19 @@ module Stripe
|
|
10
13
|
|
11
14
|
OBJECT_NAME = "issuing.dispute"
|
12
15
|
|
13
|
-
custom_method :submit, http_verb: :post
|
14
|
-
|
15
16
|
def submit(params = {}, opts = {})
|
16
17
|
request_stripe_object(
|
17
18
|
method: :post,
|
18
|
-
path:
|
19
|
+
path: format("/v1/issuing/disputes/%<dispute>s/submit", { dispute: CGI.escape(self["id"]) }),
|
20
|
+
params: params,
|
21
|
+
opts: opts
|
22
|
+
)
|
23
|
+
end
|
24
|
+
|
25
|
+
def self.submit(dispute, params = {}, opts = {})
|
26
|
+
request_stripe_object(
|
27
|
+
method: :post,
|
28
|
+
path: format("/v1/issuing/disputes/%<dispute>s/submit", { dispute: CGI.escape(dispute) }),
|
19
29
|
params: params,
|
20
30
|
opts: opts
|
21
31
|
)
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
module Issuing
|
6
|
+
# An issuing token object is created when an issued card is added to a digital wallet. As a [card issuer](https://stripe.com/docs/issuing), you can [view and manage these tokens](https://stripe.com/docs/issuing/controls/token-management) through Stripe.
|
7
|
+
class Token < APIResource
|
8
|
+
extend Stripe::APIOperations::List
|
9
|
+
include Stripe::APIOperations::Save
|
10
|
+
|
11
|
+
OBJECT_NAME = "issuing.token"
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -3,11 +3,60 @@
|
|
3
3
|
|
4
4
|
module Stripe
|
5
5
|
module Issuing
|
6
|
+
# Any use of an [issued card](https://stripe.com/docs/issuing) that results in funds entering or leaving
|
7
|
+
# your Stripe account, such as a completed purchase or refund, is represented by an Issuing
|
8
|
+
# `Transaction` object.
|
9
|
+
#
|
10
|
+
# Related guide: [Issued card transactions](https://stripe.com/docs/issuing/purchases/transactions)
|
6
11
|
class Transaction < APIResource
|
7
12
|
extend Stripe::APIOperations::List
|
8
13
|
include Stripe::APIOperations::Save
|
9
14
|
|
10
15
|
OBJECT_NAME = "issuing.transaction"
|
16
|
+
|
17
|
+
def test_helpers
|
18
|
+
TestHelpers.new(self)
|
19
|
+
end
|
20
|
+
|
21
|
+
class TestHelpers < APIResourceTestHelpers
|
22
|
+
RESOURCE_CLASS = Transaction
|
23
|
+
|
24
|
+
def self.create_force_capture(params = {}, opts = {})
|
25
|
+
request_stripe_object(
|
26
|
+
method: :post,
|
27
|
+
path: "/v1/test_helpers/issuing/transactions/create_force_capture",
|
28
|
+
params: params,
|
29
|
+
opts: opts
|
30
|
+
)
|
31
|
+
end
|
32
|
+
|
33
|
+
def self.create_unlinked_refund(params = {}, opts = {})
|
34
|
+
request_stripe_object(
|
35
|
+
method: :post,
|
36
|
+
path: "/v1/test_helpers/issuing/transactions/create_unlinked_refund",
|
37
|
+
params: params,
|
38
|
+
opts: opts
|
39
|
+
)
|
40
|
+
end
|
41
|
+
|
42
|
+
def self.refund(transaction, params = {}, opts = {})
|
43
|
+
request_stripe_object(
|
44
|
+
method: :post,
|
45
|
+
path: format("/v1/test_helpers/issuing/transactions/%<transaction>s/refund", { transaction: CGI.escape(transaction) }),
|
46
|
+
params: params,
|
47
|
+
opts: opts
|
48
|
+
)
|
49
|
+
end
|
50
|
+
|
51
|
+
def refund(params = {}, opts = {})
|
52
|
+
@resource.request_stripe_object(
|
53
|
+
method: :post,
|
54
|
+
path: format("/v1/test_helpers/issuing/transactions/%<transaction>s/refund", { transaction: CGI.escape(@resource["id"]) }),
|
55
|
+
params: params,
|
56
|
+
opts: opts
|
57
|
+
)
|
58
|
+
end
|
59
|
+
end
|
11
60
|
end
|
12
61
|
end
|
13
62
|
end
|
@@ -2,21 +2,38 @@
|
|
2
2
|
# frozen_string_literal: true
|
3
3
|
|
4
4
|
module Stripe
|
5
|
+
# A PaymentIntent guides you through the process of collecting a payment from your customer.
|
6
|
+
# We recommend that you create exactly one PaymentIntent for each order or
|
7
|
+
# customer session in your system. You can reference the PaymentIntent later to
|
8
|
+
# see the history of payment attempts for a particular session.
|
9
|
+
#
|
10
|
+
# A PaymentIntent transitions through
|
11
|
+
# [multiple statuses](https://stripe.com/docs/payments/intents#intent-statuses)
|
12
|
+
# throughout its lifetime as it interfaces with Stripe.js to perform
|
13
|
+
# authentication flows and ultimately creates at most one successful charge.
|
14
|
+
#
|
15
|
+
# Related guide: [Payment Intents API](https://stripe.com/docs/payments/payment-intents)
|
5
16
|
class PaymentIntent < APIResource
|
6
17
|
extend Stripe::APIOperations::Create
|
7
18
|
extend Stripe::APIOperations::List
|
19
|
+
extend Stripe::APIOperations::Search
|
8
20
|
include Stripe::APIOperations::Save
|
9
21
|
|
10
22
|
OBJECT_NAME = "payment_intent"
|
11
23
|
|
12
|
-
|
13
|
-
|
14
|
-
|
24
|
+
def apply_customer_balance(params = {}, opts = {})
|
25
|
+
request_stripe_object(
|
26
|
+
method: :post,
|
27
|
+
path: format("/v1/payment_intents/%<intent>s/apply_customer_balance", { intent: CGI.escape(self["id"]) }),
|
28
|
+
params: params,
|
29
|
+
opts: opts
|
30
|
+
)
|
31
|
+
end
|
15
32
|
|
16
33
|
def cancel(params = {}, opts = {})
|
17
34
|
request_stripe_object(
|
18
35
|
method: :post,
|
19
|
-
path:
|
36
|
+
path: format("/v1/payment_intents/%<intent>s/cancel", { intent: CGI.escape(self["id"]) }),
|
20
37
|
params: params,
|
21
38
|
opts: opts
|
22
39
|
)
|
@@ -25,7 +42,7 @@ module Stripe
|
|
25
42
|
def capture(params = {}, opts = {})
|
26
43
|
request_stripe_object(
|
27
44
|
method: :post,
|
28
|
-
path:
|
45
|
+
path: format("/v1/payment_intents/%<intent>s/capture", { intent: CGI.escape(self["id"]) }),
|
29
46
|
params: params,
|
30
47
|
opts: opts
|
31
48
|
)
|
@@ -34,10 +51,90 @@ module Stripe
|
|
34
51
|
def confirm(params = {}, opts = {})
|
35
52
|
request_stripe_object(
|
36
53
|
method: :post,
|
37
|
-
path:
|
54
|
+
path: format("/v1/payment_intents/%<intent>s/confirm", { intent: CGI.escape(self["id"]) }),
|
55
|
+
params: params,
|
56
|
+
opts: opts
|
57
|
+
)
|
58
|
+
end
|
59
|
+
|
60
|
+
def increment_authorization(params = {}, opts = {})
|
61
|
+
request_stripe_object(
|
62
|
+
method: :post,
|
63
|
+
path: format("/v1/payment_intents/%<intent>s/increment_authorization", { intent: CGI.escape(self["id"]) }),
|
64
|
+
params: params,
|
65
|
+
opts: opts
|
66
|
+
)
|
67
|
+
end
|
68
|
+
|
69
|
+
def verify_microdeposits(params = {}, opts = {})
|
70
|
+
request_stripe_object(
|
71
|
+
method: :post,
|
72
|
+
path: format("/v1/payment_intents/%<intent>s/verify_microdeposits", { intent: CGI.escape(self["id"]) }),
|
73
|
+
params: params,
|
74
|
+
opts: opts
|
75
|
+
)
|
76
|
+
end
|
77
|
+
|
78
|
+
def self.apply_customer_balance(intent, params = {}, opts = {})
|
79
|
+
request_stripe_object(
|
80
|
+
method: :post,
|
81
|
+
path: format("/v1/payment_intents/%<intent>s/apply_customer_balance", { intent: CGI.escape(intent) }),
|
82
|
+
params: params,
|
83
|
+
opts: opts
|
84
|
+
)
|
85
|
+
end
|
86
|
+
|
87
|
+
def self.cancel(intent, params = {}, opts = {})
|
88
|
+
request_stripe_object(
|
89
|
+
method: :post,
|
90
|
+
path: format("/v1/payment_intents/%<intent>s/cancel", { intent: CGI.escape(intent) }),
|
38
91
|
params: params,
|
39
92
|
opts: opts
|
40
93
|
)
|
41
94
|
end
|
95
|
+
|
96
|
+
def self.capture(intent, params = {}, opts = {})
|
97
|
+
request_stripe_object(
|
98
|
+
method: :post,
|
99
|
+
path: format("/v1/payment_intents/%<intent>s/capture", { intent: CGI.escape(intent) }),
|
100
|
+
params: params,
|
101
|
+
opts: opts
|
102
|
+
)
|
103
|
+
end
|
104
|
+
|
105
|
+
def self.confirm(intent, params = {}, opts = {})
|
106
|
+
request_stripe_object(
|
107
|
+
method: :post,
|
108
|
+
path: format("/v1/payment_intents/%<intent>s/confirm", { intent: CGI.escape(intent) }),
|
109
|
+
params: params,
|
110
|
+
opts: opts
|
111
|
+
)
|
112
|
+
end
|
113
|
+
|
114
|
+
def self.increment_authorization(intent, params = {}, opts = {})
|
115
|
+
request_stripe_object(
|
116
|
+
method: :post,
|
117
|
+
path: format("/v1/payment_intents/%<intent>s/increment_authorization", { intent: CGI.escape(intent) }),
|
118
|
+
params: params,
|
119
|
+
opts: opts
|
120
|
+
)
|
121
|
+
end
|
122
|
+
|
123
|
+
def self.verify_microdeposits(intent, params = {}, opts = {})
|
124
|
+
request_stripe_object(
|
125
|
+
method: :post,
|
126
|
+
path: format("/v1/payment_intents/%<intent>s/verify_microdeposits", { intent: CGI.escape(intent) }),
|
127
|
+
params: params,
|
128
|
+
opts: opts
|
129
|
+
)
|
130
|
+
end
|
131
|
+
|
132
|
+
def self.search(params = {}, opts = {})
|
133
|
+
_search("/v1/payment_intents/search", params, opts)
|
134
|
+
end
|
135
|
+
|
136
|
+
def self.search_auto_paging_each(params = {}, opts = {}, &blk)
|
137
|
+
search(params, opts).auto_paging_each(&blk)
|
138
|
+
end
|
42
139
|
end
|
43
140
|
end
|
@@ -0,0 +1,35 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
# A payment link is a shareable URL that will take your customers to a hosted payment page. A payment link can be shared and used multiple times.
|
6
|
+
#
|
7
|
+
# When a customer opens a payment link it will open a new [checkout session](https://stripe.com/docs/api/checkout/sessions) to render the payment page. You can use [checkout session events](https://stripe.com/docs/api/events/types#event_types-checkout.session.completed) to track payments through payment links.
|
8
|
+
#
|
9
|
+
# Related guide: [Payment Links API](https://stripe.com/docs/payment-links)
|
10
|
+
class PaymentLink < APIResource
|
11
|
+
extend Stripe::APIOperations::Create
|
12
|
+
extend Stripe::APIOperations::List
|
13
|
+
include Stripe::APIOperations::Save
|
14
|
+
|
15
|
+
OBJECT_NAME = "payment_link"
|
16
|
+
|
17
|
+
def list_line_items(params = {}, opts = {})
|
18
|
+
request_stripe_object(
|
19
|
+
method: :get,
|
20
|
+
path: format("/v1/payment_links/%<payment_link>s/line_items", { payment_link: CGI.escape(self["id"]) }),
|
21
|
+
params: params,
|
22
|
+
opts: opts
|
23
|
+
)
|
24
|
+
end
|
25
|
+
|
26
|
+
def self.list_line_items(payment_link, params = {}, opts = {})
|
27
|
+
request_stripe_object(
|
28
|
+
method: :get,
|
29
|
+
path: format("/v1/payment_links/%<payment_link>s/line_items", { payment_link: CGI.escape(payment_link) }),
|
30
|
+
params: params,
|
31
|
+
opts: opts
|
32
|
+
)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
@@ -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
|
)
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
# PaymentMethodConfigurations control which payment methods are displayed to your customers when you don't explicitly specify payment method types. You can have multiple configurations with different sets of payment methods for different scenarios.
|
6
|
+
#
|
7
|
+
# There are two types of PaymentMethodConfigurations. Which is used depends on the [charge type](https://stripe.com/docs/connect/charges):
|
8
|
+
#
|
9
|
+
# **Direct** configurations apply to payments created on your account, including Connect destination charges, Connect separate charges and transfers, and payments not involving Connect.
|
10
|
+
#
|
11
|
+
# **Child** configurations apply to payments created on your connected accounts using direct charges, and charges with the on_behalf_of parameter.
|
12
|
+
#
|
13
|
+
# Child configurations have a `parent` that sets default values and controls which settings connected accounts may override. You can specify a parent ID at payment time, and Stripe will automatically resolve the connected account's associated child configuration. Parent configurations are [managed in the dashboard](https://dashboard.stripe.com/settings/payment_methods/connected_accounts) and are not available in this API.
|
14
|
+
#
|
15
|
+
# Related guides:
|
16
|
+
# - [Payment Method Configurations API](https://stripe.com/docs/connect/payment-method-configurations)
|
17
|
+
# - [Multiple configurations on dynamic payment methods](https://stripe.com/docs/payments/multiple-payment-method-configs)
|
18
|
+
# - [Multiple configurations for your Connect accounts](https://stripe.com/docs/connect/multiple-payment-method-configurations)
|
19
|
+
class PaymentMethodConfiguration < APIResource
|
20
|
+
extend Stripe::APIOperations::Create
|
21
|
+
extend Stripe::APIOperations::List
|
22
|
+
include Stripe::APIOperations::Save
|
23
|
+
|
24
|
+
OBJECT_NAME = "payment_method_configuration"
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
# A payment method domain represents a web domain that you have registered with Stripe.
|
6
|
+
# Stripe Elements use registered payment method domains to control where certain payment methods are shown.
|
7
|
+
#
|
8
|
+
# Related guides: [Payment method domains](https://stripe.com/docs/payments/payment-methods/pmd-registration).
|
9
|
+
class PaymentMethodDomain < APIResource
|
10
|
+
extend Stripe::APIOperations::Create
|
11
|
+
extend Stripe::APIOperations::List
|
12
|
+
include Stripe::APIOperations::Save
|
13
|
+
|
14
|
+
OBJECT_NAME = "payment_method_domain"
|
15
|
+
|
16
|
+
def validate(params = {}, opts = {})
|
17
|
+
request_stripe_object(
|
18
|
+
method: :post,
|
19
|
+
path: format("/v1/payment_method_domains/%<payment_method_domain>s/validate", { payment_method_domain: CGI.escape(self["id"]) }),
|
20
|
+
params: params,
|
21
|
+
opts: opts
|
22
|
+
)
|
23
|
+
end
|
24
|
+
|
25
|
+
def self.validate(payment_method_domain, params = {}, opts = {})
|
26
|
+
request_stripe_object(
|
27
|
+
method: :post,
|
28
|
+
path: format("/v1/payment_method_domains/%<payment_method_domain>s/validate", { payment_method_domain: CGI.escape(payment_method_domain) }),
|
29
|
+
params: params,
|
30
|
+
opts: opts
|
31
|
+
)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -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
|
+
# and 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 prefilling and account onboarding steps.
|
9
|
+
#
|
10
|
+
# Related guide: [Handling identity verification with the API](https://stripe.com/docs/connect/handling-api-verification#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,11 +2,26 @@
|
|
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
|
14
|
+
extend Stripe::APIOperations::Search
|
8
15
|
include Stripe::APIOperations::Save
|
9
16
|
|
10
17
|
OBJECT_NAME = "price"
|
18
|
+
|
19
|
+
def self.search(params = {}, opts = {})
|
20
|
+
_search("/v1/prices/search", params, opts)
|
21
|
+
end
|
22
|
+
|
23
|
+
def self.search_auto_paging_each(params = {}, opts = {}, &blk)
|
24
|
+
search(params, opts).auto_paging_each(&blk)
|
25
|
+
end
|
11
26
|
end
|
12
27
|
end
|