stripe 8.7.0 → 8.8.0.pre.beta.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (36) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +180 -44
  3. data/README.md +11 -0
  4. data/VERSION +1 -1
  5. data/lib/stripe/api_operations/request.rb +2 -0
  6. data/lib/stripe/api_version.rb +1 -0
  7. data/lib/stripe/object_types.rb +16 -0
  8. data/lib/stripe/request_signing_authenticator.rb +83 -0
  9. data/lib/stripe/resources/account_session.rb +17 -0
  10. data/lib/stripe/resources/capital/financing_offer.rb +32 -0
  11. data/lib/stripe/resources/capital/financing_summary.rb +12 -0
  12. data/lib/stripe/resources/capital/financing_transaction.rb +13 -0
  13. data/lib/stripe/resources/customer_session.rb +12 -0
  14. data/lib/stripe/resources/financial_connections/account.rb +39 -0
  15. data/lib/stripe/resources/financial_connections/inferred_balance.rb +13 -0
  16. data/lib/stripe/resources/financial_connections/transaction.rb +13 -0
  17. data/lib/stripe/resources/gift_cards/card.rb +25 -0
  18. data/lib/stripe/resources/gift_cards/transaction.rb +56 -0
  19. data/lib/stripe/resources/issuing/card.rb +18 -0
  20. data/lib/stripe/resources/issuing/card_bundle.rb +13 -0
  21. data/lib/stripe/resources/issuing/card_design.rb +58 -0
  22. data/lib/stripe/resources/order.rb +89 -0
  23. data/lib/stripe/resources/payment_method_configuration.rb +13 -0
  24. data/lib/stripe/resources/quote.rb +131 -0
  25. data/lib/stripe/resources/quote_phase.rb +29 -0
  26. data/lib/stripe/resources/subscription_schedule.rb +18 -0
  27. data/lib/stripe/resources/tax/form.rb +39 -0
  28. data/lib/stripe/resources/tax/registration.rb +19 -0
  29. data/lib/stripe/resources/terminal/reader.rb +54 -0
  30. data/lib/stripe/resources.rb +16 -0
  31. data/lib/stripe/stripe_client.rb +60 -26
  32. data/lib/stripe/stripe_configuration.rb +3 -0
  33. data/lib/stripe/util.rb +8 -1
  34. data/lib/stripe/version.rb +1 -1
  35. data/lib/stripe.rb +47 -0
  36. metadata +20 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ff2d744f7713eb43a337ea7069114c02fa4a9ec886efc5e69332661ff9b90f7d
4
- data.tar.gz: a81af3893eb05270691d307ed0caa132a2ce5fa6b50497840f7d35606dbb7b45
3
+ metadata.gz: b0de08fc5f1cb9d9c47b3d80f1368ca40a6706663dfa0d23a0d21a460cdc5825
4
+ data.tar.gz: fbc517ff91bb982af50f3d2e669d543f76bc1c6dd7af0c1f1721ecc172a56f27
5
5
  SHA512:
6
- metadata.gz: 951d8c44a5ed2d161946b139980de3290731d58fecd3ec3118604df28e88ca4a0d30c015fef53990a7cef665e3529b129cee34862f6c05e42865184c249966ef
7
- data.tar.gz: 7aacbdc98ce6c65b9f345d1f28aed3bcc149d6e2422f8688e2de89dd6b874884a2426018bb391fdb262bac77bd910e4bd896fdfbe83a707ddafd29c82e0d66f6
6
+ metadata.gz: 4b1ce589c5e10c768b2417562b8c5f741dd15928bfd2af38560113da1739fb1297ddb77ac39eea27d8c78637de8bb285961e550d1b75c78b5c2f810bfde44730
7
+ data.tar.gz: e347a8acb938323c4754dfea8f75fc313764c3698e31f49c4231f56970b278486e6644df11435d244e9a4606dd1dc87499fa88beeb3aa1ce19313fd440e89f65
data/CHANGELOG.md CHANGED
@@ -1,8 +1,30 @@
1
1
  # Changelog
2
2
 
