stripe 10.6.0 → 10.7.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 +258 -40
- 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 +19 -0
- data/lib/stripe/request_signing_authenticator.rb +79 -0
- data/lib/stripe/resources/account_notice.rb +14 -0
- data/lib/stripe/resources/capital/financing_offer.rb +36 -0
- data/lib/stripe/resources/capital/financing_summary.rb +12 -0
- data/lib/stripe/resources/capital/financing_transaction.rb +13 -0
- data/lib/stripe/resources/confirmation_token.rb +13 -0
- data/lib/stripe/resources/financial_connections/account.rb +3 -0
- data/lib/stripe/resources/financial_connections/account_inferred_balance.rb +13 -0
- data/lib/stripe/resources/gift_cards/card.rb +26 -0
- data/lib/stripe/resources/gift_cards/transaction.rb +60 -0
- data/lib/stripe/resources/invoice.rb +39 -0
- data/lib/stripe/resources/invoice_payment.rb +11 -0
- data/lib/stripe/resources/issuing/credit_underwriting_record.rb +75 -0
- data/lib/stripe/resources/issuing/personalization_design.rb +83 -0
- data/lib/stripe/resources/issuing/physical_bundle.rb +13 -0
- data/lib/stripe/resources/margin.rb +14 -0
- data/lib/stripe/resources/order.rb +97 -0
- data/lib/stripe/resources/quote.rb +104 -0
- data/lib/stripe/resources/quote_phase.rb +31 -0
- data/lib/stripe/resources/quote_preview_invoice.rb +42 -0
- data/lib/stripe/resources/quote_preview_subscription_schedule.rb +10 -0
- data/lib/stripe/resources/subscription_schedule.rb +20 -0
- data/lib/stripe/resources/tax/form.rb +41 -0
- data/lib/stripe/resources/terminal/reader.rb +60 -0
- data/lib/stripe/resources.rb +18 -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 +22 -3
@@ -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,14 @@
|
|
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
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,36 @@
|
|
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
|
+
|
13
|
+
# Acknowledges that platform has received and delivered the financing_offer to
|
14
|
+
# the intended merchant recipient.
|
15
|
+
def mark_delivered(params = {}, opts = {})
|
16
|
+
request_stripe_object(
|
17
|
+
method: :post,
|
18
|
+
path: format("/v1/capital/financing_offers/%<financing_offer>s/mark_delivered", { financing_offer: CGI.escape(self["id"]) }),
|
19
|
+
params: params,
|
20
|
+
opts: opts
|
21
|
+
)
|
22
|
+
end
|
23
|
+
|
24
|
+
# Acknowledges that platform has received and delivered the financing_offer to
|
25
|
+
# the intended merchant recipient.
|
26
|
+
def self.mark_delivered(financing_offer, params = {}, opts = {})
|
27
|
+
request_stripe_object(
|
28
|
+
method: :post,
|
29
|
+
path: format("/v1/capital/financing_offers/%<financing_offer>s/mark_delivered", { financing_offer: CGI.escape(financing_offer) }),
|
30
|
+
params: params,
|
31
|
+
opts: opts
|
32
|
+
)
|
33
|
+
end
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
@@ -0,0 +1,12 @@
|
|
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
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,13 @@
|
|
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
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,13 @@
|
|
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
|
+
end
|
13
|
+
end
|
@@ -6,9 +6,12 @@ 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
|
|
13
|
+
nested_resource_class_methods :inferred_balance, operations: %i[list]
|
14
|
+
|
12
15
|
# 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).
|
13
16
|
def disconnect(params = {}, opts = {})
|
14
17
|
request_stripe_object(
|
@@ -0,0 +1,13 @@
|
|
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
|
+
extend Stripe::APIOperations::List
|
9
|
+
|
10
|
+
OBJECT_NAME = "financial_connections.account_inferred_balance"
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,26 @@
|
|
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
|
+
|
15
|
+
# Validates a gift card code, returning the matching gift card object if it exists.
|
16
|
+
def self.validate(params = {}, opts = {})
|
17
|
+
request_stripe_object(
|
18
|
+
method: :post,
|
19
|
+
path: "/v1/gift_cards/cards/validate",
|
20
|
+
params: params,
|
21
|
+
opts: opts
|
22
|
+
)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,60 @@
|
|
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
|
+
|
19
|
+
# Cancel a gift card transaction
|
20
|
+
def cancel(params = {}, opts = {})
|
21
|
+
request_stripe_object(
|
22
|
+
method: :post,
|
23
|
+
path: format("/v1/gift_cards/transactions/%<id>s/cancel", { id: CGI.escape(self["id"]) }),
|
24
|
+
params: params,
|
25
|
+
opts: opts
|
26
|
+
)
|
27
|
+
end
|
28
|
+
|
29
|
+
# Confirm a gift card transaction
|
30
|
+
def confirm(params = {}, opts = {})
|
31
|
+
request_stripe_object(
|
32
|
+
method: :post,
|
33
|
+
path: format("/v1/gift_cards/transactions/%<id>s/confirm", { id: CGI.escape(self["id"]) }),
|
34
|
+
params: params,
|
35
|
+
opts: opts
|
36
|
+
)
|
37
|
+
end
|
38
|
+
|
39
|
+
# Cancel a gift card transaction
|
40
|
+
def self.cancel(id, params = {}, opts = {})
|
41
|
+
request_stripe_object(
|
42
|
+
method: :post,
|
43
|
+
path: format("/v1/gift_cards/transactions/%<id>s/cancel", { id: CGI.escape(id) }),
|
44
|
+
params: params,
|
45
|
+
opts: opts
|
46
|
+
)
|
47
|
+
end
|
48
|
+
|
49
|
+
# Confirm a gift card transaction
|
50
|
+
def self.confirm(id, params = {}, opts = {})
|
51
|
+
request_stripe_object(
|
52
|
+
method: :post,
|
53
|
+
path: format("/v1/gift_cards/transactions/%<id>s/confirm", { id: CGI.escape(id) }),
|
54
|
+
params: params,
|
55
|
+
opts: opts
|
56
|
+
)
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
@@ -40,9 +40,30 @@ module Stripe
|
|
40
40
|
extend Stripe::APIOperations::List
|
41
41
|
extend Stripe::APIOperations::Search
|
42
42
|
include Stripe::APIOperations::Save
|
43
|
+
extend Stripe::APIOperations::NestedResource
|
43
44
|
|
44
45
|
OBJECT_NAME = "invoice"
|
45
46
|
|
47
|
+
nested_resource_class_methods :payment, operations: %i[retrieve list]
|
48
|
+
|
49
|
+
# Attaches a PaymentIntent to the invoice, adding it to the list of payments.
|
50
|
+
# When the PaymentIntent's status changes to succeeded, the payment is credited
|
51
|
+
# to the invoice, increasing its amount_paid. When the invoice is fully paid, the
|
52
|
+
# invoice's status becomes paid.
|
53
|
+
#
|
54
|
+
# If the PaymentIntent's status is already succeeded when it is attached, it is
|
55
|
+
# credited to the invoice immediately.
|
56
|
+
#
|
57
|
+
# Related guide: [Create an invoice payment](https://stripe.com/docs/invoicing/payments/create)
|
58
|
+
def attach_payment_intent(params = {}, opts = {})
|
59
|
+
request_stripe_object(
|
60
|
+
method: :post,
|
61
|
+
path: format("/v1/invoices/%<invoice>s/attach_payment_intent", { invoice: CGI.escape(self["id"]) }),
|
62
|
+
params: params,
|
63
|
+
opts: opts
|
64
|
+
)
|
65
|
+
end
|
66
|
+
|
46
67
|
# Stripe automatically finalizes drafts before sending and attempting payment on invoices. However, if you'd like to finalize a draft invoice manually, you can do so using this method.
|
47
68
|
def finalize_invoice(params = {}, opts = {})
|
48
69
|
request_stripe_object(
|
@@ -95,6 +116,24 @@ module Stripe
|
|
95
116
|
)
|
96
117
|
end
|
97
118
|
|
119
|
+
# Attaches a PaymentIntent to the invoice, adding it to the list of payments.
|
120
|
+
# When the PaymentIntent's status changes to succeeded, the payment is credited
|
121
|
+
# to the invoice, increasing its amount_paid. When the invoice is fully paid, the
|
122
|
+
# invoice's status becomes paid.
|
123
|
+
#
|
124
|
+
# If the PaymentIntent's status is already succeeded when it is attached, it is
|
125
|
+
# credited to the invoice immediately.
|
126
|
+
#
|
127
|
+
# Related guide: [Create an invoice payment](https://stripe.com/docs/invoicing/payments/create)
|
128
|
+
def self.attach_payment_intent(invoice, params = {}, opts = {})
|
129
|
+
request_stripe_object(
|
130
|
+
method: :post,
|
131
|
+
path: format("/v1/invoices/%<invoice>s/attach_payment_intent", { invoice: CGI.escape(invoice) }),
|
132
|
+
params: params,
|
133
|
+
opts: opts
|
134
|
+
)
|
135
|
+
end
|
136
|
+
|
98
137
|
# Stripe automatically finalizes drafts before sending and attempting payment on invoices. However, if you'd like to finalize a draft invoice manually, you can do so using this method.
|
99
138
|
def self.finalize_invoice(invoice, params = {}, opts = {})
|
100
139
|
request_stripe_object(
|
@@ -0,0 +1,75 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
module Issuing
|
6
|
+
# Every time an applicant submits an application for a Charge Card product your platform offers, or every time your platform takes a proactive credit decision on an existing account, you must record the decision by creating a new `CreditUnderwritingRecord` object on a connected account.
|
7
|
+
#
|
8
|
+
# [Follow the guide](https://stripe.com/docs/issuing/credit/report-credit-decisions-and-manage-aans) to learn about your requirements as a platform.
|
9
|
+
class CreditUnderwritingRecord < APIResource
|
10
|
+
extend Stripe::APIOperations::List
|
11
|
+
|
12
|
+
OBJECT_NAME = "issuing.credit_underwriting_record"
|
13
|
+
|
14
|
+
# Update a CreditUnderwritingRecord object to correct mistakes.
|
15
|
+
def correct(params = {}, opts = {})
|
16
|
+
request_stripe_object(
|
17
|
+
method: :post,
|
18
|
+
path: format("/v1/issuing/credit_underwriting_records/%<credit_underwriting_record>s/correct", { credit_underwriting_record: CGI.escape(self["id"]) }),
|
19
|
+
params: params,
|
20
|
+
opts: opts
|
21
|
+
)
|
22
|
+
end
|
23
|
+
|
24
|
+
# Update a CreditUnderwritingRecord object from a decision made on a credit application.
|
25
|
+
def report_decision(params = {}, opts = {})
|
26
|
+
request_stripe_object(
|
27
|
+
method: :post,
|
28
|
+
path: format("/v1/issuing/credit_underwriting_records/%<credit_underwriting_record>s/report_decision", { credit_underwriting_record: CGI.escape(self["id"]) }),
|
29
|
+
params: params,
|
30
|
+
opts: opts
|
31
|
+
)
|
32
|
+
end
|
33
|
+
|
34
|
+
# Update a CreditUnderwritingRecord object to correct mistakes.
|
35
|
+
def self.correct(credit_underwriting_record, params = {}, opts = {})
|
36
|
+
request_stripe_object(
|
37
|
+
method: :post,
|
38
|
+
path: format("/v1/issuing/credit_underwriting_records/%<credit_underwriting_record>s/correct", { credit_underwriting_record: CGI.escape(credit_underwriting_record) }),
|
39
|
+
params: params,
|
40
|
+
opts: opts
|
41
|
+
)
|
42
|
+
end
|
43
|
+
|
44
|
+
# Creates a CreditUnderwritingRecord object with information about a credit application submission.
|
45
|
+
def self.create_from_application(params = {}, opts = {})
|
46
|
+
request_stripe_object(
|
47
|
+
method: :post,
|
48
|
+
path: "/v1/issuing/credit_underwriting_records/create_from_application",
|
49
|
+
params: params,
|
50
|
+
opts: opts
|
51
|
+
)
|
52
|
+
end
|
53
|
+
|
54
|
+
# Creates a CreditUnderwritingRecord object from an underwriting decision coming from a proactive review of an existing accountholder.
|
55
|
+
def self.create_from_proactive_review(params = {}, opts = {})
|
56
|
+
request_stripe_object(
|
57
|
+
method: :post,
|
58
|
+
path: "/v1/issuing/credit_underwriting_records/create_from_proactive_review",
|
59
|
+
params: params,
|
60
|
+
opts: opts
|
61
|
+
)
|
62
|
+
end
|
63
|
+
|
64
|
+
# Update a CreditUnderwritingRecord object from a decision made on a credit application.
|
65
|
+
def self.report_decision(credit_underwriting_record, params = {}, opts = {})
|
66
|
+
request_stripe_object(
|
67
|
+
method: :post,
|
68
|
+
path: format("/v1/issuing/credit_underwriting_records/%<credit_underwriting_record>s/report_decision", { credit_underwriting_record: CGI.escape(credit_underwriting_record) }),
|
69
|
+
params: params,
|
70
|
+
opts: opts
|
71
|
+
)
|
72
|
+
end
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
@@ -0,0 +1,83 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
module Issuing
|
6
|
+
# A Personalization Design is a logical grouping of a Physical Bundle, card logo, and carrier text that represents a product line.
|
7
|
+
class PersonalizationDesign < APIResource
|
8
|
+
extend Stripe::APIOperations::Create
|
9
|
+
extend Stripe::APIOperations::List
|
10
|
+
include Stripe::APIOperations::Save
|
11
|
+
|
12
|
+
OBJECT_NAME = "issuing.personalization_design"
|
13
|
+
|
14
|
+
def test_helpers
|
15
|
+
TestHelpers.new(self)
|
16
|
+
end
|
17
|
+
|
18
|
+
class TestHelpers < APIResourceTestHelpers
|
19
|
+
RESOURCE_CLASS = PersonalizationDesign
|
20
|
+
|
21
|
+
# Updates the status of the specified testmode personalization design object to active.
|
22
|
+
def self.activate(personalization_design, params = {}, opts = {})
|
23
|
+
request_stripe_object(
|
24
|
+
method: :post,
|
25
|
+
path: format("/v1/test_helpers/issuing/personalization_designs/%<personalization_design>s/activate", { personalization_design: CGI.escape(personalization_design) }),
|
26
|
+
params: params,
|
27
|
+
opts: opts
|
28
|
+
)
|
29
|
+
end
|
30
|
+
|
31
|
+
# Updates the status of the specified testmode personalization design object to inactive.
|
32
|
+
def self.deactivate(personalization_design, params = {}, opts = {})
|
33
|
+
request_stripe_object(
|
34
|
+
method: :post,
|
35
|
+
path: format("/v1/test_helpers/issuing/personalization_designs/%<personalization_design>s/deactivate", { personalization_design: CGI.escape(personalization_design) }),
|
36
|
+
params: params,
|
37
|
+
opts: opts
|
38
|
+
)
|
39
|
+
end
|
40
|
+
|
41
|
+
# Updates the status of the specified testmode personalization design object to rejected.
|
42
|
+
def self.reject(personalization_design, params = {}, opts = {})
|
43
|
+
request_stripe_object(
|
44
|
+
method: :post,
|
45
|
+
path: format("/v1/test_helpers/issuing/personalization_designs/%<personalization_design>s/reject", { personalization_design: CGI.escape(personalization_design) }),
|
46
|
+
params: params,
|
47
|
+
opts: opts
|
48
|
+
)
|
49
|
+
end
|
50
|
+
|
51
|
+
# Updates the status of the specified testmode personalization design object to active.
|
52
|
+
def activate(params = {}, opts = {})
|
53
|
+
@resource.request_stripe_object(
|
54
|
+
method: :post,
|
55
|
+
path: format("/v1/test_helpers/issuing/personalization_designs/%<personalization_design>s/activate", { personalization_design: CGI.escape(@resource["id"]) }),
|
56
|
+
params: params,
|
57
|
+
opts: opts
|
58
|
+
)
|
59
|
+
end
|
60
|
+
|
61
|
+
# Updates the status of the specified testmode personalization design object to inactive.
|
62
|
+
def deactivate(params = {}, opts = {})
|
63
|
+
@resource.request_stripe_object(
|
64
|
+
method: :post,
|
65
|
+
path: format("/v1/test_helpers/issuing/personalization_designs/%<personalization_design>s/deactivate", { personalization_design: CGI.escape(@resource["id"]) }),
|
66
|
+
params: params,
|
67
|
+
opts: opts
|
68
|
+
)
|
69
|
+
end
|
70
|
+
|
71
|
+
# Updates the status of the specified testmode personalization design object to rejected.
|
72
|
+
def reject(params = {}, opts = {})
|
73
|
+
@resource.request_stripe_object(
|
74
|
+
method: :post,
|
75
|
+
path: format("/v1/test_helpers/issuing/personalization_designs/%<personalization_design>s/reject", { personalization_design: CGI.escape(@resource["id"]) }),
|
76
|
+
params: params,
|
77
|
+
opts: opts
|
78
|
+
)
|
79
|
+
end
|
80
|
+
end
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
module Issuing
|
6
|
+
# A Physical Bundle represents the bundle of physical items - card stock, carrier letter, and envelope - that is shipped to a cardholder when you create a physical card.
|
7
|
+
class PhysicalBundle < APIResource
|
8
|
+
extend Stripe::APIOperations::List
|
9
|
+
|
10
|
+
OBJECT_NAME = "issuing.physical_bundle"
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
# A (partner) margin represents a specific discount distributed in partner reseller programs to business partners who
|
6
|
+
# resell products and services and earn a discount (margin) for doing so.
|
7
|
+
class Margin < APIResource
|
8
|
+
extend Stripe::APIOperations::Create
|
9
|
+
extend Stripe::APIOperations::List
|
10
|
+
include Stripe::APIOperations::Save
|
11
|
+
|
12
|
+
OBJECT_NAME = "margin"
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,97 @@
|
|
1
|
+
# File generated from our OpenAPI spec
|
2
|
+
# frozen_string_literal: true
|
3
|
+
|
4
|
+
module Stripe
|
5
|
+
# An Order describes a purchase being made by a customer, including the
|
6
|
+
# products & quantities being purchased, the order status, the payment information,
|
7
|
+
# and the billing/shipping details.
|
8
|
+
#
|
9
|
+
# Related guide: [Orders overview](https://stripe.com/docs/orders)
|
10
|
+
class Order < APIResource
|
11
|
+
extend Stripe::APIOperations::Create
|
12
|
+
extend Stripe::APIOperations::List
|
13
|
+
include Stripe::APIOperations::Save
|
14
|
+
|
15
|
+
OBJECT_NAME = "order"
|
16
|
+
|
17
|
+
# Cancels the order as well as the payment intent if one is attached.
|
18
|
+
def cancel(params = {}, opts = {})
|
19
|
+
request_stripe_object(
|
20
|
+
method: :post,
|
21
|
+
path: format("/v1/orders/%<id>s/cancel", { id: CGI.escape(self["id"]) }),
|
22
|
+
params: params,
|
23
|
+
opts: opts
|
24
|
+
)
|
25
|
+
end
|
26
|
+
|
27
|
+
# When retrieving an order, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.
|
28
|
+
def list_line_items(params = {}, opts = {})
|
29
|
+
request_stripe_object(
|
30
|
+
method: :get,
|
31
|
+
path: format("/v1/orders/%<id>s/line_items", { id: CGI.escape(self["id"]) }),
|
32
|
+
params: params,
|
33
|
+
opts: opts
|
34
|
+
)
|
35
|
+
end
|
36
|
+
|
37
|
+
# Reopens a submitted order.
|
38
|
+
def reopen(params = {}, opts = {})
|
39
|
+
request_stripe_object(
|
40
|
+
method: :post,
|
41
|
+
path: format("/v1/orders/%<id>s/reopen", { id: CGI.escape(self["id"]) }),
|
42
|
+
params: params,
|
43
|
+
opts: opts
|
44
|
+
)
|
45
|
+
end
|
46
|
+
|
47
|
+
# Submitting an Order transitions the status to processing and creates a PaymentIntent object so the order can be paid. If the Order has an amount_total of 0, no PaymentIntent object will be created. Once the order is submitted, its contents cannot be changed, unless the [reopen](https://stripe.com/docs/api#reopen_order) method is called.
|
48
|
+
def submit(params = {}, opts = {})
|
49
|
+
request_stripe_object(
|
50
|
+
method: :post,
|
51
|
+
path: format("/v1/orders/%<id>s/submit", { id: CGI.escape(self["id"]) }),
|
52
|
+
params: params,
|
53
|
+
opts: opts
|
54
|
+
)
|
55
|
+
end
|
56
|
+
|
57
|
+
# Cancels the order as well as the payment intent if one is attached.
|
58
|
+
def self.cancel(id, params = {}, opts = {})
|
59
|
+
request_stripe_object(
|
60
|
+
method: :post,
|
61
|
+
path: format("/v1/orders/%<id>s/cancel", { id: CGI.escape(id) }),
|
62
|
+
params: params,
|
63
|
+
opts: opts
|
64
|
+
)
|
65
|
+
end
|
66
|
+
|
67
|
+
# When retrieving an order, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.
|
68
|
+
def self.list_line_items(id, params = {}, opts = {})
|
69
|
+
request_stripe_object(
|
70
|
+
method: :get,
|
71
|
+
path: format("/v1/orders/%<id>s/line_items", { id: CGI.escape(id) }),
|
72
|
+
params: params,
|
73
|
+
opts: opts
|
74
|
+
)
|
75
|
+
end
|
76
|
+
|
77
|
+
# Reopens a submitted order.
|
78
|
+
def self.reopen(id, params = {}, opts = {})
|
79
|
+
request_stripe_object(
|
80
|
+
method: :post,
|
81
|
+
path: format("/v1/orders/%<id>s/reopen", { id: CGI.escape(id) }),
|
82
|
+
params: params,
|
83
|
+
opts: opts
|
84
|
+
)
|
85
|
+
end
|
86
|
+
|
87
|
+
# Submitting an Order transitions the status to processing and creates a PaymentIntent object so the order can be paid. If the Order has an amount_total of 0, no PaymentIntent object will be created. Once the order is submitted, its contents cannot be changed, unless the [reopen](https://stripe.com/docs/api#reopen_order) method is called.
|
88
|
+
def self.submit(id, params = {}, opts = {})
|
89
|
+
request_stripe_object(
|
90
|
+
method: :post,
|
91
|
+
path: format("/v1/orders/%<id>s/submit", { id: CGI.escape(id) }),
|
92
|
+
params: params,
|
93
|
+
opts: opts
|
94
|
+
)
|
95
|
+
end
|
96
|
+
end
|
97
|
+
end
|