stripe 10.13.0 → 10.14.0.pre.beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +305 -46
- data/OPENAPI_VERSION +1 -1
- data/README.md +11 -0
- data/VERSION +1 -1
- data/lib/stripe/api_operations/request.rb +2 -1
- data/lib/stripe/api_version.rb +1 -0
- data/lib/stripe/object_types.rb +23 -0
- data/lib/stripe/request_signing_authenticator.rb +79 -0
- data/lib/stripe/resources/account_notice.rb +32 -0
- data/lib/stripe/resources/billing/meter.rb +83 -0
- data/lib/stripe/resources/billing/meter_event.rb +27 -0
- data/lib/stripe/resources/billing/meter_event_adjustment.rb +26 -0
- data/lib/stripe/resources/billing/meter_event_summary.rb +15 -0
- data/lib/stripe/resources/capital/financing_offer.rb +49 -0
- data/lib/stripe/resources/capital/financing_summary.rb +15 -0
- data/lib/stripe/resources/capital/financing_transaction.rb +27 -0
- data/lib/stripe/resources/entitlements/active_entitlement.rb +26 -0
- data/lib/stripe/resources/entitlements/feature.rb +38 -0
- data/lib/stripe/resources/financial_connections/account.rb +3 -0
- data/lib/stripe/resources/financial_connections/account_inferred_balance.rb +14 -0
- data/lib/stripe/resources/gift_cards/card.rb +59 -0
- data/lib/stripe/resources/gift_cards/transaction.rb +93 -0
- data/lib/stripe/resources/invoice.rb +113 -0
- data/lib/stripe/resources/invoice_payment.rb +12 -0
- data/lib/stripe/resources/issuing/credit_underwriting_record.rb +88 -0
- data/lib/stripe/resources/margin.rb +37 -0
- data/lib/stripe/resources/order.rb +120 -0
- data/lib/stripe/resources/payment_intent.rb +50 -0
- data/lib/stripe/resources/product.rb +3 -0
- data/lib/stripe/resources/product_feature.rb +13 -0
- data/lib/stripe/resources/quote.rb +106 -2
- data/lib/stripe/resources/quote_phase.rb +39 -0
- data/lib/stripe/resources/quote_preview_invoice.rb +43 -0
- data/lib/stripe/resources/quote_preview_subscription_schedule.rb +11 -0
- data/lib/stripe/resources/subscription_schedule.rb +20 -0
- data/lib/stripe/resources/tax/form.rb +49 -0
- data/lib/stripe/resources/terminal/reader.rb +60 -0
- data/lib/stripe/resources.rb +22 -0
- data/lib/stripe/stripe_client.rb +62 -28
- data/lib/stripe/stripe_configuration.rb +2 -1
- data/lib/stripe/util.rb +8 -1
- data/lib/stripe/version.rb +1 -1
- data/lib/stripe.rb +54 -0
- metadata +26 -3
data/lib/stripe/object_types.rb
CHANGED
@@ -15,6 +15,7 @@ module Stripe
|
|
15
15
|
# The beginning of the section generated from our OpenAPI spec
|
16
16
|
Account.object_name => Account,
|
17
17
|
AccountLink.object_name => AccountLink,
|
18
|
+
AccountNotice.object_name => AccountNotice,
|
18
19
|
AccountSession.object_name => AccountSession,
|
19
20
|
ApplePayDomain.object_name => ApplePayDomain,
|
20
21
|
ApplicationFee.object_name => ApplicationFee,
|
@@ -23,9 +24,16 @@ module Stripe
|
|
23
24
|
Balance.object_name => Balance,
|
24
25
|
BalanceTransaction.object_name => BalanceTransaction,
|
25
26
|
BankAccount.object_name => BankAccount,
|
27
|
+
Billing::Meter.object_name => Billing::Meter,
|
28
|
+
Billing::MeterEvent.object_name => Billing::MeterEvent,
|
29
|
+
Billing::MeterEventAdjustment.object_name => Billing::MeterEventAdjustment,
|
30
|
+
Billing::MeterEventSummary.object_name => Billing::MeterEventSummary,
|
26
31
|
BillingPortal::Configuration.object_name => BillingPortal::Configuration,
|
27
32
|
BillingPortal::Session.object_name => BillingPortal::Session,
|
28
33
|
Capability.object_name => Capability,
|
34
|
+
Capital::FinancingOffer.object_name => Capital::FinancingOffer,
|
35
|
+
Capital::FinancingSummary.object_name => Capital::FinancingSummary,
|
36
|
+
Capital::FinancingTransaction.object_name => Capital::FinancingTransaction,
|
29
37
|
Card.object_name => Card,
|
30
38
|
CashBalance.object_name => CashBalance,
|
31
39
|
Charge.object_name => Charge,
|
@@ -44,26 +52,34 @@ module Stripe
|
|
44
52
|
CustomerSession.object_name => CustomerSession,
|
45
53
|
Discount.object_name => Discount,
|
46
54
|
Dispute.object_name => Dispute,
|
55
|
+
Entitlements::ActiveEntitlement.object_name => Entitlements::ActiveEntitlement,
|
56
|
+
Entitlements::Feature.object_name => Entitlements::Feature,
|
47
57
|
EphemeralKey.object_name => EphemeralKey,
|
48
58
|
Event.object_name => Event,
|
49
59
|
ExchangeRate.object_name => ExchangeRate,
|
50
60
|
File.object_name => File,
|
51
61
|
FileLink.object_name => FileLink,
|
52
62
|
FinancialConnections::Account.object_name => FinancialConnections::Account,
|
63
|
+
FinancialConnections::AccountInferredBalance.object_name =>
|
64
|
+
FinancialConnections::AccountInferredBalance,
|
53
65
|
FinancialConnections::AccountOwner.object_name => FinancialConnections::AccountOwner,
|
54
66
|
FinancialConnections::AccountOwnership.object_name => FinancialConnections::AccountOwnership,
|
55
67
|
FinancialConnections::Session.object_name => FinancialConnections::Session,
|
56
68
|
FinancialConnections::Transaction.object_name => FinancialConnections::Transaction,
|
57
69
|
Forwarding::Request.object_name => Forwarding::Request,
|
58
70
|
FundingInstructions.object_name => FundingInstructions,
|
71
|
+
GiftCards::Card.object_name => GiftCards::Card,
|
72
|
+
GiftCards::Transaction.object_name => GiftCards::Transaction,
|
59
73
|
Identity::VerificationReport.object_name => Identity::VerificationReport,
|
60
74
|
Identity::VerificationSession.object_name => Identity::VerificationSession,
|
61
75
|
Invoice.object_name => Invoice,
|
62
76
|
InvoiceItem.object_name => InvoiceItem,
|
63
77
|
InvoiceLineItem.object_name => InvoiceLineItem,
|
78
|
+
InvoicePayment.object_name => InvoicePayment,
|
64
79
|
Issuing::Authorization.object_name => Issuing::Authorization,
|
65
80
|
Issuing::Card.object_name => Issuing::Card,
|
66
81
|
Issuing::Cardholder.object_name => Issuing::Cardholder,
|
82
|
+
Issuing::CreditUnderwritingRecord.object_name => Issuing::CreditUnderwritingRecord,
|
67
83
|
Issuing::Dispute.object_name => Issuing::Dispute,
|
68
84
|
Issuing::PersonalizationDesign.object_name => Issuing::PersonalizationDesign,
|
69
85
|
Issuing::PhysicalBundle.object_name => Issuing::PhysicalBundle,
|
@@ -72,6 +88,8 @@ module Stripe
|
|
72
88
|
LineItem.object_name => LineItem,
|
73
89
|
LoginLink.object_name => LoginLink,
|
74
90
|
Mandate.object_name => Mandate,
|
91
|
+
Margin.object_name => Margin,
|
92
|
+
Order.object_name => Order,
|
75
93
|
PaymentIntent.object_name => PaymentIntent,
|
76
94
|
PaymentLink.object_name => PaymentLink,
|
77
95
|
PaymentMethod.object_name => PaymentMethod,
|
@@ -82,8 +100,12 @@ module Stripe
|
|
82
100
|
Plan.object_name => Plan,
|
83
101
|
Price.object_name => Price,
|
84
102
|
Product.object_name => Product,
|
103
|
+
ProductFeature.object_name => ProductFeature,
|
85
104
|
PromotionCode.object_name => PromotionCode,
|
86
105
|
Quote.object_name => Quote,
|
106
|
+
QuotePhase.object_name => QuotePhase,
|
107
|
+
QuotePreviewInvoice.object_name => QuotePreviewInvoice,
|
108
|
+
QuotePreviewSubscriptionSchedule.object_name => QuotePreviewSubscriptionSchedule,
|
87
109
|
Radar::EarlyFraudWarning.object_name => Radar::EarlyFraudWarning,
|
88
110
|
Radar::ValueList.object_name => Radar::ValueList,
|
89
111
|
Radar::ValueListItem.object_name => Radar::ValueListItem,
|
@@ -103,6 +125,7 @@ module Stripe
|
|
103
125
|
SubscriptionSchedule.object_name => SubscriptionSchedule,
|
104
126
|
Tax::Calculation.object_name => Tax::Calculation,
|
105
127
|
Tax::CalculationLineItem.object_name => Tax::CalculationLineItem,
|
128
|
+
Tax::Form.object_name => Tax::Form,
|
106
129
|
Tax::Registration.object_name => Tax::Registration,
|
107
130
|
Tax::Settings.object_name => Tax::Settings,
|
108
131
|
Tax::Transaction.object_name => Tax::Transaction,
|
@@ -0,0 +1,79 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Stripe
|
4
|
+
class RequestSigningAuthenticator
|
5
|
+
AUTHORIZATION_HEADER_NAME = "Authorization"
|
6
|
+
CONTENT_TYPE_HEADER_NAME = "Content-Type"
|
7
|
+
STRIPE_CONTEXT_HEADER_NAME = "Stripe-Context"
|
8
|
+
STRIPE_ACCOUNT_HEADER_NAME = "Stripe-Account"
|
9
|
+
CONTENT_DIGEST_HEADER_NAME = "Content-Digest"
|
10
|
+
SIGNATURE_INPUT_HEADER_NAME = "Signature-Input"
|
11
|
+
SIGNATURE_HEADER_NAME = "Signature"
|
12
|
+
|
13
|
+
attr_reader :auth_token, :sign_lambda
|
14
|
+
|
15
|
+
def initialize(auth_token, sign_lambda)
|
16
|
+
raise ArgumentError, "auth_token must be a string" unless auth_token.is_a?(String)
|
17
|
+
raise ArgumentError, "sign_lambda must be a lambda" unless sign_lambda.is_a?(Proc)
|
18
|
+
|
19
|
+
@auth_token = auth_token
|
20
|
+
@sign_lambda = sign_lambda
|
21
|
+
end
|
22
|
+
|
23
|
+
def authenticate(method, headers, body)
|
24
|
+
covered_headers = [CONTENT_TYPE_HEADER_NAME,
|
25
|
+
CONTENT_DIGEST_HEADER_NAME,
|
26
|
+
STRIPE_CONTEXT_HEADER_NAME,
|
27
|
+
STRIPE_ACCOUNT_HEADER_NAME,
|
28
|
+
AUTHORIZATION_HEADER_NAME,]
|
29
|
+
|
30
|
+
headers[AUTHORIZATION_HEADER_NAME] = "STRIPE-V2-SIG #{auth_token}"
|
31
|
+
|
32
|
+
if method == :get
|
33
|
+
covered_headers -= [CONTENT_TYPE_HEADER_NAME,
|
34
|
+
CONTENT_DIGEST_HEADER_NAME,]
|
35
|
+
else
|
36
|
+
content = body || ""
|
37
|
+
headers[CONTENT_DIGEST_HEADER_NAME] =
|
38
|
+
%(sha-256=:#{content_digest(content)}:)
|
39
|
+
end
|
40
|
+
|
41
|
+
covered_headers_formatted = covered_headers
|
42
|
+
.map { |string| %("#{string.downcase}") }
|
43
|
+
.join(" ")
|
44
|
+
|
45
|
+
signature_input = "(#{covered_headers_formatted});created=#{created_time}"
|
46
|
+
|
47
|
+
inputs = covered_headers
|
48
|
+
.map { |header| %("#{header.downcase}": #{headers[header]}) }
|
49
|
+
.join("\n")
|
50
|
+
|
51
|
+
signature_base = %(#{inputs}\n"@signature-params": #{signature_input})
|
52
|
+
.encode(Encoding::UTF_8)
|
53
|
+
|
54
|
+
headers[SIGNATURE_INPUT_HEADER_NAME] = "sig1=#{signature_input}"
|
55
|
+
|
56
|
+
headers[SIGNATURE_HEADER_NAME] =
|
57
|
+
"sig1=:#{encoded_signature(signature_base)}:"
|
58
|
+
end
|
59
|
+
|
60
|
+
private def sign(signature_base)
|
61
|
+
@sign_lambda.call(signature_base)
|
62
|
+
end
|
63
|
+
|
64
|
+
private def encoded_signature(signature_base)
|
65
|
+
Base64.strict_encode64(sign(signature_base))
|
66
|
+
rescue StandardError
|
67
|
+
raise AuthenticationError, "Encountered '#{e.message} (#{e.class})' " \
|
68
|
+
"when calculating request signature."
|
69
|
+
end
|
70
|
+
|
71
|
+
private def content_digest(content)
|
72
|
+
Base64.strict_encode64(OpenSSL::Digest.new("SHA256").digest(content))
|
73
|
+
end
|
74
|
+
|
75
|
+
private def created_time
|
76
|
+
Time.now.to_i
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
# A notice to a Connected account. Notice can be sent by Stripe on your behalf or you can opt to send the notices yourself.
|
6
|
+
#
|
7
|
+
# See the [guide to send notices](https://stripe.com/docs/issuing/compliance-us/issuing-regulated-customer-notices) to your connected accounts.
|
8
|
+
class AccountNotice < APIResource
|
9
|
+
extend Stripe::APIOperations::List
|
10
|
+
include Stripe::APIOperations::Save
|
11
|
+
|
12
|
+
OBJECT_NAME = "account_notice"
|
13
|
+
def self.object_name
|
14
|
+
"account_notice"
|
15
|
+
end
|
16
|
+
|
17
|
+
# Retrieves a list of AccountNotice objects. The objects are sorted in descending order by creation date, with the most-recently-created object appearing first.
|
18
|
+
def self.list(filters = {}, opts = {})
|
19
|
+
request_stripe_object(method: :get, path: "/v1/account_notices", params: filters, opts: opts)
|
20
|
+
end
|
21
|
+
|
22
|
+
# Updates an AccountNotice object.
|
23
|
+
def self.update(id, params = {}, opts = {})
|
24
|
+
request_stripe_object(
|
25
|
+
method: :post,
|
26
|
+
path: format("/v1/account_notices/%<id>s", { id: CGI.escape(id) }),
|
27
|
+
params: params,
|
28
|
+
opts: opts
|
29
|
+
)
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,83 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
module Billing
|
6
|
+
# A billing meter is a resource that allows you to track usage of a particular event. For example, you might create a billing meter to track the number of API calls made by a particular user. You can then use the billing meter to charge the user for the number of API calls they make.
|
7
|
+
class Meter < APIResource
|
8
|
+
extend Stripe::APIOperations::Create
|
9
|
+
extend Stripe::APIOperations::List
|
10
|
+
extend Stripe::APIOperations::NestedResource
|
11
|
+
include Stripe::APIOperations::Save
|
12
|
+
|
13
|
+
OBJECT_NAME = "billing.meter"
|
14
|
+
def self.object_name
|
15
|
+
"billing.meter"
|
16
|
+
end
|
17
|
+
|
18
|
+
nested_resource_class_methods :event_summary,
|
19
|
+
operations: %i[list],
|
20
|
+
resource_plural: "event_summaries"
|
21
|
+
|
22
|
+
# Creates a billing meter
|
23
|
+
def self.create(params = {}, opts = {})
|
24
|
+
request_stripe_object(method: :post, path: "/v1/billing/meters", params: params, opts: opts)
|
25
|
+
end
|
26
|
+
|
27
|
+
# Deactivates a billing meter
|
28
|
+
def deactivate(params = {}, opts = {})
|
29
|
+
request_stripe_object(
|
30
|
+
method: :post,
|
31
|
+
path: format("/v1/billing/meters/%<id>s/deactivate", { id: CGI.escape(self["id"]) }),
|
32
|
+
params: params,
|
33
|
+
opts: opts
|
34
|
+
)
|
35
|
+
end
|
36
|
+
|
37
|
+
# Deactivates a billing meter
|
38
|
+
def self.deactivate(id, params = {}, opts = {})
|
39
|
+
request_stripe_object(
|
40
|
+
method: :post,
|
41
|
+
path: format("/v1/billing/meters/%<id>s/deactivate", { id: CGI.escape(id) }),
|
42
|
+
params: params,
|
43
|
+
opts: opts
|
44
|
+
)
|
45
|
+
end
|
46
|
+
|
47
|
+
# Retrieve a list of billing meters.
|
48
|
+
def self.list(filters = {}, opts = {})
|
49
|
+
request_stripe_object(method: :get, path: "/v1/billing/meters", params: filters, opts: opts)
|
50
|
+
end
|
51
|
+
|
52
|
+
# Reactivates a billing meter
|
53
|
+
def reactivate(params = {}, opts = {})
|
54
|
+
request_stripe_object(
|
55
|
+
method: :post,
|
56
|
+
path: format("/v1/billing/meters/%<id>s/reactivate", { id: CGI.escape(self["id"]) }),
|
57
|
+
params: params,
|
58
|
+
opts: opts
|
59
|
+
)
|
60
|
+
end
|
61
|
+
|
62
|
+
# Reactivates a billing meter
|
63
|
+
def self.reactivate(id, params = {}, opts = {})
|
64
|
+
request_stripe_object(
|
65
|
+
method: :post,
|
66
|
+
path: format("/v1/billing/meters/%<id>s/reactivate", { id: CGI.escape(id) }),
|
67
|
+
params: params,
|
68
|
+
opts: opts
|
69
|
+
)
|
70
|
+
end
|
71
|
+
|
72
|
+
# Updates a billing meter
|
73
|
+
def self.update(id, params = {}, opts = {})
|
74
|
+
request_stripe_object(
|
75
|
+
method: :post,
|
76
|
+
path: format("/v1/billing/meters/%<id>s", { id: CGI.escape(id) }),
|
77
|
+
params: params,
|
78
|
+
opts: opts
|
79
|
+
)
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
module Billing
|
6
|
+
# A billing meter event represents a customer's usage of a product. Meter events are used to bill a customer based on their usage.
|
7
|
+
# Meter events are associated with billing meters, which define the shape of the event's payload and how those events are aggregated for billing.
|
8
|
+
class MeterEvent < APIResource
|
9
|
+
extend Stripe::APIOperations::Create
|
10
|
+
|
11
|
+
OBJECT_NAME = "billing.meter_event"
|
12
|
+
def self.object_name
|
13
|
+
"billing.meter_event"
|
14
|
+
end
|
15
|
+
|
16
|
+
# Creates a billing meter event
|
17
|
+
def self.create(params = {}, opts = {})
|
18
|
+
request_stripe_object(
|
19
|
+
method: :post,
|
20
|
+
path: "/v1/billing/meter_events",
|
21
|
+
params: params,
|
22
|
+
opts: opts
|
23
|
+
)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
module Billing
|
6
|
+
# A billing meter event adjustment represents the status of a meter event adjustment.
|
7
|
+
class MeterEventAdjustment < APIResource
|
8
|
+
extend Stripe::APIOperations::Create
|
9
|
+
|
10
|
+
OBJECT_NAME = "billing.meter_event_adjustment"
|
11
|
+
def self.object_name
|
12
|
+
"billing.meter_event_adjustment"
|
13
|
+
end
|
14
|
+
|
15
|
+
# Creates a billing meter event adjustment
|
16
|
+
def self.create(params = {}, opts = {})
|
17
|
+
request_stripe_object(
|
18
|
+
method: :post,
|
19
|
+
path: "/v1/billing/meter_event_adjustments",
|
20
|
+
params: params,
|
21
|
+
opts: opts
|
22
|
+
)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
module Billing
|
6
|
+
# A billing meter event summary represents an aggregated view of a customer's billing meter events within a specified timeframe. It indicates how much
|
7
|
+
# usage was accrued by a customer for that period.
|
8
|
+
class MeterEventSummary < APIResource
|
9
|
+
OBJECT_NAME = "billing.meter_event_summary"
|
10
|
+
def self.object_name
|
11
|
+
"billing.meter_event_summary"
|
12
|
+
end
|
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 Capital
|
6
|
+
# This is an object representing an offer of financing from
|
7
|
+
# Stripe Capital to a Connect subaccount.
|
8
|
+
class FinancingOffer < APIResource
|
9
|
+
extend Stripe::APIOperations::List
|
10
|
+
|
11
|
+
OBJECT_NAME = "capital.financing_offer"
|
12
|
+
def self.object_name
|
13
|
+
"capital.financing_offer"
|
14
|
+
end
|
15
|
+
|
16
|
+
# Retrieves the financing offers available for Connected accounts that belong to your platform.
|
17
|
+
def self.list(filters = {}, opts = {})
|
18
|
+
request_stripe_object(
|
19
|
+
method: :get,
|
20
|
+
path: "/v1/capital/financing_offers",
|
21
|
+
params: filters,
|
22
|
+
opts: opts
|
23
|
+
)
|
24
|
+
end
|
25
|
+
|
26
|
+
# Acknowledges that platform has received and delivered the financing_offer to
|
27
|
+
# the intended merchant recipient.
|
28
|
+
def mark_delivered(params = {}, opts = {})
|
29
|
+
request_stripe_object(
|
30
|
+
method: :post,
|
31
|
+
path: format("/v1/capital/financing_offers/%<financing_offer>s/mark_delivered", { financing_offer: CGI.escape(self["id"]) }),
|
32
|
+
params: params,
|
33
|
+
opts: opts
|
34
|
+
)
|
35
|
+
end
|
36
|
+
|
37
|
+
# Acknowledges that platform has received and delivered the financing_offer to
|
38
|
+
# the intended merchant recipient.
|
39
|
+
def self.mark_delivered(financing_offer, params = {}, opts = {})
|
40
|
+
request_stripe_object(
|
41
|
+
method: :post,
|
42
|
+
path: format("/v1/capital/financing_offers/%<financing_offer>s/mark_delivered", { financing_offer: CGI.escape(financing_offer) }),
|
43
|
+
params: params,
|
44
|
+
opts: opts
|
45
|
+
)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
module Capital
|
6
|
+
# A financing object describes an account's current financing state. Used by Connect
|
7
|
+
# platforms to read the state of Capital offered to their connected accounts.
|
8
|
+
class FinancingSummary < SingletonAPIResource
|
9
|
+
OBJECT_NAME = "capital.financing_summary"
|
10
|
+
def self.object_name
|
11
|
+
"capital.financing_summary"
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
module Capital
|
6
|
+
# This is an object representing the details of a transaction on a Capital financing object.
|
7
|
+
class FinancingTransaction < APIResource
|
8
|
+
extend Stripe::APIOperations::List
|
9
|
+
|
10
|
+
OBJECT_NAME = "capital.financing_transaction"
|
11
|
+
def self.object_name
|
12
|
+
"capital.financing_transaction"
|
13
|
+
end
|
14
|
+
|
15
|
+
# Returns a list of financing transactions. The transactions are returned in sorted order,
|
16
|
+
# with the most recent transactions appearing first.
|
17
|
+
def self.list(filters = {}, opts = {})
|
18
|
+
request_stripe_object(
|
19
|
+
method: :get,
|
20
|
+
path: "/v1/capital/financing_transactions",
|
21
|
+
params: filters,
|
22
|
+
opts: opts
|
23
|
+
)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
module Entitlements
|
6
|
+
# An active entitlement describes access to a feature for a customer.
|
7
|
+
class ActiveEntitlement < APIResource
|
8
|
+
extend Stripe::APIOperations::List
|
9
|
+
|
10
|
+
OBJECT_NAME = "entitlements.active_entitlement"
|
11
|
+
def self.object_name
|
12
|
+
"entitlements.active_entitlement"
|
13
|
+
end
|
14
|
+
|
15
|
+
# Retrieve a list of active entitlements for a customer
|
16
|
+
def self.list(filters = {}, opts = {})
|
17
|
+
request_stripe_object(
|
18
|
+
method: :get,
|
19
|
+
path: "/v1/entitlements/active_entitlements",
|
20
|
+
params: filters,
|
21
|
+
opts: opts
|
22
|
+
)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
module Entitlements
|
6
|
+
# A feature represents a monetizable ability or functionality in your system.
|
7
|
+
# Features can be assigned to products, and when those products are purchased, Stripe will create an entitlement to the feature for the purchasing customer.
|
8
|
+
class Feature < APIResource
|
9
|
+
extend Stripe::APIOperations::Create
|
10
|
+
extend Stripe::APIOperations::List
|
11
|
+
|
12
|
+
OBJECT_NAME = "entitlements.feature"
|
13
|
+
def self.object_name
|
14
|
+
"entitlements.feature"
|
15
|
+
end
|
16
|
+
|
17
|
+
# Creates a feature
|
18
|
+
def self.create(params = {}, opts = {})
|
19
|
+
request_stripe_object(
|
20
|
+
method: :post,
|
21
|
+
path: "/v1/entitlements/features",
|
22
|
+
params: params,
|
23
|
+
opts: opts
|
24
|
+
)
|
25
|
+
end
|
26
|
+
|
27
|
+
# Retrieve a list of features
|
28
|
+
def self.list(filters = {}, opts = {})
|
29
|
+
request_stripe_object(
|
30
|
+
method: :get,
|
31
|
+
path: "/v1/entitlements/features",
|
32
|
+
params: filters,
|
33
|
+
opts: opts
|
34
|
+
)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -6,12 +6,15 @@ module Stripe
|
|
6
6
|
# A Financial Connections Account represents an account that exists outside of Stripe, to which you have been granted some degree of access.
|
7
7
|
class Account < APIResource
|
8
8
|
extend Stripe::APIOperations::List
|
9
|
+
extend Stripe::APIOperations::NestedResource
|
9
10
|
|
10
11
|
OBJECT_NAME = "financial_connections.account"
|
11
12
|
def self.object_name
|
12
13
|
"financial_connections.account"
|
13
14
|
end
|
14
15
|
|
16
|
+
nested_resource_class_methods :inferred_balance, operations: %i[list]
|
17
|
+
|
15
18
|
# Disables your access to a Financial Connections Account. You will no longer be able to access data associated with the account (e.g. balances, transactions).
|
16
19
|
def disconnect(params = {}, opts = {})
|
17
20
|
request_stripe_object(
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
module FinancialConnections
|
6
|
+
# A historical balance for the account on a particular day. It may be sourced from a balance snapshot provided by a financial institution, or inferred using transactions data.
|
7
|
+
class AccountInferredBalance < APIResource
|
8
|
+
OBJECT_NAME = "financial_connections.account_inferred_balance"
|
9
|
+
def self.object_name
|
10
|
+
"financial_connections.account_inferred_balance"
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,59 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
module GiftCards
|
6
|
+
# A gift card represents a single gift card owned by a customer, including the
|
7
|
+
# remaining balance, gift card code, and whether or not it is active.
|
8
|
+
class Card < APIResource
|
9
|
+
extend Stripe::APIOperations::Create
|
10
|
+
extend Stripe::APIOperations::List
|
11
|
+
include Stripe::APIOperations::Save
|
12
|
+
|
13
|
+
OBJECT_NAME = "gift_cards.card"
|
14
|
+
def self.object_name
|
15
|
+
"gift_cards.card"
|
16
|
+
end
|
17
|
+
|
18
|
+
# Creates a new gift card object.
|
19
|
+
def self.create(params = {}, opts = {})
|
20
|
+
request_stripe_object(
|
21
|
+
method: :post,
|
22
|
+
path: "/v1/gift_cards/cards",
|
23
|
+
params: params,
|
24
|
+
opts: opts
|
25
|
+
)
|
26
|
+
end
|
27
|
+
|
28
|
+
# List gift cards for an account
|
29
|
+
def self.list(filters = {}, opts = {})
|
30
|
+
request_stripe_object(
|
31
|
+
method: :get,
|
32
|
+
path: "/v1/gift_cards/cards",
|
33
|
+
params: filters,
|
34
|
+
opts: opts
|
35
|
+
)
|
36
|
+
end
|
37
|
+
|
38
|
+
# Update a gift card
|
39
|
+
def self.update(id, params = {}, opts = {})
|
40
|
+
request_stripe_object(
|
41
|
+
method: :post,
|
42
|
+
path: format("/v1/gift_cards/cards/%<id>s", { id: CGI.escape(id) }),
|
43
|
+
params: params,
|
44
|
+
opts: opts
|
45
|
+
)
|
46
|
+
end
|
47
|
+
|
48
|
+
# Validates a gift card code, returning the matching gift card object if it exists.
|
49
|
+
def self.validate(params = {}, opts = {})
|
50
|
+
request_stripe_object(
|
51
|
+
method: :post,
|
52
|
+
path: "/v1/gift_cards/cards/validate",
|
53
|
+
params: params,
|
54
|
+
opts: opts
|
55
|
+
)
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|