stripe 10.10.0 → 10.11.0.pre.beta.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +285 -40
- 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/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/confirmation_token.rb +16 -0
- data/lib/stripe/resources/customer.rb +11 -0
- data/lib/stripe/resources/customer_entitlement.rb +12 -0
- data/lib/stripe/resources/customer_entitlement_summary.rb +12 -0
- data/lib/stripe/resources/entitlements/event.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 +53 -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/issuing/personalization_design.rb +119 -0
- data/lib/stripe/resources/issuing/physical_bundle.rb +26 -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/quote.rb +104 -0
- 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 +46 -0
- metadata +26 -3
data/lib/stripe/object_types.rb
CHANGED
@@ -16,6 +16,7 @@ module Stripe
|
|
16
16
|
File.object_name_alt => File,
|
17
17
|
Account.object_name => Account,
|
18
18
|
AccountLink.object_name => AccountLink,
|
19
|
+
AccountNotice.object_name => AccountNotice,
|
19
20
|
AccountSession.object_name => AccountSession,
|
20
21
|
ApplePayDomain.object_name => ApplePayDomain,
|
21
22
|
ApplicationFee.object_name => ApplicationFee,
|
@@ -27,6 +28,9 @@ module Stripe
|
|
27
28
|
BillingPortal::Configuration.object_name => BillingPortal::Configuration,
|
28
29
|
BillingPortal::Session.object_name => BillingPortal::Session,
|
29
30
|
Capability.object_name => Capability,
|
31
|
+
Capital::FinancingOffer.object_name => Capital::FinancingOffer,
|
32
|
+
Capital::FinancingSummary.object_name => Capital::FinancingSummary,
|
33
|
+
Capital::FinancingTransaction.object_name => Capital::FinancingTransaction,
|
30
34
|
Card.object_name => Card,
|
31
35
|
CashBalance.object_name => CashBalance,
|
32
36
|
Charge.object_name => Charge,
|
@@ -34,6 +38,7 @@ module Stripe
|
|
34
38
|
Climate::Order.object_name => Climate::Order,
|
35
39
|
Climate::Product.object_name => Climate::Product,
|
36
40
|
Climate::Supplier.object_name => Climate::Supplier,
|
41
|
+
ConfirmationToken.object_name => ConfirmationToken,
|
37
42
|
CountrySpec.object_name => CountrySpec,
|
38
43
|
Coupon.object_name => Coupon,
|
39
44
|
CreditNote.object_name => CreditNote,
|
@@ -41,35 +46,49 @@ module Stripe
|
|
41
46
|
Customer.object_name => Customer,
|
42
47
|
CustomerBalanceTransaction.object_name => CustomerBalanceTransaction,
|
43
48
|
CustomerCashBalanceTransaction.object_name => CustomerCashBalanceTransaction,
|
49
|
+
CustomerEntitlement.object_name => CustomerEntitlement,
|
50
|
+
CustomerEntitlementSummary.object_name => CustomerEntitlementSummary,
|
44
51
|
CustomerSession.object_name => CustomerSession,
|
45
52
|
Discount.object_name => Discount,
|
46
53
|
Dispute.object_name => Dispute,
|
54
|
+
Entitlements::Event.object_name => Entitlements::Event,
|
55
|
+
Entitlements::Feature.object_name => Entitlements::Feature,
|
47
56
|
EphemeralKey.object_name => EphemeralKey,
|
48
57
|
Event.object_name => Event,
|
49
58
|
ExchangeRate.object_name => ExchangeRate,
|
50
59
|
File.object_name => File,
|
51
60
|
FileLink.object_name => FileLink,
|
52
61
|
FinancialConnections::Account.object_name => FinancialConnections::Account,
|
62
|
+
FinancialConnections::AccountInferredBalance.object_name =>
|
63
|
+
FinancialConnections::AccountInferredBalance,
|
53
64
|
FinancialConnections::AccountOwner.object_name => FinancialConnections::AccountOwner,
|
54
65
|
FinancialConnections::AccountOwnership.object_name =>
|
55
66
|
FinancialConnections::AccountOwnership,
|
56
67
|
FinancialConnections::Session.object_name => FinancialConnections::Session,
|
57
68
|
FinancialConnections::Transaction.object_name => FinancialConnections::Transaction,
|
58
69
|
FundingInstructions.object_name => FundingInstructions,
|
70
|
+
GiftCards::Card.object_name => GiftCards::Card,
|
71
|
+
GiftCards::Transaction.object_name => GiftCards::Transaction,
|
59
72
|
Identity::VerificationReport.object_name => Identity::VerificationReport,
|
60
73
|
Identity::VerificationSession.object_name => Identity::VerificationSession,
|
61
74
|
Invoice.object_name => Invoice,
|
62
75
|
InvoiceItem.object_name => InvoiceItem,
|
63
76
|
InvoiceLineItem.object_name => InvoiceLineItem,
|
77
|
+
InvoicePayment.object_name => InvoicePayment,
|
64
78
|
Issuing::Authorization.object_name => Issuing::Authorization,
|
65
79
|
Issuing::Card.object_name => Issuing::Card,
|
66
80
|
Issuing::Cardholder.object_name => Issuing::Cardholder,
|
81
|
+
Issuing::CreditUnderwritingRecord.object_name => Issuing::CreditUnderwritingRecord,
|
67
82
|
Issuing::Dispute.object_name => Issuing::Dispute,
|
83
|
+
Issuing::PersonalizationDesign.object_name => Issuing::PersonalizationDesign,
|
84
|
+
Issuing::PhysicalBundle.object_name => Issuing::PhysicalBundle,
|
68
85
|
Issuing::Token.object_name => Issuing::Token,
|
69
86
|
Issuing::Transaction.object_name => Issuing::Transaction,
|
70
87
|
LineItem.object_name => LineItem,
|
71
88
|
LoginLink.object_name => LoginLink,
|
72
89
|
Mandate.object_name => Mandate,
|
90
|
+
Margin.object_name => Margin,
|
91
|
+
Order.object_name => Order,
|
73
92
|
PaymentIntent.object_name => PaymentIntent,
|
74
93
|
PaymentLink.object_name => PaymentLink,
|
75
94
|
PaymentMethod.object_name => PaymentMethod,
|
@@ -82,6 +101,9 @@ module Stripe
|
|
82
101
|
Product.object_name => Product,
|
83
102
|
PromotionCode.object_name => PromotionCode,
|
84
103
|
Quote.object_name => Quote,
|
104
|
+
QuotePhase.object_name => QuotePhase,
|
105
|
+
QuotePreviewInvoice.object_name => QuotePreviewInvoice,
|
106
|
+
QuotePreviewSubscriptionSchedule.object_name => QuotePreviewSubscriptionSchedule,
|
85
107
|
Radar::EarlyFraudWarning.object_name => Radar::EarlyFraudWarning,
|
86
108
|
Radar::ValueList.object_name => Radar::ValueList,
|
87
109
|
Radar::ValueListItem.object_name => Radar::ValueListItem,
|
@@ -101,6 +123,7 @@ module Stripe
|
|
101
123
|
SubscriptionSchedule.object_name => SubscriptionSchedule,
|
102
124
|
Tax::Calculation.object_name => Tax::Calculation,
|
103
125
|
Tax::CalculationLineItem.object_name => Tax::CalculationLineItem,
|
126
|
+
Tax::Form.object_name => Tax::Form,
|
104
127
|
Tax::Registration.object_name => Tax::Registration,
|
105
128
|
Tax::Settings.object_name => Tax::Settings,
|
106
129
|
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,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
|
+
# Acknowledges that platform has received and delivered the financing_offer to
|
17
|
+
# the intended merchant recipient.
|
18
|
+
def mark_delivered(params = {}, opts = {})
|
19
|
+
request_stripe_object(
|
20
|
+
method: :post,
|
21
|
+
path: format("/v1/capital/financing_offers/%<financing_offer>s/mark_delivered", { financing_offer: CGI.escape(self["id"]) }),
|
22
|
+
params: params,
|
23
|
+
opts: opts
|
24
|
+
)
|
25
|
+
end
|
26
|
+
|
27
|
+
# Acknowledges that platform has received and delivered the financing_offer to
|
28
|
+
# the intended merchant recipient.
|
29
|
+
def self.mark_delivered(financing_offer, params = {}, opts = {})
|
30
|
+
request_stripe_object(
|
31
|
+
method: :post,
|
32
|
+
path: format("/v1/capital/financing_offers/%<financing_offer>s/mark_delivered", { financing_offer: CGI.escape(financing_offer) }),
|
33
|
+
params: params,
|
34
|
+
opts: opts
|
35
|
+
)
|
36
|
+
end
|
37
|
+
|
38
|
+
# Retrieves the financing offers available for Connected accounts that belong to your platform.
|
39
|
+
def self.list(filters = {}, opts = {})
|
40
|
+
request_stripe_object(
|
41
|
+
method: :get,
|
42
|
+
path: "/v1/capital/financing_offers",
|
43
|
+
params: filters,
|
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,16 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
# ConfirmationTokens help transport client side data collected by Stripe JS over
|
6
|
+
# to your server for confirming a PaymentIntent or SetupIntent. If the confirmation
|
7
|
+
# is successful, values present on the ConfirmationToken are written onto the Intent.
|
8
|
+
#
|
9
|
+
# To learn more or request access, visit the related guided: [Finalize payments on the server using Confirmation Tokens](https://stripe.com/docs/payments/finalize-payments-on-the-server-confirmation-tokens).
|
10
|
+
class ConfirmationToken < APIResource
|
11
|
+
OBJECT_NAME = "confirmation_token"
|
12
|
+
def self.object_name
|
13
|
+
"confirmation_token"
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -22,6 +22,7 @@ module Stripe
|
|
22
22
|
nested_resource_class_methods :cash_balance_transaction, operations: %i[retrieve list]
|
23
23
|
nested_resource_class_methods :source, operations: %i[create retrieve update delete list]
|
24
24
|
nested_resource_class_methods :tax_id, operations: %i[create retrieve delete list]
|
25
|
+
nested_resource_class_methods :entitlement, operations: %i[list]
|
25
26
|
|
26
27
|
# Retrieve funding instructions for a customer cash balance. If funding instructions do not yet exist for the customer, new
|
27
28
|
# funding instructions will be created. If funding instructions have already been created for a given customer, the same
|
@@ -185,6 +186,16 @@ module Stripe
|
|
185
186
|
)
|
186
187
|
end
|
187
188
|
|
189
|
+
# Retrieve the entitlement summary for a customer
|
190
|
+
def self.retrieve_entitlement_summary(customer, params = {}, opts = {})
|
191
|
+
request_stripe_object(
|
192
|
+
method: :get,
|
193
|
+
path: format("/v1/customers/%<customer>s/entitlement_summary", { customer: CGI.escape(customer) }),
|
194
|
+
params: params,
|
195
|
+
opts: opts
|
196
|
+
)
|
197
|
+
end
|
198
|
+
|
188
199
|
def test_helpers
|
189
200
|
TestHelpers.new(self)
|
190
201
|
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
# A entitlement for a customer describes access to a feature.
|
6
|
+
class CustomerEntitlement < APIResource
|
7
|
+
OBJECT_NAME = "customer_entitlement"
|
8
|
+
def self.object_name
|
9
|
+
"customer_entitlement"
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
# A summary of a customer's entitlements.
|
6
|
+
class CustomerEntitlementSummary < APIResource
|
7
|
+
OBJECT_NAME = "customer_entitlement_summary"
|
8
|
+
def self.object_name
|
9
|
+
"customer_entitlement_summary"
|
10
|
+
end
|
11
|
+
end
|
12
|
+
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 entitlement event either grants or revokes an entitlement to a feature for a customer.
|
7
|
+
class Event < APIResource
|
8
|
+
extend Stripe::APIOperations::Create
|
9
|
+
|
10
|
+
OBJECT_NAME = "entitlements.event"
|
11
|
+
def self.object_name
|
12
|
+
"entitlements.event"
|
13
|
+
end
|
14
|
+
|
15
|
+
# Create an entitlement event manually, outside of the entitlement events automatically created by Stripe lifecycle events.
|
16
|
+
def self.create(params = {}, opts = {})
|
17
|
+
request_stripe_object(
|
18
|
+
method: :post,
|
19
|
+
path: "/v1/entitlements/events",
|
20
|
+
params: params,
|
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
|
+
# Validates a gift card code, returning the matching gift card object if it exists.
|
19
|
+
def self.validate(params = {}, opts = {})
|
20
|
+
request_stripe_object(
|
21
|
+
method: :post,
|
22
|
+
path: "/v1/gift_cards/cards/validate",
|
23
|
+
params: params,
|
24
|
+
opts: opts
|
25
|
+
)
|
26
|
+
end
|
27
|
+
|
28
|
+
# Creates a new gift card object.
|
29
|
+
def self.create(params = {}, opts = {})
|
30
|
+
request_stripe_object(
|
31
|
+
method: :post,
|
32
|
+
path: "/v1/gift_cards/cards",
|
33
|
+
params: params,
|
34
|
+
opts: opts
|
35
|
+
)
|
36
|
+
end
|
37
|
+
|
38
|
+
# List gift cards for an account
|
39
|
+
def self.list(filters = {}, opts = {})
|
40
|
+
request_stripe_object(
|
41
|
+
method: :get,
|
42
|
+
path: "/v1/gift_cards/cards",
|
43
|
+
params: filters,
|
44
|
+
opts: opts
|
45
|
+
)
|
46
|
+
end
|
47
|
+
|
48
|
+
# Update a gift card
|
49
|
+
def self.update(id, params = {}, opts = {})
|
50
|
+
request_stripe_object(
|
51
|
+
method: :post,
|
52
|
+
path: format("/v1/gift_cards/cards/%<id>s", { id: CGI.escape(id) }),
|
53
|
+
params: params,
|
54
|
+
opts: opts
|
55
|
+
)
|
56
|
+
end
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
@@ -0,0 +1,93 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
module GiftCards
|
6
|
+
# A gift card transaction represents a single transaction on a referenced gift card.
|
7
|
+
# A transaction is in one of three states, `confirmed`, `held` or `canceled`. A `confirmed`
|
8
|
+
# transaction is one that has added/deducted funds. A `held` transaction has created a
|
9
|
+
# temporary hold on funds, which can then be cancelled or confirmed. A `held` transaction
|
10
|
+
# can be confirmed into a `confirmed` transaction, or canceled into a `canceled` transaction.
|
11
|
+
# A `canceled` transaction has no effect on a gift card's balance.
|
12
|
+
class Transaction < APIResource
|
13
|
+
extend Stripe::APIOperations::Create
|
14
|
+
extend Stripe::APIOperations::List
|
15
|
+
include Stripe::APIOperations::Save
|
16
|
+
|
17
|
+
OBJECT_NAME = "gift_cards.transaction"
|
18
|
+
def self.object_name
|
19
|
+
"gift_cards.transaction"
|
20
|
+
end
|
21
|
+
|
22
|
+
# Cancel a gift card transaction
|
23
|
+
def cancel(params = {}, opts = {})
|
24
|
+
request_stripe_object(
|
25
|
+
method: :post,
|
26
|
+
path: format("/v1/gift_cards/transactions/%<id>s/cancel", { id: CGI.escape(self["id"]) }),
|
27
|
+
params: params,
|
28
|
+
opts: opts
|
29
|
+
)
|
30
|
+
end
|
31
|
+
|
32
|
+
# Confirm a gift card transaction
|
33
|
+
def confirm(params = {}, opts = {})
|
34
|
+
request_stripe_object(
|
35
|
+
method: :post,
|
36
|
+
path: format("/v1/gift_cards/transactions/%<id>s/confirm", { id: CGI.escape(self["id"]) }),
|
37
|
+
params: params,
|
38
|
+
opts: opts
|
39
|
+
)
|
40
|
+
end
|
41
|
+
|
42
|
+
# Cancel a gift card transaction
|
43
|
+
def self.cancel(id, params = {}, opts = {})
|
44
|
+
request_stripe_object(
|
45
|
+
method: :post,
|
46
|
+
path: format("/v1/gift_cards/transactions/%<id>s/cancel", { id: CGI.escape(id) }),
|
47
|
+
params: params,
|
48
|
+
opts: opts
|
49
|
+
)
|
50
|
+
end
|
51
|
+
|
52
|
+
# Confirm a gift card transaction
|
53
|
+
def self.confirm(id, params = {}, opts = {})
|
54
|
+
request_stripe_object(
|
55
|
+
method: :post,
|
56
|
+
path: format("/v1/gift_cards/transactions/%<id>s/confirm", { id: CGI.escape(id) }),
|
57
|
+
params: params,
|
58
|
+
opts: opts
|
59
|
+
)
|
60
|
+
end
|
61
|
+
|
62
|
+
# Create a gift card transaction
|
63
|
+
def self.create(params = {}, opts = {})
|
64
|
+
request_stripe_object(
|
65
|
+
method: :post,
|
66
|
+
path: "/v1/gift_cards/transactions",
|
67
|
+
params: params,
|
68
|
+
opts: opts
|
69
|
+
)
|
70
|
+
end
|
71
|
+
|
72
|
+
# List gift card transactions for a gift card
|
73
|
+
def self.list(filters = {}, opts = {})
|
74
|
+
request_stripe_object(
|
75
|
+
method: :get,
|
76
|
+
path: "/v1/gift_cards/transactions",
|
77
|
+
params: filters,
|
78
|
+
opts: opts
|
79
|
+
)
|
80
|
+
end
|
81
|
+
|
82
|
+
# Update a gift card transaction
|
83
|
+
def self.update(id, params = {}, opts = {})
|
84
|
+
request_stripe_object(
|
85
|
+
method: :post,
|
86
|
+
path: format("/v1/gift_cards/transactions/%<id>s", { id: CGI.escape(id) }),
|
87
|
+
params: params,
|
88
|
+
opts: opts
|
89
|
+
)
|
90
|
+
end
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|