stripe 10.5.0.pre.beta.1 → 10.6.0.pre.beta.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (52) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +9 -0
  3. data/OPENAPI_VERSION +1 -1
  4. data/VERSION +1 -1
  5. data/lib/stripe/resources/account.rb +8 -0
  6. data/lib/stripe/resources/apps/secret.rb +2 -0
  7. data/lib/stripe/resources/capital/financing_offer.rb +4 -0
  8. data/lib/stripe/resources/charge.rb +10 -0
  9. data/lib/stripe/resources/checkout/session.rb +8 -0
  10. data/lib/stripe/resources/climate/order.rb +8 -0
  11. data/lib/stripe/resources/credit_note.rb +4 -0
  12. data/lib/stripe/resources/customer.rb +16 -0
  13. data/lib/stripe/resources/dispute.rb +6 -0
  14. data/lib/stripe/resources/financial_connections/account.rb +10 -0
  15. data/lib/stripe/resources/gift_cards/card.rb +1 -0
  16. data/lib/stripe/resources/gift_cards/transaction.rb +4 -0
  17. data/lib/stripe/resources/identity/verification_session.rb +44 -0
  18. data/lib/stripe/resources/invoice.rb +38 -0
  19. data/lib/stripe/resources/issuing/authorization.rb +17 -0
  20. data/lib/stripe/resources/issuing/card.rb +8 -0
  21. data/lib/stripe/resources/issuing/credit_underwriting_record.rb +6 -0
  22. data/lib/stripe/resources/issuing/dispute.rb +2 -0
  23. data/lib/stripe/resources/issuing/personalization_design.rb +6 -0
  24. data/lib/stripe/resources/issuing/transaction.rb +4 -0
  25. data/lib/stripe/resources/order.rb +8 -0
  26. data/lib/stripe/resources/payment_intent.rb +118 -0
  27. data/lib/stripe/resources/payment_link.rb +2 -0
  28. data/lib/stripe/resources/payment_method.rb +28 -0
  29. data/lib/stripe/resources/payment_method_domain.rb +12 -0
  30. data/lib/stripe/resources/payout.rb +8 -0
  31. data/lib/stripe/resources/quote.rb +22 -0
  32. data/lib/stripe/resources/quote_phase.rb +2 -0
  33. data/lib/stripe/resources/refund.rb +8 -0
  34. data/lib/stripe/resources/review.rb +2 -0
  35. data/lib/stripe/resources/setup_intent.rb +36 -0
  36. data/lib/stripe/resources/source.rb +2 -0
  37. data/lib/stripe/resources/subscription.rb +14 -0
  38. data/lib/stripe/resources/subscription_schedule.rb +6 -0
  39. data/lib/stripe/resources/tax/calculation.rb +2 -0
  40. data/lib/stripe/resources/tax/form.rb +2 -0
  41. data/lib/stripe/resources/tax/transaction.rb +4 -0
  42. data/lib/stripe/resources/terminal/reader.rb +18 -0
  43. data/lib/stripe/resources/test_helpers/test_clock.rb +2 -0
  44. data/lib/stripe/resources/topup.rb +2 -0
  45. data/lib/stripe/resources/treasury/financial_account.rb +4 -0
  46. data/lib/stripe/resources/treasury/inbound_transfer.rb +8 -0
  47. data/lib/stripe/resources/treasury/outbound_payment.rb +8 -0
  48. data/lib/stripe/resources/treasury/outbound_transfer.rb +8 -0
  49. data/lib/stripe/resources/treasury/received_credit.rb +1 -0
  50. data/lib/stripe/resources/treasury/received_debit.rb +1 -0
  51. data/lib/stripe/version.rb +1 -1
  52. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 53a312be8b3ec863d48ced7662fdff781b4d44eb86d8dbf4f6d977252106aff2
4
- data.tar.gz: 1c0482941ccbf53abb17d584449a2ddddba22d2f4766893d10c02c5fac887aec
3
+ metadata.gz: 4dd553363be8cc8d8a5f06ff9d6772935def2baa681c7be37e49bf5b4433a10c
4
+ data.tar.gz: cb3b1684976ad90db8973c871db910ab7eb22e0a3705893bc4ae62fd19a293c7
5
5
  SHA512:
6
- metadata.gz: 916287bb73f70d3dad8701d4383421baf47731ab8eeac53f41afd9144e6dada784f4de89b3f12c6cafaeffd28c8874a93632ceeb08dbcb858d4af7f35140e2e7
7
- data.tar.gz: de3cfc90d53b5f4224995b67693197cceb0addd3138913eac8a7ca56b104a608760c40b87341149f13274fbbbc0871fce8244d14cf5b14313a0a07683ec8c87f
6
+ metadata.gz: 5944cccbb0b5680830e66b306dca977bf4ee0963e85faeae0392df0cd4dfb795942ee1069b1a45c8cb79621d78756975f5c1ed672bd3d1fec6e4e6338a481334
7
+ data.tar.gz: c8563e4b7ce2bb6ac372ac50cd3644969f901137ff352538df1abb1b849e402d48873005cbcee6f9cc3c34e6bc19dc8fc9e124c95d837b15cfac5fd80fd725af
data/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # Changelog
2
2
 
3
+ ## 10.6.0-beta.1 - 2024-01-04
4
+ * [#1302](https://github.com/stripe/stripe-ruby/pull/1302) Update generated code for beta
5
+ * Updated stable APIs to the latest version
6
+
7
+
8
+ ## 10.5.0 - 2024-01-04
9
+ * [#1306](https://github.com/stripe/stripe-ruby/pull/1306) Update generated code
10
+ * Add support for `retrieve` method on resource `Tax.Registration`
11
+
3
12
  ## 10.5.0-beta.1 - 2023-12-22
4
13
  * [#1302](https://github.com/stripe/stripe-ruby/pull/1302) Update generated code for beta
5
14
 
data/OPENAPI_VERSION CHANGED
@@ -1 +1 @@
1
- v737
1
+ v742
data/VERSION CHANGED
@@ -1 +1 @@
1
- 10.5.0-beta.1
1
+ 10.6.0-beta.1
@@ -25,6 +25,7 @@ module Stripe
25
25
  resource_plural: "capabilities"
26
26
  nested_resource_class_methods :person, operations: %i[create retrieve update delete list]
27
27
 
28
+ # Returns a list of people associated with the account's legal entity. The people are returned sorted by creation date, with the most recent people appearing first.
28
29
  def persons(params = {}, opts = {})
29
30
  request_stripe_object(
30
31
  method: :get,
@@ -34,6 +35,9 @@ module Stripe
34
35
  )
35
36
  end
36
37
 
38
+ # With [Connect](https://stripe.com/docs/connect), you may flag accounts as suspicious.
39
+ #
40
+ # Test-mode Custom and Express accounts can be rejected at any time. Accounts created using live-mode keys may only be rejected once all balances are zero.
37
41
  def reject(params = {}, opts = {})
38
42
  request_stripe_object(
39
43
  method: :post,
@@ -43,6 +47,7 @@ module Stripe
43
47
  )
44
48
  end
45
49
 
50
+ # Returns a list of people associated with the account's legal entity. The people are returned sorted by creation date, with the most recent people appearing first.
46
51
  def self.persons(account, params = {}, opts = {})
47
52
  request_stripe_object(
48
53
  method: :get,
@@ -52,6 +57,9 @@ module Stripe
52
57
  )
53
58
  end
54
59
 
60
+ # With [Connect](https://stripe.com/docs/connect), you may flag accounts as suspicious.
61
+ #
62
+ # Test-mode Custom and Express accounts can be rejected at any time. Accounts created using live-mode keys may only be rejected once all balances are zero.
55
63
  def self.reject(account, params = {}, opts = {})
56
64
  request_stripe_object(
57
65
  method: :post,
@@ -18,6 +18,7 @@ module Stripe
18
18
 
19
19
  OBJECT_NAME = "apps.secret"
20
20
 
21
+ # Deletes a secret from the secret store by name and scope.
21
22
  def self.delete_where(params = {}, opts = {})
22
23
  request_stripe_object(
23
24
  method: :post,
@@ -27,6 +28,7 @@ module Stripe
27
28
  )
28
29
  end
29
30
 
31
+ # Finds a secret in the secret store by name and scope.
30
32
  def self.find(params = {}, opts = {})
31
33
  request_stripe_object(
32
34
  method: :get,
@@ -10,6 +10,8 @@ module Stripe
10
10
 
11
11
  OBJECT_NAME = "capital.financing_offer"
12
12
 
13
+ # Acknowledges that platform has received and delivered the financing_offer to
14
+ # the intended merchant recipient.
13
15
  def mark_delivered(params = {}, opts = {})
14
16
  request_stripe_object(
15
17
  method: :post,
@@ -19,6 +21,8 @@ module Stripe
19
21
  )
20
22
  end
21
23
 
24
+ # Acknowledges that platform has received and delivered the financing_offer to
25
+ # the intended merchant recipient.
22
26
  def self.mark_delivered(financing_offer, params = {}, opts = {})
23
27
  request_stripe_object(
24
28
  method: :post,
@@ -14,6 +14,11 @@ module Stripe
14
14
 
15
15
  OBJECT_NAME = "charge"
16
16
 
17
+ # Capture the payment of an existing, uncaptured charge that was created with the capture option set to false.
18
+ #
19
+ # Uncaptured payments expire a set number of days after they are created ([7 by default](https://stripe.com/docs/charges/placing-a-hold)), after which they are marked as refunded and capture attempts will fail.
20
+ #
21
+ # Don't use this method to capture a PaymentIntent-initiated charge. Use [Capture a PaymentIntent](https://stripe.com/docs/api/payment_intents/capture).
17
22
  def capture(params = {}, opts = {})
18
23
  request_stripe_object(
19
24
  method: :post,
@@ -23,6 +28,11 @@ module Stripe
23
28
  )
24
29
  end
25
30
 
31
+ # Capture the payment of an existing, uncaptured charge that was created with the capture option set to false.
32
+ #
33
+ # Uncaptured payments expire a set number of days after they are created ([7 by default](https://stripe.com/docs/charges/placing-a-hold)), after which they are marked as refunded and capture attempts will fail.
34
+ #
35
+ # Don't use this method to capture a PaymentIntent-initiated charge. Use [Capture a PaymentIntent](https://stripe.com/docs/api/payment_intents/capture).
26
36
  def self.capture(charge, params = {}, opts = {})
27
37
  request_stripe_object(
28
38
  method: :post,
@@ -23,6 +23,9 @@ module Stripe
23
23
 
24
24
  OBJECT_NAME = "checkout.session"
25
25
 
26
+ # A Session can be expired when it is in one of these statuses: open
27
+ #
28
+ # After it expires, a customer can't complete a Session and customers loading the Session see a message saying the Session is expired.
26
29
  def expire(params = {}, opts = {})
27
30
  request_stripe_object(
28
31
  method: :post,
@@ -32,6 +35,7 @@ module Stripe
32
35
  )
33
36
  end
34
37
 
38
+ # When retrieving a Checkout Session, 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.
35
39
  def list_line_items(params = {}, opts = {})
36
40
  request_stripe_object(
37
41
  method: :get,
@@ -41,6 +45,9 @@ module Stripe
41
45
  )
42
46
  end
43
47
 
48
+ # A Session can be expired when it is in one of these statuses: open
49
+ #
50
+ # After it expires, a customer can't complete a Session and customers loading the Session see a message saying the Session is expired.
44
51
  def self.expire(session, params = {}, opts = {})
45
52
  request_stripe_object(
46
53
  method: :post,
@@ -50,6 +57,7 @@ module Stripe
50
57
  )
51
58
  end
52
59
 
60
+ # When retrieving a Checkout Session, 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.
53
61
  def self.list_line_items(session, params = {}, opts = {})
54
62
  request_stripe_object(
55
63
  method: :get,
@@ -12,6 +12,10 @@ module Stripe
12
12
 
13
13
  OBJECT_NAME = "climate.order"
14
14
 
15
+ # Cancels a Climate order. You can cancel an order within 30 days of creation. Stripe refunds the
16
+ # reservation amount_subtotal, but not the amount_fees for user-triggered cancellations. Frontier
17
+ # might cancel reservations if suppliers fail to deliver. If Frontier cancels the reservation, Stripe
18
+ # provides 90 days advance notice and refunds the amount_total.
15
19
  def cancel(params = {}, opts = {})
16
20
  request_stripe_object(
17
21
  method: :post,
@@ -21,6 +25,10 @@ module Stripe
21
25
  )
22
26
  end
23
27
 
28
+ # Cancels a Climate order. You can cancel an order within 30 days of creation. Stripe refunds the
29
+ # reservation amount_subtotal, but not the amount_fees for user-triggered cancellations. Frontier
30
+ # might cancel reservations if suppliers fail to deliver. If Frontier cancels the reservation, Stripe
31
+ # provides 90 days advance notice and refunds the amount_total.
24
32
  def self.cancel(order, params = {}, opts = {})
25
33
  request_stripe_object(
26
34
  method: :post,
@@ -12,6 +12,7 @@ module Stripe
12
12
 
13
13
  OBJECT_NAME = "credit_note"
14
14
 
15
+ # Marks a credit note as void. Learn more about [voiding credit notes](https://stripe.com/docs/billing/invoices/credit-notes#voiding).
15
16
  def void_credit_note(params = {}, opts = {})
16
17
  request_stripe_object(
17
18
  method: :post,
@@ -21,6 +22,7 @@ module Stripe
21
22
  )
22
23
  end
23
24
 
25
+ # When retrieving a credit note preview, you'll get a lines property containing the first handful of those items. This URL you can retrieve the full (paginated) list of line items.
24
26
  def self.list_preview_line_items(params = {}, opts = {})
25
27
  request_stripe_object(
26
28
  method: :get,
@@ -30,6 +32,7 @@ module Stripe
30
32
  )
31
33
  end
32
34
 
35
+ # Get a preview of a credit note without creating it.
33
36
  def self.preview(params = {}, opts = {})
34
37
  request_stripe_object(
35
38
  method: :get,
@@ -39,6 +42,7 @@ module Stripe
39
42
  )
40
43
  end
41
44
 
45
+ # Marks a credit note as void. Learn more about [voiding credit notes](https://stripe.com/docs/billing/invoices/credit-notes#voiding).
42
46
  def self.void_credit_note(id, params = {}, opts = {})
43
47
  request_stripe_object(
44
48
  method: :post,
@@ -19,6 +19,9 @@ module Stripe
19
19
  nested_resource_class_methods :cash_balance_transaction, operations: %i[retrieve list]
20
20
  nested_resource_class_methods :tax_id, operations: %i[create retrieve delete list]
21
21
 
22
+ # Retrieve funding instructions for a customer cash balance. If funding instructions do not yet exist for the customer, new
23
+ # funding instructions will be created. If funding instructions have already been created for a given customer, the same
24
+ # funding instructions will be retrieved. In other words, we will return the same funding instructions each time.
22
25
  def create_funding_instructions(params = {}, opts = {})
23
26
  request_stripe_object(
24
27
  method: :post,
@@ -28,6 +31,7 @@ module Stripe
28
31
  )
29
32
  end
30
33
 
34
+ # Removes the currently applied discount on a customer.
31
35
  def delete_discount(params = {}, opts = {})
32
36
  request_stripe_object(
33
37
  method: :delete,
@@ -37,6 +41,7 @@ module Stripe
37
41
  )
38
42
  end
39
43
 
44
+ # Returns a list of PaymentMethods for a given Customer
40
45
  def list_payment_methods(params = {}, opts = {})
41
46
  request_stripe_object(
42
47
  method: :get,
@@ -46,6 +51,7 @@ module Stripe
46
51
  )
47
52
  end
48
53
 
54
+ # Retrieves a PaymentMethod object for a given Customer.
49
55
  def retrieve_payment_method(payment_method, params = {}, opts = {})
50
56
  request_stripe_object(
51
57
  method: :get,
@@ -55,6 +61,9 @@ module Stripe
55
61
  )
56
62
  end
57
63
 
64
+ # Retrieve funding instructions for a customer cash balance. If funding instructions do not yet exist for the customer, new
65
+ # funding instructions will be created. If funding instructions have already been created for a given customer, the same
66
+ # funding instructions will be retrieved. In other words, we will return the same funding instructions each time.
58
67
  def self.create_funding_instructions(customer, params = {}, opts = {})
59
68
  request_stripe_object(
60
69
  method: :post,
@@ -64,6 +73,7 @@ module Stripe
64
73
  )
65
74
  end
66
75
 
76
+ # Removes the currently applied discount on a customer.
67
77
  def self.delete_discount(customer, params = {}, opts = {})
68
78
  request_stripe_object(
69
79
  method: :delete,
@@ -73,6 +83,7 @@ module Stripe
73
83
  )
74
84
  end
75
85
 
86
+ # Returns a list of PaymentMethods for a given Customer
76
87
  def self.list_payment_methods(customer, params = {}, opts = {})
77
88
  request_stripe_object(
78
89
  method: :get,
@@ -82,6 +93,7 @@ module Stripe
82
93
  )
83
94
  end
84
95
 
96
+ # Retrieves a PaymentMethod object for a given Customer.
85
97
  def self.retrieve_payment_method(customer, payment_method, params = {}, opts = {})
86
98
  request_stripe_object(
87
99
  method: :get,
@@ -109,6 +121,7 @@ module Stripe
109
121
  search(params, opts).auto_paging_each(&blk)
110
122
  end
111
123
 
124
+ # Retrieves a customer's cash balance.
112
125
  def self.retrieve_cash_balance(customer, params = {}, opts = {})
113
126
  request_stripe_object(
114
127
  method: :get,
@@ -118,6 +131,7 @@ module Stripe
118
131
  )
119
132
  end
120
133
 
134
+ # Changes the settings on a customer's cash balance.
121
135
  def self.update_cash_balance(customer, params = {}, opts = {})
122
136
  request_stripe_object(
123
137
  method: :post,
@@ -134,6 +148,7 @@ module Stripe
134
148
  class TestHelpers < APIResourceTestHelpers
135
149
  RESOURCE_CLASS = Customer
136
150
 
151
+ # Create an incoming testmode bank transfer
137
152
  def self.fund_cash_balance(customer, params = {}, opts = {})
138
153
  request_stripe_object(
139
154
  method: :post,
@@ -143,6 +158,7 @@ module Stripe
143
158
  )
144
159
  end
145
160
 
161
+ # Create an incoming testmode bank transfer
146
162
  def fund_cash_balance(params = {}, opts = {})
147
163
  @resource.request_stripe_object(
148
164
  method: :post,
@@ -13,6 +13,9 @@ module Stripe
13
13
 
14
14
  OBJECT_NAME = "dispute"
15
15
 
16
+ # Closing the dispute for a charge indicates that you do not have any evidence to submit and are essentially dismissing the dispute, acknowledging it as lost.
17
+ #
18
+ # The status of the dispute will change from needs_response to lost. Closing a dispute is irreversible.
16
19
  def close(params = {}, opts = {})
17
20
  request_stripe_object(
18
21
  method: :post,
@@ -22,6 +25,9 @@ module Stripe
22
25
  )
23
26
  end
24
27
 
28
+ # Closing the dispute for a charge indicates that you do not have any evidence to submit and are essentially dismissing the dispute, acknowledging it as lost.
29
+ #
30
+ # The status of the dispute will change from needs_response to lost. Closing a dispute is irreversible.
25
31
  def self.close(dispute, params = {}, opts = {})
26
32
  request_stripe_object(
27
33
  method: :post,
@@ -12,6 +12,7 @@ module Stripe
12
12
 
13
13
  nested_resource_class_methods :inferred_balance, operations: %i[list]
14
14
 
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).
15
16
  def disconnect(params = {}, opts = {})
16
17
  request_stripe_object(
17
18
  method: :post,
@@ -21,6 +22,7 @@ module Stripe
21
22
  )
22
23
  end
23
24
 
25
+ # Lists all owners for a given Account
24
26
  def list_owners(params = {}, opts = {})
25
27
  request_stripe_object(
26
28
  method: :get,
@@ -30,6 +32,7 @@ module Stripe
30
32
  )
31
33
  end
32
34
 
35
+ # Refreshes the data associated with a Financial Connections Account.
33
36
  def refresh_account(params = {}, opts = {})
34
37
  request_stripe_object(
35
38
  method: :post,
@@ -39,6 +42,7 @@ module Stripe
39
42
  )
40
43
  end
41
44
 
45
+ # Subscribes to periodic refreshes of data associated with a Financial Connections Account.
42
46
  def subscribe(params = {}, opts = {})
43
47
  request_stripe_object(
44
48
  method: :post,
@@ -48,6 +52,7 @@ module Stripe
48
52
  )
49
53
  end
50
54
 
55
+ # Unsubscribes from periodic refreshes of data associated with a Financial Connections Account.
51
56
  def unsubscribe(params = {}, opts = {})
52
57
  request_stripe_object(
53
58
  method: :post,
@@ -57,6 +62,7 @@ module Stripe
57
62
  )
58
63
  end
59
64
 
65
+ # 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).
60
66
  def self.disconnect(account, params = {}, opts = {})
61
67
  request_stripe_object(
62
68
  method: :post,
@@ -66,6 +72,7 @@ module Stripe
66
72
  )
67
73
  end
68
74
 
75
+ # Lists all owners for a given Account
69
76
  def self.list_owners(account, params = {}, opts = {})
70
77
  request_stripe_object(
71
78
  method: :get,
@@ -75,6 +82,7 @@ module Stripe
75
82
  )
76
83
  end
77
84
 
85
+ # Refreshes the data associated with a Financial Connections Account.
78
86
  def self.refresh_account(account, params = {}, opts = {})
79
87
  request_stripe_object(
80
88
  method: :post,
@@ -84,6 +92,7 @@ module Stripe
84
92
  )
85
93
  end
86
94
 
95
+ # Subscribes to periodic refreshes of data associated with a Financial Connections Account.
87
96
  def self.subscribe(account, params = {}, opts = {})
88
97
  request_stripe_object(
89
98
  method: :post,
@@ -93,6 +102,7 @@ module Stripe
93
102
  )
94
103
  end
95
104
 
105
+ # Unsubscribes from periodic refreshes of data associated with a Financial Connections Account.
96
106
  def self.unsubscribe(account, params = {}, opts = {})
97
107
  request_stripe_object(
98
108
  method: :post,
@@ -12,6 +12,7 @@ module Stripe
12
12
 
13
13
  OBJECT_NAME = "gift_cards.card"
14
14
 
15
+ # Validates a gift card code, returning the matching gift card object if it exists.
15
16
  def self.validate(params = {}, opts = {})
16
17
  request_stripe_object(
17
18
  method: :post,
@@ -16,6 +16,7 @@ module Stripe
16
16
 
17
17
  OBJECT_NAME = "gift_cards.transaction"
18
18
 
19
+ # Cancel a gift card transaction
19
20
  def cancel(params = {}, opts = {})
20
21
  request_stripe_object(
21
22
  method: :post,
@@ -25,6 +26,7 @@ module Stripe
25
26
  )
26
27
  end
27
28
 
29
+ # Confirm a gift card transaction
28
30
  def confirm(params = {}, opts = {})
29
31
  request_stripe_object(
30
32
  method: :post,
@@ -34,6 +36,7 @@ module Stripe
34
36
  )
35
37
  end
36
38
 
39
+ # Cancel a gift card transaction
37
40
  def self.cancel(id, params = {}, opts = {})
38
41
  request_stripe_object(
39
42
  method: :post,
@@ -43,6 +46,7 @@ module Stripe
43
46
  )
44
47
  end
45
48
 
49
+ # Confirm a gift card transaction
46
50
  def self.confirm(id, params = {}, opts = {})
47
51
  request_stripe_object(
48
52
  method: :post,
@@ -21,6 +21,9 @@ module Stripe
21
21
 
22
22
  OBJECT_NAME = "identity.verification_session"
23
23
 
24
+ # A VerificationSession object can be canceled when it is in requires_input [status](https://stripe.com/docs/identity/how-sessions-work).
25
+ #
26
+ # Once canceled, future submission attempts are disabled. This cannot be undone. [Learn more](https://stripe.com/docs/identity/verification-sessions#cancel).
24
27
  def cancel(params = {}, opts = {})
25
28
  request_stripe_object(
26
29
  method: :post,
@@ -30,6 +33,25 @@ module Stripe
30
33
  )
31
34
  end
32
35
 
36
+ # Redact a VerificationSession to remove all collected information from Stripe. This will redact
37
+ # the VerificationSession and all objects related to it, including VerificationReports, Events,
38
+ # request logs, etc.
39
+ #
40
+ # A VerificationSession object can be redacted when it is in requires_input or verified
41
+ # [status](https://stripe.com/docs/identity/how-sessions-work). Redacting a VerificationSession in requires_action
42
+ # state will automatically cancel it.
43
+ #
44
+ # The redaction process may take up to four days. When the redaction process is in progress, the
45
+ # VerificationSession's redaction.status field will be set to processing; when the process is
46
+ # finished, it will change to redacted and an identity.verification_session.redacted event
47
+ # will be emitted.
48
+ #
49
+ # Redaction is irreversible. Redacted objects are still accessible in the Stripe API, but all the
50
+ # fields that contain personal data will be replaced by the string [redacted] or a similar
51
+ # placeholder. The metadata field will also be erased. Redacted objects cannot be updated or
52
+ # used for any purpose.
53
+ #
54
+ # [Learn more](https://stripe.com/docs/identity/verification-sessions#redact).
33
55
  def redact(params = {}, opts = {})
34
56
  request_stripe_object(
35
57
  method: :post,
@@ -39,6 +61,9 @@ module Stripe
39
61
  )
40
62
  end
41
63
 
64
+ # A VerificationSession object can be canceled when it is in requires_input [status](https://stripe.com/docs/identity/how-sessions-work).
65
+ #
66
+ # Once canceled, future submission attempts are disabled. This cannot be undone. [Learn more](https://stripe.com/docs/identity/verification-sessions#cancel).
42
67
  def self.cancel(session, params = {}, opts = {})
43
68
  request_stripe_object(
44
69
  method: :post,
@@ -48,6 +73,25 @@ module Stripe
48
73
  )
49
74
  end
50
75
 
76
+ # Redact a VerificationSession to remove all collected information from Stripe. This will redact
77
+ # the VerificationSession and all objects related to it, including VerificationReports, Events,
78
+ # request logs, etc.
79
+ #
80
+ # A VerificationSession object can be redacted when it is in requires_input or verified
81
+ # [status](https://stripe.com/docs/identity/how-sessions-work). Redacting a VerificationSession in requires_action
82
+ # state will automatically cancel it.
83
+ #
84
+ # The redaction process may take up to four days. When the redaction process is in progress, the
85
+ # VerificationSession's redaction.status field will be set to processing; when the process is
86
+ # finished, it will change to redacted and an identity.verification_session.redacted event
87
+ # will be emitted.
88
+ #
89
+ # Redaction is irreversible. Redacted objects are still accessible in the Stripe API, but all the
90
+ # fields that contain personal data will be replaced by the string [redacted] or a similar
91
+ # placeholder. The metadata field will also be erased. Redacted objects cannot be updated or
92
+ # used for any purpose.
93
+ #
94
+ # [Learn more](https://stripe.com/docs/identity/verification-sessions#redact).
51
95
  def self.redact(session, params = {}, opts = {})
52
96
  request_stripe_object(
53
97
  method: :post,
@@ -46,6 +46,15 @@ module Stripe
46
46
 
47
47
  nested_resource_class_methods :payment, operations: %i[retrieve list]
48
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)
49
58
  def attach_payment_intent(params = {}, opts = {})
50
59
  request_stripe_object(
51
60
  method: :post,
@@ -55,6 +64,7 @@ module Stripe
55
64
  )
56
65
  end
57
66
 
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.
58
68
  def finalize_invoice(params = {}, opts = {})
59
69
  request_stripe_object(
60
70
  method: :post,
@@ -64,6 +74,7 @@ module Stripe
64
74
  )
65
75
  end
66
76
 
77
+ # Marking an invoice as uncollectible is useful for keeping track of bad debts that can be written off for accounting purposes.
67
78
  def mark_uncollectible(params = {}, opts = {})
68
79
  request_stripe_object(
69
80
  method: :post,
@@ -73,6 +84,7 @@ module Stripe
73
84
  )
74
85
  end
75
86
 
87
+ # Stripe automatically creates and then attempts to collect payment on invoices for customers on subscriptions according to your [subscriptions settings](https://dashboard.stripe.com/account/billing/automatic). However, if you'd like to attempt payment on an invoice out of the normal collection schedule or for some other reason, you can do so.
76
88
  def pay(params = {}, opts = {})
77
89
  request_stripe_object(
78
90
  method: :post,
@@ -82,6 +94,9 @@ module Stripe
82
94
  )
83
95
  end
84
96
 
97
+ # Stripe will automatically send invoices to customers according to your [subscriptions settings](https://dashboard.stripe.com/account/billing/automatic). However, if you'd like to manually send an invoice to your customer out of the normal schedule, you can do so. When sending invoices that have already been paid, there will be no reference to the payment in the email.
98
+ #
99
+ # Requests made in test-mode result in no emails being sent, despite sending an invoice.sent event.
85
100
  def send_invoice(params = {}, opts = {})
86
101
  request_stripe_object(
87
102
  method: :post,
@@ -91,6 +106,7 @@ module Stripe
91
106
  )
92
107
  end
93
108
 
109
+ # Mark a finalized invoice as void. This cannot be undone. Voiding an invoice is similar to [deletion](https://stripe.com/docs/api#delete_invoice), however it only applies to finalized invoices and maintains a papertrail where the invoice can still be found.
94
110
  def void_invoice(params = {}, opts = {})
95
111
  request_stripe_object(
96
112
  method: :post,
@@ -100,6 +116,15 @@ module Stripe
100
116
  )
101
117
  end
102
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)
103
128
  def self.attach_payment_intent(invoice, params = {}, opts = {})
104
129
  request_stripe_object(
105
130
  method: :post,
@@ -109,6 +134,7 @@ module Stripe
109
134
  )
110
135
  end
111
136
 
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.
112
138
  def self.finalize_invoice(invoice, params = {}, opts = {})
113
139
  request_stripe_object(
114
140
  method: :post,
@@ -118,6 +144,7 @@ module Stripe
118
144
  )
119
145
  end
120
146
 
147
+ # When retrieving an upcoming invoice, you'll get a lines property containing the total count of line items and the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.
121
148
  def self.list_upcoming_line_items(params = {}, opts = {})
122
149
  request_stripe_object(
123
150
  method: :get,
@@ -127,6 +154,7 @@ module Stripe
127
154
  )
128
155
  end
129
156
 
157
+ # Marking an invoice as uncollectible is useful for keeping track of bad debts that can be written off for accounting purposes.
130
158
  def self.mark_uncollectible(invoice, params = {}, opts = {})
131
159
  request_stripe_object(
132
160
  method: :post,
@@ -136,6 +164,7 @@ module Stripe
136
164
  )
137
165
  end
138
166
 
167
+ # Stripe automatically creates and then attempts to collect payment on invoices for customers on subscriptions according to your [subscriptions settings](https://dashboard.stripe.com/account/billing/automatic). However, if you'd like to attempt payment on an invoice out of the normal collection schedule or for some other reason, you can do so.
139
168
  def self.pay(invoice, params = {}, opts = {})
140
169
  request_stripe_object(
141
170
  method: :post,
@@ -145,6 +174,9 @@ module Stripe
145
174
  )
146
175
  end
147
176
 
177
+ # Stripe will automatically send invoices to customers according to your [subscriptions settings](https://dashboard.stripe.com/account/billing/automatic). However, if you'd like to manually send an invoice to your customer out of the normal schedule, you can do so. When sending invoices that have already been paid, there will be no reference to the payment in the email.
178
+ #
179
+ # Requests made in test-mode result in no emails being sent, despite sending an invoice.sent event.
148
180
  def self.send_invoice(invoice, params = {}, opts = {})
149
181
  request_stripe_object(
150
182
  method: :post,
@@ -154,10 +186,16 @@ module Stripe
154
186
  )
155
187
  end
156
188
 
189
+ # At any time, you can preview the upcoming invoice for a customer. This will show you all the charges that are pending, including subscription renewal charges, invoice item charges, etc. It will also show you any discounts that are applicable to the invoice.
190
+ #
191
+ # Note that when you are viewing an upcoming invoice, you are simply viewing a preview – the invoice has not yet been created. As such, the upcoming invoice will not show up in invoice listing calls, and you cannot use the API to pay or edit the invoice. If you want to change the amount that your customer will be billed, you can add, remove, or update pending invoice items, or update the customer's discount.
192
+ #
193
+ # You can preview the effects of updating a subscription, including a preview of what proration will take place. To ensure that the actual proration is calculated exactly the same as the previewed proration, you should pass a proration_date parameter when doing the actual subscription update. The value passed in should be the same as the subscription_proration_date returned on the upcoming invoice resource. The recommended way to get only the prorations being previewed is to consider only proration line items where period[start] is equal to the subscription_proration_date on the upcoming invoice resource.
157
194
  def self.upcoming(params = {}, opts = {})
158
195
  request_stripe_object(method: :get, path: "/v1/invoices/upcoming", params: params, opts: opts)
159
196
  end
160
197
 
198
+ # Mark a finalized invoice as void. This cannot be undone. Voiding an invoice is similar to [deletion](https://stripe.com/docs/api#delete_invoice), however it only applies to finalized invoices and maintains a papertrail where the invoice can still be found.
161
199
  def self.void_invoice(invoice, params = {}, opts = {})
162
200
  request_stripe_object(
163
201
  method: :post,