3
- ## 8.7.0 - 2023-08-10
4
- * [#1256](https://github.com/stripe/stripe-ruby/pull/1256) Update generated code
5
- Add resources `Tax::CalculationLineItem`, `Tax::TransactionLineItem`, and `Treasury::FinancialAccountFeatures`. These resources have no methods on them, but do represent the return type of methods elsewhere.
3
+ ## 8.8.0-beta.1 - 2023-08-10
4
+ * [#1257](https://github.com/stripe/stripe-ruby/pull/1257) Update generated code for beta
5
+ * Updated stable APIs to the latest version
6
+
7
+ ## 8.7.0-beta.3 - 2023-08-03
8
+ * [#1254](https://github.com/stripe/stripe-ruby/pull/1254) Update generated code for beta
9
+ * Add support for `submit_card` test helper method on resource `Issuing.Card`
10
+ * [#1252](https://github.com/stripe/stripe-ruby/pull/1252) Remove developer_message support
11
+
12
+ ## 8.7.0-beta.2 - 2023-07-28
13
+ * [#1251](https://github.com/stripe/stripe-ruby/pull/1251) Update generated code for beta
14
+ * Add support for new resource `Tax.Form`
15
+ * Add support for `list`, `pdf`, and `retrieve` methods on resource `Form`
16
+ * [#1249](https://github.com/stripe/stripe-ruby/pull/1249) Update generated code for beta
17
+ * [#1246](https://github.com/stripe/stripe-ruby/pull/1246) Update generated code for beta
18
+
19
+
20
+ ## 8.7.0-beta.1 - 2023-07-13
21
+ * [#1245](https://github.com/stripe/stripe-ruby/pull/1245) Update generated code for beta
22
+ Release specs are identical.
23
+ * [#1243](https://github.com/stripe/stripe-ruby/pull/1243) Update generated code for beta
24
+ * Add support for new resource `PaymentMethodConfiguration`
25
+ * Add support for `create`, `list`, `retrieve`, and `update` methods on resource `PaymentMethodConfiguration`
26
+ * [#1239](https://github.com/stripe/stripe-ruby/pull/1239) Update generated code for beta
27
+
6
28
 
7
29
  ## 8.6.0 - 2023-07-13
8
30
  * [#1244](https://github.com/stripe/stripe-ruby/pull/1244) Update generated code
@@ -24,7 +46,7 @@
24
46
 
25
47
  * [#1225](https://github.com/stripe/stripe-ruby/pull/1225) Downgrade jaro_winkler
26
48
  * [#1219](https://github.com/stripe/stripe-ruby/pull/1219) Update generated code
27
-
49
+
28
50
  Documentation updates.
29
51
  * [#1215](https://github.com/stripe/stripe-ruby/pull/1215) Update generated code
30
52
 
@@ -32,13 +54,49 @@
32
54
 
33
55
  * [#1204](https://github.com/stripe/stripe-ruby/pull/1204) Update generated code
34
56
 
57
+ ## 8.6.0-beta.6 - 2023-06-22
58
+ * [#1237](https://github.com/stripe/stripe-ruby/pull/1237) Update generated code for beta
59
+ * Add support for new resource `CustomerSession`
60
+ * Add support for `create` method on resource `CustomerSession`
61
+ * [#1233](https://github.com/stripe/stripe-ruby/pull/1233) Update generated code for beta
62
+ * [#1229](https://github.com/stripe/stripe-ruby/pull/1229) Update generated code for beta
63
+
64
+ ## 8.6.0-beta.5 - 2023-06-01
65
+ * [#1227](https://github.com/stripe/stripe-ruby/pull/1227) Update generated code for beta
66
+ * [#1228](https://github.com/stripe/stripe-ruby/pull/1228) Document raw_request
67
+ * [#1222](https://github.com/stripe/stripe-ruby/pull/1222) Update generated code for beta
68
+ * [#1224](https://github.com/stripe/stripe-ruby/pull/1224) Handle developer message in preview error responses
69
+
70
+ ## 8.6.0-beta.4 - 2023-05-19
71
+ * [#1220](https://github.com/stripe/stripe-ruby/pull/1220) Update generated code for beta
72
+ * Add support for `subscribe` and `unsubscribe` methods on resource `FinancialConnections.Account`
73
+ * [#1217](https://github.com/stripe/stripe-ruby/pull/1217) Add raw_request
74
+ * [#1216](https://github.com/stripe/stripe-ruby/pull/1216) Update generated code for beta
75
+ * [#1214](https://github.com/stripe/stripe-ruby/pull/1214) Update generated code for beta
76
+
77
+ ## 8.6.0-beta.3 - 2023-04-17
78
+ * [#1211](https://github.com/stripe/stripe-ruby/pull/1211) Update generated code for beta
79
+ * [#1210](https://github.com/stripe/stripe-ruby/pull/1210), [#1212](https://github.com/stripe/stripe-ruby/pull/1212), [#1213](https://github.com/stripe/stripe-ruby/pull/1213) Add support for request signing
80
+
81
+ ## 8.6.0-beta.2 - 2023-04-13
82
+ * [#1206](https://github.com/stripe/stripe-ruby/pull/1206) Update generated code for beta
83
+ * Add support for `collect_payment_method` and `confirm_payment_intent` methods on resource `Terminal.Reader`
84
+ * [#1205](https://github.com/stripe/stripe-ruby/pull/1205) Update generated code for beta
85
+
86
+ ## 8.6.0-beta.1 - 2023-03-30
87
+ * [#1202](https://github.com/stripe/stripe-ruby/pull/1202) Update generated code for beta
35
88
 
36
89
  ## 8.5.0 - 2023-03-30
37
90
  * [#1203](https://github.com/stripe/stripe-ruby/pull/1203) Update generated code
38
- * Remove support for `create` method on resource `Tax.Transaction`
91
+ * Remove support for `create` method on resource `Tax.Transaction`
39
92
  * This is not a breaking change, as this method was deprecated before the Tax Transactions API was released in favor of the `create_from_calculation` method.
40
93
  * [#1201](https://github.com/stripe/stripe-ruby/pull/1201) Update save deprecation message
41
94
 
95
+ ## 8.5.0-beta.1 - 2023-03-23
96
+ * [#1194](https://github.com/stripe/stripe-ruby/pull/1194) Update generated code for beta (new)
97
+ * Add support for new resources `Tax.CalculationLineItem` and `Tax.TransactionLineItem`
98
+ * Add support for `collect_inputs` method on resource `Terminal.Reader`
99
+
42
100
  ## 8.4.0 - 2023-03-23
43
101
  * [#1197](https://github.com/stripe/stripe-ruby/pull/1197) Update generated code (new)
44
102
  * Add support for new resources `Tax.CalculationLineItem`, `Tax.Calculation`, `Tax.TransactionLineItem`, and `Tax.Transaction`
@@ -46,18 +104,91 @@
46
104
  * Add support for `create_from_calculation`, `create_reversal`, `create`, `list_line_items`, and `retrieve` methods on resource `Transaction`
47
105
  * [#1152](https://github.com/stripe/stripe-ruby/pull/1152) Symbolize hash keys inside `convert_to_stripe_object_with_params`
48
106
 
107
+ ## 8.4.0-beta.4 - 2023-03-16
108
+ * [#1189](https://github.com/stripe/stripe-ruby/pull/1189) Update generated code for beta (new)
109
+ * Add support for `create_from_calculation` method on resource `Tax.Transaction`
110
+ * [#1188](https://github.com/stripe/stripe-ruby/pull/1188) Update generated code for beta (new)
111
+ * Remove support for resources `Capital.FinancingOffer` and `Capital.FinancingSummary`
112
+ * Remove support for `list`, `mark_delivered`, and `retrieve` methods on resource `FinancingOffer`
113
+ * Remove support for `retrieve` method on resource `FinancingSummary`
114
+ * [#1187](https://github.com/stripe/stripe-ruby/pull/1187) Merge upstream master
115
+
116
+ ## 8.4.0-beta.3 - 2023-03-09
117
+ * [#1184](https://github.com/stripe/stripe-ruby/pull/1184) API Updates for beta branch
118
+ * Updated stable APIs to the latest version
119
+ * Remove support for `list_transactions` method on resource `Tax.Transaction`
120
+
121
+ ## 8.4.0-beta.2 - 2023-03-03
122
+ * [#1183](https://github.com/stripe/stripe-ruby/pull/1183) API Updates for beta branch
123
+ * Updated stable APIs to the latest version
124
+ * Add support for new resources `Issuing.CardBundle` and `Issuing.CardDesign`
125
+ * Add support for `list` and `retrieve` methods on resource `CardBundle`
126
+ * Add support for `list`, `retrieve`, and `update` methods on resource `CardDesign`
127
+
128
+ ## 8.4.0-beta.1 - 2023-02-23
129
+ * [#1182](https://github.com/stripe/stripe-ruby/pull/1182) API Updates for beta branch
130
+ * Updated stable APIs to the latest version
131
+
49
132
  ## 8.3.0 - 2023-02-16
50
133
  * [#1175](https://github.com/stripe/stripe-ruby/pull/1175) API Updates
51
134
  * Add support for `refund_payment` method on resource `Terminal.Reader`
52
135
 
136
+ ## 8.3.0-beta.1 - 2023-02-02
137
+ * [#1174](https://github.com/stripe/stripe-ruby/pull/1174) API Updates for beta branch
138
+ * Updated stable APIs to the latest version
139
+ * Add support for new resource `FinancialConnections.Transaction`
140
+ * Add support for `list` method on resource `Transaction`
141
+
53
142
  ## 8.2.0 - 2023-02-02
54
143
  * [#1173](https://github.com/stripe/stripe-ruby/pull/1173) API Updates
55
144
  * Add support for `resume` method on resource `Subscription`
56
145
  * [#1171](https://github.com/stripe/stripe-ruby/pull/1171) Remove unused `partial` param from `initialize_from`
57
146
 
147
+ ## 8.2.0-beta.3 - 2023-01-26
148
+ * [#1172](https://github.com/stripe/stripe-ruby/pull/1172) API Updates for beta branch
149
+ * Updated stable APIs to the latest version
150
+ * Add support for `list_transactions` method on resource `Tax.Transaction`
151
+
152
+ ## 8.2.0-beta.2 - 2023-01-19
153
+ * [#1170](https://github.com/stripe/stripe-ruby/pull/1170) API Updates for beta branch
154
+ * Updated stable APIs to the latest version
155
+ * Add support for `Tax.Settings` resource.
156
+
157
+ ## 8.2.0-beta.1 - 2023-01-12
158
+ * [#1167](https://github.com/stripe/stripe-ruby/pull/1167) API Updates for beta branch
159
+ * Updated stable APIs to the latest version
160
+ * Change `quote.draft_quote` implementation to from calling `POST /v1/quotes/{quote}/draft` to `POST /v1/quotes/{quote}/mark_draft`
161
+ * Add support for `Tax::Register` resource
162
+
58
163
  ## 8.1.0 - 2023-01-12
59
164
  * [#1162](https://github.com/stripe/stripe-ruby/pull/1162) Improve request events instrumentation
60
165
 
166
+ ## 8.1.0-beta.4 - 2023-01-05
167
+ * [#1164](https://github.com/stripe/stripe-ruby/pull/1164) API Updates for beta branch
168
+ * Updated stable APIs to the latest version
169
+ * Add support for `mark_stale_quote` method on resource `Quote`
170
+
171
+ ## 8.1.0-beta.3 - 2022-12-22
172
+ * [#1158](https://github.com/stripe/stripe-ruby/pull/1158) API Updates for beta branch
173
+ * Updated stable APIs to the latest version
174
+ * Move `TaxCalculation` and `TaxTransaction` to `Tax::Calculation` and `Tax::Transaction`.
175
+
176
+ ## 8.1.0-beta.2 - 2022-12-15
177
+ * [#1156](https://github.com/stripe/stripe-ruby/pull/1156) API Updates for beta branch
178
+ * Updated stable APIs to the latest version
179
+ * Add support for new resources `TaxCalculation`, and `TaxTransaction`
180
+ * Add support for `create` and `list_line_items` methods on resource `TaxCalculation`
181
+ * Add support for `create_reversal`, `create`, and `retrieve` methods on resource `TaxTransaction`
182
+ * [#1155](https://github.com/stripe/stripe-ruby/pull/1155) API Updates for beta branch
183
+ * Updated stable APIs to the latest version
184
+ * Add support for new resource `QuoteLine`.
185
+
186
+ ## 8.1.0-beta.1 - 2022-12-08
187
+ * [#1153](https://github.com/stripe/stripe-ruby/pull/1153) API Updates for beta branch
188
+ * Updated stable APIs to the latest version
189
+ * [#1146](https://github.com/stripe/stripe-ruby/pull/1146) API Updates for beta branch
190
+ * Updated stable APIs to the latest version
191
+
61
192
  ## 8.0.0 - 2022-11-16
62
193
  * [#1144](https://github.com/stripe/stripe-ruby/pull/1144) Next major release changes
63
194
 
@@ -65,30 +196,29 @@ Breaking changes that arose during code generation of the library that we postpo
65
196
 
66
197
  "⚠️" symbol highlights breaking changes.
67
198
 
68
- ### Deprecated
69
- - The `save` method is deprecated. Prefer the static `update` method that doesn't require retrieval of the resource to update it.
70
- ``` ruby
71
- # before
72
- refund = Stripe::Refund.retrieve("re_123")
73
- refund.description = "Refund description"
74
- refund.save
75
-
76
- # after
77
- Stripe::Refund.update("re_123", description: "Refund description")
78
- ```
199
+ ## 7.2.0-beta.5 - 2022-11-02
200
+ * [#1139](https://github.com/stripe/stripe-ruby/pull/1139) API Updates for beta branch
201
+ * Updated beta APIs to the latest stable version
202
+ * [#1135](https://github.com/stripe/stripe-ruby/pull/1135) API Updates for beta branch
203
+ * Updated stable APIs to the latest version
204
+
205
+ ## 7.2.0-beta.4 - 2022-10-07
206
+ * [#999](https://github.com/stripe/stripe-ruby/pull/999) DESCRIBE CHANGES HERE (try to use the same style, tense, etc. as the other entries)
79
207
 
80
- ### ⚠️ Removed
81
- - Removed deprecated `Sku` resource.
82
- - Removed deprecated `Orders` resource.
83
- - Removed deprecated `delete` method on `Subscription` resource. Please use `cancel` method instead.
84
- ```ruby
85
- # before
86
- Stripe::Subscription::delete("sub_12345")
208
+ ## 7.2.0-beta.3 - 2022-09-26
209
+ * [#1129](https://github.com/stripe/stripe-ruby/pull/1129) API Updates for beta branch
210
+ * Updated stable APIs to the latest version
211
+ * Add `FinancingOffer`, `FinancingSummary` and `FinancingTransaction` resources.
87
212
 
88
- # after
89
- Stripe::Subscription::cancel("sub_12345")
90
- ```
213
+ ## 7.2.0-beta.2 - 2022-08-26
214
+ * [#1127](https://github.com/stripe/stripe-ruby/pull/1127) API Updates for beta branch
215
+ * Updated stable APIs to the latest version
216
+ * Add support for the beta [Gift Card API](https://stripe.com/docs/gift-cards).
91
217
 
218
+ ## 7.2.0-beta.1 - 2022-08-23
219
+ * [#1122](https://github.com/stripe/stripe-ruby/pull/1122) API Updates for beta branch
220
+ - Updated stable APIs to the latest version
221
+ - `Stripe-Version` beta headers are not pinned by-default and need to be manually specified, please refer to [beta SDKs README section](https://github.com/stripe/stripe-ruby/blob/master/README.md#beta-sdks)
92
222
 
93
223
  ## 7.1.0 - 2022-08-19
94
224
  * [#1116](https://github.com/stripe/stripe-ruby/pull/1116) API Updates
@@ -97,6 +227,16 @@ Breaking changes that arose during code generation of the library that we postpo
97
227
  * [#1117](https://github.com/stripe/stripe-ruby/pull/1117) Refresh rubocop config.
98
228
  * [#1115](https://github.com/stripe/stripe-ruby/pull/1115) Add a support section to the readme
99
229
 
230
+ ## 7.1.0-beta.2 - 2022-08-11
231
+ * [#1113](https://github.com/stripe/stripe-ruby/pull/1113) API Updates for beta branch
232
+ - Updated stable APIs to the latest version
233
+ - Add `refund_payment` method to Terminal resource
234
+
235
+ ## 7.1.0-beta.1 - 2022-08-03
236
+ * [#1107](https://github.com/stripe/stripe-ruby/pull/1107) API Updates for beta branch
237
+ - Updated stable APIs to the latest version
238
+ - Added the `Order` resource support
239
+
100
240
  ## 7.0.0 - 2022-08-02
101
241
 
102
242
  Breaking changes that arose during code generation of the library that we postponed for the next major version. For changes to the SDK, read more detailed description at https://github.com/stripe/stripe-ruby/wiki/Migration-guide-for-v7. For changes to the Stripe products, read more at https://stripe.com/docs/upgrades#2022-08-01.
@@ -108,21 +248,19 @@ Breaking changes that arose during code generation of the library that we postpo
108
248
  * [#1090](https://github.com/stripe/stripe-ruby/pull/1090) Use auto-generation for `Invoice` methods
109
249
  * [#1103](https://github.com/stripe/stripe-ruby/pull/1103) Next major release changes
110
250
 
111
- ### ⚠️ Changed
112
- * `retrieve_cash_balance` and `update_cash_balance` methods on `Customer` resource no longer requires the second argument to always be `nil`. The methods now now take in `customer_id`, `params`, and `opts` parameters.
113
- * Update default bundle of CA certificates to April 26, 2022.
114
-
115
- ### Deprecated
116
- * Deprecate `delete` method on `Subscription` resource. Please use `cancel` method instead.
117
-
118
- ### ⚠️ Removed
119
- * Remove `details` method from `Issuing.Card` resource. The method was not supported.
120
- * Remove `Issuing.CardDetails` resource. Read more at https://stripe.com/docs/issuing/cards/virtual.
121
- * Remove `create` method from `ReportType` resource. The method was not supported.
122
- * Remove `usage_record_summaries` method from `SubscriptionItem` resource. Please use `list_usage_record_summaries` method instead.
123
- * Remove `AlipayAccount`, `BitcoinReceiver`, `BitcoinTransaction`, `Issuing::CardDetails`, `Recipient`, ` RecipientTransfer`, and `ThreeDSecure` resources. The resources were deprecated or no longer in use.
124
- * Remove ability to list `Card` resource for a `Recipient`.
125
- * Remove `cancel` method from `Transfer` resource. The method was deprecated.
251
+ ## 6.6.0-beta.1 - 2022-07-22
252
+ * [#1100](https://github.com/stripe/stripe-ruby/pull/1100) API Updates for beta branch
253
+ - Updated stable APIs to the latest version
254
+ - Add `QuotePhase` resource
255
+ * [#1097](https://github.com/stripe/stripe-ruby/pull/1097) API Updates for beta branch
256
+ - Updated stable APIs to the latest version
257
+ - Add `SubscriptionSchedule.amend` method.
258
+ * [#1093](https://github.com/stripe/stripe-ruby/pull/1093) API Updates for beta branch
259
+ - Include `server_side_confirmation_beta=v1` beta
260
+ - Add `secretKeyConfirmation` to `PaymentIntent`
261
+ * [#1085](https://github.com/stripe/stripe-ruby/pull/1085) API Updates for beta branch
262
+ - Updated stable APIs to the latest version
263
+ * [#1075](https://github.com/stripe/stripe-ruby/pull/1075) Use the generated API version
126
264
 
127
265
  ## 6.5.0 - 2022-06-29
128
266
  * [#1084](https://github.com/stripe/stripe-ruby/pull/1084) API Updates
@@ -152,8 +290,6 @@ Breaking changes that arose during code generation of the library that we postpo
152
290
  * Add support for new resources `Treasury.CreditReversal`, `Treasury.DebitReversal`, `Treasury.FinancialAccountFeatures`, `Treasury.FinancialAccount`, `Treasury.FlowDetails`, `Treasury.InboundTransfer`, `Treasury.OutboundPayment`, `Treasury.OutboundTransfer`, `Treasury.ReceivedCredit`, `Treasury.ReceivedDebit`, `Treasury.TransactionEntry`, and `Treasury.Transaction`
153
291
  * Add support for `retrieve_payment_method` method on resource `Customer`
154
292
  * Add support for `list_owners` and `list` methods on resource `FinancialConnections.Account`
155
-
156
-
157
293
 
158
294
  ## 6.0.0 - 2022-05-09
159
295
  * [#1056](https://github.com/stripe/stripe-ruby/pull/1056) API Updates
@@ -169,7 +305,6 @@ Breaking changes that arose during code generation of the library that we postpo
169
305
  ## 5.55.0 - 2022-05-05
170
306
  * [#1055](https://github.com/stripe/stripe-ruby/pull/1055) API Updates
171
307
  * Add support for new resources `FinancialConnections.AccountOwner`, `FinancialConnections.AccountOwnership`, `FinancialConnections.Account`, and `FinancialConnections.Session`
172
-
173
308
 
174
309
  ## 5.54.0 - 2022-05-03
175
310
  * [#1053](https://github.com/stripe/stripe-ruby/pull/1053) API Updates
@@ -1200,3 +1335,4 @@ Identical to 1.56.0 above. I incorrectly cut a patch-level release.
1200
1335
  <!--
1201
1336
  # vim: set tw=0:
1202
1337
  -->
1338
+
data/README.md CHANGED
@@ -323,6 +323,17 @@ If your beta feature requires a `Stripe-Version` header to be sent, use the `Str
323
323
  Stripe.api_version += "; feature_beta=v3"
324
324
  ```
325
325
 
326
+ ### Custom requests
327
+
328
+ If you would like to send a request to an undocumented API (for example you are in a private beta), or if you prefer to bypass the method definitions in the library and specify your request details directly, you can use the `raw_request` method on `Stripe`.
329
+
330
+ ```ruby
331
+ resp = Stripe.raw_request(:post, "/v1/beta_endpoint", {param: 123}, {stripe_version: "2022-11-15; feature_beta=v3"})
332
+
333
+ # (Optional) resp is a StripeResponse. You can use `Stripe.deserialize` to get a StripeObject.
334
+ deserialized_resp = Stripe.deserialize(resp.http_body)
335
+ ```
336
+
326
337
  ## Support
327
338
 
328
339
  New features and bug fixes are released on the latest major version of the Stripe Ruby library. If you are on an older major version, we recommend that you upgrade to the latest in order to use the new features and bug fixes including those for security vulnerabilities. Older major versions of the package will continue to be available for use, but will not be receiving any updates.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 8.7.0
1
+ 8.8.0-beta.1
@@ -47,6 +47,7 @@ module Stripe
47
47
  api_key = headers.delete(:api_key)
48
48
  api_base = headers.delete(:api_base)
49
49
  client = headers.delete(:client)
50
+ api_mode = headers.delete(:api_mode)
50
51
  # Assume all remaining opts must be headers
51
52
 
52
53
  resp, opts[:api_key] = client.send(
@@ -54,6 +55,7 @@ module Stripe
54
55
  method, url,
55
56
  api_base: api_base, api_key: api_key,
56
57
  headers: headers, params: params,
58
+ api_mode: api_mode,
57
59
  &read_body_chunk_block
58
60
  )
59
61
 
@@ -4,5 +4,6 @@
4
4
  module Stripe
5
5
  module ApiVersion
6
6
  CURRENT = "2022-11-15"
7
+ PREVIEW = "2023-07-13.preview-v2"
7
8
  end
8
9
  end
@@ -14,6 +14,7 @@ module Stripe
14
14
  # business objects
15
15
  Account::OBJECT_NAME => Account,
16
16
  AccountLink::OBJECT_NAME => AccountLink,
17
+ AccountSession::OBJECT_NAME => AccountSession,
17
18
  ApplePayDomain::OBJECT_NAME => ApplePayDomain,
18
19
  ApplicationFee::OBJECT_NAME => ApplicationFee,
19
20
  ApplicationFeeRefund::OBJECT_NAME => ApplicationFeeRefund,
@@ -24,6 +25,9 @@ module Stripe
24
25
  BillingPortal::Configuration::OBJECT_NAME => BillingPortal::Configuration,
25
26
  BillingPortal::Session::OBJECT_NAME => BillingPortal::Session,
26
27
  Capability::OBJECT_NAME => Capability,
28
+ Capital::FinancingOffer::OBJECT_NAME => Capital::FinancingOffer,
29
+ Capital::FinancingSummary::OBJECT_NAME => Capital::FinancingSummary,
30
+ Capital::FinancingTransaction::OBJECT_NAME => Capital::FinancingTransaction,
27
31
  Card::OBJECT_NAME => Card,
28
32
  CashBalance::OBJECT_NAME => CashBalance,
29
33
  Charge::OBJECT_NAME => Charge,
@@ -35,6 +39,7 @@ module Stripe
35
39
  Customer::OBJECT_NAME => Customer,
36
40
  CustomerBalanceTransaction::OBJECT_NAME => CustomerBalanceTransaction,
37
41
  CustomerCashBalanceTransaction::OBJECT_NAME => CustomerCashBalanceTransaction,
42
+ CustomerSession::OBJECT_NAME => CustomerSession,
38
43
  Discount::OBJECT_NAME => Discount,
39
44
  Dispute::OBJECT_NAME => Dispute,
40
45
  EphemeralKey::OBJECT_NAME => EphemeralKey,
@@ -47,8 +52,12 @@ module Stripe
47
52
  FinancialConnections::AccountOwner::OBJECT_NAME => FinancialConnections::AccountOwner,
48
53
  FinancialConnections::AccountOwnership::OBJECT_NAME =>
49
54
  FinancialConnections::AccountOwnership,
55
+ FinancialConnections::InferredBalance::OBJECT_NAME => FinancialConnections::InferredBalance,
50
56
  FinancialConnections::Session::OBJECT_NAME => FinancialConnections::Session,
57
+ FinancialConnections::Transaction::OBJECT_NAME => FinancialConnections::Transaction,
51
58
  FundingInstructions::OBJECT_NAME => FundingInstructions,
59
+ GiftCards::Card::OBJECT_NAME => GiftCards::Card,
60
+ GiftCards::Transaction::OBJECT_NAME => GiftCards::Transaction,
52
61
  Identity::VerificationReport::OBJECT_NAME => Identity::VerificationReport,
53
62
  Identity::VerificationSession::OBJECT_NAME => Identity::VerificationSession,
54
63
  Invoice::OBJECT_NAME => Invoice,
@@ -56,15 +65,19 @@ module Stripe
56
65
  InvoiceLineItem::OBJECT_NAME => InvoiceLineItem,
57
66
  Issuing::Authorization::OBJECT_NAME => Issuing::Authorization,
58
67
  Issuing::Card::OBJECT_NAME => Issuing::Card,
68
+ Issuing::CardBundle::OBJECT_NAME => Issuing::CardBundle,
69
+ Issuing::CardDesign::OBJECT_NAME => Issuing::CardDesign,
59
70
  Issuing::Cardholder::OBJECT_NAME => Issuing::Cardholder,
60
71
  Issuing::Dispute::OBJECT_NAME => Issuing::Dispute,
61
72
  Issuing::Transaction::OBJECT_NAME => Issuing::Transaction,
62
73
  LineItem::OBJECT_NAME => LineItem,
63
74
  LoginLink::OBJECT_NAME => LoginLink,
64
75
  Mandate::OBJECT_NAME => Mandate,
76
+ Order::OBJECT_NAME => Order,
65
77
  PaymentIntent::OBJECT_NAME => PaymentIntent,
66
78
  PaymentLink::OBJECT_NAME => PaymentLink,
67
79
  PaymentMethod::OBJECT_NAME => PaymentMethod,
80
+ PaymentMethodConfiguration::OBJECT_NAME => PaymentMethodConfiguration,
68
81
  Payout::OBJECT_NAME => Payout,
69
82
  Person::OBJECT_NAME => Person,
70
83
  Plan::OBJECT_NAME => Plan,
@@ -72,6 +85,7 @@ module Stripe
72
85
  Product::OBJECT_NAME => Product,
73
86
  PromotionCode::OBJECT_NAME => PromotionCode,
74
87
  Quote::OBJECT_NAME => Quote,
88
+ QuotePhase::OBJECT_NAME => QuotePhase,
75
89
  Radar::EarlyFraudWarning::OBJECT_NAME => Radar::EarlyFraudWarning,
76
90
  Radar::ValueList::OBJECT_NAME => Radar::ValueList,
77
91
  Radar::ValueListItem::OBJECT_NAME => Radar::ValueListItem,
@@ -91,6 +105,8 @@ module Stripe
91
105
  SubscriptionSchedule::OBJECT_NAME => SubscriptionSchedule,
92
106
  Tax::Calculation::OBJECT_NAME => Tax::Calculation,
93
107
  Tax::CalculationLineItem::OBJECT_NAME => Tax::CalculationLineItem,
108
+ Tax::Form::OBJECT_NAME => Tax::Form,
109
+ Tax::Registration::OBJECT_NAME => Tax::Registration,
94
110
  Tax::Settings::OBJECT_NAME => Tax::Settings,
95
111
  Tax::Transaction::OBJECT_NAME => Tax::Transaction,
96
112
  Tax::TransactionLineItem::OBJECT_NAME => Tax::TransactionLineItem,
@@ -0,0 +1,83 @@
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
+ unless auth_token.is_a?(String)
17
+ raise ArgumentError, "auth_token must be a string"
18
+ end
19
+ unless sign_lambda.is_a?(Proc)
20
+ raise ArgumentError, "sign_lambda must be a lambda"
21
+ end
22
+
23
+ @auth_token = auth_token
24
+ @sign_lambda = sign_lambda
25
+ end
26
+
27
+ def authenticate(method, headers, body)
28
+ covered_headers = [CONTENT_TYPE_HEADER_NAME,
29
+ CONTENT_DIGEST_HEADER_NAME,
30
+ STRIPE_CONTEXT_HEADER_NAME,
31
+ STRIPE_ACCOUNT_HEADER_NAME,
32
+ AUTHORIZATION_HEADER_NAME,]
33
+
34
+ headers[AUTHORIZATION_HEADER_NAME] = "STRIPE-V2-SIG #{auth_token}"
35
+
36
+ if method == :get
37
+ covered_headers -= [CONTENT_TYPE_HEADER_NAME,
38
+ CONTENT_DIGEST_HEADER_NAME,]
39
+ else
40
+ content = body || ""
41
+ headers[CONTENT_DIGEST_HEADER_NAME] =
42
+ %(sha-256=:#{content_digest(content)}:)
43
+ end
44
+
45
+ covered_headers_formatted = covered_headers
46
+ .map { |string| %("#{string.downcase}") }
47
+ .join(" ")
48
+
49
+ signature_input = "(#{covered_headers_formatted});created=#{created_time}"
50
+
51
+ inputs = covered_headers
52
+ .map { |header| %("#{header.downcase}": #{headers[header]}) }
53
+ .join("\n")
54
+
55
+ signature_base = %(#{inputs}\n"@signature-params": #{signature_input})
56
+ .encode(Encoding::UTF_8)
57
+
58
+ headers[SIGNATURE_INPUT_HEADER_NAME] = "sig1=#{signature_input}"
59
+
60
+ headers[SIGNATURE_HEADER_NAME] =
61
+ "sig1=:#{encoded_signature(signature_base)}:"
62
+ end
63
+
64
+ private def sign(signature_base)
65
+ @sign_lambda.call(signature_base)
66
+ end
67
+
68
+ private def encoded_signature(signature_base)
69
+ Base64.strict_encode64(sign(signature_base))
70
+ rescue StandardError
71
+ raise AuthenticationError, "Encountered '#{e.message} (#{e.class})' "\
72
+ "when calculating request signature."
73
+ end
74
+
75
+ private def content_digest(content)
76
+ Base64.strict_encode64(OpenSSL::Digest.new("SHA256").digest(content))
77
+ end
78
+
79
+ private def created_time
80
+ Time.now.to_i
81
+ end
82
+ end
83
+ end
@@ -0,0 +1,17 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ module Stripe
5
+ # An AccountSession allows a Connect platform to grant access to a connected account in Connect embedded components.
6
+ #
7
+ # We recommend that you create an AccountSession each time you need to display an embedded component
8
+ # to your user. Do not save AccountSessions to your database as they expire relatively
9
+ # quickly, and cannot be used more than once.
10
+ #
11
+ # Related guide: [Connect embedded components](https://stripe.com/docs/connect/get-started-connect-embedded-components)
12
+ class AccountSession < APIResource
13
+ extend Stripe::APIOperations::Create
14
+
15
+ OBJECT_NAME = "account_session"
16
+ end
17
+ end
@@ -0,0 +1,32 @@
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
+ def mark_delivered(params = {}, opts = {})
14
+ request_stripe_object(
15
+ method: :post,
16
+ path: format("/v1/capital/financing_offers/%<financing_offer>s/mark_delivered", { financing_offer: CGI.escape(self["id"]) }),
17
+ params: params,
18
+ opts: opts
19
+ )
20
+ end
21
+
22
+ def self.mark_delivered(financing_offer, params = {}, opts = {})
23
+ request_stripe_object(
24
+ method: :post,
25
+ path: format("/v1/capital/financing_offers/%<financing_offer>s/mark_delivered", { financing_offer: CGI.escape(financing_offer) }),
26
+ params: params,
27
+ opts: opts
28
+ )
29
+ end
30
+ end
31
+ end
32
+ 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,12 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ module Stripe
5
+ # A customer session allows you to grant client access to Stripe's frontend SDKs (like StripeJs)
6
+ # control over a customer.
7
+ class CustomerSession < APIResource
8
+ extend Stripe::APIOperations::Create
9
+
10
+ OBJECT_NAME = "customer_session"
11
+ end
12
+ end