stripe 13.1.1 → 13.2.0.pre.beta.2
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 +1385 -645
- data/OPENAPI_VERSION +1 -1
- data/VERSION +1 -1
- data/lib/stripe/object_types.rb +22 -0
- data/lib/stripe/request_signing_authenticator.rb +79 -0
- data/lib/stripe/resources/account_notice.rb +32 -0
- data/lib/stripe/resources/billing/credit_grant.rb +5 -6
- 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/financial_connections/account.rb +3 -0
- data/lib/stripe/resources/financial_connections/account_inferred_balance.rb +14 -0
- data/lib/stripe/resources/financial_connections/institution.rb +26 -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 +81 -0
- data/lib/stripe/resources/invoice_payment.rb +12 -0
- data/lib/stripe/resources/issuing/card.rb +1 -1
- data/lib/stripe/resources/issuing/credit_underwriting_record.rb +88 -0
- data/lib/stripe/resources/issuing/dispute_settlement_detail.rb +26 -0
- data/lib/stripe/resources/issuing/fraud_liability_debit.rb +26 -0
- data/lib/stripe/resources/margin.rb +37 -0
- data/lib/stripe/resources/order.rb +120 -0
- data/lib/stripe/resources/payment_attempt_record.rb +27 -0
- data/lib/stripe/resources/payment_intent.rb +70 -0
- data/lib/stripe/resources/payment_record.rb +115 -0
- data/lib/stripe/resources/quote.rb +104 -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/association.rb +24 -0
- data/lib/stripe/resources/tax/form.rb +49 -0
- data/lib/stripe/resources/terminal/reader.rb +60 -0
- data/lib/stripe/resources/terminal/reader_collected_data.rb +14 -0
- data/lib/stripe/resources.rb +21 -0
- data/lib/stripe/services/account_notice_service.rb +39 -0
- data/lib/stripe/services/billing/credit_grant_service.rb +3 -3
- data/lib/stripe/services/capital/financing_offer_service.rb +42 -0
- data/lib/stripe/services/capital/financing_summary_service.rb +19 -0
- data/lib/stripe/services/capital/financing_transaction_service.rb +31 -0
- data/lib/stripe/services/capital_service.rb +15 -0
- data/lib/stripe/services/financial_connections/account_inferred_balance_service.rb +19 -0
- data/lib/stripe/services/financial_connections/account_service.rb +3 -1
- data/lib/stripe/services/financial_connections/institution_service.rb +30 -0
- data/lib/stripe/services/financial_connections_service.rb +2 -1
- data/lib/stripe/services/gift_cards/card_service.rb +63 -0
- data/lib/stripe/services/gift_cards/transaction_service.rb +74 -0
- data/lib/stripe/services/gift_cards_service.rb +14 -0
- data/lib/stripe/services/invoice_payment_service.rb +28 -0
- data/lib/stripe/services/invoice_service.rb +44 -1
- data/lib/stripe/services/issuing/credit_underwriting_record_service.rb +74 -0
- data/lib/stripe/services/issuing/dispute_settlement_detail_service.rb +30 -0
- data/lib/stripe/services/issuing/fraud_liability_debit_service.rb +30 -0
- data/lib/stripe/services/issuing_service.rb +5 -1
- data/lib/stripe/services/margin_service.rb +50 -0
- data/lib/stripe/services/order_line_item_service.rb +17 -0
- data/lib/stripe/services/order_service.rb +78 -0
- data/lib/stripe/services/payment_attempt_record_service.rb +28 -0
- data/lib/stripe/services/payment_intent_service.rb +37 -0
- data/lib/stripe/services/payment_record_service.rb +78 -0
- data/lib/stripe/services/quote_line_service.rb +17 -0
- data/lib/stripe/services/quote_preview_invoice_service.rb +17 -0
- data/lib/stripe/services/quote_preview_subscription_schedule_service.rb +17 -0
- data/lib/stripe/services/quote_service.rb +49 -1
- data/lib/stripe/services/subscription_schedule_service.rb +11 -0
- data/lib/stripe/services/tax/association_service.rb +19 -0
- data/lib/stripe/services/tax/form_service.rb +37 -0
- data/lib/stripe/services/tax_service.rb +3 -1
- data/lib/stripe/services/terminal/reader_collected_data_service.rb +19 -0
- data/lib/stripe/services/terminal/reader_service.rb +33 -0
- data/lib/stripe/services/terminal_service.rb +2 -1
- data/lib/stripe/services/v1_services.rb +8 -1
- data/lib/stripe/services.rb +25 -0
- data/lib/stripe/stripe_configuration.rb +3 -1
- data/lib/stripe/util.rb +7 -1
- data/lib/stripe/version.rb +1 -1
- data/lib/stripe.rb +45 -0
- metadata +51 -4
|
@@ -3,7 +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
|
|
6
|
+
# You can [create physical or virtual cards](https://stripe.com/docs/issuing) that are issued to cardholders.
|
|
7
7
|
class Card < APIResource
|
|
8
8
|
extend Stripe::APIOperations::Create
|
|
9
9
|
extend Stripe::APIOperations::List
|
|
@@ -0,0 +1,88 @@
|
|
|
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
|
+
def self.object_name
|
|
14
|
+
"issuing.credit_underwriting_record"
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# Update a CreditUnderwritingRecord object to correct mistakes.
|
|
18
|
+
def correct(params = {}, opts = {})
|
|
19
|
+
request_stripe_object(
|
|
20
|
+
method: :post,
|
|
21
|
+
path: format("/v1/issuing/credit_underwriting_records/%<credit_underwriting_record>s/correct", { credit_underwriting_record: CGI.escape(self["id"]) }),
|
|
22
|
+
params: params,
|
|
23
|
+
opts: opts
|
|
24
|
+
)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# Update a CreditUnderwritingRecord object to correct mistakes.
|
|
28
|
+
def self.correct(credit_underwriting_record, params = {}, opts = {})
|
|
29
|
+
request_stripe_object(
|
|
30
|
+
method: :post,
|
|
31
|
+
path: format("/v1/issuing/credit_underwriting_records/%<credit_underwriting_record>s/correct", { credit_underwriting_record: CGI.escape(credit_underwriting_record) }),
|
|
32
|
+
params: params,
|
|
33
|
+
opts: opts
|
|
34
|
+
)
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
# Creates a CreditUnderwritingRecord object with information about a credit application submission.
|
|
38
|
+
def self.create_from_application(params = {}, opts = {})
|
|
39
|
+
request_stripe_object(
|
|
40
|
+
method: :post,
|
|
41
|
+
path: "/v1/issuing/credit_underwriting_records/create_from_application",
|
|
42
|
+
params: params,
|
|
43
|
+
opts: opts
|
|
44
|
+
)
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
# Creates a CreditUnderwritingRecord object from an underwriting decision coming from a proactive review of an existing accountholder.
|
|
48
|
+
def self.create_from_proactive_review(params = {}, opts = {})
|
|
49
|
+
request_stripe_object(
|
|
50
|
+
method: :post,
|
|
51
|
+
path: "/v1/issuing/credit_underwriting_records/create_from_proactive_review",
|
|
52
|
+
params: params,
|
|
53
|
+
opts: opts
|
|
54
|
+
)
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
# Retrieves a list of CreditUnderwritingRecord objects. The objects are sorted in descending order by creation date, with the most-recently-created object appearing first.
|
|
58
|
+
def self.list(filters = {}, opts = {})
|
|
59
|
+
request_stripe_object(
|
|
60
|
+
method: :get,
|
|
61
|
+
path: "/v1/issuing/credit_underwriting_records",
|
|
62
|
+
params: filters,
|
|
63
|
+
opts: opts
|
|
64
|
+
)
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
# Update a CreditUnderwritingRecord object from a decision made on a credit application.
|
|
68
|
+
def report_decision(params = {}, opts = {})
|
|
69
|
+
request_stripe_object(
|
|
70
|
+
method: :post,
|
|
71
|
+
path: format("/v1/issuing/credit_underwriting_records/%<credit_underwriting_record>s/report_decision", { credit_underwriting_record: CGI.escape(self["id"]) }),
|
|
72
|
+
params: params,
|
|
73
|
+
opts: opts
|
|
74
|
+
)
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
# Update a CreditUnderwritingRecord object from a decision made on a credit application.
|
|
78
|
+
def self.report_decision(credit_underwriting_record, params = {}, opts = {})
|
|
79
|
+
request_stripe_object(
|
|
80
|
+
method: :post,
|
|
81
|
+
path: format("/v1/issuing/credit_underwriting_records/%<credit_underwriting_record>s/report_decision", { credit_underwriting_record: CGI.escape(credit_underwriting_record) }),
|
|
82
|
+
params: params,
|
|
83
|
+
opts: opts
|
|
84
|
+
)
|
|
85
|
+
end
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Stripe
|
|
5
|
+
module Issuing
|
|
6
|
+
# Represents a record from the card network of a money movement or change in state for an Issuing dispute. These records are included in the settlement reports that we receive from networks and expose to users as Settlement objects.
|
|
7
|
+
class DisputeSettlementDetail < APIResource
|
|
8
|
+
extend Stripe::APIOperations::List
|
|
9
|
+
|
|
10
|
+
OBJECT_NAME = "issuing.dispute_settlement_detail"
|
|
11
|
+
def self.object_name
|
|
12
|
+
"issuing.dispute_settlement_detail"
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# Returns a list of Issuing DisputeSettlementDetail objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.
|
|
16
|
+
def self.list(filters = {}, opts = {})
|
|
17
|
+
request_stripe_object(
|
|
18
|
+
method: :get,
|
|
19
|
+
path: "/v1/issuing/dispute_settlement_details",
|
|
20
|
+
params: filters,
|
|
21
|
+
opts: opts
|
|
22
|
+
)
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Stripe
|
|
5
|
+
module Issuing
|
|
6
|
+
# A fraud liability debit occurs when Stripe debits a platform's account for fraud losses on Issuing transactions.
|
|
7
|
+
class FraudLiabilityDebit < APIResource
|
|
8
|
+
extend Stripe::APIOperations::List
|
|
9
|
+
|
|
10
|
+
OBJECT_NAME = "issuing.fraud_liability_debit"
|
|
11
|
+
def self.object_name
|
|
12
|
+
"issuing.fraud_liability_debit"
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# Returns a list of Issuing FraudLiabilityDebit objects. The objects are sorted in descending order by creation date, with the most recently created object appearing first.
|
|
16
|
+
def self.list(filters = {}, opts = {})
|
|
17
|
+
request_stripe_object(
|
|
18
|
+
method: :get,
|
|
19
|
+
path: "/v1/issuing/fraud_liability_debits",
|
|
20
|
+
params: filters,
|
|
21
|
+
opts: opts
|
|
22
|
+
)
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
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
|
+
def self.object_name
|
|
14
|
+
"margin"
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# Create a margin object to be used with invoices, invoice items, and invoice line items for a customer to represent a partner discount. A margin has a percent_off which is the percent that will be taken off the subtotal after all items and other discounts and promotions) of any invoices for a customer. Calculation of prorations do not include any partner margins applied on the original invoice item.
|
|
18
|
+
def self.create(params = {}, opts = {})
|
|
19
|
+
request_stripe_object(method: :post, path: "/v1/billing/margins", params: params, opts: opts)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
# Retrieve a list of your margins.
|
|
23
|
+
def self.list(filters = {}, opts = {})
|
|
24
|
+
request_stripe_object(method: :get, path: "/v1/billing/margins", params: filters, opts: opts)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# Update the specified margin object. Certain fields of the margin object are not editable.
|
|
28
|
+
def self.update(id, params = {}, opts = {})
|
|
29
|
+
request_stripe_object(
|
|
30
|
+
method: :post,
|
|
31
|
+
path: format("/v1/billing/margins/%<id>s", { id: CGI.escape(id) }),
|
|
32
|
+
params: params,
|
|
33
|
+
opts: opts
|
|
34
|
+
)
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
@@ -0,0 +1,120 @@
|
|
|
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
|
+
def self.object_name
|
|
17
|
+
"order"
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# Cancels the order as well as the payment intent if one is attached.
|
|
21
|
+
def cancel(params = {}, opts = {})
|
|
22
|
+
request_stripe_object(
|
|
23
|
+
method: :post,
|
|
24
|
+
path: format("/v1/orders/%<id>s/cancel", { id: CGI.escape(self["id"]) }),
|
|
25
|
+
params: params,
|
|
26
|
+
opts: opts
|
|
27
|
+
)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# Cancels the order as well as the payment intent if one is attached.
|
|
31
|
+
def self.cancel(id, params = {}, opts = {})
|
|
32
|
+
request_stripe_object(
|
|
33
|
+
method: :post,
|
|
34
|
+
path: format("/v1/orders/%<id>s/cancel", { id: CGI.escape(id) }),
|
|
35
|
+
params: params,
|
|
36
|
+
opts: opts
|
|
37
|
+
)
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
# Creates a new open order object.
|
|
41
|
+
def self.create(params = {}, opts = {})
|
|
42
|
+
request_stripe_object(method: :post, path: "/v1/orders", params: params, opts: opts)
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
# Returns a list of your orders. The orders are returned sorted by creation date, with the most recently created orders appearing first.
|
|
46
|
+
def self.list(filters = {}, opts = {})
|
|
47
|
+
request_stripe_object(method: :get, path: "/v1/orders", params: filters, opts: opts)
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
# 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.
|
|
51
|
+
def list_line_items(params = {}, opts = {})
|
|
52
|
+
request_stripe_object(
|
|
53
|
+
method: :get,
|
|
54
|
+
path: format("/v1/orders/%<id>s/line_items", { id: CGI.escape(self["id"]) }),
|
|
55
|
+
params: params,
|
|
56
|
+
opts: opts
|
|
57
|
+
)
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
# 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.
|
|
61
|
+
def self.list_line_items(id, params = {}, opts = {})
|
|
62
|
+
request_stripe_object(
|
|
63
|
+
method: :get,
|
|
64
|
+
path: format("/v1/orders/%<id>s/line_items", { id: CGI.escape(id) }),
|
|
65
|
+
params: params,
|
|
66
|
+
opts: opts
|
|
67
|
+
)
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
# Reopens a submitted order.
|
|
71
|
+
def reopen(params = {}, opts = {})
|
|
72
|
+
request_stripe_object(
|
|
73
|
+
method: :post,
|
|
74
|
+
path: format("/v1/orders/%<id>s/reopen", { id: CGI.escape(self["id"]) }),
|
|
75
|
+
params: params,
|
|
76
|
+
opts: opts
|
|
77
|
+
)
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
# Reopens a submitted order.
|
|
81
|
+
def self.reopen(id, params = {}, opts = {})
|
|
82
|
+
request_stripe_object(
|
|
83
|
+
method: :post,
|
|
84
|
+
path: format("/v1/orders/%<id>s/reopen", { id: CGI.escape(id) }),
|
|
85
|
+
params: params,
|
|
86
|
+
opts: opts
|
|
87
|
+
)
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
# 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.
|
|
91
|
+
def submit(params = {}, opts = {})
|
|
92
|
+
request_stripe_object(
|
|
93
|
+
method: :post,
|
|
94
|
+
path: format("/v1/orders/%<id>s/submit", { id: CGI.escape(self["id"]) }),
|
|
95
|
+
params: params,
|
|
96
|
+
opts: opts
|
|
97
|
+
)
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
# 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.
|
|
101
|
+
def self.submit(id, params = {}, opts = {})
|
|
102
|
+
request_stripe_object(
|
|
103
|
+
method: :post,
|
|
104
|
+
path: format("/v1/orders/%<id>s/submit", { id: CGI.escape(id) }),
|
|
105
|
+
params: params,
|
|
106
|
+
opts: opts
|
|
107
|
+
)
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
# Updates the specific order by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
|
|
111
|
+
def self.update(id, params = {}, opts = {})
|
|
112
|
+
request_stripe_object(
|
|
113
|
+
method: :post,
|
|
114
|
+
path: format("/v1/orders/%<id>s", { id: CGI.escape(id) }),
|
|
115
|
+
params: params,
|
|
116
|
+
opts: opts
|
|
117
|
+
)
|
|
118
|
+
end
|
|
119
|
+
end
|
|
120
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Stripe
|
|
5
|
+
# A Payment Attempt Record represents an individual attempt at making a payment, on or off Stripe.
|
|
6
|
+
# Each payment attempt tries to collect a fixed amount of money from a fixed customer and payment
|
|
7
|
+
# method. Payment Attempt Records are attached to Payment Records. Only one attempt per Payment Record
|
|
8
|
+
# can have guaranteed funds.
|
|
9
|
+
class PaymentAttemptRecord < APIResource
|
|
10
|
+
extend Stripe::APIOperations::List
|
|
11
|
+
|
|
12
|
+
OBJECT_NAME = "payment_attempt_record"
|
|
13
|
+
def self.object_name
|
|
14
|
+
"payment_attempt_record"
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# List all the Payment Attempt Records attached to the specified Payment Record.
|
|
18
|
+
def self.list(filters = {}, opts = {})
|
|
19
|
+
request_stripe_object(
|
|
20
|
+
method: :get,
|
|
21
|
+
path: "/v1/payment_attempt_records",
|
|
22
|
+
params: filters,
|
|
23
|
+
opts: opts
|
|
24
|
+
)
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -182,6 +182,56 @@ module Stripe
|
|
|
182
182
|
request_stripe_object(method: :post, path: "/v1/payment_intents", params: params, opts: opts)
|
|
183
183
|
end
|
|
184
184
|
|
|
185
|
+
# Perform a decremental authorization on an eligible
|
|
186
|
+
# [PaymentIntent](https://stripe.com/docs/api/payment_intents/object). To be eligible, the
|
|
187
|
+
# PaymentIntent's status must be requires_capture and
|
|
188
|
+
# [decremental_authorization.status](https://stripe.com/docs/api/charges/object#charge_object-payment_method_details-card-decremental_authorization)
|
|
189
|
+
# must be available.
|
|
190
|
+
#
|
|
191
|
+
# Decremental authorizations decrease the authorized amount on your customer's card
|
|
192
|
+
# to the new, lower amount provided. A single PaymentIntent can call this endpoint multiple times to further decrease the authorized amount.
|
|
193
|
+
#
|
|
194
|
+
# After decrement, the PaymentIntent object
|
|
195
|
+
# returns with the updated
|
|
196
|
+
# [amount](https://stripe.com/docs/api/payment_intents/object#payment_intent_object-amount).
|
|
197
|
+
# The PaymentIntent will now be capturable up to the new authorized amount.
|
|
198
|
+
#
|
|
199
|
+
# Each PaymentIntent can have a maximum of 10 decremental or incremental authorization attempts, including declines.
|
|
200
|
+
# After it's fully captured, a PaymentIntent can no longer be decremented.
|
|
201
|
+
def decrement_authorization(params = {}, opts = {})
|
|
202
|
+
request_stripe_object(
|
|
203
|
+
method: :post,
|
|
204
|
+
path: format("/v1/payment_intents/%<intent>s/decrement_authorization", { intent: CGI.escape(self["id"]) }),
|
|
205
|
+
params: params,
|
|
206
|
+
opts: opts
|
|
207
|
+
)
|
|
208
|
+
end
|
|
209
|
+
|
|
210
|
+
# Perform a decremental authorization on an eligible
|
|
211
|
+
# [PaymentIntent](https://stripe.com/docs/api/payment_intents/object). To be eligible, the
|
|
212
|
+
# PaymentIntent's status must be requires_capture and
|
|
213
|
+
# [decremental_authorization.status](https://stripe.com/docs/api/charges/object#charge_object-payment_method_details-card-decremental_authorization)
|
|
214
|
+
# must be available.
|
|
215
|
+
#
|
|
216
|
+
# Decremental authorizations decrease the authorized amount on your customer's card
|
|
217
|
+
# to the new, lower amount provided. A single PaymentIntent can call this endpoint multiple times to further decrease the authorized amount.
|
|
218
|
+
#
|
|
219
|
+
# After decrement, the PaymentIntent object
|
|
220
|
+
# returns with the updated
|
|
221
|
+
# [amount](https://stripe.com/docs/api/payment_intents/object#payment_intent_object-amount).
|
|
222
|
+
# The PaymentIntent will now be capturable up to the new authorized amount.
|
|
223
|
+
#
|
|
224
|
+
# Each PaymentIntent can have a maximum of 10 decremental or incremental authorization attempts, including declines.
|
|
225
|
+
# After it's fully captured, a PaymentIntent can no longer be decremented.
|
|
226
|
+
def self.decrement_authorization(intent, params = {}, opts = {})
|
|
227
|
+
request_stripe_object(
|
|
228
|
+
method: :post,
|
|
229
|
+
path: format("/v1/payment_intents/%<intent>s/decrement_authorization", { intent: CGI.escape(intent) }),
|
|
230
|
+
params: params,
|
|
231
|
+
opts: opts
|
|
232
|
+
)
|
|
233
|
+
end
|
|
234
|
+
|
|
185
235
|
# Perform an incremental authorization on an eligible
|
|
186
236
|
# [PaymentIntent](https://stripe.com/docs/api/payment_intents/object). To be eligible, the
|
|
187
237
|
# PaymentIntent's status must be requires_capture and
|
|
@@ -266,6 +316,26 @@ module Stripe
|
|
|
266
316
|
search(params, opts).auto_paging_each(&blk)
|
|
267
317
|
end
|
|
268
318
|
|
|
319
|
+
# Trigger an external action on a PaymentIntent.
|
|
320
|
+
def trigger_action(params = {}, opts = {})
|
|
321
|
+
request_stripe_object(
|
|
322
|
+
method: :post,
|
|
323
|
+
path: format("/v1/test/payment_intents/%<intent>s/trigger_action", { intent: CGI.escape(self["id"]) }),
|
|
324
|
+
params: params,
|
|
325
|
+
opts: opts
|
|
326
|
+
)
|
|
327
|
+
end
|
|
328
|
+
|
|
329
|
+
# Trigger an external action on a PaymentIntent.
|
|
330
|
+
def self.trigger_action(intent, params = {}, opts = {})
|
|
331
|
+
request_stripe_object(
|
|
332
|
+
method: :post,
|
|
333
|
+
path: format("/v1/test/payment_intents/%<intent>s/trigger_action", { intent: CGI.escape(intent) }),
|
|
334
|
+
params: params,
|
|
335
|
+
opts: opts
|
|
336
|
+
)
|
|
337
|
+
end
|
|
338
|
+
|
|
269
339
|
# Updates properties on a PaymentIntent object without confirming.
|
|
270
340
|
#
|
|
271
341
|
# Depending on which properties you update, you might need to confirm the
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
# File generated from our OpenAPI spec
|
|
2
|
+
# frozen_string_literal: true
|
|
3
|
+
|
|
4
|
+
module Stripe
|
|
5
|
+
# A Payment Record is a resource that allows you to represent payments that occur on- or off-Stripe.
|
|
6
|
+
# For example, you can create a Payment Record to model a payment made on a different payment processor,
|
|
7
|
+
# in order to mark an Invoice as paid and a Subscription as active. Payment Records consist of one or
|
|
8
|
+
# more Payment Attempt Records, which represent individual attempts made on a payment network.
|
|
9
|
+
class PaymentRecord < APIResource
|
|
10
|
+
OBJECT_NAME = "payment_record"
|
|
11
|
+
def self.object_name
|
|
12
|
+
"payment_record"
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
# Report a new Payment Record. You may report a Payment Record as it is
|
|
16
|
+
# initialized and later report updates through the other report_* methods, or report Payment
|
|
17
|
+
# Records in a terminal state directly, through this method.
|
|
18
|
+
def self.report_payment(params = {}, opts = {})
|
|
19
|
+
request_stripe_object(
|
|
20
|
+
method: :post,
|
|
21
|
+
path: "/v1/payment_records/report_payment",
|
|
22
|
+
params: params,
|
|
23
|
+
opts: opts
|
|
24
|
+
)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# Report a new payment attempt on the specified Payment Record. A new payment
|
|
28
|
+
# attempt can only be specified if all other payment attempts are canceled or failed.
|
|
29
|
+
def report_payment_attempt(params = {}, opts = {})
|
|
30
|
+
request_stripe_object(
|
|
31
|
+
method: :post,
|
|
32
|
+
path: format("/v1/payment_records/%<id>s/report_payment_attempt", { id: CGI.escape(self["id"]) }),
|
|
33
|
+
params: params,
|
|
34
|
+
opts: opts
|
|
35
|
+
)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# Report a new payment attempt on the specified Payment Record. A new payment
|
|
39
|
+
# attempt can only be specified if all other payment attempts are canceled or failed.
|
|
40
|
+
def self.report_payment_attempt(id, params = {}, opts = {})
|
|
41
|
+
request_stripe_object(
|
|
42
|
+
method: :post,
|
|
43
|
+
path: format("/v1/payment_records/%<id>s/report_payment_attempt", { id: CGI.escape(id) }),
|
|
44
|
+
params: params,
|
|
45
|
+
opts: opts
|
|
46
|
+
)
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
# Report that the most recent payment attempt on the specified Payment Record
|
|
50
|
+
# was canceled.
|
|
51
|
+
def report_payment_attempt_canceled(params = {}, opts = {})
|
|
52
|
+
request_stripe_object(
|
|
53
|
+
method: :post,
|
|
54
|
+
path: format("/v1/payment_records/%<id>s/report_payment_attempt_canceled", { id: CGI.escape(self["id"]) }),
|
|
55
|
+
params: params,
|
|
56
|
+
opts: opts
|
|
57
|
+
)
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
# Report that the most recent payment attempt on the specified Payment Record
|
|
61
|
+
# was canceled.
|
|
62
|
+
def self.report_payment_attempt_canceled(id, params = {}, opts = {})
|
|
63
|
+
request_stripe_object(
|
|
64
|
+
method: :post,
|
|
65
|
+
path: format("/v1/payment_records/%<id>s/report_payment_attempt_canceled", { id: CGI.escape(id) }),
|
|
66
|
+
params: params,
|
|
67
|
+
opts: opts
|
|
68
|
+
)
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
# Report that the most recent payment attempt on the specified Payment Record
|
|
72
|
+
# failed or errored.
|
|
73
|
+
def report_payment_attempt_failed(params = {}, opts = {})
|
|
74
|
+
request_stripe_object(
|
|
75
|
+
method: :post,
|
|
76
|
+
path: format("/v1/payment_records/%<id>s/report_payment_attempt_failed", { id: CGI.escape(self["id"]) }),
|
|
77
|
+
params: params,
|
|
78
|
+
opts: opts
|
|
79
|
+
)
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
# Report that the most recent payment attempt on the specified Payment Record
|
|
83
|
+
# failed or errored.
|
|
84
|
+
def self.report_payment_attempt_failed(id, params = {}, opts = {})
|
|
85
|
+
request_stripe_object(
|
|
86
|
+
method: :post,
|
|
87
|
+
path: format("/v1/payment_records/%<id>s/report_payment_attempt_failed", { id: CGI.escape(id) }),
|
|
88
|
+
params: params,
|
|
89
|
+
opts: opts
|
|
90
|
+
)
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
# Report that the most recent payment attempt on the specified Payment Record
|
|
94
|
+
# was guaranteed.
|
|
95
|
+
def report_payment_attempt_guaranteed(params = {}, opts = {})
|
|
96
|
+
request_stripe_object(
|
|
97
|
+
method: :post,
|
|
98
|
+
path: format("/v1/payment_records/%<id>s/report_payment_attempt_guaranteed", { id: CGI.escape(self["id"]) }),
|
|
99
|
+
params: params,
|
|
100
|
+
opts: opts
|
|
101
|
+
)
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
# Report that the most recent payment attempt on the specified Payment Record
|
|
105
|
+
# was guaranteed.
|
|
106
|
+
def self.report_payment_attempt_guaranteed(id, params = {}, opts = {})
|
|
107
|
+
request_stripe_object(
|
|
108
|
+
method: :post,
|
|
109
|
+
path: format("/v1/payment_records/%<id>s/report_payment_attempt_guaranteed", { id: CGI.escape(id) }),
|
|
110
|
+
params: params,
|
|
111
|
+
opts: opts
|
|
112
|
+
)
|
|
113
|
+
end
|
|
114
|
+
end
|
|
115
|
+
end
|
|
@@ -7,6 +7,7 @@ module Stripe
|
|
|
7
7
|
class Quote < APIResource
|
|
8
8
|
extend Stripe::APIOperations::Create
|
|
9
9
|
extend Stripe::APIOperations::List
|
|
10
|
+
extend Stripe::APIOperations::NestedResource
|
|
10
11
|
include Stripe::APIOperations::Save
|
|
11
12
|
|
|
12
13
|
OBJECT_NAME = "quote"
|
|
@@ -14,6 +15,9 @@ module Stripe
|
|
|
14
15
|
"quote"
|
|
15
16
|
end
|
|
16
17
|
|
|
18
|
+
nested_resource_class_methods :preview_invoice, operations: %i[list]
|
|
19
|
+
nested_resource_class_methods :preview_subscription_schedule, operations: %i[list]
|
|
20
|
+
|
|
17
21
|
# Accepts the specified quote.
|
|
18
22
|
def accept(params = {}, opts = {})
|
|
19
23
|
request_stripe_object(
|
|
@@ -124,6 +128,86 @@ module Stripe
|
|
|
124
128
|
)
|
|
125
129
|
end
|
|
126
130
|
|
|
131
|
+
# Retrieves a paginated list of lines for a quote. These lines describe changes that will be used to create new subscription schedules or update existing subscription schedules when the quote is accepted.
|
|
132
|
+
def list_lines(params = {}, opts = {})
|
|
133
|
+
request_stripe_object(
|
|
134
|
+
method: :get,
|
|
135
|
+
path: format("/v1/quotes/%<quote>s/lines", { quote: CGI.escape(self["id"]) }),
|
|
136
|
+
params: params,
|
|
137
|
+
opts: opts
|
|
138
|
+
)
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
# Retrieves a paginated list of lines for a quote. These lines describe changes that will be used to create new subscription schedules or update existing subscription schedules when the quote is accepted.
|
|
142
|
+
def self.list_lines(quote, params = {}, opts = {})
|
|
143
|
+
request_stripe_object(
|
|
144
|
+
method: :get,
|
|
145
|
+
path: format("/v1/quotes/%<quote>s/lines", { quote: CGI.escape(quote) }),
|
|
146
|
+
params: params,
|
|
147
|
+
opts: opts
|
|
148
|
+
)
|
|
149
|
+
end
|
|
150
|
+
|
|
151
|
+
# Preview the invoice line items that would be generated by accepting the quote.
|
|
152
|
+
def list_preview_invoice_lines(preview_invoice, params = {}, opts = {})
|
|
153
|
+
request_stripe_object(
|
|
154
|
+
method: :get,
|
|
155
|
+
path: format("/v1/quotes/%<quote>s/preview_invoices/%<preview_invoice>s/lines", { quote: CGI.escape(self["id"]), preview_invoice: CGI.escape(preview_invoice) }),
|
|
156
|
+
params: params,
|
|
157
|
+
opts: opts
|
|
158
|
+
)
|
|
159
|
+
end
|
|
160
|
+
|
|
161
|
+
# Preview the invoice line items that would be generated by accepting the quote.
|
|
162
|
+
def self.list_preview_invoice_lines(quote, preview_invoice, params = {}, opts = {})
|
|
163
|
+
request_stripe_object(
|
|
164
|
+
method: :get,
|
|
165
|
+
path: format("/v1/quotes/%<quote>s/preview_invoices/%<preview_invoice>s/lines", { quote: CGI.escape(quote), preview_invoice: CGI.escape(preview_invoice) }),
|
|
166
|
+
params: params,
|
|
167
|
+
opts: opts
|
|
168
|
+
)
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
# Converts a stale quote to draft.
|
|
172
|
+
def mark_draft(params = {}, opts = {})
|
|
173
|
+
request_stripe_object(
|
|
174
|
+
method: :post,
|
|
175
|
+
path: format("/v1/quotes/%<quote>s/mark_draft", { quote: CGI.escape(self["id"]) }),
|
|
176
|
+
params: params,
|
|
177
|
+
opts: opts
|
|
178
|
+
)
|
|
179
|
+
end
|
|
180
|
+
|
|
181
|
+
# Converts a stale quote to draft.
|
|
182
|
+
def self.mark_draft(quote, params = {}, opts = {})
|
|
183
|
+
request_stripe_object(
|
|
184
|
+
method: :post,
|
|
185
|
+
path: format("/v1/quotes/%<quote>s/mark_draft", { quote: CGI.escape(quote) }),
|
|
186
|
+
params: params,
|
|
187
|
+
opts: opts
|
|
188
|
+
)
|
|
189
|
+
end
|
|
190
|
+
|
|
191
|
+
# Converts a draft or open quote to stale.
|
|
192
|
+
def mark_stale(params = {}, opts = {})
|
|
193
|
+
request_stripe_object(
|
|
194
|
+
method: :post,
|
|
195
|
+
path: format("/v1/quotes/%<quote>s/mark_stale", { quote: CGI.escape(self["id"]) }),
|
|
196
|
+
params: params,
|
|
197
|
+
opts: opts
|
|
198
|
+
)
|
|
199
|
+
end
|
|
200
|
+
|
|
201
|
+
# Converts a draft or open quote to stale.
|
|
202
|
+
def self.mark_stale(quote, params = {}, opts = {})
|
|
203
|
+
request_stripe_object(
|
|
204
|
+
method: :post,
|
|
205
|
+
path: format("/v1/quotes/%<quote>s/mark_stale", { quote: CGI.escape(quote) }),
|
|
206
|
+
params: params,
|
|
207
|
+
opts: opts
|
|
208
|
+
)
|
|
209
|
+
end
|
|
210
|
+
|
|
127
211
|
# Download the PDF for a finalized quote. Explanation for special handling can be found [here](https://docs.stripe.com/quotes/overview#quote_pdf)
|
|
128
212
|
def pdf(params = {}, opts = {}, &read_body_chunk_block)
|
|
129
213
|
opts = { api_base: APIRequestor.active_requestor.config.uploads_base }.merge(opts)
|
|
@@ -150,6 +234,26 @@ module Stripe
|
|
|
150
234
|
)
|
|
151
235
|
end
|
|
152
236
|
|
|
237
|
+
# Recompute the upcoming invoice estimate for the quote.
|
|
238
|
+
def reestimate(params = {}, opts = {})
|
|
239
|
+
request_stripe_object(
|
|
240
|
+
method: :post,
|
|
241
|
+
path: format("/v1/quotes/%<quote>s/reestimate", { quote: CGI.escape(self["id"]) }),
|
|
242
|
+
params: params,
|
|
243
|
+
opts: opts
|
|
244
|
+
)
|
|
245
|
+
end
|
|
246
|
+
|
|
247
|
+
# Recompute the upcoming invoice estimate for the quote.
|
|
248
|
+
def self.reestimate(quote, params = {}, opts = {})
|
|
249
|
+
request_stripe_object(
|
|
250
|
+
method: :post,
|
|
251
|
+
path: format("/v1/quotes/%<quote>s/reestimate", { quote: CGI.escape(quote) }),
|
|
252
|
+
params: params,
|
|
253
|
+
opts: opts
|
|
254
|
+
)
|
|
255
|
+
end
|
|
256
|
+
|
|
153
257
|
# A quote models prices and services for a customer.
|
|
154
258
|
def self.update(id, params = {}, opts = {})
|
|
155
259
|
request_stripe_object(
|