stripe 13.6.0.pre.beta.1 → 14.0.0

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.
Files changed (556) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +699 -1457
  3. data/OPENAPI_VERSION +1 -1
  4. data/README.md +29 -0
  5. data/VERSION +1 -1
  6. data/lib/stripe/api_requestor.rb +2 -0
  7. data/lib/stripe/api_version.rb +1 -1
  8. data/lib/stripe/errors.rb +0 -7
  9. data/lib/stripe/object_types.rb +0 -26
  10. data/lib/stripe/resources/account.rb +83 -614
  11. data/lib/stripe/resources/account_session.rb +1 -247
  12. data/lib/stripe/resources/apple_pay_domain.rb +0 -9
  13. data/lib/stripe/resources/application_fee.rb +1 -10
  14. data/lib/stripe/resources/balance.rb +0 -9
  15. data/lib/stripe/resources/balance_transaction.rb +2 -11
  16. data/lib/stripe/resources/bank_account.rb +1 -1
  17. data/lib/stripe/resources/billing/alert.rb +0 -9
  18. data/lib/stripe/resources/billing/credit_balance_summary.rb +0 -48
  19. data/lib/stripe/resources/billing/credit_balance_transaction.rb +0 -9
  20. data/lib/stripe/resources/billing/credit_grant.rb +4 -13
  21. data/lib/stripe/resources/billing/meter.rb +1 -10
  22. data/lib/stripe/resources/billing_portal/configuration.rb +0 -9
  23. data/lib/stripe/resources/card.rb +2 -4
  24. data/lib/stripe/resources/charge.rb +35 -1457
  25. data/lib/stripe/resources/checkout/session.rb +100 -293
  26. data/lib/stripe/resources/climate/order.rb +0 -9
  27. data/lib/stripe/resources/climate/product.rb +0 -9
  28. data/lib/stripe/resources/climate/supplier.rb +0 -9
  29. data/lib/stripe/resources/confirmation_token.rb +74 -156
  30. data/lib/stripe/resources/country_spec.rb +0 -9
  31. data/lib/stripe/resources/coupon.rb +0 -9
  32. data/lib/stripe/resources/credit_note.rb +14 -35
  33. data/lib/stripe/resources/credit_note_line_item.rb +14 -12
  34. data/lib/stripe/resources/customer.rb +12 -28
  35. data/lib/stripe/resources/customer_balance_transaction.rb +3 -1
  36. data/lib/stripe/resources/dispute.rb +0 -9
  37. data/lib/stripe/resources/entitlements/active_entitlement.rb +0 -9
  38. data/lib/stripe/resources/entitlements/feature.rb +0 -9
  39. data/lib/stripe/resources/event.rb +0 -40
  40. data/lib/stripe/resources/exchange_rate.rb +0 -9
  41. data/lib/stripe/resources/file.rb +0 -9
  42. data/lib/stripe/resources/file_link.rb +0 -9
  43. data/lib/stripe/resources/financial_connections/account.rb +0 -23
  44. data/lib/stripe/resources/financial_connections/session.rb +1 -65
  45. data/lib/stripe/resources/financial_connections/transaction.rb +0 -9
  46. data/lib/stripe/resources/forwarding/request.rb +0 -9
  47. data/lib/stripe/resources/identity/verification_report.rb +0 -9
  48. data/lib/stripe/resources/identity/verification_session.rb +0 -9
  49. data/lib/stripe/resources/invoice.rb +225 -5120
  50. data/lib/stripe/resources/invoice_item.rb +65 -110
  51. data/lib/stripe/resources/invoice_line_item.rb +106 -89
  52. data/lib/stripe/resources/invoice_payment.rb +53 -4
  53. data/lib/stripe/resources/invoice_rendering_template.rb +0 -12
  54. data/lib/stripe/resources/issuing/authorization.rb +0 -9
  55. data/lib/stripe/resources/issuing/card.rb +0 -9
  56. data/lib/stripe/resources/issuing/cardholder.rb +1 -11
  57. data/lib/stripe/resources/issuing/dispute.rb +0 -9
  58. data/lib/stripe/resources/issuing/personalization_design.rb +0 -9
  59. data/lib/stripe/resources/issuing/physical_bundle.rb +0 -9
  60. data/lib/stripe/resources/issuing/token.rb +0 -9
  61. data/lib/stripe/resources/issuing/transaction.rb +0 -15
  62. data/lib/stripe/resources/line_item.rb +0 -28
  63. data/lib/stripe/resources/mandate.rb +6 -33
  64. data/lib/stripe/resources/payment_intent.rb +642 -4975
  65. data/lib/stripe/resources/payment_link.rb +84 -15
  66. data/lib/stripe/resources/payment_method.rb +74 -187
  67. data/lib/stripe/resources/payment_method_configuration.rb +87 -214
  68. data/lib/stripe/resources/payment_method_domain.rb +9 -18
  69. data/lib/stripe/resources/payout.rb +0 -9
  70. data/lib/stripe/resources/person.rb +9 -9
  71. data/lib/stripe/resources/plan.rb +0 -15
  72. data/lib/stripe/resources/price.rb +2 -47
  73. data/lib/stripe/resources/product.rb +0 -68
  74. data/lib/stripe/resources/promotion_code.rb +0 -9
  75. data/lib/stripe/resources/quote.rb +8 -2037
  76. data/lib/stripe/resources/radar/early_fraud_warning.rb +0 -9
  77. data/lib/stripe/resources/radar/value_list.rb +0 -9
  78. data/lib/stripe/resources/radar/value_list_item.rb +0 -9
  79. data/lib/stripe/resources/refund.rb +13 -18
  80. data/lib/stripe/resources/reporting/report_run.rb +0 -9
  81. data/lib/stripe/resources/reporting/report_type.rb +0 -9
  82. data/lib/stripe/resources/review.rb +2 -11
  83. data/lib/stripe/resources/setup_attempt.rb +11 -16
  84. data/lib/stripe/resources/setup_intent.rb +158 -540
  85. data/lib/stripe/resources/shipping_rate.rb +0 -9
  86. data/lib/stripe/resources/sigma/scheduled_query_run.rb +0 -9
  87. data/lib/stripe/resources/source.rb +0 -41
  88. data/lib/stripe/resources/subscription.rb +14 -385
  89. data/lib/stripe/resources/subscription_item.rb +9 -134
  90. data/lib/stripe/resources/subscription_schedule.rb +14 -1135
  91. data/lib/stripe/resources/tax/calculation.rb +0 -9
  92. data/lib/stripe/resources/tax/registration.rb +1 -10
  93. data/lib/stripe/resources/tax/settings.rb +0 -9
  94. data/lib/stripe/resources/tax/transaction.rb +0 -9
  95. data/lib/stripe/resources/tax_code.rb +0 -9
  96. data/lib/stripe/resources/tax_id.rb +0 -9
  97. data/lib/stripe/resources/tax_rate.rb +0 -9
  98. data/lib/stripe/resources/terminal/configuration.rb +214 -14
  99. data/lib/stripe/resources/terminal/location.rb +0 -9
  100. data/lib/stripe/resources/terminal/reader.rb +0 -408
  101. data/lib/stripe/resources/test_helpers/test_clock.rb +0 -9
  102. data/lib/stripe/resources/token.rb +1 -10
  103. data/lib/stripe/resources/topup.rb +0 -9
  104. data/lib/stripe/resources/transfer.rb +0 -9
  105. data/lib/stripe/resources/treasury/credit_reversal.rb +0 -9
  106. data/lib/stripe/resources/treasury/debit_reversal.rb +0 -9
  107. data/lib/stripe/resources/treasury/financial_account.rb +4 -32
  108. data/lib/stripe/resources/treasury/financial_account_features.rb +0 -2
  109. data/lib/stripe/resources/treasury/inbound_transfer.rb +0 -9
  110. data/lib/stripe/resources/treasury/outbound_payment.rb +0 -9
  111. data/lib/stripe/resources/treasury/outbound_transfer.rb +0 -46
  112. data/lib/stripe/resources/treasury/received_credit.rb +1 -47
  113. data/lib/stripe/resources/treasury/received_debit.rb +1 -49
  114. data/lib/stripe/resources/treasury/transaction.rb +0 -9
  115. data/lib/stripe/resources/treasury/transaction_entry.rb +0 -9
  116. data/lib/stripe/resources/v2/event.rb +1 -0
  117. data/lib/stripe/resources/v2/event_destination.rb +1 -0
  118. data/lib/stripe/resources/webhook_endpoint.rb +0 -9
  119. data/lib/stripe/resources.rb +0 -25
  120. data/lib/stripe/services/account_external_account_service.rb +1 -1
  121. data/lib/stripe/services/account_service.rb +68 -509
  122. data/lib/stripe/services/account_session_service.rb +1 -217
  123. data/lib/stripe/services/balance_transaction_service.rb +1 -1
  124. data/lib/stripe/services/billing/credit_balance_summary_service.rb +2 -2
  125. data/lib/stripe/services/billing/credit_grant_service.rb +2 -2
  126. data/lib/stripe/services/billing/meter_service.rb +1 -1
  127. data/lib/stripe/services/charge_service.rb +1 -1335
  128. data/lib/stripe/services/checkout/session_service.rb +60 -168
  129. data/lib/stripe/services/credit_note_preview_lines_service.rb +0 -4
  130. data/lib/stripe/services/credit_note_service.rb +0 -8
  131. data/lib/stripe/services/customer_service.rb +0 -16
  132. data/lib/stripe/services/financial_connections/account_service.rb +1 -3
  133. data/lib/stripe/services/financial_connections/session_service.rb +1 -30
  134. data/lib/stripe/services/financial_connections_service.rb +1 -2
  135. data/lib/stripe/services/invoice_item_service.rb +34 -88
  136. data/lib/stripe/services/invoice_line_item_service.rb +25 -41
  137. data/lib/stripe/services/invoice_payment_service.rb +33 -5
  138. data/lib/stripe/services/invoice_service.rb +210 -3147
  139. data/lib/stripe/services/issuing/cardholder_service.rb +1 -2
  140. data/lib/stripe/services/issuing/transaction_service.rb +0 -4
  141. data/lib/stripe/services/issuing_service.rb +1 -5
  142. data/lib/stripe/services/payment_intent_service.rb +568 -4513
  143. data/lib/stripe/services/payment_link_service.rb +59 -6
  144. data/lib/stripe/services/payment_method_configuration_service.rb +62 -146
  145. data/lib/stripe/services/payment_method_domain_service.rb +6 -6
  146. data/lib/stripe/services/payment_method_service.rb +49 -119
  147. data/lib/stripe/services/plan_service.rb +0 -4
  148. data/lib/stripe/services/price_service.rb +2 -25
  149. data/lib/stripe/services/product_service.rb +0 -38
  150. data/lib/stripe/services/quote_service.rb +9 -1716
  151. data/lib/stripe/services/setup_intent_service.rb +158 -492
  152. data/lib/stripe/services/subscription_item_service.rb +5 -111
  153. data/lib/stripe/services/subscription_schedule_service.rb +14 -1005
  154. data/lib/stripe/services/subscription_service.rb +13 -323
  155. data/lib/stripe/services/tax/registration_service.rb +1 -1
  156. data/lib/stripe/services/tax_service.rb +1 -3
  157. data/lib/stripe/services/terminal/configuration_service.rb +170 -4
  158. data/lib/stripe/services/terminal/reader_service.rb +0 -177
  159. data/lib/stripe/services/terminal_service.rb +1 -2
  160. data/lib/stripe/services/test_helpers/confirmation_token_service.rb +49 -87
  161. data/lib/stripe/services/test_helpers/terminal/reader_service.rb +0 -43
  162. data/lib/stripe/services/test_helpers/treasury/received_credit_service.rb +1 -25
  163. data/lib/stripe/services/test_helpers/treasury/received_debit_service.rb +1 -25
  164. data/lib/stripe/services/token_service.rb +1 -1
  165. data/lib/stripe/services/treasury/financial_account_features_service.rb +1 -4
  166. data/lib/stripe/services/treasury/financial_account_service.rb +3 -17
  167. data/lib/stripe/services/treasury/outbound_transfer_service.rb +0 -24
  168. data/lib/stripe/services/v1_services.rb +2 -8
  169. data/lib/stripe/services/v2/core/event_destination_service.rb +1 -4
  170. data/lib/stripe/services/v2/core/event_service.rb +1 -4
  171. data/lib/stripe/services.rb +0 -27
  172. data/lib/stripe/stripe_client.rb +1 -0
  173. data/lib/stripe/stripe_configuration.rb +1 -3
  174. data/lib/stripe/util.rb +1 -7
  175. data/lib/stripe/version.rb +1 -1
  176. data/lib/stripe.rb +0 -45
  177. data/rbi/stripe/resources/account.rbi +1131 -1479
  178. data/rbi/stripe/resources/account_link.rbi +9 -9
  179. data/rbi/stripe/resources/account_session.rbi +118 -367
  180. data/rbi/stripe/resources/apple_pay_domain.rbi +8 -15
  181. data/rbi/stripe/resources/application_fee.rbi +15 -20
  182. data/rbi/stripe/resources/apps/secret.rbi +20 -20
  183. data/rbi/stripe/resources/balance.rbi +0 -7
  184. data/rbi/stripe/resources/balance_transaction.rbi +19 -24
  185. data/rbi/stripe/resources/bank_account.rbi +1 -1
  186. data/rbi/stripe/resources/billing/alert.rbi +23 -28
  187. data/rbi/stripe/resources/billing/credit_balance_summary.rbi +0 -53
  188. data/rbi/stripe/resources/billing/credit_balance_transaction.rbi +6 -13
  189. data/rbi/stripe/resources/billing/credit_grant.rbi +30 -37
  190. data/rbi/stripe/resources/billing/meter.rbi +19 -26
  191. data/rbi/stripe/resources/billing/meter_event.rbi +4 -4
  192. data/rbi/stripe/resources/billing/meter_event_adjustment.rbi +5 -5
  193. data/rbi/stripe/resources/billing_portal/configuration.rbi +86 -81
  194. data/rbi/stripe/resources/billing_portal/session.rbi +31 -27
  195. data/rbi/stripe/resources/card.rbi +2 -5
  196. data/rbi/stripe/resources/charge.rbi +136 -1576
  197. data/rbi/stripe/resources/checkout/session.rbi +631 -748
  198. data/rbi/stripe/resources/climate/order.rbi +20 -25
  199. data/rbi/stripe/resources/climate/product.rbi +5 -12
  200. data/rbi/stripe/resources/climate/supplier.rbi +5 -12
  201. data/rbi/stripe/resources/confirmation_token.rbi +274 -268
  202. data/rbi/stripe/resources/country_spec.rbi +5 -12
  203. data/rbi/stripe/resources/coupon.rbi +34 -39
  204. data/rbi/stripe/resources/credit_note.rbi +134 -146
  205. data/rbi/stripe/resources/credit_note_line_item.rbi +20 -18
  206. data/rbi/stripe/resources/customer.rbi +172 -164
  207. data/rbi/stripe/resources/customer_balance_transaction.rbi +4 -1
  208. data/rbi/stripe/resources/customer_session.rbi +19 -15
  209. data/rbi/stripe/resources/dispute.rbi +92 -95
  210. data/rbi/stripe/resources/entitlements/active_entitlement.rbi +5 -12
  211. data/rbi/stripe/resources/entitlements/feature.rbi +15 -22
  212. data/rbi/stripe/resources/ephemeral_key.rbi +2 -2
  213. data/rbi/stripe/resources/event.rbi +16 -60
  214. data/rbi/stripe/resources/exchange_rate.rbi +5 -12
  215. data/rbi/stripe/resources/file.rbi +20 -25
  216. data/rbi/stripe/resources/file_link.rbi +23 -28
  217. data/rbi/stripe/resources/financial_connections/account.rbi +25 -44
  218. data/rbi/stripe/resources/financial_connections/session.rbi +12 -75
  219. data/rbi/stripe/resources/financial_connections/transaction.rbi +16 -19
  220. data/rbi/stripe/resources/forwarding/request.rbi +21 -24
  221. data/rbi/stripe/resources/identity/verification_report.rbi +18 -21
  222. data/rbi/stripe/resources/identity/verification_session.rbi +60 -61
  223. data/rbi/stripe/resources/invoice.rbi +723 -5918
  224. data/rbi/stripe/resources/invoice_item.rbi +138 -177
  225. data/rbi/stripe/resources/invoice_line_item.rbi +199 -264
  226. data/rbi/stripe/resources/invoice_payment.rbi +51 -7
  227. data/rbi/stripe/resources/invoice_rendering_template.rbi +10 -20
  228. data/rbi/stripe/resources/issuing/authorization.rbi +216 -199
  229. data/rbi/stripe/resources/issuing/card.rbi +104 -101
  230. data/rbi/stripe/resources/issuing/cardholder.rbi +120 -108
  231. data/rbi/stripe/resources/issuing/dispute.rbi +164 -151
  232. data/rbi/stripe/resources/issuing/personalization_design.rbi +61 -56
  233. data/rbi/stripe/resources/issuing/physical_bundle.rbi +7 -14
  234. data/rbi/stripe/resources/issuing/token.rbi +16 -21
  235. data/rbi/stripe/resources/issuing/transaction.rbi +180 -176
  236. data/rbi/stripe/resources/line_item.rbi +0 -36
  237. data/rbi/stripe/resources/mandate.rbi +8 -40
  238. data/rbi/stripe/resources/payment_intent.rbi +2252 -6482
  239. data/rbi/stripe/resources/payment_link.rbi +346 -211
  240. data/rbi/stripe/resources/payment_method.rbi +226 -330
  241. data/rbi/stripe/resources/payment_method_configuration.rbi +602 -685
  242. data/rbi/stripe/resources/payment_method_domain.rbi +26 -31
  243. data/rbi/stripe/resources/payout.rbi +43 -42
  244. data/rbi/stripe/resources/person.rbi +9 -9
  245. data/rbi/stripe/resources/plan.rbi +51 -63
  246. data/rbi/stripe/resources/price.rbi +114 -151
  247. data/rbi/stripe/resources/product.rbi +90 -152
  248. data/rbi/stripe/resources/promotion_code.rbi +42 -47
  249. data/rbi/stripe/resources/quote.rbi +168 -2231
  250. data/rbi/stripe/resources/radar/early_fraud_warning.rbi +17 -20
  251. data/rbi/stripe/resources/radar/value_list.rbi +24 -29
  252. data/rbi/stripe/resources/radar/value_list_item.rbi +18 -21
  253. data/rbi/stripe/resources/refund.rbi +52 -51
  254. data/rbi/stripe/resources/reporting/report_run.rbi +27 -30
  255. data/rbi/stripe/resources/reporting/report_type.rbi +2 -9
  256. data/rbi/stripe/resources/review.rbi +17 -22
  257. data/rbi/stripe/resources/setup_attempt.rbi +25 -32
  258. data/rbi/stripe/resources/setup_intent.rbi +900 -1102
  259. data/rbi/stripe/resources/shipping_rate.rbi +41 -46
  260. data/rbi/stripe/resources/sigma/scheduled_query_run.rbi +5 -12
  261. data/rbi/stripe/resources/source.rbi +132 -179
  262. data/rbi/stripe/resources/subscription.rbi +363 -707
  263. data/rbi/stripe/resources/subscription_item.rbi +69 -177
  264. data/rbi/stripe/resources/subscription_schedule.rbi +289 -1447
  265. data/rbi/stripe/resources/tax/calculation.rbi +43 -48
  266. data/rbi/stripe/resources/tax/registration.rbi +217 -170
  267. data/rbi/stripe/resources/tax/settings.rbi +14 -21
  268. data/rbi/stripe/resources/tax/transaction.rbi +20 -25
  269. data/rbi/stripe/resources/tax_code.rbi +5 -12
  270. data/rbi/stripe/resources/tax_id.rbi +15 -22
  271. data/rbi/stripe/resources/tax_rate.rbi +34 -39
  272. data/rbi/stripe/resources/terminal/configuration.rbi +457 -212
  273. data/rbi/stripe/resources/terminal/connection_token.rbi +3 -3
  274. data/rbi/stripe/resources/terminal/location.rbi +28 -35
  275. data/rbi/stripe/resources/terminal/reader.rbi +71 -441
  276. data/rbi/stripe/resources/test_helpers/test_clock.rbi +12 -17
  277. data/rbi/stripe/resources/token.rbi +288 -263
  278. data/rbi/stripe/resources/topup.rbi +35 -38
  279. data/rbi/stripe/resources/transfer.rbi +27 -32
  280. data/rbi/stripe/resources/treasury/credit_reversal.rbi +10 -17
  281. data/rbi/stripe/resources/treasury/debit_reversal.rbi +11 -18
  282. data/rbi/stripe/resources/treasury/financial_account.rbi +125 -130
  283. data/rbi/stripe/resources/treasury/financial_account_features.rbi +0 -3
  284. data/rbi/stripe/resources/treasury/inbound_transfer.rbi +22 -29
  285. data/rbi/stripe/resources/treasury/outbound_payment.rbi +82 -79
  286. data/rbi/stripe/resources/treasury/outbound_transfer.rbi +44 -86
  287. data/rbi/stripe/resources/treasury/received_credit.rbi +18 -64
  288. data/rbi/stripe/resources/treasury/received_debit.rbi +17 -66
  289. data/rbi/stripe/resources/treasury/transaction.rbi +27 -28
  290. data/rbi/stripe/resources/treasury/transaction_entry.rbi +25 -26
  291. data/rbi/stripe/resources/v2/amount.rbi +1 -1
  292. data/rbi/stripe/resources/v2/event.rbi +1 -0
  293. data/rbi/stripe/resources/v2/event_destination.rbi +1 -0
  294. data/rbi/stripe/resources/webhook_endpoint.rbi +18 -25
  295. data/rbi/stripe/services/account_capability_service.rbi +7 -7
  296. data/rbi/stripe/services/account_external_account_service.rbi +52 -52
  297. data/rbi/stripe/services/account_link_service.rbi +9 -9
  298. data/rbi/stripe/services/account_login_link_service.rbi +2 -2
  299. data/rbi/stripe/services/account_person_service.rbi +221 -201
  300. data/rbi/stripe/services/account_service.rbi +1221 -1345
  301. data/rbi/stripe/services/account_session_service.rbi +115 -346
  302. data/rbi/stripe/services/apple_pay_domain_service.rbi +10 -10
  303. data/rbi/stripe/services/application_fee_refund_service.rbi +16 -14
  304. data/rbi/stripe/services/application_fee_service.rbi +18 -14
  305. data/rbi/stripe/services/apps/secret_service.rbi +20 -20
  306. data/rbi/stripe/services/balance_service.rbi +2 -2
  307. data/rbi/stripe/services/balance_transaction_service.rbi +22 -18
  308. data/rbi/stripe/services/billing/alert_service.rbi +23 -23
  309. data/rbi/stripe/services/billing/credit_balance_summary_service.rbi +10 -10
  310. data/rbi/stripe/services/billing/credit_balance_transaction_service.rbi +8 -8
  311. data/rbi/stripe/services/billing/credit_grant_service.rbi +32 -30
  312. data/rbi/stripe/services/billing/meter_event_adjustment_service.rbi +7 -5
  313. data/rbi/stripe/services/billing/meter_event_service.rbi +4 -4
  314. data/rbi/stripe/services/billing/meter_event_summary_service.rbi +6 -6
  315. data/rbi/stripe/services/billing/meter_service.rbi +21 -21
  316. data/rbi/stripe/services/billing_portal/configuration_service.rbi +90 -76
  317. data/rbi/stripe/services/billing_portal/session_service.rbi +29 -27
  318. data/rbi/stripe/services/charge_service.rbi +96 -1464
  319. data/rbi/stripe/services/checkout/session_line_item_service.rbi +5 -5
  320. data/rbi/stripe/services/checkout/session_service.rbi +555 -591
  321. data/rbi/stripe/services/climate/order_service.rbi +22 -20
  322. data/rbi/stripe/services/climate/product_service.rbi +7 -7
  323. data/rbi/stripe/services/climate/supplier_service.rbi +7 -7
  324. data/rbi/stripe/services/confirmation_token_service.rbi +2 -2
  325. data/rbi/stripe/services/country_spec_service.rbi +7 -7
  326. data/rbi/stripe/services/coupon_service.rbi +40 -34
  327. data/rbi/stripe/services/credit_note_line_item_service.rbi +5 -5
  328. data/rbi/stripe/services/credit_note_preview_lines_service.rbi +35 -35
  329. data/rbi/stripe/services/credit_note_service.rbi +81 -85
  330. data/rbi/stripe/services/customer_balance_transaction_service.rbi +15 -15
  331. data/rbi/stripe/services/customer_cash_balance_service.rbi +7 -7
  332. data/rbi/stripe/services/customer_cash_balance_transaction_service.rbi +7 -7
  333. data/rbi/stripe/services/customer_funding_instructions_service.rbi +5 -5
  334. data/rbi/stripe/services/customer_payment_method_service.rbi +9 -9
  335. data/rbi/stripe/services/customer_payment_source_service.rbi +48 -44
  336. data/rbi/stripe/services/customer_service.rbi +143 -139
  337. data/rbi/stripe/services/customer_session_service.rbi +21 -15
  338. data/rbi/stripe/services/customer_tax_id_service.rbi +9 -9
  339. data/rbi/stripe/services/dispute_service.rbi +92 -90
  340. data/rbi/stripe/services/entitlements/active_entitlement_service.rbi +7 -7
  341. data/rbi/stripe/services/entitlements/feature_service.rbi +17 -17
  342. data/rbi/stripe/services/ephemeral_key_service.rbi +8 -8
  343. data/rbi/stripe/services/event_service.rbi +18 -16
  344. data/rbi/stripe/services/exchange_rate_service.rbi +7 -7
  345. data/rbi/stripe/services/file_link_service.rbi +25 -23
  346. data/rbi/stripe/services/file_service.rbi +22 -20
  347. data/rbi/stripe/services/financial_connections/account_owner_service.rbi +5 -5
  348. data/rbi/stripe/services/financial_connections/account_service.rbi +22 -21
  349. data/rbi/stripe/services/financial_connections/session_service.rbi +16 -39
  350. data/rbi/stripe/services/financial_connections/transaction_service.rbi +16 -14
  351. data/rbi/stripe/services/financial_connections_service.rbi +0 -1
  352. data/rbi/stripe/services/forwarding/request_service.rbi +21 -19
  353. data/rbi/stripe/services/identity/verification_report_service.rbi +18 -16
  354. data/rbi/stripe/services/identity/verification_session_service.rbi +62 -56
  355. data/rbi/stripe/services/invoice_item_service.rbi +99 -155
  356. data/rbi/stripe/services/invoice_line_item_service.rbi +71 -82
  357. data/rbi/stripe/services/invoice_payment_service.rbi +39 -12
  358. data/rbi/stripe/services/invoice_rendering_template_service.rbi +13 -13
  359. data/rbi/stripe/services/invoice_service.rbi +679 -3799
  360. data/rbi/stripe/services/issuing/authorization_service.rbi +32 -26
  361. data/rbi/stripe/services/issuing/card_service.rbi +102 -86
  362. data/rbi/stripe/services/issuing/cardholder_service.rbi +122 -103
  363. data/rbi/stripe/services/issuing/dispute_service.rbi +152 -146
  364. data/rbi/stripe/services/issuing/personalization_design_service.rbi +52 -42
  365. data/rbi/stripe/services/issuing/physical_bundle_service.rbi +9 -9
  366. data/rbi/stripe/services/issuing/token_service.rbi +20 -16
  367. data/rbi/stripe/services/issuing/transaction_service.rbi +25 -23
  368. data/rbi/stripe/services/issuing_service.rbi +0 -3
  369. data/rbi/stripe/services/mandate_service.rbi +2 -2
  370. data/rbi/stripe/services/payment_intent_service.rbi +2312 -6081
  371. data/rbi/stripe/services/payment_link_line_item_service.rbi +5 -5
  372. data/rbi/stripe/services/payment_link_service.rbi +303 -201
  373. data/rbi/stripe/services/payment_method_configuration_service.rbi +616 -620
  374. data/rbi/stripe/services/payment_method_domain_service.rbi +25 -23
  375. data/rbi/stripe/services/payment_method_service.rbi +192 -249
  376. data/rbi/stripe/services/payout_service.rbi +45 -37
  377. data/rbi/stripe/services/plan_service.rbi +53 -55
  378. data/rbi/stripe/services/price_service.rbi +124 -129
  379. data/rbi/stripe/services/product_feature_service.rbi +9 -9
  380. data/rbi/stripe/services/product_service.rbi +94 -122
  381. data/rbi/stripe/services/promotion_code_service.rbi +46 -42
  382. data/rbi/stripe/services/quote_computed_upfront_line_items_service.rbi +5 -5
  383. data/rbi/stripe/services/quote_line_item_service.rbi +5 -5
  384. data/rbi/stripe/services/quote_service.rbi +159 -1863
  385. data/rbi/stripe/services/radar/early_fraud_warning_service.rbi +17 -15
  386. data/rbi/stripe/services/radar/value_list_item_service.rbi +20 -16
  387. data/rbi/stripe/services/radar/value_list_service.rbi +28 -24
  388. data/rbi/stripe/services/refund_service.rbi +37 -33
  389. data/rbi/stripe/services/reporting/report_run_service.rbi +29 -25
  390. data/rbi/stripe/services/reporting/report_type_service.rbi +4 -4
  391. data/rbi/stripe/services/review_service.rbi +17 -15
  392. data/rbi/stripe/services/setup_attempt_service.rbi +13 -11
  393. data/rbi/stripe/services/setup_intent_service.rbi +1028 -1062
  394. data/rbi/stripe/services/shipping_rate_service.rbi +47 -41
  395. data/rbi/stripe/services/sigma/scheduled_query_run_service.rbi +7 -7
  396. data/rbi/stripe/services/source_service.rbi +149 -133
  397. data/rbi/stripe/services/source_transaction_service.rbi +5 -5
  398. data/rbi/stripe/services/subscription_item_service.rbi +61 -159
  399. data/rbi/stripe/services/subscription_schedule_service.rbi +289 -1305
  400. data/rbi/stripe/services/subscription_service.rbi +366 -640
  401. data/rbi/stripe/services/tax/calculation_line_item_service.rbi +5 -5
  402. data/rbi/stripe/services/tax/calculation_service.rbi +40 -38
  403. data/rbi/stripe/services/tax/registration_service.rbi +337 -165
  404. data/rbi/stripe/services/tax/settings_service.rbi +16 -16
  405. data/rbi/stripe/services/tax/transaction_line_item_service.rbi +5 -5
  406. data/rbi/stripe/services/tax/transaction_service.rbi +19 -15
  407. data/rbi/stripe/services/tax_code_service.rbi +7 -7
  408. data/rbi/stripe/services/tax_id_service.rbi +17 -17
  409. data/rbi/stripe/services/tax_rate_service.rbi +36 -34
  410. data/rbi/stripe/services/tax_service.rbi +0 -2
  411. data/rbi/stripe/services/terminal/configuration_service.rbi +464 -204
  412. data/rbi/stripe/services/terminal/connection_token_service.rbi +3 -3
  413. data/rbi/stripe/services/terminal/location_service.rbi +30 -30
  414. data/rbi/stripe/services/terminal/reader_service.rbi +57 -226
  415. data/rbi/stripe/services/terminal_service.rbi +0 -1
  416. data/rbi/stripe/services/test_helpers/confirmation_token_service.rbi +157 -198
  417. data/rbi/stripe/services/test_helpers/customer_service.rbi +3 -3
  418. data/rbi/stripe/services/test_helpers/issuing/authorization_service.rbi +180 -168
  419. data/rbi/stripe/services/test_helpers/issuing/card_service.rbi +10 -10
  420. data/rbi/stripe/services/test_helpers/issuing/personalization_design_service.rbi +11 -9
  421. data/rbi/stripe/services/test_helpers/issuing/transaction_service.rbi +151 -145
  422. data/rbi/stripe/services/test_helpers/refund_service.rbi +2 -2
  423. data/rbi/stripe/services/test_helpers/terminal/reader_service.rbi +10 -39
  424. data/rbi/stripe/services/test_helpers/test_clock_service.rbi +14 -12
  425. data/rbi/stripe/services/test_helpers/treasury/inbound_transfer_service.rbi +9 -9
  426. data/rbi/stripe/services/test_helpers/treasury/outbound_payment_service.rbi +20 -18
  427. data/rbi/stripe/services/test_helpers/treasury/outbound_transfer_service.rbi +20 -18
  428. data/rbi/stripe/services/test_helpers/treasury/received_credit_service.rbi +11 -38
  429. data/rbi/stripe/services/test_helpers/treasury/received_debit_service.rbi +11 -38
  430. data/rbi/stripe/services/token_service.rbi +292 -258
  431. data/rbi/stripe/services/topup_service.rbi +37 -33
  432. data/rbi/stripe/services/transfer_reversal_service.rbi +18 -16
  433. data/rbi/stripe/services/transfer_service.rbi +29 -27
  434. data/rbi/stripe/services/treasury/credit_reversal_service.rbi +12 -12
  435. data/rbi/stripe/services/treasury/debit_reversal_service.rbi +13 -13
  436. data/rbi/stripe/services/treasury/financial_account_features_service.rbi +23 -26
  437. data/rbi/stripe/services/treasury/financial_account_service.rbi +92 -96
  438. data/rbi/stripe/services/treasury/inbound_transfer_service.rbi +15 -15
  439. data/rbi/stripe/services/treasury/outbound_payment_service.rbi +60 -56
  440. data/rbi/stripe/services/treasury/outbound_transfer_service.rbi +24 -49
  441. data/rbi/stripe/services/treasury/received_credit_service.rbi +11 -9
  442. data/rbi/stripe/services/treasury/received_debit_service.rbi +8 -8
  443. data/rbi/stripe/services/treasury/transaction_entry_service.rbi +25 -21
  444. data/rbi/stripe/services/treasury/transaction_service.rbi +31 -23
  445. data/rbi/stripe/services/v1_services.rbi +1 -7
  446. data/rbi/stripe/services/v2/billing/meter_event_service.rbi +3 -3
  447. data/rbi/stripe/services/v2/billing/meter_event_stream_service.rbi +3 -3
  448. data/rbi/stripe/services/v2/core/event_destination_service.rbi +21 -24
  449. data/rbi/stripe/services/v2/core/event_service.rbi +3 -6
  450. data/rbi/stripe/services/webhook_endpoint_service.rbi +20 -20
  451. metadata +4 -109
  452. data/lib/stripe/request_signing_authenticator.rb +0 -79
  453. data/lib/stripe/resources/account_notice.rb +0 -132
  454. data/lib/stripe/resources/billing/meter_error_report.rb +0 -59
  455. data/lib/stripe/resources/capital/financing_offer.rb +0 -188
  456. data/lib/stripe/resources/capital/financing_summary.rb +0 -64
  457. data/lib/stripe/resources/capital/financing_transaction.rb +0 -123
  458. data/lib/stripe/resources/financial_connections/account_inferred_balance.rb +0 -27
  459. data/lib/stripe/resources/financial_connections/institution.rb +0 -99
  460. data/lib/stripe/resources/gift_cards/card.rb +0 -217
  461. data/lib/stripe/resources/gift_cards/transaction.rb +0 -281
  462. data/lib/stripe/resources/issuing/credit_underwriting_record.rb +0 -611
  463. data/lib/stripe/resources/issuing/dispute_settlement_detail.rb +0 -84
  464. data/lib/stripe/resources/issuing/fraud_liability_debit.rb +0 -95
  465. data/lib/stripe/resources/issuing/settlement.rb +0 -49
  466. data/lib/stripe/resources/margin.rb +0 -124
  467. data/lib/stripe/resources/order.rb +0 -2868
  468. data/lib/stripe/resources/payment_attempt_record.rb +0 -184
  469. data/lib/stripe/resources/payment_record.rb +0 -715
  470. data/lib/stripe/resources/quote_line.rb +0 -274
  471. data/lib/stripe/resources/quote_preview_invoice.rb +0 -652
  472. data/lib/stripe/resources/quote_preview_subscription_schedule.rb +0 -362
  473. data/lib/stripe/resources/tax/association.rb +0 -89
  474. data/lib/stripe/resources/tax/form.rb +0 -220
  475. data/lib/stripe/resources/terminal/reader_collected_data.rb +0 -40
  476. data/lib/stripe/resources/usage_record.rb +0 -30
  477. data/lib/stripe/resources/usage_record_summary.rb +0 -33
  478. data/lib/stripe/services/account_notice_service.rb +0 -101
  479. data/lib/stripe/services/capital/financing_offer_service.rb +0 -112
  480. data/lib/stripe/services/capital/financing_summary_service.rb +0 -28
  481. data/lib/stripe/services/capital/financing_transaction_service.rb +0 -79
  482. data/lib/stripe/services/capital_service.rb +0 -15
  483. data/lib/stripe/services/financial_connections/account_inferred_balance_service.rb +0 -37
  484. data/lib/stripe/services/financial_connections/institution_service.rb +0 -57
  485. data/lib/stripe/services/gift_cards/card_service.rb +0 -170
  486. data/lib/stripe/services/gift_cards/transaction_service.rb +0 -209
  487. data/lib/stripe/services/gift_cards_service.rb +0 -14
  488. data/lib/stripe/services/invoice_upcoming_lines_service.rb +0 -1881
  489. data/lib/stripe/services/issuing/credit_underwriting_record_service.rb +0 -504
  490. data/lib/stripe/services/issuing/dispute_settlement_detail_service.rb +0 -66
  491. data/lib/stripe/services/issuing/fraud_liability_debit_service.rb +0 -83
  492. data/lib/stripe/services/margin_service.rb +0 -119
  493. data/lib/stripe/services/order_line_item_service.rb +0 -35
  494. data/lib/stripe/services/order_service.rb +0 -2268
  495. data/lib/stripe/services/payment_attempt_record_service.rb +0 -49
  496. data/lib/stripe/services/payment_record_service.rb +0 -542
  497. data/lib/stripe/services/quote_line_service.rb +0 -35
  498. data/lib/stripe/services/quote_preview_invoice_service.rb +0 -35
  499. data/lib/stripe/services/quote_preview_subscription_schedule_service.rb +0 -35
  500. data/lib/stripe/services/subscription_item_usage_record_service.rb +0 -41
  501. data/lib/stripe/services/subscription_item_usage_record_summary_service.rb +0 -37
  502. data/lib/stripe/services/tax/association_service.rb +0 -31
  503. data/lib/stripe/services/tax/form_service.rb +0 -100
  504. data/lib/stripe/services/terminal/reader_collected_data_service.rb +0 -28
  505. data/rbi/stripe/resources/account_notice.rbi +0 -139
  506. data/rbi/stripe/resources/billing/meter_error_report.rbi +0 -71
  507. data/rbi/stripe/resources/capital/financing_offer.rbi +0 -190
  508. data/rbi/stripe/resources/capital/financing_summary.rbi +0 -74
  509. data/rbi/stripe/resources/capital/financing_transaction.rbi +0 -130
  510. data/rbi/stripe/resources/financial_connections/account_inferred_balance.rbi +0 -27
  511. data/rbi/stripe/resources/financial_connections/institution.rbi +0 -99
  512. data/rbi/stripe/resources/gift_cards/card.rbi +0 -206
  513. data/rbi/stripe/resources/gift_cards/transaction.rbi +0 -257
  514. data/rbi/stripe/resources/issuing/credit_underwriting_record.rbi +0 -622
  515. data/rbi/stripe/resources/issuing/dispute_settlement_detail.rbi +0 -83
  516. data/rbi/stripe/resources/issuing/fraud_liability_debit.rbi +0 -90
  517. data/rbi/stripe/resources/issuing/settlement.rbi +0 -62
  518. data/rbi/stripe/resources/margin.rbi +0 -127
  519. data/rbi/stripe/resources/order.rbi +0 -3036
  520. data/rbi/stripe/resources/payment_attempt_record.rbi +0 -215
  521. data/rbi/stripe/resources/payment_record.rbi +0 -722
  522. data/rbi/stripe/resources/quote_line.rbi +0 -350
  523. data/rbi/stripe/resources/quote_preview_invoice.rbi +0 -850
  524. data/rbi/stripe/resources/quote_preview_subscription_schedule.rbi +0 -474
  525. data/rbi/stripe/resources/tax/association.rbi +0 -94
  526. data/rbi/stripe/resources/tax/form.rbi +0 -224
  527. data/rbi/stripe/resources/terminal/reader_collected_data.rbi +0 -41
  528. data/rbi/stripe/resources/usage_record.rbi +0 -32
  529. data/rbi/stripe/resources/usage_record_summary.rbi +0 -38
  530. data/rbi/stripe/services/account_notice_service.rbi +0 -90
  531. data/rbi/stripe/services/capital/financing_offer_service.rbi +0 -95
  532. data/rbi/stripe/services/capital/financing_summary_service.rbi +0 -22
  533. data/rbi/stripe/services/capital/financing_transaction_service.rbi +0 -68
  534. data/rbi/stripe/services/capital_service.rbi +0 -11
  535. data/rbi/stripe/services/financial_connections/account_inferred_balance_service.rbi +0 -33
  536. data/rbi/stripe/services/financial_connections/institution_service.rbi +0 -46
  537. data/rbi/stripe/services/gift_cards/card_service.rbi +0 -142
  538. data/rbi/stripe/services/gift_cards/transaction_service.rbi +0 -174
  539. data/rbi/stripe/services/gift_cards_service.rbi +0 -10
  540. data/rbi/stripe/services/invoice_upcoming_lines_service.rbi +0 -2023
  541. data/rbi/stripe/services/issuing/credit_underwriting_record_service.rbi +0 -498
  542. data/rbi/stripe/services/issuing/dispute_settlement_detail_service.rbi +0 -55
  543. data/rbi/stripe/services/issuing/fraud_liability_debit_service.rbi +0 -73
  544. data/rbi/stripe/services/margin_service.rbi +0 -104
  545. data/rbi/stripe/services/order_line_item_service.rbi +0 -31
  546. data/rbi/stripe/services/order_service.rbi +0 -2320
  547. data/rbi/stripe/services/payment_attempt_record_service.rbi +0 -36
  548. data/rbi/stripe/services/payment_record_service.rbi +0 -521
  549. data/rbi/stripe/services/quote_line_service.rbi +0 -31
  550. data/rbi/stripe/services/quote_preview_invoice_service.rbi +0 -31
  551. data/rbi/stripe/services/quote_preview_subscription_schedule_service.rbi +0 -31
  552. data/rbi/stripe/services/subscription_item_usage_record_service.rbi +0 -37
  553. data/rbi/stripe/services/subscription_item_usage_record_summary_service.rbi +0 -33
  554. data/rbi/stripe/services/tax/association_service.rbi +0 -25
  555. data/rbi/stripe/services/tax/form_service.rbi +0 -85
  556. data/rbi/stripe/services/terminal/reader_collected_data_service.rbi +0 -22
@@ -9,18 +9,20 @@ module Stripe
9
9
  class ListParams < Stripe::RequestParams
10
10
  class Created < Stripe::RequestParams
11
11
  # Minimum value to filter by (exclusive)
12
- sig { returns(Integer) }
12
+ sig { returns(T.nilable(Integer)) }
13
13
  attr_accessor :gt
14
14
  # Minimum value to filter by (inclusive)
15
- sig { returns(Integer) }
15
+ sig { returns(T.nilable(Integer)) }
16
16
  attr_accessor :gte
17
17
  # Maximum value to filter by (exclusive)
18
- sig { returns(Integer) }
18
+ sig { returns(T.nilable(Integer)) }
19
19
  attr_accessor :lt
20
20
  # Maximum value to filter by (inclusive)
21
- sig { returns(Integer) }
21
+ sig { returns(T.nilable(Integer)) }
22
22
  attr_accessor :lte
23
- sig { params(gt: Integer, gte: Integer, lt: Integer, lte: Integer).void }
23
+ sig {
24
+ params(gt: T.nilable(Integer), gte: T.nilable(Integer), lt: T.nilable(Integer), lte: T.nilable(Integer)).void
25
+ }
24
26
  def initialize(gt: nil, gte: nil, lt: nil, lte: nil); end
25
27
  end
26
28
  class CustomerDetails < Stripe::RequestParams
@@ -31,40 +33,42 @@ module Stripe
31
33
  def initialize(email: nil); end
32
34
  end
33
35
  # Only return Checkout Sessions that were created during the given date interval.
34
- sig { returns(T.any(::Stripe::Checkout::SessionService::ListParams::Created, Integer)) }
36
+ sig {
37
+ returns(T.nilable(T.any(::Stripe::Checkout::SessionService::ListParams::Created, Integer)))
38
+ }
35
39
  attr_accessor :created
36
40
  # Only return the Checkout Sessions for the Customer specified.
37
- sig { returns(String) }
41
+ sig { returns(T.nilable(String)) }
38
42
  attr_accessor :customer
39
43
  # Only return the Checkout Sessions for the Customer details specified.
40
- sig { returns(::Stripe::Checkout::SessionService::ListParams::CustomerDetails) }
44
+ sig { returns(T.nilable(::Stripe::Checkout::SessionService::ListParams::CustomerDetails)) }
41
45
  attr_accessor :customer_details
42
46
  # A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
43
- sig { returns(String) }
47
+ sig { returns(T.nilable(String)) }
44
48
  attr_accessor :ending_before
45
49
  # Specifies which fields in the response should be expanded.
46
- sig { returns(T::Array[String]) }
50
+ sig { returns(T.nilable(T::Array[String])) }
47
51
  attr_accessor :expand
48
52
  # A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
49
- sig { returns(Integer) }
53
+ sig { returns(T.nilable(Integer)) }
50
54
  attr_accessor :limit
51
55
  # Only return the Checkout Session for the PaymentIntent specified.
52
- sig { returns(String) }
56
+ sig { returns(T.nilable(String)) }
53
57
  attr_accessor :payment_intent
54
58
  # Only return the Checkout Sessions for the Payment Link specified.
55
- sig { returns(String) }
59
+ sig { returns(T.nilable(String)) }
56
60
  attr_accessor :payment_link
57
61
  # A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
58
- sig { returns(String) }
62
+ sig { returns(T.nilable(String)) }
59
63
  attr_accessor :starting_after
60
64
  # Only return the Checkout Sessions matching the given status.
61
- sig { returns(String) }
65
+ sig { returns(T.nilable(String)) }
62
66
  attr_accessor :status
63
67
  # Only return the Checkout Session for the subscription specified.
64
- sig { returns(String) }
68
+ sig { returns(T.nilable(String)) }
65
69
  attr_accessor :subscription
66
70
  sig {
67
- params(created: T.any(::Stripe::Checkout::SessionService::ListParams::Created, Integer), customer: String, customer_details: ::Stripe::Checkout::SessionService::ListParams::CustomerDetails, ending_before: String, expand: T::Array[String], limit: Integer, payment_intent: String, payment_link: String, starting_after: String, status: String, subscription: String).void
71
+ params(created: T.nilable(T.any(::Stripe::Checkout::SessionService::ListParams::Created, Integer)), customer: T.nilable(String), customer_details: T.nilable(::Stripe::Checkout::SessionService::ListParams::CustomerDetails), ending_before: T.nilable(String), expand: T.nilable(T::Array[String]), limit: T.nilable(Integer), payment_intent: T.nilable(String), payment_link: T.nilable(String), starting_after: T.nilable(String), status: T.nilable(String), subscription: T.nilable(String)).void
68
72
  }
69
73
  def initialize(
70
74
  created: nil,
@@ -83,43 +87,43 @@ module Stripe
83
87
  class CreateParams < Stripe::RequestParams
84
88
  class AdaptivePricing < Stripe::RequestParams
85
89
  # Set to `true` to enable [Adaptive Pricing](https://docs.stripe.com/payments/checkout/adaptive-pricing). Defaults to your [dashboard setting](https://dashboard.stripe.com/settings/adaptive-pricing).
86
- sig { returns(T::Boolean) }
90
+ sig { returns(T.nilable(T::Boolean)) }
87
91
  attr_accessor :enabled
88
- sig { params(enabled: T::Boolean).void }
92
+ sig { params(enabled: T.nilable(T::Boolean)).void }
89
93
  def initialize(enabled: nil); end
90
94
  end
91
95
  class AfterExpiration < Stripe::RequestParams
92
96
  class Recovery < Stripe::RequestParams
93
97
  # Enables user redeemable promotion codes on the recovered Checkout Sessions. Defaults to `false`
94
- sig { returns(T::Boolean) }
98
+ sig { returns(T.nilable(T::Boolean)) }
95
99
  attr_accessor :allow_promotion_codes
96
100
  # If `true`, a recovery URL will be generated to recover this Checkout Session if it
97
101
  # expires before a successful transaction is completed. It will be attached to the
98
102
  # Checkout Session object upon expiration.
99
103
  sig { returns(T::Boolean) }
100
104
  attr_accessor :enabled
101
- sig { params(allow_promotion_codes: T::Boolean, enabled: T::Boolean).void }
105
+ sig { params(allow_promotion_codes: T.nilable(T::Boolean), enabled: T::Boolean).void }
102
106
  def initialize(allow_promotion_codes: nil, enabled: nil); end
103
107
  end
104
108
  # Configure a Checkout Session that can be used to recover an expired session.
105
109
  sig {
106
- returns(::Stripe::Checkout::SessionService::CreateParams::AfterExpiration::Recovery)
110
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::AfterExpiration::Recovery))
107
111
  }
108
112
  attr_accessor :recovery
109
113
  sig {
110
- params(recovery: ::Stripe::Checkout::SessionService::CreateParams::AfterExpiration::Recovery).void
114
+ params(recovery: T.nilable(::Stripe::Checkout::SessionService::CreateParams::AfterExpiration::Recovery)).void
111
115
  }
112
116
  def initialize(recovery: nil); end
113
117
  end
114
118
  class AutomaticTax < Stripe::RequestParams
115
119
  class Liability < Stripe::RequestParams
116
120
  # The connected account being referenced when `type` is `account`.
117
- sig { returns(String) }
121
+ sig { returns(T.nilable(String)) }
118
122
  attr_accessor :account
119
123
  # Type of the account referenced in the request.
120
124
  sig { returns(String) }
121
125
  attr_accessor :type
122
- sig { params(account: String, type: String).void }
126
+ sig { params(account: T.nilable(String), type: String).void }
123
127
  def initialize(account: nil, type: nil); end
124
128
  end
125
129
  # Set to `true` to [calculate tax automatically](https://docs.stripe.com/tax) using the customer's location.
@@ -128,10 +132,12 @@ module Stripe
128
132
  sig { returns(T::Boolean) }
129
133
  attr_accessor :enabled
130
134
  # The account that's liable for tax. If set, the business address and tax registrations required to perform the tax calculation are loaded from this account. The tax transaction is returned in the report of the connected account.
131
- sig { returns(::Stripe::Checkout::SessionService::CreateParams::AutomaticTax::Liability) }
135
+ sig {
136
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::AutomaticTax::Liability))
137
+ }
132
138
  attr_accessor :liability
133
139
  sig {
134
- params(enabled: T::Boolean, liability: ::Stripe::Checkout::SessionService::CreateParams::AutomaticTax::Liability).void
140
+ params(enabled: T::Boolean, liability: T.nilable(::Stripe::Checkout::SessionService::CreateParams::AutomaticTax::Liability)).void
135
141
  }
136
142
  def initialize(enabled: nil, liability: nil); end
137
143
  end
@@ -146,20 +152,20 @@ module Stripe
146
152
  end
147
153
  # Determines the display of payment method reuse agreement text in the UI. If set to `hidden`, it will hide legal text related to the reuse of a payment method.
148
154
  sig {
149
- returns(::Stripe::Checkout::SessionService::CreateParams::ConsentCollection::PaymentMethodReuseAgreement)
155
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::ConsentCollection::PaymentMethodReuseAgreement))
150
156
  }
151
157
  attr_accessor :payment_method_reuse_agreement
152
158
  # If set to `auto`, enables the collection of customer consent for promotional communications. The Checkout
153
159
  # Session will determine whether to display an option to opt into promotional communication
154
160
  # from the merchant depending on the customer's locale. Only available to US merchants.
155
- sig { returns(String) }
161
+ sig { returns(T.nilable(String)) }
156
162
  attr_accessor :promotions
157
163
  # If set to `required`, it requires customers to check a terms of service checkbox before being able to pay.
158
164
  # There must be a valid terms of service URL set in your [Dashboard settings](https://dashboard.stripe.com/settings/public).
159
- sig { returns(String) }
165
+ sig { returns(T.nilable(String)) }
160
166
  attr_accessor :terms_of_service
161
167
  sig {
162
- params(payment_method_reuse_agreement: ::Stripe::Checkout::SessionService::CreateParams::ConsentCollection::PaymentMethodReuseAgreement, promotions: String, terms_of_service: String).void
168
+ params(payment_method_reuse_agreement: T.nilable(::Stripe::Checkout::SessionService::CreateParams::ConsentCollection::PaymentMethodReuseAgreement), promotions: T.nilable(String), terms_of_service: T.nilable(String)).void
163
169
  }
164
170
  def initialize(
165
171
  payment_method_reuse_agreement: nil,
@@ -180,7 +186,7 @@ module Stripe
180
186
  def initialize(label: nil, value: nil); end
181
187
  end
182
188
  # The value that will pre-fill the field on the payment page.Must match a `value` in the `options` array.
183
- sig { returns(String) }
189
+ sig { returns(T.nilable(String)) }
184
190
  attr_accessor :default_value
185
191
  # The options available for the customer to select. Up to 200 options allowed.
186
192
  sig {
@@ -188,7 +194,7 @@ module Stripe
188
194
  }
189
195
  attr_accessor :options
190
196
  sig {
191
- params(default_value: String, options: T::Array[::Stripe::Checkout::SessionService::CreateParams::CustomField::Dropdown::Option]).void
197
+ params(default_value: T.nilable(String), options: T::Array[::Stripe::Checkout::SessionService::CreateParams::CustomField::Dropdown::Option]).void
192
198
  }
193
199
  def initialize(default_value: nil, options: nil); end
194
200
  end
@@ -204,36 +210,38 @@ module Stripe
204
210
  end
205
211
  class Numeric < Stripe::RequestParams
206
212
  # The value that will pre-fill the field on the payment page.
207
- sig { returns(String) }
213
+ sig { returns(T.nilable(String)) }
208
214
  attr_accessor :default_value
209
215
  # The maximum character length constraint for the customer's input.
210
- sig { returns(Integer) }
216
+ sig { returns(T.nilable(Integer)) }
211
217
  attr_accessor :maximum_length
212
218
  # The minimum character length requirement for the customer's input.
213
- sig { returns(Integer) }
219
+ sig { returns(T.nilable(Integer)) }
214
220
  attr_accessor :minimum_length
215
221
  sig {
216
- params(default_value: String, maximum_length: Integer, minimum_length: Integer).void
222
+ params(default_value: T.nilable(String), maximum_length: T.nilable(Integer), minimum_length: T.nilable(Integer)).void
217
223
  }
218
224
  def initialize(default_value: nil, maximum_length: nil, minimum_length: nil); end
219
225
  end
220
226
  class Text < Stripe::RequestParams
221
227
  # The value that will pre-fill the field on the payment page.
222
- sig { returns(String) }
228
+ sig { returns(T.nilable(String)) }
223
229
  attr_accessor :default_value
224
230
  # The maximum character length constraint for the customer's input.
225
- sig { returns(Integer) }
231
+ sig { returns(T.nilable(Integer)) }
226
232
  attr_accessor :maximum_length
227
233
  # The minimum character length requirement for the customer's input.
228
- sig { returns(Integer) }
234
+ sig { returns(T.nilable(Integer)) }
229
235
  attr_accessor :minimum_length
230
236
  sig {
231
- params(default_value: String, maximum_length: Integer, minimum_length: Integer).void
237
+ params(default_value: T.nilable(String), maximum_length: T.nilable(Integer), minimum_length: T.nilable(Integer)).void
232
238
  }
233
239
  def initialize(default_value: nil, maximum_length: nil, minimum_length: nil); end
234
240
  end
235
241
  # Configuration for `type=dropdown` fields.
236
- sig { returns(::Stripe::Checkout::SessionService::CreateParams::CustomField::Dropdown) }
242
+ sig {
243
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::CustomField::Dropdown))
244
+ }
237
245
  attr_accessor :dropdown
238
246
  # String of your choice that your integration can use to reconcile this field. Must be unique to this field, alphanumeric, and up to 200 characters.
239
247
  sig { returns(String) }
@@ -242,19 +250,23 @@ module Stripe
242
250
  sig { returns(::Stripe::Checkout::SessionService::CreateParams::CustomField::Label) }
243
251
  attr_accessor :label
244
252
  # Configuration for `type=numeric` fields.
245
- sig { returns(::Stripe::Checkout::SessionService::CreateParams::CustomField::Numeric) }
253
+ sig {
254
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::CustomField::Numeric))
255
+ }
246
256
  attr_accessor :numeric
247
257
  # Whether the customer is required to complete the field before completing the Checkout Session. Defaults to `false`.
248
- sig { returns(T::Boolean) }
258
+ sig { returns(T.nilable(T::Boolean)) }
249
259
  attr_accessor :optional
250
260
  # Configuration for `type=text` fields.
251
- sig { returns(::Stripe::Checkout::SessionService::CreateParams::CustomField::Text) }
261
+ sig {
262
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::CustomField::Text))
263
+ }
252
264
  attr_accessor :text
253
265
  # The type of the field.
254
266
  sig { returns(String) }
255
267
  attr_accessor :type
256
268
  sig {
257
- params(dropdown: ::Stripe::Checkout::SessionService::CreateParams::CustomField::Dropdown, key: String, label: ::Stripe::Checkout::SessionService::CreateParams::CustomField::Label, numeric: ::Stripe::Checkout::SessionService::CreateParams::CustomField::Numeric, optional: T::Boolean, text: ::Stripe::Checkout::SessionService::CreateParams::CustomField::Text, type: String).void
269
+ params(dropdown: T.nilable(::Stripe::Checkout::SessionService::CreateParams::CustomField::Dropdown), key: String, label: ::Stripe::Checkout::SessionService::CreateParams::CustomField::Label, numeric: T.nilable(::Stripe::Checkout::SessionService::CreateParams::CustomField::Numeric), optional: T.nilable(T::Boolean), text: T.nilable(::Stripe::Checkout::SessionService::CreateParams::CustomField::Text), type: String).void
258
270
  }
259
271
  def initialize(
260
272
  dropdown: nil,
@@ -297,26 +309,26 @@ module Stripe
297
309
  end
298
310
  # Custom text that should be displayed after the payment confirmation button.
299
311
  sig {
300
- returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::CustomText::AfterSubmit))
312
+ returns(T.nilable(T.nilable(T.any(String, ::Stripe::Checkout::SessionService::CreateParams::CustomText::AfterSubmit))))
301
313
  }
302
314
  attr_accessor :after_submit
303
315
  # Custom text that should be displayed alongside shipping address collection.
304
316
  sig {
305
- returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::CustomText::ShippingAddress))
317
+ returns(T.nilable(T.nilable(T.any(String, ::Stripe::Checkout::SessionService::CreateParams::CustomText::ShippingAddress))))
306
318
  }
307
319
  attr_accessor :shipping_address
308
320
  # Custom text that should be displayed alongside the payment confirmation button.
309
321
  sig {
310
- returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::CustomText::Submit))
322
+ returns(T.nilable(T.nilable(T.any(String, ::Stripe::Checkout::SessionService::CreateParams::CustomText::Submit))))
311
323
  }
312
324
  attr_accessor :submit
313
325
  # Custom text that should be displayed in place of the default terms of service agreement text.
314
326
  sig {
315
- returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::CustomText::TermsOfServiceAcceptance))
327
+ returns(T.nilable(T.nilable(T.any(String, ::Stripe::Checkout::SessionService::CreateParams::CustomText::TermsOfServiceAcceptance))))
316
328
  }
317
329
  attr_accessor :terms_of_service_acceptance
318
330
  sig {
319
- params(after_submit: T.nilable(::Stripe::Checkout::SessionService::CreateParams::CustomText::AfterSubmit), shipping_address: T.nilable(::Stripe::Checkout::SessionService::CreateParams::CustomText::ShippingAddress), submit: T.nilable(::Stripe::Checkout::SessionService::CreateParams::CustomText::Submit), terms_of_service_acceptance: T.nilable(::Stripe::Checkout::SessionService::CreateParams::CustomText::TermsOfServiceAcceptance)).void
331
+ params(after_submit: T.nilable(T.nilable(T.any(String, ::Stripe::Checkout::SessionService::CreateParams::CustomText::AfterSubmit))), shipping_address: T.nilable(T.nilable(T.any(String, ::Stripe::Checkout::SessionService::CreateParams::CustomText::ShippingAddress))), submit: T.nilable(T.nilable(T.any(String, ::Stripe::Checkout::SessionService::CreateParams::CustomText::Submit))), terms_of_service_acceptance: T.nilable(T.nilable(T.any(String, ::Stripe::Checkout::SessionService::CreateParams::CustomText::TermsOfServiceAcceptance)))).void
320
332
  }
321
333
  def initialize(
322
334
  after_submit: nil,
@@ -328,26 +340,28 @@ module Stripe
328
340
  class CustomerUpdate < Stripe::RequestParams
329
341
  # Describes whether Checkout saves the billing address onto `customer.address`.
330
342
  # To always collect a full billing address, use `billing_address_collection`. Defaults to `never`.
331
- sig { returns(String) }
343
+ sig { returns(T.nilable(String)) }
332
344
  attr_accessor :address
333
345
  # Describes whether Checkout saves the name onto `customer.name`. Defaults to `never`.
334
- sig { returns(String) }
346
+ sig { returns(T.nilable(String)) }
335
347
  attr_accessor :name
336
348
  # Describes whether Checkout saves shipping information onto `customer.shipping`.
337
349
  # To collect shipping information, use `shipping_address_collection`. Defaults to `never`.
338
- sig { returns(String) }
350
+ sig { returns(T.nilable(String)) }
339
351
  attr_accessor :shipping
340
- sig { params(address: String, name: String, shipping: String).void }
352
+ sig {
353
+ params(address: T.nilable(String), name: T.nilable(String), shipping: T.nilable(String)).void
354
+ }
341
355
  def initialize(address: nil, name: nil, shipping: nil); end
342
356
  end
343
357
  class Discount < Stripe::RequestParams
344
358
  # The ID of the coupon to apply to this Session.
345
- sig { returns(String) }
359
+ sig { returns(T.nilable(String)) }
346
360
  attr_accessor :coupon
347
361
  # The ID of a promotion code to apply to this Session.
348
- sig { returns(String) }
362
+ sig { returns(T.nilable(String)) }
349
363
  attr_accessor :promotion_code
350
- sig { params(coupon: String, promotion_code: String).void }
364
+ sig { params(coupon: T.nilable(String), promotion_code: T.nilable(String)).void }
351
365
  def initialize(coupon: nil, promotion_code: nil); end
352
366
  end
353
367
  class InvoiceCreation < Stripe::RequestParams
@@ -364,50 +378,50 @@ module Stripe
364
378
  end
365
379
  class Issuer < Stripe::RequestParams
366
380
  # The connected account being referenced when `type` is `account`.
367
- sig { returns(String) }
381
+ sig { returns(T.nilable(String)) }
368
382
  attr_accessor :account
369
383
  # Type of the account referenced in the request.
370
384
  sig { returns(String) }
371
385
  attr_accessor :type
372
- sig { params(account: String, type: String).void }
386
+ sig { params(account: T.nilable(String), type: String).void }
373
387
  def initialize(account: nil, type: nil); end
374
388
  end
375
389
  class RenderingOptions < Stripe::RequestParams
376
390
  # How line-item prices and amounts will be displayed with respect to tax on invoice PDFs. One of `exclude_tax` or `include_inclusive_tax`. `include_inclusive_tax` will include inclusive tax (and exclude exclusive tax) in invoice PDF amounts. `exclude_tax` will exclude all tax (inclusive and exclusive alike) from invoice PDF amounts.
377
- sig { returns(T.nilable(String)) }
391
+ sig { returns(T.nilable(T.nilable(T.any(String, String)))) }
378
392
  attr_accessor :amount_tax_display
379
- sig { params(amount_tax_display: T.nilable(String)).void }
393
+ sig { params(amount_tax_display: T.nilable(T.nilable(T.any(String, String)))).void }
380
394
  def initialize(amount_tax_display: nil); end
381
395
  end
382
396
  # The account tax IDs associated with the invoice.
383
- sig { returns(T.nilable(T::Array[String])) }
397
+ sig { returns(T.nilable(T.nilable(T.any(String, T::Array[String])))) }
384
398
  attr_accessor :account_tax_ids
385
399
  # Default custom fields to be displayed on invoices for this customer.
386
400
  sig {
387
- returns(T.nilable(T::Array[::Stripe::Checkout::SessionService::CreateParams::InvoiceCreation::InvoiceData::CustomField]))
401
+ returns(T.nilable(T.nilable(T.any(String, T::Array[::Stripe::Checkout::SessionService::CreateParams::InvoiceCreation::InvoiceData::CustomField]))))
388
402
  }
389
403
  attr_accessor :custom_fields
390
404
  # An arbitrary string attached to the object. Often useful for displaying to users.
391
- sig { returns(String) }
405
+ sig { returns(T.nilable(String)) }
392
406
  attr_accessor :description
393
407
  # Default footer to be displayed on invoices for this customer.
394
- sig { returns(String) }
408
+ sig { returns(T.nilable(String)) }
395
409
  attr_accessor :footer
396
410
  # The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account.
397
411
  sig {
398
- returns(::Stripe::Checkout::SessionService::CreateParams::InvoiceCreation::InvoiceData::Issuer)
412
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::InvoiceCreation::InvoiceData::Issuer))
399
413
  }
400
414
  attr_accessor :issuer
401
415
  # Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
402
- sig { returns(T::Hash[String, String]) }
416
+ sig { returns(T.nilable(T::Hash[String, String])) }
403
417
  attr_accessor :metadata
404
418
  # Default options for invoice PDF rendering for this customer.
405
419
  sig {
406
- returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::InvoiceCreation::InvoiceData::RenderingOptions))
420
+ returns(T.nilable(T.nilable(T.any(String, ::Stripe::Checkout::SessionService::CreateParams::InvoiceCreation::InvoiceData::RenderingOptions))))
407
421
  }
408
422
  attr_accessor :rendering_options
409
423
  sig {
410
- params(account_tax_ids: T.nilable(T::Array[String]), custom_fields: T.nilable(T::Array[::Stripe::Checkout::SessionService::CreateParams::InvoiceCreation::InvoiceData::CustomField]), description: String, footer: String, issuer: ::Stripe::Checkout::SessionService::CreateParams::InvoiceCreation::InvoiceData::Issuer, metadata: T::Hash[String, String], rendering_options: T.nilable(::Stripe::Checkout::SessionService::CreateParams::InvoiceCreation::InvoiceData::RenderingOptions)).void
424
+ params(account_tax_ids: T.nilable(T.nilable(T.any(String, T::Array[String]))), custom_fields: T.nilable(T.nilable(T.any(String, T::Array[::Stripe::Checkout::SessionService::CreateParams::InvoiceCreation::InvoiceData::CustomField]))), description: T.nilable(String), footer: T.nilable(String), issuer: T.nilable(::Stripe::Checkout::SessionService::CreateParams::InvoiceCreation::InvoiceData::Issuer), metadata: T.nilable(T::Hash[String, String]), rendering_options: T.nilable(T.nilable(T.any(String, ::Stripe::Checkout::SessionService::CreateParams::InvoiceCreation::InvoiceData::RenderingOptions)))).void
411
425
  }
412
426
  def initialize(
413
427
  account_tax_ids: nil,
@@ -424,11 +438,11 @@ module Stripe
424
438
  attr_accessor :enabled
425
439
  # Parameters passed when creating invoices for payment-mode Checkout Sessions.
426
440
  sig {
427
- returns(::Stripe::Checkout::SessionService::CreateParams::InvoiceCreation::InvoiceData)
441
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::InvoiceCreation::InvoiceData))
428
442
  }
429
443
  attr_accessor :invoice_data
430
444
  sig {
431
- params(enabled: T::Boolean, invoice_data: ::Stripe::Checkout::SessionService::CreateParams::InvoiceCreation::InvoiceData).void
445
+ params(enabled: T::Boolean, invoice_data: T.nilable(::Stripe::Checkout::SessionService::CreateParams::InvoiceCreation::InvoiceData)).void
432
446
  }
433
447
  def initialize(enabled: nil, invoice_data: nil); end
434
448
  end
@@ -438,33 +452,35 @@ module Stripe
438
452
  sig { returns(T::Boolean) }
439
453
  attr_accessor :enabled
440
454
  # The maximum quantity the customer can purchase for the Checkout Session. By default this value is 99. You can specify a value up to 999999.
441
- sig { returns(Integer) }
455
+ sig { returns(T.nilable(Integer)) }
442
456
  attr_accessor :maximum
443
457
  # The minimum quantity the customer must purchase for the Checkout Session. By default this value is 0.
444
- sig { returns(Integer) }
458
+ sig { returns(T.nilable(Integer)) }
445
459
  attr_accessor :minimum
446
- sig { params(enabled: T::Boolean, maximum: Integer, minimum: Integer).void }
460
+ sig {
461
+ params(enabled: T::Boolean, maximum: T.nilable(Integer), minimum: T.nilable(Integer)).void
462
+ }
447
463
  def initialize(enabled: nil, maximum: nil, minimum: nil); end
448
464
  end
449
465
  class PriceData < Stripe::RequestParams
450
466
  class ProductData < Stripe::RequestParams
451
467
  # The product's description, meant to be displayable to the customer. Use this field to optionally store a long form explanation of the product being sold for your own rendering purposes.
452
- sig { returns(String) }
468
+ sig { returns(T.nilable(String)) }
453
469
  attr_accessor :description
454
470
  # A list of up to 8 URLs of images for this product, meant to be displayable to the customer.
455
- sig { returns(T::Array[String]) }
471
+ sig { returns(T.nilable(T::Array[String])) }
456
472
  attr_accessor :images
457
473
  # Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
458
- sig { returns(T::Hash[String, String]) }
474
+ sig { returns(T.nilable(T::Hash[String, String])) }
459
475
  attr_accessor :metadata
460
476
  # The product's name, meant to be displayable to the customer.
461
477
  sig { returns(String) }
462
478
  attr_accessor :name
463
479
  # A [tax code](https://stripe.com/docs/tax/tax-categories) ID.
464
- sig { returns(String) }
480
+ sig { returns(T.nilable(String)) }
465
481
  attr_accessor :tax_code
466
482
  sig {
467
- params(description: String, images: T::Array[String], metadata: T::Hash[String, String], name: String, tax_code: String).void
483
+ params(description: T.nilable(String), images: T.nilable(T::Array[String]), metadata: T.nilable(T::Hash[String, String]), name: String, tax_code: T.nilable(String)).void
468
484
  }
469
485
  def initialize(
470
486
  description: nil,
@@ -479,38 +495,38 @@ module Stripe
479
495
  sig { returns(String) }
480
496
  attr_accessor :interval
481
497
  # The number of intervals between subscription billings. For example, `interval=month` and `interval_count=3` bills every 3 months. Maximum of three years interval allowed (3 years, 36 months, or 156 weeks).
482
- sig { returns(Integer) }
498
+ sig { returns(T.nilable(Integer)) }
483
499
  attr_accessor :interval_count
484
- sig { params(interval: String, interval_count: Integer).void }
500
+ sig { params(interval: String, interval_count: T.nilable(Integer)).void }
485
501
  def initialize(interval: nil, interval_count: nil); end
486
502
  end
487
503
  # Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
488
504
  sig { returns(String) }
489
505
  attr_accessor :currency
490
- # The ID of the product that this price will belong to. One of `product` or `product_data` is required.
491
- sig { returns(String) }
506
+ # The ID of the [Product](https://docs.stripe.com/api/products) that this [Price](https://docs.stripe.com/api/prices) will belong to. One of `product` or `product_data` is required.
507
+ sig { returns(T.nilable(String)) }
492
508
  attr_accessor :product
493
- # Data used to generate a new product object inline. One of `product` or `product_data` is required.
509
+ # Data used to generate a new [Product](https://docs.stripe.com/api/products) object inline. One of `product` or `product_data` is required.
494
510
  sig {
495
- returns(::Stripe::Checkout::SessionService::CreateParams::LineItem::PriceData::ProductData)
511
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::LineItem::PriceData::ProductData))
496
512
  }
497
513
  attr_accessor :product_data
498
514
  # The recurring components of a price such as `interval` and `interval_count`.
499
515
  sig {
500
- returns(::Stripe::Checkout::SessionService::CreateParams::LineItem::PriceData::Recurring)
516
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::LineItem::PriceData::Recurring))
501
517
  }
502
518
  attr_accessor :recurring
503
519
  # Only required if a [default tax behavior](https://stripe.com/docs/tax/products-prices-tax-categories-tax-behavior#setting-a-default-tax-behavior-(recommended)) was not provided in the Stripe Tax settings. Specifies whether the price is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`. Once specified as either `inclusive` or `exclusive`, it cannot be changed.
504
- sig { returns(String) }
520
+ sig { returns(T.nilable(String)) }
505
521
  attr_accessor :tax_behavior
506
522
  # A non-negative integer in cents (or local equivalent) representing how much to charge. One of `unit_amount` or `unit_amount_decimal` is required.
507
- sig { returns(Integer) }
523
+ sig { returns(T.nilable(Integer)) }
508
524
  attr_accessor :unit_amount
509
525
  # Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set.
510
- sig { returns(String) }
526
+ sig { returns(T.nilable(String)) }
511
527
  attr_accessor :unit_amount_decimal
512
528
  sig {
513
- params(currency: String, product: String, product_data: ::Stripe::Checkout::SessionService::CreateParams::LineItem::PriceData::ProductData, recurring: ::Stripe::Checkout::SessionService::CreateParams::LineItem::PriceData::Recurring, tax_behavior: String, unit_amount: Integer, unit_amount_decimal: String).void
529
+ params(currency: String, product: T.nilable(String), product_data: T.nilable(::Stripe::Checkout::SessionService::CreateParams::LineItem::PriceData::ProductData), recurring: T.nilable(::Stripe::Checkout::SessionService::CreateParams::LineItem::PriceData::Recurring), tax_behavior: T.nilable(String), unit_amount: T.nilable(Integer), unit_amount_decimal: T.nilable(String)).void
514
530
  }
515
531
  def initialize(
516
532
  currency: nil,
@@ -524,63 +540,93 @@ module Stripe
524
540
  end
525
541
  # When set, provides configuration for this item’s quantity to be adjusted by the customer during Checkout.
526
542
  sig {
527
- returns(::Stripe::Checkout::SessionService::CreateParams::LineItem::AdjustableQuantity)
543
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::LineItem::AdjustableQuantity))
528
544
  }
529
545
  attr_accessor :adjustable_quantity
530
546
  # The [tax rates](https://stripe.com/docs/api/tax_rates) that will be applied to this line item depending on the customer's billing/shipping address. We currently support the following countries: US, GB, AU, and all countries in the EU.
531
- sig { returns(T::Array[String]) }
547
+ sig { returns(T.nilable(T::Array[String])) }
532
548
  attr_accessor :dynamic_tax_rates
533
- # Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
534
- sig { returns(T::Hash[String, String]) }
535
- attr_accessor :metadata
536
549
  # The ID of the [Price](https://stripe.com/docs/api/prices) or [Plan](https://stripe.com/docs/api/plans) object. One of `price` or `price_data` is required.
537
- sig { returns(String) }
550
+ sig { returns(T.nilable(String)) }
538
551
  attr_accessor :price
539
552
  # Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. One of `price` or `price_data` is required.
540
- sig { returns(::Stripe::Checkout::SessionService::CreateParams::LineItem::PriceData) }
553
+ sig {
554
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::LineItem::PriceData))
555
+ }
541
556
  attr_accessor :price_data
542
557
  # The quantity of the line item being purchased. Quantity should not be defined when `recurring.usage_type=metered`.
543
- sig { returns(Integer) }
558
+ sig { returns(T.nilable(Integer)) }
544
559
  attr_accessor :quantity
545
560
  # The [tax rates](https://stripe.com/docs/api/tax_rates) which apply to this line item.
546
- sig { returns(T::Array[String]) }
561
+ sig { returns(T.nilable(T::Array[String])) }
547
562
  attr_accessor :tax_rates
548
563
  sig {
549
- params(adjustable_quantity: ::Stripe::Checkout::SessionService::CreateParams::LineItem::AdjustableQuantity, dynamic_tax_rates: T::Array[String], metadata: T::Hash[String, String], price: String, price_data: ::Stripe::Checkout::SessionService::CreateParams::LineItem::PriceData, quantity: Integer, tax_rates: T::Array[String]).void
564
+ params(adjustable_quantity: T.nilable(::Stripe::Checkout::SessionService::CreateParams::LineItem::AdjustableQuantity), dynamic_tax_rates: T.nilable(T::Array[String]), price: T.nilable(String), price_data: T.nilable(::Stripe::Checkout::SessionService::CreateParams::LineItem::PriceData), quantity: T.nilable(Integer), tax_rates: T.nilable(T::Array[String])).void
550
565
  }
551
566
  def initialize(
552
567
  adjustable_quantity: nil,
553
568
  dynamic_tax_rates: nil,
554
- metadata: nil,
555
569
  price: nil,
556
570
  price_data: nil,
557
571
  quantity: nil,
558
572
  tax_rates: nil
559
573
  ); end
560
574
  end
575
+ class OptionalItem < Stripe::RequestParams
576
+ class AdjustableQuantity < Stripe::RequestParams
577
+ # Set to true if the quantity can be adjusted to any non-negative integer.
578
+ sig { returns(T::Boolean) }
579
+ attr_accessor :enabled
580
+ # The maximum quantity of this item the customer can purchase. By default this value is 99. You can specify a value up to 999999.
581
+ sig { returns(T.nilable(Integer)) }
582
+ attr_accessor :maximum
583
+ # The minimum quantity of this item the customer must purchase, if they choose to purchase it. Because this item is optional, the customer will always be able to remove it from their order, even if the `minimum` configured here is greater than 0. By default this value is 0.
584
+ sig { returns(T.nilable(Integer)) }
585
+ attr_accessor :minimum
586
+ sig {
587
+ params(enabled: T::Boolean, maximum: T.nilable(Integer), minimum: T.nilable(Integer)).void
588
+ }
589
+ def initialize(enabled: nil, maximum: nil, minimum: nil); end
590
+ end
591
+ # When set, provides configuration for the customer to adjust the quantity of the line item created when a customer chooses to add this optional item to their order.
592
+ sig {
593
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::OptionalItem::AdjustableQuantity))
594
+ }
595
+ attr_accessor :adjustable_quantity
596
+ # The ID of the [Price](https://stripe.com/docs/api/prices) or [Plan](https://stripe.com/docs/api/plans) object.
597
+ sig { returns(String) }
598
+ attr_accessor :price
599
+ # The initial quantity of the line item created when a customer chooses to add this optional item to their order.
600
+ sig { returns(Integer) }
601
+ attr_accessor :quantity
602
+ sig {
603
+ params(adjustable_quantity: T.nilable(::Stripe::Checkout::SessionService::CreateParams::OptionalItem::AdjustableQuantity), price: String, quantity: Integer).void
604
+ }
605
+ def initialize(adjustable_quantity: nil, price: nil, quantity: nil); end
606
+ end
561
607
  class PaymentIntentData < Stripe::RequestParams
562
608
  class Shipping < Stripe::RequestParams
563
609
  class Address < Stripe::RequestParams
564
610
  # City, district, suburb, town, or village.
565
- sig { returns(String) }
611
+ sig { returns(T.nilable(String)) }
566
612
  attr_accessor :city
567
613
  # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
568
- sig { returns(String) }
614
+ sig { returns(T.nilable(String)) }
569
615
  attr_accessor :country
570
616
  # Address line 1 (e.g., street, PO Box, or company name).
571
617
  sig { returns(String) }
572
618
  attr_accessor :line1
573
619
  # Address line 2 (e.g., apartment, suite, unit, or building).
574
- sig { returns(String) }
620
+ sig { returns(T.nilable(String)) }
575
621
  attr_accessor :line2
576
622
  # ZIP or postal code.
577
- sig { returns(String) }
623
+ sig { returns(T.nilable(String)) }
578
624
  attr_accessor :postal_code
579
625
  # State, county, province, or region.
580
- sig { returns(String) }
626
+ sig { returns(T.nilable(String)) }
581
627
  attr_accessor :state
582
628
  sig {
583
- params(city: String, country: String, line1: String, line2: String, postal_code: String, state: String).void
629
+ params(city: T.nilable(String), country: T.nilable(String), line1: String, line2: T.nilable(String), postal_code: T.nilable(String), state: T.nilable(String)).void
584
630
  }
585
631
  def initialize(
586
632
  city: nil,
@@ -597,19 +643,19 @@ module Stripe
597
643
  }
598
644
  attr_accessor :address
599
645
  # The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc.
600
- sig { returns(String) }
646
+ sig { returns(T.nilable(String)) }
601
647
  attr_accessor :carrier
602
648
  # Recipient name.
603
649
  sig { returns(String) }
604
650
  attr_accessor :name
605
651
  # Recipient phone (including extension).
606
- sig { returns(String) }
652
+ sig { returns(T.nilable(String)) }
607
653
  attr_accessor :phone
608
654
  # The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas.
609
- sig { returns(String) }
655
+ sig { returns(T.nilable(String)) }
610
656
  attr_accessor :tracking_number
611
657
  sig {
612
- params(address: ::Stripe::Checkout::SessionService::CreateParams::PaymentIntentData::Shipping::Address, carrier: String, name: String, phone: String, tracking_number: String).void
658
+ params(address: ::Stripe::Checkout::SessionService::CreateParams::PaymentIntentData::Shipping::Address, carrier: T.nilable(String), name: String, phone: T.nilable(String), tracking_number: T.nilable(String)).void
613
659
  }
614
660
  def initialize(
615
661
  address: nil,
@@ -621,7 +667,7 @@ module Stripe
621
667
  end
622
668
  class TransferData < Stripe::RequestParams
623
669
  # The amount that will be transferred automatically when a charge succeeds.
624
- sig { returns(Integer) }
670
+ sig { returns(T.nilable(Integer)) }
625
671
  attr_accessor :amount
626
672
  # If specified, successful charges will be attributed to the destination
627
673
  # account for tax reporting, and the funds from charges will be transferred
@@ -629,28 +675,28 @@ module Stripe
629
675
  # returned on the successful charge's `transfer` field.
630
676
  sig { returns(String) }
631
677
  attr_accessor :destination
632
- sig { params(amount: Integer, destination: String).void }
678
+ sig { params(amount: T.nilable(Integer), destination: String).void }
633
679
  def initialize(amount: nil, destination: nil); end
634
680
  end
635
- # The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. The amount of the application fee collected will be capped at the total payment amount. For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts).
636
- sig { returns(Integer) }
681
+ # The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. The amount of the application fee collected will be capped at the total amount captured. For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts).
682
+ sig { returns(T.nilable(Integer)) }
637
683
  attr_accessor :application_fee_amount
638
684
  # Controls when the funds will be captured from the customer's account.
639
- sig { returns(String) }
685
+ sig { returns(T.nilable(String)) }
640
686
  attr_accessor :capture_method
641
687
  # An arbitrary string attached to the object. Often useful for displaying to users.
642
- sig { returns(String) }
688
+ sig { returns(T.nilable(String)) }
643
689
  attr_accessor :description
644
690
  # Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
645
- sig { returns(T::Hash[String, String]) }
691
+ sig { returns(T.nilable(T::Hash[String, String])) }
646
692
  attr_accessor :metadata
647
693
  # The Stripe account ID for which these funds are intended. For details,
648
694
  # see the PaymentIntents [use case for connected
649
695
  # accounts](/docs/payments/connected-accounts).
650
- sig { returns(String) }
696
+ sig { returns(T.nilable(String)) }
651
697
  attr_accessor :on_behalf_of
652
698
  # Email address that the receipt for the resulting payment will be sent to. If `receipt_email` is specified for a payment in live mode, a receipt will be sent regardless of your [email settings](https://dashboard.stripe.com/account/emails).
653
- sig { returns(String) }
699
+ sig { returns(T.nilable(String)) }
654
700
  attr_accessor :receipt_email
655
701
  # Indicates that you intend to [make future payments](https://stripe.com/docs/payments/payment-intents#future-usage) with the payment
656
702
  # method collected by this Checkout Session.
@@ -672,32 +718,32 @@ module Stripe
672
718
  # When processing card payments, Checkout also uses `setup_future_usage`
673
719
  # to dynamically optimize your payment flow and comply with regional
674
720
  # legislation and network rules, such as SCA.
675
- sig { returns(String) }
721
+ sig { returns(T.nilable(String)) }
676
722
  attr_accessor :setup_future_usage
677
723
  # Shipping information for this payment.
678
724
  sig {
679
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentIntentData::Shipping)
725
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentIntentData::Shipping))
680
726
  }
681
727
  attr_accessor :shipping
682
728
  # Text that appears on the customer's statement as the statement descriptor for a non-card charge. This value overrides the account's default statement descriptor. For information about requirements, including the 22-character limit, see [the Statement Descriptor docs](https://docs.stripe.com/get-started/account/statement-descriptors).
683
729
  #
684
730
  # Setting this value for a card charge returns an error. For card charges, set the [statement_descriptor_suffix](https://docs.stripe.com/get-started/account/statement-descriptors#dynamic) instead.
685
- sig { returns(String) }
731
+ sig { returns(T.nilable(String)) }
686
732
  attr_accessor :statement_descriptor
687
733
  # Provides information about a card charge. Concatenated to the account's [statement descriptor prefix](https://docs.stripe.com/get-started/account/statement-descriptors#static) to form the complete statement descriptor that appears on the customer's statement.
688
- sig { returns(String) }
734
+ sig { returns(T.nilable(String)) }
689
735
  attr_accessor :statement_descriptor_suffix
690
736
  # The parameters used to automatically create a Transfer when the payment succeeds.
691
737
  # For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts).
692
738
  sig {
693
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentIntentData::TransferData)
739
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentIntentData::TransferData))
694
740
  }
695
741
  attr_accessor :transfer_data
696
742
  # A string that identifies the resulting payment as part of a group. See the PaymentIntents [use case for connected accounts](https://stripe.com/docs/connect/separate-charges-and-transfers) for details.
697
- sig { returns(String) }
743
+ sig { returns(T.nilable(String)) }
698
744
  attr_accessor :transfer_group
699
745
  sig {
700
- params(application_fee_amount: Integer, capture_method: String, description: String, metadata: T::Hash[String, String], on_behalf_of: String, receipt_email: String, setup_future_usage: String, shipping: ::Stripe::Checkout::SessionService::CreateParams::PaymentIntentData::Shipping, statement_descriptor: String, statement_descriptor_suffix: String, transfer_data: ::Stripe::Checkout::SessionService::CreateParams::PaymentIntentData::TransferData, transfer_group: String).void
746
+ params(application_fee_amount: T.nilable(Integer), capture_method: T.nilable(String), description: T.nilable(String), metadata: T.nilable(T::Hash[String, String]), on_behalf_of: T.nilable(String), receipt_email: T.nilable(String), setup_future_usage: T.nilable(String), shipping: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentIntentData::Shipping), statement_descriptor: T.nilable(String), statement_descriptor_suffix: T.nilable(String), transfer_data: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentIntentData::TransferData), transfer_group: T.nilable(String)).void
701
747
  }
702
748
  def initialize(
703
749
  application_fee_amount: nil,
@@ -716,9 +762,9 @@ module Stripe
716
762
  end
717
763
  class PaymentMethodData < Stripe::RequestParams
718
764
  # Allow redisplay will be set on the payment method on confirmation and indicates whether this payment method can be shown again to the customer in a checkout flow. Only set this field if you wish to override the allow_redisplay value determined by Checkout.
719
- sig { returns(String) }
765
+ sig { returns(T.nilable(String)) }
720
766
  attr_accessor :allow_redisplay
721
- sig { params(allow_redisplay: String).void }
767
+ sig { params(allow_redisplay: T.nilable(String)).void }
722
768
  def initialize(allow_redisplay: nil); end
723
769
  end
724
770
  class PaymentMethodOptions < Stripe::RequestParams
@@ -727,22 +773,22 @@ module Stripe
727
773
  # A URL for custom mandate text to render during confirmation step.
728
774
  # The URL will be rendered with additional GET parameters `payment_intent` and `payment_intent_client_secret` when confirming a Payment Intent,
729
775
  # or `setup_intent` and `setup_intent_client_secret` when confirming a Setup Intent.
730
- sig { returns(T.nilable(String)) }
776
+ sig { returns(T.nilable(T.nilable(String))) }
731
777
  attr_accessor :custom_mandate_url
732
778
  # List of Stripe products where this mandate can be selected automatically. Only usable in `setup` mode.
733
- sig { returns(T::Array[String]) }
779
+ sig { returns(T.nilable(T::Array[String])) }
734
780
  attr_accessor :default_for
735
781
  # Description of the mandate interval. Only required if 'payment_schedule' parameter is 'interval' or 'combined'.
736
- sig { returns(String) }
782
+ sig { returns(T.nilable(String)) }
737
783
  attr_accessor :interval_description
738
784
  # Payment schedule for the mandate.
739
- sig { returns(String) }
785
+ sig { returns(T.nilable(String)) }
740
786
  attr_accessor :payment_schedule
741
787
  # Transaction type of the mandate.
742
- sig { returns(String) }
788
+ sig { returns(T.nilable(String)) }
743
789
  attr_accessor :transaction_type
744
790
  sig {
745
- params(custom_mandate_url: T.nilable(String), default_for: T::Array[String], interval_description: String, payment_schedule: String, transaction_type: String).void
791
+ params(custom_mandate_url: T.nilable(T.nilable(String)), default_for: T.nilable(T::Array[String]), interval_description: T.nilable(String), payment_schedule: T.nilable(String), transaction_type: T.nilable(String)).void
746
792
  }
747
793
  def initialize(
748
794
  custom_mandate_url: nil,
@@ -753,11 +799,11 @@ module Stripe
753
799
  ); end
754
800
  end
755
801
  # Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). This is only accepted for Checkout Sessions in `setup` mode.
756
- sig { returns(String) }
802
+ sig { returns(T.nilable(String)) }
757
803
  attr_accessor :currency
758
804
  # Additional fields for Mandate creation
759
805
  sig {
760
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::AcssDebit::MandateOptions)
806
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::AcssDebit::MandateOptions))
761
807
  }
762
808
  attr_accessor :mandate_options
763
809
  # Indicates that you intend to make future payments with this PaymentIntent's payment method.
@@ -767,16 +813,16 @@ module Stripe
767
813
  # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
768
814
  #
769
815
  # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
770
- sig { returns(String) }
816
+ sig { returns(T.nilable(String)) }
771
817
  attr_accessor :setup_future_usage
772
818
  # Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now.
773
- sig { returns(String) }
819
+ sig { returns(T.nilable(String)) }
774
820
  attr_accessor :target_date
775
821
  # Verification method for the intent
776
- sig { returns(String) }
822
+ sig { returns(T.nilable(String)) }
777
823
  attr_accessor :verification_method
778
824
  sig {
779
- params(currency: String, mandate_options: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::AcssDebit::MandateOptions, setup_future_usage: String, target_date: String, verification_method: String).void
825
+ params(currency: T.nilable(String), mandate_options: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::AcssDebit::MandateOptions), setup_future_usage: T.nilable(String), target_date: T.nilable(String), verification_method: T.nilable(String)).void
780
826
  }
781
827
  def initialize(
782
828
  currency: nil,
@@ -794,9 +840,9 @@ module Stripe
794
840
  # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
795
841
  #
796
842
  # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
797
- sig { returns(String) }
843
+ sig { returns(T.nilable(String)) }
798
844
  attr_accessor :setup_future_usage
799
- sig { params(setup_future_usage: String).void }
845
+ sig { params(setup_future_usage: T.nilable(String)).void }
800
846
  def initialize(setup_future_usage: nil); end
801
847
  end
802
848
  class AfterpayClearpay < Stripe::RequestParams
@@ -807,9 +853,9 @@ module Stripe
807
853
  # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
808
854
  #
809
855
  # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
810
- sig { returns(String) }
856
+ sig { returns(T.nilable(String)) }
811
857
  attr_accessor :setup_future_usage
812
- sig { params(setup_future_usage: String).void }
858
+ sig { params(setup_future_usage: T.nilable(String)).void }
813
859
  def initialize(setup_future_usage: nil); end
814
860
  end
815
861
  class Alipay < Stripe::RequestParams
@@ -820,9 +866,9 @@ module Stripe
820
866
  # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
821
867
  #
822
868
  # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
823
- sig { returns(String) }
869
+ sig { returns(T.nilable(String)) }
824
870
  attr_accessor :setup_future_usage
825
- sig { params(setup_future_usage: String).void }
871
+ sig { params(setup_future_usage: T.nilable(String)).void }
826
872
  def initialize(setup_future_usage: nil); end
827
873
  end
828
874
  class AmazonPay < Stripe::RequestParams
@@ -833,9 +879,9 @@ module Stripe
833
879
  # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
834
880
  #
835
881
  # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
836
- sig { returns(String) }
882
+ sig { returns(T.nilable(String)) }
837
883
  attr_accessor :setup_future_usage
838
- sig { params(setup_future_usage: String).void }
884
+ sig { params(setup_future_usage: T.nilable(String)).void }
839
885
  def initialize(setup_future_usage: nil); end
840
886
  end
841
887
  class AuBecsDebit < Stripe::RequestParams
@@ -846,25 +892,27 @@ module Stripe
846
892
  # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
847
893
  #
848
894
  # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
849
- sig { returns(String) }
895
+ sig { returns(T.nilable(String)) }
850
896
  attr_accessor :setup_future_usage
851
897
  # Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now.
852
- sig { returns(String) }
898
+ sig { returns(T.nilable(String)) }
853
899
  attr_accessor :target_date
854
- sig { params(setup_future_usage: String, target_date: String).void }
900
+ sig {
901
+ params(setup_future_usage: T.nilable(String), target_date: T.nilable(String)).void
902
+ }
855
903
  def initialize(setup_future_usage: nil, target_date: nil); end
856
904
  end
857
905
  class BacsDebit < Stripe::RequestParams
858
906
  class MandateOptions < Stripe::RequestParams
859
907
  # Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must consist of only uppercase letters, numbers, spaces, or the following special characters: '/', '_', '-', '&', '.'. Cannot begin with 'DDIC' or 'STRIPE'.
860
- sig { returns(T.nilable(String)) }
908
+ sig { returns(T.nilable(T.nilable(String))) }
861
909
  attr_accessor :reference_prefix
862
- sig { params(reference_prefix: T.nilable(String)).void }
910
+ sig { params(reference_prefix: T.nilable(T.nilable(String))).void }
863
911
  def initialize(reference_prefix: nil); end
864
912
  end
865
913
  # Additional fields for Mandate creation
866
914
  sig {
867
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::BacsDebit::MandateOptions)
915
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::BacsDebit::MandateOptions))
868
916
  }
869
917
  attr_accessor :mandate_options
870
918
  # Indicates that you intend to make future payments with this PaymentIntent's payment method.
@@ -874,13 +922,13 @@ module Stripe
874
922
  # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
875
923
  #
876
924
  # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
877
- sig { returns(String) }
925
+ sig { returns(T.nilable(String)) }
878
926
  attr_accessor :setup_future_usage
879
927
  # Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now.
880
- sig { returns(String) }
928
+ sig { returns(T.nilable(String)) }
881
929
  attr_accessor :target_date
882
930
  sig {
883
- params(mandate_options: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::BacsDebit::MandateOptions, setup_future_usage: String, target_date: String).void
931
+ params(mandate_options: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::BacsDebit::MandateOptions), setup_future_usage: T.nilable(String), target_date: T.nilable(String)).void
884
932
  }
885
933
  def initialize(mandate_options: nil, setup_future_usage: nil, target_date: nil); end
886
934
  end
@@ -892,14 +940,14 @@ module Stripe
892
940
  # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
893
941
  #
894
942
  # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
895
- sig { returns(String) }
943
+ sig { returns(T.nilable(String)) }
896
944
  attr_accessor :setup_future_usage
897
- sig { params(setup_future_usage: String).void }
945
+ sig { params(setup_future_usage: T.nilable(String)).void }
898
946
  def initialize(setup_future_usage: nil); end
899
947
  end
900
948
  class Boleto < Stripe::RequestParams
901
949
  # The number of calendar days before a Boleto voucher expires. For example, if you create a Boleto voucher on Monday and you set expires_after_days to 2, the Boleto invoice will expire on Wednesday at 23:59 America/Sao_Paulo time.
902
- sig { returns(Integer) }
950
+ sig { returns(T.nilable(Integer)) }
903
951
  attr_accessor :expires_after_days
904
952
  # Indicates that you intend to make future payments with this PaymentIntent's payment method.
905
953
  #
@@ -908,53 +956,52 @@ module Stripe
908
956
  # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
909
957
  #
910
958
  # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
911
- sig { returns(String) }
959
+ sig { returns(T.nilable(String)) }
912
960
  attr_accessor :setup_future_usage
913
- sig { params(expires_after_days: Integer, setup_future_usage: String).void }
961
+ sig {
962
+ params(expires_after_days: T.nilable(Integer), setup_future_usage: T.nilable(String)).void
963
+ }
914
964
  def initialize(expires_after_days: nil, setup_future_usage: nil); end
915
965
  end
916
966
  class Card < Stripe::RequestParams
917
967
  class Installments < Stripe::RequestParams
918
968
  # Setting to true enables installments for this Checkout Session.
919
969
  # Setting to false will prevent any installment plan from applying to a payment.
920
- sig { returns(T::Boolean) }
970
+ sig { returns(T.nilable(T::Boolean)) }
921
971
  attr_accessor :enabled
922
- sig { params(enabled: T::Boolean).void }
972
+ sig { params(enabled: T.nilable(T::Boolean)).void }
923
973
  def initialize(enabled: nil); end
924
974
  end
925
975
  class Restrictions < Stripe::RequestParams
926
976
  # Specify the card brands to block in the Checkout Session. If a customer enters or selects a card belonging to a blocked brand, they can't complete the Session.
927
- sig { returns(T::Array[String]) }
977
+ sig { returns(T.nilable(T::Array[String])) }
928
978
  attr_accessor :brands_blocked
929
- sig { params(brands_blocked: T::Array[String]).void }
979
+ sig { params(brands_blocked: T.nilable(T::Array[String])).void }
930
980
  def initialize(brands_blocked: nil); end
931
981
  end
932
982
  # Installment options for card payments
933
983
  sig {
934
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Card::Installments)
984
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Card::Installments))
935
985
  }
936
986
  attr_accessor :installments
937
987
  # Request ability to [capture beyond the standard authorization validity window](/payments/extended-authorization) for this CheckoutSession.
938
- sig { returns(String) }
939
- attr_accessor :request_decremental_authorization
940
- # Request ability to [capture beyond the standard authorization validity window](/payments/extended-authorization) for this CheckoutSession.
941
- sig { returns(String) }
988
+ sig { returns(T.nilable(String)) }
942
989
  attr_accessor :request_extended_authorization
943
990
  # Request ability to [increment the authorization](/payments/incremental-authorization) for this CheckoutSession.
944
- sig { returns(String) }
991
+ sig { returns(T.nilable(String)) }
945
992
  attr_accessor :request_incremental_authorization
946
993
  # Request ability to make [multiple captures](/payments/multicapture) for this CheckoutSession.
947
- sig { returns(String) }
994
+ sig { returns(T.nilable(String)) }
948
995
  attr_accessor :request_multicapture
949
996
  # Request ability to [overcapture](/payments/overcapture) for this CheckoutSession.
950
- sig { returns(String) }
997
+ sig { returns(T.nilable(String)) }
951
998
  attr_accessor :request_overcapture
952
999
  # We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. If not provided, this value defaults to `automatic`. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure/authentication-flow#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine.
953
- sig { returns(String) }
1000
+ sig { returns(T.nilable(String)) }
954
1001
  attr_accessor :request_three_d_secure
955
1002
  # Restrictions to apply to the card payment method. For example, you can block specific card brands.
956
1003
  sig {
957
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Card::Restrictions)
1004
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Card::Restrictions))
958
1005
  }
959
1006
  attr_accessor :restrictions
960
1007
  # Indicates that you intend to make future payments with this PaymentIntent's payment method.
@@ -964,20 +1011,19 @@ module Stripe
964
1011
  # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
965
1012
  #
966
1013
  # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
967
- sig { returns(String) }
1014
+ sig { returns(T.nilable(String)) }
968
1015
  attr_accessor :setup_future_usage
969
1016
  # Provides information about a card payment that customers see on their statements. Concatenated with the Kana prefix (shortened Kana descriptor) or Kana statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 22 characters. On card statements, the *concatenation* of both prefix and suffix (including separators) will appear truncated to 22 characters.
970
- sig { returns(String) }
1017
+ sig { returns(T.nilable(String)) }
971
1018
  attr_accessor :statement_descriptor_suffix_kana
972
1019
  # Provides information about a card payment that customers see on their statements. Concatenated with the Kanji prefix (shortened Kanji descriptor) or Kanji statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 17 characters. On card statements, the *concatenation* of both prefix and suffix (including separators) will appear truncated to 17 characters.
973
- sig { returns(String) }
1020
+ sig { returns(T.nilable(String)) }
974
1021
  attr_accessor :statement_descriptor_suffix_kanji
975
1022
  sig {
976
- params(installments: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Card::Installments, request_decremental_authorization: String, request_extended_authorization: String, request_incremental_authorization: String, request_multicapture: String, request_overcapture: String, request_three_d_secure: String, restrictions: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Card::Restrictions, setup_future_usage: String, statement_descriptor_suffix_kana: String, statement_descriptor_suffix_kanji: String).void
1023
+ params(installments: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Card::Installments), request_extended_authorization: T.nilable(String), request_incremental_authorization: T.nilable(String), request_multicapture: T.nilable(String), request_overcapture: T.nilable(String), request_three_d_secure: T.nilable(String), restrictions: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Card::Restrictions), setup_future_usage: T.nilable(String), statement_descriptor_suffix_kana: T.nilable(String), statement_descriptor_suffix_kanji: T.nilable(String)).void
977
1024
  }
978
1025
  def initialize(
979
1026
  installments: nil,
980
- request_decremental_authorization: nil,
981
1027
  request_extended_authorization: nil,
982
1028
  request_incremental_authorization: nil,
983
1029
  request_multicapture: nil,
@@ -997,9 +1043,9 @@ module Stripe
997
1043
  # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
998
1044
  #
999
1045
  # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1000
- sig { returns(String) }
1046
+ sig { returns(T.nilable(String)) }
1001
1047
  attr_accessor :setup_future_usage
1002
- sig { params(setup_future_usage: String).void }
1048
+ sig { params(setup_future_usage: T.nilable(String)).void }
1003
1049
  def initialize(setup_future_usage: nil); end
1004
1050
  end
1005
1051
  class CustomerBalance < Stripe::RequestParams
@@ -1013,29 +1059,29 @@ module Stripe
1013
1059
  end
1014
1060
  # Configuration for eu_bank_transfer funding type.
1015
1061
  sig {
1016
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::CustomerBalance::BankTransfer::EuBankTransfer)
1062
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::CustomerBalance::BankTransfer::EuBankTransfer))
1017
1063
  }
1018
1064
  attr_accessor :eu_bank_transfer
1019
1065
  # List of address types that should be returned in the financial_addresses response. If not specified, all valid types will be returned.
1020
1066
  #
1021
1067
  # Permitted values include: `sort_code`, `zengin`, `iban`, or `spei`.
1022
- sig { returns(T::Array[String]) }
1068
+ sig { returns(T.nilable(T::Array[String])) }
1023
1069
  attr_accessor :requested_address_types
1024
1070
  # The list of bank transfer types that this PaymentIntent is allowed to use for funding.
1025
1071
  sig { returns(String) }
1026
1072
  attr_accessor :type
1027
1073
  sig {
1028
- params(eu_bank_transfer: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::CustomerBalance::BankTransfer::EuBankTransfer, requested_address_types: T::Array[String], type: String).void
1074
+ params(eu_bank_transfer: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::CustomerBalance::BankTransfer::EuBankTransfer), requested_address_types: T.nilable(T::Array[String]), type: String).void
1029
1075
  }
1030
1076
  def initialize(eu_bank_transfer: nil, requested_address_types: nil, type: nil); end
1031
1077
  end
1032
1078
  # Configuration for the bank transfer funding type, if the `funding_type` is set to `bank_transfer`.
1033
1079
  sig {
1034
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::CustomerBalance::BankTransfer)
1080
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::CustomerBalance::BankTransfer))
1035
1081
  }
1036
1082
  attr_accessor :bank_transfer
1037
1083
  # The funding method type to be used when there are not enough funds in the customer balance. Permitted values include: `bank_transfer`.
1038
- sig { returns(String) }
1084
+ sig { returns(T.nilable(String)) }
1039
1085
  attr_accessor :funding_type
1040
1086
  # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1041
1087
  #
@@ -1044,10 +1090,10 @@ module Stripe
1044
1090
  # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1045
1091
  #
1046
1092
  # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1047
- sig { returns(String) }
1093
+ sig { returns(T.nilable(String)) }
1048
1094
  attr_accessor :setup_future_usage
1049
1095
  sig {
1050
- params(bank_transfer: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::CustomerBalance::BankTransfer, funding_type: String, setup_future_usage: String).void
1096
+ params(bank_transfer: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::CustomerBalance::BankTransfer), funding_type: T.nilable(String), setup_future_usage: T.nilable(String)).void
1051
1097
  }
1052
1098
  def initialize(bank_transfer: nil, funding_type: nil, setup_future_usage: nil); end
1053
1099
  end
@@ -1059,9 +1105,9 @@ module Stripe
1059
1105
  # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1060
1106
  #
1061
1107
  # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1062
- sig { returns(String) }
1108
+ sig { returns(T.nilable(String)) }
1063
1109
  attr_accessor :setup_future_usage
1064
- sig { params(setup_future_usage: String).void }
1110
+ sig { params(setup_future_usage: T.nilable(String)).void }
1065
1111
  def initialize(setup_future_usage: nil); end
1066
1112
  end
1067
1113
  class Fpx < Stripe::RequestParams
@@ -1072,9 +1118,9 @@ module Stripe
1072
1118
  # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1073
1119
  #
1074
1120
  # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1075
- sig { returns(String) }
1121
+ sig { returns(T.nilable(String)) }
1076
1122
  attr_accessor :setup_future_usage
1077
- sig { params(setup_future_usage: String).void }
1123
+ sig { params(setup_future_usage: T.nilable(String)).void }
1078
1124
  def initialize(setup_future_usage: nil); end
1079
1125
  end
1080
1126
  class Giropay < Stripe::RequestParams
@@ -1085,9 +1131,9 @@ module Stripe
1085
1131
  # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1086
1132
  #
1087
1133
  # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1088
- sig { returns(String) }
1134
+ sig { returns(T.nilable(String)) }
1089
1135
  attr_accessor :setup_future_usage
1090
- sig { params(setup_future_usage: String).void }
1136
+ sig { params(setup_future_usage: T.nilable(String)).void }
1091
1137
  def initialize(setup_future_usage: nil); end
1092
1138
  end
1093
1139
  class Grabpay < Stripe::RequestParams
@@ -1098,9 +1144,9 @@ module Stripe
1098
1144
  # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1099
1145
  #
1100
1146
  # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1101
- sig { returns(String) }
1147
+ sig { returns(T.nilable(String)) }
1102
1148
  attr_accessor :setup_future_usage
1103
- sig { params(setup_future_usage: String).void }
1149
+ sig { params(setup_future_usage: T.nilable(String)).void }
1104
1150
  def initialize(setup_future_usage: nil); end
1105
1151
  end
1106
1152
  class Ideal < Stripe::RequestParams
@@ -1111,14 +1157,14 @@ module Stripe
1111
1157
  # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1112
1158
  #
1113
1159
  # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1114
- sig { returns(String) }
1160
+ sig { returns(T.nilable(String)) }
1115
1161
  attr_accessor :setup_future_usage
1116
- sig { params(setup_future_usage: String).void }
1162
+ sig { params(setup_future_usage: T.nilable(String)).void }
1117
1163
  def initialize(setup_future_usage: nil); end
1118
1164
  end
1119
1165
  class KakaoPay < Stripe::RequestParams
1120
1166
  # Controls when the funds will be captured from the customer's account.
1121
- sig { returns(String) }
1167
+ sig { returns(T.nilable(String)) }
1122
1168
  attr_accessor :capture_method
1123
1169
  # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1124
1170
  #
@@ -1127,9 +1173,11 @@ module Stripe
1127
1173
  # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1128
1174
  #
1129
1175
  # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1130
- sig { returns(String) }
1176
+ sig { returns(T.nilable(String)) }
1131
1177
  attr_accessor :setup_future_usage
1132
- sig { params(capture_method: String, setup_future_usage: String).void }
1178
+ sig {
1179
+ params(capture_method: T.nilable(String), setup_future_usage: T.nilable(String)).void
1180
+ }
1133
1181
  def initialize(capture_method: nil, setup_future_usage: nil); end
1134
1182
  end
1135
1183
  class Klarna < Stripe::RequestParams
@@ -1140,14 +1188,14 @@ module Stripe
1140
1188
  # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1141
1189
  #
1142
1190
  # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1143
- sig { returns(String) }
1191
+ sig { returns(T.nilable(String)) }
1144
1192
  attr_accessor :setup_future_usage
1145
- sig { params(setup_future_usage: String).void }
1193
+ sig { params(setup_future_usage: T.nilable(String)).void }
1146
1194
  def initialize(setup_future_usage: nil); end
1147
1195
  end
1148
1196
  class Konbini < Stripe::RequestParams
1149
1197
  # The number of calendar days (between 1 and 60) after which Konbini payment instructions will expire. For example, if a PaymentIntent is confirmed with Konbini and `expires_after_days` set to 2 on Monday JST, the instructions will expire on Wednesday 23:59:59 JST. Defaults to 3 days.
1150
- sig { returns(Integer) }
1198
+ sig { returns(T.nilable(Integer)) }
1151
1199
  attr_accessor :expires_after_days
1152
1200
  # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1153
1201
  #
@@ -1156,14 +1204,16 @@ module Stripe
1156
1204
  # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1157
1205
  #
1158
1206
  # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1159
- sig { returns(String) }
1207
+ sig { returns(T.nilable(String)) }
1160
1208
  attr_accessor :setup_future_usage
1161
- sig { params(expires_after_days: Integer, setup_future_usage: String).void }
1209
+ sig {
1210
+ params(expires_after_days: T.nilable(Integer), setup_future_usage: T.nilable(String)).void
1211
+ }
1162
1212
  def initialize(expires_after_days: nil, setup_future_usage: nil); end
1163
1213
  end
1164
1214
  class KrCard < Stripe::RequestParams
1165
1215
  # Controls when the funds will be captured from the customer's account.
1166
- sig { returns(String) }
1216
+ sig { returns(T.nilable(String)) }
1167
1217
  attr_accessor :capture_method
1168
1218
  # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1169
1219
  #
@@ -1172,9 +1222,11 @@ module Stripe
1172
1222
  # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1173
1223
  #
1174
1224
  # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1175
- sig { returns(String) }
1225
+ sig { returns(T.nilable(String)) }
1176
1226
  attr_accessor :setup_future_usage
1177
- sig { params(capture_method: String, setup_future_usage: String).void }
1227
+ sig {
1228
+ params(capture_method: T.nilable(String), setup_future_usage: T.nilable(String)).void
1229
+ }
1178
1230
  def initialize(capture_method: nil, setup_future_usage: nil); end
1179
1231
  end
1180
1232
  class Link < Stripe::RequestParams
@@ -1185,9 +1237,9 @@ module Stripe
1185
1237
  # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1186
1238
  #
1187
1239
  # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1188
- sig { returns(String) }
1240
+ sig { returns(T.nilable(String)) }
1189
1241
  attr_accessor :setup_future_usage
1190
- sig { params(setup_future_usage: String).void }
1242
+ sig { params(setup_future_usage: T.nilable(String)).void }
1191
1243
  def initialize(setup_future_usage: nil); end
1192
1244
  end
1193
1245
  class Mobilepay < Stripe::RequestParams
@@ -1198,9 +1250,9 @@ module Stripe
1198
1250
  # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1199
1251
  #
1200
1252
  # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1201
- sig { returns(String) }
1253
+ sig { returns(T.nilable(String)) }
1202
1254
  attr_accessor :setup_future_usage
1203
- sig { params(setup_future_usage: String).void }
1255
+ sig { params(setup_future_usage: T.nilable(String)).void }
1204
1256
  def initialize(setup_future_usage: nil); end
1205
1257
  end
1206
1258
  class Multibanco < Stripe::RequestParams
@@ -1211,14 +1263,14 @@ module Stripe
1211
1263
  # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1212
1264
  #
1213
1265
  # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1214
- sig { returns(String) }
1266
+ sig { returns(T.nilable(String)) }
1215
1267
  attr_accessor :setup_future_usage
1216
- sig { params(setup_future_usage: String).void }
1268
+ sig { params(setup_future_usage: T.nilable(String)).void }
1217
1269
  def initialize(setup_future_usage: nil); end
1218
1270
  end
1219
1271
  class NaverPay < Stripe::RequestParams
1220
1272
  # Controls when the funds will be captured from the customer's account.
1221
- sig { returns(String) }
1273
+ sig { returns(T.nilable(String)) }
1222
1274
  attr_accessor :capture_method
1223
1275
  # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1224
1276
  #
@@ -1227,14 +1279,16 @@ module Stripe
1227
1279
  # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1228
1280
  #
1229
1281
  # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1230
- sig { returns(String) }
1282
+ sig { returns(T.nilable(String)) }
1231
1283
  attr_accessor :setup_future_usage
1232
- sig { params(capture_method: String, setup_future_usage: String).void }
1284
+ sig {
1285
+ params(capture_method: T.nilable(String), setup_future_usage: T.nilable(String)).void
1286
+ }
1233
1287
  def initialize(capture_method: nil, setup_future_usage: nil); end
1234
1288
  end
1235
1289
  class Oxxo < Stripe::RequestParams
1236
1290
  # The number of calendar days before an OXXO voucher expires. For example, if you create an OXXO voucher on Monday and you set expires_after_days to 2, the OXXO invoice will expire on Wednesday at 23:59 America/Mexico_City time.
1237
- sig { returns(Integer) }
1291
+ sig { returns(T.nilable(Integer)) }
1238
1292
  attr_accessor :expires_after_days
1239
1293
  # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1240
1294
  #
@@ -1243,9 +1297,11 @@ module Stripe
1243
1297
  # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1244
1298
  #
1245
1299
  # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1246
- sig { returns(String) }
1300
+ sig { returns(T.nilable(String)) }
1247
1301
  attr_accessor :setup_future_usage
1248
- sig { params(expires_after_days: Integer, setup_future_usage: String).void }
1302
+ sig {
1303
+ params(expires_after_days: T.nilable(Integer), setup_future_usage: T.nilable(String)).void
1304
+ }
1249
1305
  def initialize(expires_after_days: nil, setup_future_usage: nil); end
1250
1306
  end
1251
1307
  class P24 < Stripe::RequestParams
@@ -1256,12 +1312,14 @@ module Stripe
1256
1312
  # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1257
1313
  #
1258
1314
  # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1259
- sig { returns(String) }
1315
+ sig { returns(T.nilable(String)) }
1260
1316
  attr_accessor :setup_future_usage
1261
1317
  # Confirm that the payer has accepted the P24 terms and conditions.
1262
- sig { returns(T::Boolean) }
1318
+ sig { returns(T.nilable(T::Boolean)) }
1263
1319
  attr_accessor :tos_shown_and_accepted
1264
- sig { params(setup_future_usage: String, tos_shown_and_accepted: T::Boolean).void }
1320
+ sig {
1321
+ params(setup_future_usage: T.nilable(String), tos_shown_and_accepted: T.nilable(T::Boolean)).void
1322
+ }
1265
1323
  def initialize(setup_future_usage: nil, tos_shown_and_accepted: nil); end
1266
1324
  end
1267
1325
  class PayByBank < Stripe::RequestParams
@@ -1269,9 +1327,9 @@ module Stripe
1269
1327
  end
1270
1328
  class Payco < Stripe::RequestParams
1271
1329
  # Controls when the funds will be captured from the customer's account.
1272
- sig { returns(String) }
1330
+ sig { returns(T.nilable(String)) }
1273
1331
  attr_accessor :capture_method
1274
- sig { params(capture_method: String).void }
1332
+ sig { params(capture_method: T.nilable(String)).void }
1275
1333
  def initialize(capture_method: nil); end
1276
1334
  end
1277
1335
  class Paynow < Stripe::RequestParams
@@ -1282,26 +1340,23 @@ module Stripe
1282
1340
  # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1283
1341
  #
1284
1342
  # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1285
- sig { returns(String) }
1343
+ sig { returns(T.nilable(String)) }
1286
1344
  attr_accessor :setup_future_usage
1287
- sig { params(setup_future_usage: String).void }
1345
+ sig { params(setup_future_usage: T.nilable(String)).void }
1288
1346
  def initialize(setup_future_usage: nil); end
1289
1347
  end
1290
1348
  class Paypal < Stripe::RequestParams
1291
1349
  # Controls when the funds will be captured from the customer's account.
1292
- sig { returns(T.nilable(String)) }
1350
+ sig { returns(T.nilable(T.nilable(String))) }
1293
1351
  attr_accessor :capture_method
1294
1352
  # [Preferred locale](https://stripe.com/docs/payments/paypal/supported-locales) of the PayPal checkout page that the customer is redirected to.
1295
- sig { returns(String) }
1353
+ sig { returns(T.nilable(String)) }
1296
1354
  attr_accessor :preferred_locale
1297
1355
  # A reference of the PayPal transaction visible to customer which is mapped to PayPal's invoice ID. This must be a globally unique ID if you have configured in your PayPal settings to block multiple payments per invoice ID.
1298
- sig { returns(String) }
1356
+ sig { returns(T.nilable(String)) }
1299
1357
  attr_accessor :reference
1300
- # A reference of the PayPal transaction visible to customer which is mapped to PayPal's invoice ID. This must be a globally unique ID if you have configured in your PayPal settings to block multiple payments per invoice ID.
1301
- sig { returns(String) }
1302
- attr_accessor :reference_id
1303
1358
  # The risk correlation ID for an on-session payment using a saved PayPal payment method.
1304
- sig { returns(String) }
1359
+ sig { returns(T.nilable(String)) }
1305
1360
  attr_accessor :risk_correlation_id
1306
1361
  # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1307
1362
  #
@@ -1312,84 +1367,24 @@ module Stripe
1312
1367
  # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1313
1368
  #
1314
1369
  # If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`.
1315
- sig { returns(T.nilable(String)) }
1370
+ sig { returns(T.nilable(T.nilable(T.any(String, String)))) }
1316
1371
  attr_accessor :setup_future_usage
1317
- # The Stripe connected account IDs of the sellers on the platform for this transaction (optional). Only allowed when [separate charges and transfers](https://stripe.com/docs/connect/separate-charges-and-transfers) are used.
1318
- sig { returns(T::Array[String]) }
1319
- attr_accessor :subsellers
1320
1372
  sig {
1321
- params(capture_method: T.nilable(String), preferred_locale: String, reference: String, reference_id: String, risk_correlation_id: String, setup_future_usage: T.nilable(String), subsellers: T::Array[String]).void
1373
+ params(capture_method: T.nilable(T.nilable(String)), preferred_locale: T.nilable(String), reference: T.nilable(String), risk_correlation_id: T.nilable(String), setup_future_usage: T.nilable(T.nilable(T.any(String, String)))).void
1322
1374
  }
1323
1375
  def initialize(
1324
1376
  capture_method: nil,
1325
1377
  preferred_locale: nil,
1326
1378
  reference: nil,
1327
- reference_id: nil,
1328
1379
  risk_correlation_id: nil,
1329
- setup_future_usage: nil,
1330
- subsellers: nil
1380
+ setup_future_usage: nil
1331
1381
  ); end
1332
1382
  end
1333
- class Payto < Stripe::RequestParams
1334
- class MandateOptions < Stripe::RequestParams
1335
- # Amount that will be collected. It is required when `amount_type` is `fixed`.
1336
- sig { returns(Integer) }
1337
- attr_accessor :amount
1338
- # The type of amount that will be collected. The amount charged must be exact or up to the value of `amount` param for `fixed` or `maximum` type respectively.
1339
- sig { returns(String) }
1340
- attr_accessor :amount_type
1341
- # Date, in YYYY-MM-DD format, after which payments will not be collected. Defaults to no end date.
1342
- sig { returns(String) }
1343
- attr_accessor :end_date
1344
- # The periodicity at which payments will be collected.
1345
- sig { returns(String) }
1346
- attr_accessor :payment_schedule
1347
- # The number of payments that will be made during a payment period. Defaults to 1 except for when `payment_schedule` is `adhoc`. In that case, it defaults to no limit.
1348
- sig { returns(Integer) }
1349
- attr_accessor :payments_per_period
1350
- # The purpose for which payments are made. Defaults to retail.
1351
- sig { returns(String) }
1352
- attr_accessor :purpose
1353
- # Date, in YYYY-MM-DD format, from which payments will be collected. Defaults to confirmation time.
1354
- sig { returns(String) }
1355
- attr_accessor :start_date
1356
- sig {
1357
- params(amount: Integer, amount_type: String, end_date: String, payment_schedule: String, payments_per_period: Integer, purpose: String, start_date: String).void
1358
- }
1359
- def initialize(
1360
- amount: nil,
1361
- amount_type: nil,
1362
- end_date: nil,
1363
- payment_schedule: nil,
1364
- payments_per_period: nil,
1365
- purpose: nil,
1366
- start_date: nil
1367
- ); end
1368
- end
1369
- # Additional fields for Mandate creation
1370
- sig {
1371
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Payto::MandateOptions)
1372
- }
1373
- attr_accessor :mandate_options
1374
- # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1375
- #
1376
- # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
1377
- #
1378
- # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1379
- #
1380
- # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1381
- sig { returns(String) }
1382
- attr_accessor :setup_future_usage
1383
- sig {
1384
- params(mandate_options: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Payto::MandateOptions, setup_future_usage: String).void
1385
- }
1386
- def initialize(mandate_options: nil, setup_future_usage: nil); end
1387
- end
1388
1383
  class Pix < Stripe::RequestParams
1389
1384
  # The number of seconds (between 10 and 1209600) after which Pix payment will expire. Defaults to 86400 seconds.
1390
- sig { returns(Integer) }
1385
+ sig { returns(T.nilable(Integer)) }
1391
1386
  attr_accessor :expires_after_seconds
1392
- sig { params(expires_after_seconds: Integer).void }
1387
+ sig { params(expires_after_seconds: T.nilable(Integer)).void }
1393
1388
  def initialize(expires_after_seconds: nil); end
1394
1389
  end
1395
1390
  class RevolutPay < Stripe::RequestParams
@@ -1400,29 +1395,29 @@ module Stripe
1400
1395
  # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1401
1396
  #
1402
1397
  # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1403
- sig { returns(String) }
1398
+ sig { returns(T.nilable(String)) }
1404
1399
  attr_accessor :setup_future_usage
1405
- sig { params(setup_future_usage: String).void }
1400
+ sig { params(setup_future_usage: T.nilable(String)).void }
1406
1401
  def initialize(setup_future_usage: nil); end
1407
1402
  end
1408
1403
  class SamsungPay < Stripe::RequestParams
1409
1404
  # Controls when the funds will be captured from the customer's account.
1410
- sig { returns(String) }
1405
+ sig { returns(T.nilable(String)) }
1411
1406
  attr_accessor :capture_method
1412
- sig { params(capture_method: String).void }
1407
+ sig { params(capture_method: T.nilable(String)).void }
1413
1408
  def initialize(capture_method: nil); end
1414
1409
  end
1415
1410
  class SepaDebit < Stripe::RequestParams
1416
1411
  class MandateOptions < Stripe::RequestParams
1417
1412
  # Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must consist of only uppercase letters, numbers, spaces, or the following special characters: '/', '_', '-', '&', '.'. Cannot begin with 'STRIPE'.
1418
- sig { returns(T.nilable(String)) }
1413
+ sig { returns(T.nilable(T.nilable(String))) }
1419
1414
  attr_accessor :reference_prefix
1420
- sig { params(reference_prefix: T.nilable(String)).void }
1415
+ sig { params(reference_prefix: T.nilable(T.nilable(String))).void }
1421
1416
  def initialize(reference_prefix: nil); end
1422
1417
  end
1423
1418
  # Additional fields for Mandate creation
1424
1419
  sig {
1425
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::SepaDebit::MandateOptions)
1420
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::SepaDebit::MandateOptions))
1426
1421
  }
1427
1422
  attr_accessor :mandate_options
1428
1423
  # Indicates that you intend to make future payments with this PaymentIntent's payment method.
@@ -1432,13 +1427,13 @@ module Stripe
1432
1427
  # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1433
1428
  #
1434
1429
  # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1435
- sig { returns(String) }
1430
+ sig { returns(T.nilable(String)) }
1436
1431
  attr_accessor :setup_future_usage
1437
1432
  # Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now.
1438
- sig { returns(String) }
1433
+ sig { returns(T.nilable(String)) }
1439
1434
  attr_accessor :target_date
1440
1435
  sig {
1441
- params(mandate_options: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::SepaDebit::MandateOptions, setup_future_usage: String, target_date: String).void
1436
+ params(mandate_options: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::SepaDebit::MandateOptions), setup_future_usage: T.nilable(String), target_date: T.nilable(String)).void
1442
1437
  }
1443
1438
  def initialize(mandate_options: nil, setup_future_usage: nil, target_date: nil); end
1444
1439
  end
@@ -1450,32 +1445,34 @@ module Stripe
1450
1445
  # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1451
1446
  #
1452
1447
  # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1453
- sig { returns(String) }
1448
+ sig { returns(T.nilable(String)) }
1454
1449
  attr_accessor :setup_future_usage
1455
- sig { params(setup_future_usage: String).void }
1450
+ sig { params(setup_future_usage: T.nilable(String)).void }
1456
1451
  def initialize(setup_future_usage: nil); end
1457
1452
  end
1458
1453
  class Swish < Stripe::RequestParams
1459
1454
  # The order reference that will be displayed to customers in the Swish application. Defaults to the `id` of the Payment Intent.
1460
- sig { returns(String) }
1455
+ sig { returns(T.nilable(String)) }
1461
1456
  attr_accessor :reference
1462
- sig { params(reference: String).void }
1457
+ sig { params(reference: T.nilable(String)).void }
1463
1458
  def initialize(reference: nil); end
1464
1459
  end
1465
1460
  class UsBankAccount < Stripe::RequestParams
1466
1461
  class FinancialConnections < Stripe::RequestParams
1467
1462
  # The list of permissions to request. If this parameter is passed, the `payment_method` permission must be included. Valid permissions include: `balances`, `ownership`, `payment_method`, and `transactions`.
1468
- sig { returns(T::Array[String]) }
1463
+ sig { returns(T.nilable(T::Array[String])) }
1469
1464
  attr_accessor :permissions
1470
1465
  # List of data features that you would like to retrieve upon account creation.
1471
- sig { returns(T::Array[String]) }
1466
+ sig { returns(T.nilable(T::Array[String])) }
1472
1467
  attr_accessor :prefetch
1473
- sig { params(permissions: T::Array[String], prefetch: T::Array[String]).void }
1468
+ sig {
1469
+ params(permissions: T.nilable(T::Array[String]), prefetch: T.nilable(T::Array[String])).void
1470
+ }
1474
1471
  def initialize(permissions: nil, prefetch: nil); end
1475
1472
  end
1476
1473
  # Additional fields for Financial Connections Session creation
1477
1474
  sig {
1478
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::UsBankAccount::FinancialConnections)
1475
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::UsBankAccount::FinancialConnections))
1479
1476
  }
1480
1477
  attr_accessor :financial_connections
1481
1478
  # Indicates that you intend to make future payments with this PaymentIntent's payment method.
@@ -1485,16 +1482,16 @@ module Stripe
1485
1482
  # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1486
1483
  #
1487
1484
  # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1488
- sig { returns(String) }
1485
+ sig { returns(T.nilable(String)) }
1489
1486
  attr_accessor :setup_future_usage
1490
1487
  # Controls when Stripe will attempt to debit the funds from the customer's account. The date must be a string in YYYY-MM-DD format. The date must be in the future and between 3 and 15 calendar days from now.
1491
- sig { returns(String) }
1488
+ sig { returns(T.nilable(String)) }
1492
1489
  attr_accessor :target_date
1493
1490
  # Verification method for the intent
1494
- sig { returns(String) }
1491
+ sig { returns(T.nilable(String)) }
1495
1492
  attr_accessor :verification_method
1496
1493
  sig {
1497
- params(financial_connections: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::UsBankAccount::FinancialConnections, setup_future_usage: String, target_date: String, verification_method: String).void
1494
+ params(financial_connections: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::UsBankAccount::FinancialConnections), setup_future_usage: T.nilable(String), target_date: T.nilable(String), verification_method: T.nilable(String)).void
1498
1495
  }
1499
1496
  def initialize(
1500
1497
  financial_connections: nil,
@@ -1505,7 +1502,7 @@ module Stripe
1505
1502
  end
1506
1503
  class WechatPay < Stripe::RequestParams
1507
1504
  # The app ID registered with WeChat Pay. Only required when client is ios or android.
1508
- sig { returns(String) }
1505
+ sig { returns(T.nilable(String)) }
1509
1506
  attr_accessor :app_id
1510
1507
  # The client type that the end customer will pay from
1511
1508
  sig { returns(String) }
@@ -1517,213 +1514,210 @@ module Stripe
1517
1514
  # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1518
1515
  #
1519
1516
  # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1520
- sig { returns(String) }
1517
+ sig { returns(T.nilable(String)) }
1521
1518
  attr_accessor :setup_future_usage
1522
- sig { params(app_id: String, client: String, setup_future_usage: String).void }
1519
+ sig {
1520
+ params(app_id: T.nilable(String), client: String, setup_future_usage: T.nilable(String)).void
1521
+ }
1523
1522
  def initialize(app_id: nil, client: nil, setup_future_usage: nil); end
1524
1523
  end
1525
1524
  # contains details about the ACSS Debit payment method options.
1526
1525
  sig {
1527
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::AcssDebit)
1526
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::AcssDebit))
1528
1527
  }
1529
1528
  attr_accessor :acss_debit
1530
1529
  # contains details about the Affirm payment method options.
1531
1530
  sig {
1532
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Affirm)
1531
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Affirm))
1533
1532
  }
1534
1533
  attr_accessor :affirm
1535
1534
  # contains details about the Afterpay Clearpay payment method options.
1536
1535
  sig {
1537
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::AfterpayClearpay)
1536
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::AfterpayClearpay))
1538
1537
  }
1539
1538
  attr_accessor :afterpay_clearpay
1540
1539
  # contains details about the Alipay payment method options.
1541
1540
  sig {
1542
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Alipay)
1541
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Alipay))
1543
1542
  }
1544
1543
  attr_accessor :alipay
1545
1544
  # contains details about the AmazonPay payment method options.
1546
1545
  sig {
1547
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::AmazonPay)
1546
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::AmazonPay))
1548
1547
  }
1549
1548
  attr_accessor :amazon_pay
1550
1549
  # contains details about the AU Becs Debit payment method options.
1551
1550
  sig {
1552
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::AuBecsDebit)
1551
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::AuBecsDebit))
1553
1552
  }
1554
1553
  attr_accessor :au_becs_debit
1555
1554
  # contains details about the Bacs Debit payment method options.
1556
1555
  sig {
1557
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::BacsDebit)
1556
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::BacsDebit))
1558
1557
  }
1559
1558
  attr_accessor :bacs_debit
1560
1559
  # contains details about the Bancontact payment method options.
1561
1560
  sig {
1562
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Bancontact)
1561
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Bancontact))
1563
1562
  }
1564
1563
  attr_accessor :bancontact
1565
1564
  # contains details about the Boleto payment method options.
1566
1565
  sig {
1567
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Boleto)
1566
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Boleto))
1568
1567
  }
1569
1568
  attr_accessor :boleto
1570
1569
  # contains details about the Card payment method options.
1571
1570
  sig {
1572
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Card)
1571
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Card))
1573
1572
  }
1574
1573
  attr_accessor :card
1575
1574
  # contains details about the Cashapp Pay payment method options.
1576
1575
  sig {
1577
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Cashapp)
1576
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Cashapp))
1578
1577
  }
1579
1578
  attr_accessor :cashapp
1580
1579
  # contains details about the Customer Balance payment method options.
1581
1580
  sig {
1582
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::CustomerBalance)
1581
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::CustomerBalance))
1583
1582
  }
1584
1583
  attr_accessor :customer_balance
1585
1584
  # contains details about the EPS payment method options.
1586
1585
  sig {
1587
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Eps)
1586
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Eps))
1588
1587
  }
1589
1588
  attr_accessor :eps
1590
1589
  # contains details about the FPX payment method options.
1591
1590
  sig {
1592
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Fpx)
1591
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Fpx))
1593
1592
  }
1594
1593
  attr_accessor :fpx
1595
1594
  # contains details about the Giropay payment method options.
1596
1595
  sig {
1597
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Giropay)
1596
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Giropay))
1598
1597
  }
1599
1598
  attr_accessor :giropay
1600
1599
  # contains details about the Grabpay payment method options.
1601
1600
  sig {
1602
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Grabpay)
1601
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Grabpay))
1603
1602
  }
1604
1603
  attr_accessor :grabpay
1605
1604
  # contains details about the Ideal payment method options.
1606
1605
  sig {
1607
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Ideal)
1606
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Ideal))
1608
1607
  }
1609
1608
  attr_accessor :ideal
1610
1609
  # contains details about the Kakao Pay payment method options.
1611
1610
  sig {
1612
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::KakaoPay)
1611
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::KakaoPay))
1613
1612
  }
1614
1613
  attr_accessor :kakao_pay
1615
1614
  # contains details about the Klarna payment method options.
1616
1615
  sig {
1617
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Klarna)
1616
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Klarna))
1618
1617
  }
1619
1618
  attr_accessor :klarna
1620
1619
  # contains details about the Konbini payment method options.
1621
1620
  sig {
1622
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Konbini)
1621
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Konbini))
1623
1622
  }
1624
1623
  attr_accessor :konbini
1625
1624
  # contains details about the Korean card payment method options.
1626
1625
  sig {
1627
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::KrCard)
1626
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::KrCard))
1628
1627
  }
1629
1628
  attr_accessor :kr_card
1630
1629
  # contains details about the Link payment method options.
1631
1630
  sig {
1632
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Link)
1631
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Link))
1633
1632
  }
1634
1633
  attr_accessor :link
1635
1634
  # contains details about the Mobilepay payment method options.
1636
1635
  sig {
1637
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Mobilepay)
1636
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Mobilepay))
1638
1637
  }
1639
1638
  attr_accessor :mobilepay
1640
1639
  # contains details about the Multibanco payment method options.
1641
1640
  sig {
1642
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Multibanco)
1641
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Multibanco))
1643
1642
  }
1644
1643
  attr_accessor :multibanco
1645
1644
  # contains details about the Naver Pay payment method options.
1646
1645
  sig {
1647
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::NaverPay)
1646
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::NaverPay))
1648
1647
  }
1649
1648
  attr_accessor :naver_pay
1650
1649
  # contains details about the OXXO payment method options.
1651
1650
  sig {
1652
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Oxxo)
1651
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Oxxo))
1653
1652
  }
1654
1653
  attr_accessor :oxxo
1655
1654
  # contains details about the P24 payment method options.
1656
1655
  sig {
1657
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::P24)
1656
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::P24))
1658
1657
  }
1659
1658
  attr_accessor :p24
1660
1659
  # contains details about the Pay By Bank payment method options.
1661
1660
  sig {
1662
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::PayByBank)
1661
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::PayByBank))
1663
1662
  }
1664
1663
  attr_accessor :pay_by_bank
1665
1664
  # contains details about the PAYCO payment method options.
1666
1665
  sig {
1667
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Payco)
1666
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Payco))
1668
1667
  }
1669
1668
  attr_accessor :payco
1670
1669
  # contains details about the PayNow payment method options.
1671
1670
  sig {
1672
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Paynow)
1671
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Paynow))
1673
1672
  }
1674
1673
  attr_accessor :paynow
1675
1674
  # contains details about the PayPal payment method options.
1676
1675
  sig {
1677
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Paypal)
1676
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Paypal))
1678
1677
  }
1679
1678
  attr_accessor :paypal
1680
- # contains details about the PayTo payment method options.
1681
- sig {
1682
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Payto)
1683
- }
1684
- attr_accessor :payto
1685
1679
  # contains details about the Pix payment method options.
1686
1680
  sig {
1687
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Pix)
1681
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Pix))
1688
1682
  }
1689
1683
  attr_accessor :pix
1690
1684
  # contains details about the RevolutPay payment method options.
1691
1685
  sig {
1692
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::RevolutPay)
1686
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::RevolutPay))
1693
1687
  }
1694
1688
  attr_accessor :revolut_pay
1695
1689
  # contains details about the Samsung Pay payment method options.
1696
1690
  sig {
1697
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::SamsungPay)
1691
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::SamsungPay))
1698
1692
  }
1699
1693
  attr_accessor :samsung_pay
1700
1694
  # contains details about the Sepa Debit payment method options.
1701
1695
  sig {
1702
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::SepaDebit)
1696
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::SepaDebit))
1703
1697
  }
1704
1698
  attr_accessor :sepa_debit
1705
1699
  # contains details about the Sofort payment method options.
1706
1700
  sig {
1707
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Sofort)
1701
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Sofort))
1708
1702
  }
1709
1703
  attr_accessor :sofort
1710
1704
  # contains details about the Swish payment method options.
1711
1705
  sig {
1712
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Swish)
1706
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Swish))
1713
1707
  }
1714
1708
  attr_accessor :swish
1715
1709
  # contains details about the Us Bank Account payment method options.
1716
1710
  sig {
1717
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::UsBankAccount)
1711
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::UsBankAccount))
1718
1712
  }
1719
1713
  attr_accessor :us_bank_account
1720
1714
  # contains details about the WeChat Pay payment method options.
1721
1715
  sig {
1722
- returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::WechatPay)
1716
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::WechatPay))
1723
1717
  }
1724
1718
  attr_accessor :wechat_pay
1725
1719
  sig {
1726
- params(acss_debit: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::AcssDebit, affirm: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Affirm, afterpay_clearpay: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::AfterpayClearpay, alipay: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Alipay, amazon_pay: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::AmazonPay, au_becs_debit: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::AuBecsDebit, bacs_debit: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::BacsDebit, bancontact: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Bancontact, boleto: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Boleto, card: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Card, cashapp: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Cashapp, customer_balance: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::CustomerBalance, eps: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Eps, fpx: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Fpx, giropay: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Giropay, grabpay: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Grabpay, ideal: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Ideal, kakao_pay: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::KakaoPay, klarna: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Klarna, konbini: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Konbini, kr_card: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::KrCard, link: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Link, mobilepay: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Mobilepay, multibanco: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Multibanco, naver_pay: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::NaverPay, oxxo: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Oxxo, p24: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::P24, pay_by_bank: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::PayByBank, payco: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Payco, paynow: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Paynow, paypal: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Paypal, payto: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Payto, pix: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Pix, revolut_pay: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::RevolutPay, samsung_pay: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::SamsungPay, sepa_debit: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::SepaDebit, sofort: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Sofort, swish: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Swish, us_bank_account: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::UsBankAccount, wechat_pay: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::WechatPay).void
1720
+ params(acss_debit: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::AcssDebit), affirm: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Affirm), afterpay_clearpay: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::AfterpayClearpay), alipay: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Alipay), amazon_pay: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::AmazonPay), au_becs_debit: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::AuBecsDebit), bacs_debit: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::BacsDebit), bancontact: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Bancontact), boleto: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Boleto), card: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Card), cashapp: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Cashapp), customer_balance: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::CustomerBalance), eps: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Eps), fpx: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Fpx), giropay: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Giropay), grabpay: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Grabpay), ideal: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Ideal), kakao_pay: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::KakaoPay), klarna: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Klarna), konbini: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Konbini), kr_card: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::KrCard), link: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Link), mobilepay: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Mobilepay), multibanco: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Multibanco), naver_pay: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::NaverPay), oxxo: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Oxxo), p24: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::P24), pay_by_bank: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::PayByBank), payco: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Payco), paynow: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Paynow), paypal: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Paypal), pix: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Pix), revolut_pay: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::RevolutPay), samsung_pay: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::SamsungPay), sepa_debit: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::SepaDebit), sofort: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Sofort), swish: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::Swish), us_bank_account: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::UsBankAccount), wechat_pay: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions::WechatPay)).void
1727
1721
  }
1728
1722
  def initialize(
1729
1723
  acss_debit: nil,
@@ -1757,7 +1751,6 @@ module Stripe
1757
1751
  payco: nil,
1758
1752
  paynow: nil,
1759
1753
  paypal: nil,
1760
- payto: nil,
1761
1754
  pix: nil,
1762
1755
  revolut_pay: nil,
1763
1756
  samsung_pay: nil,
@@ -1769,31 +1762,15 @@ module Stripe
1769
1762
  ); end
1770
1763
  end
1771
1764
  class Permissions < Stripe::RequestParams
1772
- class Update < Stripe::RequestParams
1773
- # Determines which entity is allowed to update the line items.
1774
- #
1775
- # Default is `client_only`. Stripe Checkout client will automatically update the line items. If set to `server_only`, only your server is allowed to update the line items.
1776
- #
1777
- # When set to `server_only`, you must add the onLineItemsChange event handler when initializing the Stripe Checkout client and manually update the line items from your server using the Stripe API.
1778
- sig { returns(String) }
1779
- attr_accessor :line_items
1780
- # Determines which entity is allowed to update the shipping details.
1781
- #
1782
- # Default is `client_only`. Stripe Checkout client will automatically update the shipping details. If set to `server_only`, only your server is allowed to update the shipping details.
1783
- #
1784
- # When set to `server_only`, you must add the onShippingDetailsChange event handler when initializing the Stripe Checkout client and manually update the shipping details from your server using the Stripe API.
1785
- sig { returns(String) }
1786
- attr_accessor :shipping_details
1787
- sig { params(line_items: String, shipping_details: String).void }
1788
- def initialize(line_items: nil, shipping_details: nil); end
1789
- end
1790
- # Permissions for updating the Checkout Session.
1791
- sig { returns(::Stripe::Checkout::SessionService::CreateParams::Permissions::Update) }
1792
- attr_accessor :update
1793
- sig {
1794
- params(update: ::Stripe::Checkout::SessionService::CreateParams::Permissions::Update).void
1795
- }
1796
- def initialize(update: nil); end
1765
+ # Determines which entity is allowed to update the shipping details.
1766
+ #
1767
+ # Default is `client_only`. Stripe Checkout client will automatically update the shipping details. If set to `server_only`, only your server is allowed to update the shipping details.
1768
+ #
1769
+ # When set to `server_only`, you must add the onShippingDetailsChange event handler when initializing the Stripe Checkout client and manually update the shipping details from your server using the Stripe API.
1770
+ sig { returns(T.nilable(String)) }
1771
+ attr_accessor :update_shipping_details
1772
+ sig { params(update_shipping_details: T.nilable(String)).void }
1773
+ def initialize(update_shipping_details: nil); end
1797
1774
  end
1798
1775
  class PhoneNumberCollection < Stripe::RequestParams
1799
1776
  # Set to `true` to enable phone number collection.
@@ -1806,28 +1783,28 @@ module Stripe
1806
1783
  end
1807
1784
  class SavedPaymentMethodOptions < Stripe::RequestParams
1808
1785
  # Uses the `allow_redisplay` value of each saved payment method to filter the set presented to a returning customer. By default, only saved payment methods with ’allow_redisplay: ‘always’ are shown in Checkout.
1809
- sig { returns(T::Array[String]) }
1786
+ sig { returns(T.nilable(T::Array[String])) }
1810
1787
  attr_accessor :allow_redisplay_filters
1811
1788
  # Enable customers to choose if they wish to save their payment method for future use. Disabled by default.
1812
- sig { returns(String) }
1789
+ sig { returns(T.nilable(String)) }
1813
1790
  attr_accessor :payment_method_save
1814
1791
  sig {
1815
- params(allow_redisplay_filters: T::Array[String], payment_method_save: String).void
1792
+ params(allow_redisplay_filters: T.nilable(T::Array[String]), payment_method_save: T.nilable(String)).void
1816
1793
  }
1817
1794
  def initialize(allow_redisplay_filters: nil, payment_method_save: nil); end
1818
1795
  end
1819
1796
  class SetupIntentData < Stripe::RequestParams
1820
1797
  # An arbitrary string attached to the object. Often useful for displaying to users.
1821
- sig { returns(String) }
1798
+ sig { returns(T.nilable(String)) }
1822
1799
  attr_accessor :description
1823
1800
  # Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
1824
- sig { returns(T::Hash[String, String]) }
1801
+ sig { returns(T.nilable(T::Hash[String, String])) }
1825
1802
  attr_accessor :metadata
1826
1803
  # The Stripe account for which the setup is intended.
1827
- sig { returns(String) }
1804
+ sig { returns(T.nilable(String)) }
1828
1805
  attr_accessor :on_behalf_of
1829
1806
  sig {
1830
- params(description: String, metadata: T::Hash[String, String], on_behalf_of: String).void
1807
+ params(description: T.nilable(String), metadata: T.nilable(T::Hash[String, String]), on_behalf_of: T.nilable(String)).void
1831
1808
  }
1832
1809
  def initialize(description: nil, metadata: nil, on_behalf_of: nil); end
1833
1810
  end
@@ -1864,16 +1841,16 @@ module Stripe
1864
1841
  end
1865
1842
  # The upper bound of the estimated range. If empty, represents no upper bound i.e., infinite.
1866
1843
  sig {
1867
- returns(::Stripe::Checkout::SessionService::CreateParams::ShippingOption::ShippingRateData::DeliveryEstimate::Maximum)
1844
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::ShippingOption::ShippingRateData::DeliveryEstimate::Maximum))
1868
1845
  }
1869
1846
  attr_accessor :maximum
1870
1847
  # The lower bound of the estimated range. If empty, represents no lower bound.
1871
1848
  sig {
1872
- returns(::Stripe::Checkout::SessionService::CreateParams::ShippingOption::ShippingRateData::DeliveryEstimate::Minimum)
1849
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::ShippingOption::ShippingRateData::DeliveryEstimate::Minimum))
1873
1850
  }
1874
1851
  attr_accessor :minimum
1875
1852
  sig {
1876
- params(maximum: ::Stripe::Checkout::SessionService::CreateParams::ShippingOption::ShippingRateData::DeliveryEstimate::Maximum, minimum: ::Stripe::Checkout::SessionService::CreateParams::ShippingOption::ShippingRateData::DeliveryEstimate::Minimum).void
1853
+ params(maximum: T.nilable(::Stripe::Checkout::SessionService::CreateParams::ShippingOption::ShippingRateData::DeliveryEstimate::Maximum), minimum: T.nilable(::Stripe::Checkout::SessionService::CreateParams::ShippingOption::ShippingRateData::DeliveryEstimate::Minimum)).void
1877
1854
  }
1878
1855
  def initialize(maximum: nil, minimum: nil); end
1879
1856
  end
@@ -1883,9 +1860,9 @@ module Stripe
1883
1860
  sig { returns(Integer) }
1884
1861
  attr_accessor :amount
1885
1862
  # Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`.
1886
- sig { returns(String) }
1863
+ sig { returns(T.nilable(String)) }
1887
1864
  attr_accessor :tax_behavior
1888
- sig { params(amount: Integer, tax_behavior: String).void }
1865
+ sig { params(amount: Integer, tax_behavior: T.nilable(String)).void }
1889
1866
  def initialize(amount: nil, tax_behavior: nil); end
1890
1867
  end
1891
1868
  # A non-negative integer in cents representing how much to charge.
@@ -1896,17 +1873,17 @@ module Stripe
1896
1873
  attr_accessor :currency
1897
1874
  # Shipping rates defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies).
1898
1875
  sig {
1899
- returns(T::Hash[String, ::Stripe::Checkout::SessionService::CreateParams::ShippingOption::ShippingRateData::FixedAmount::CurrencyOptions])
1876
+ returns(T.nilable(T::Hash[String, ::Stripe::Checkout::SessionService::CreateParams::ShippingOption::ShippingRateData::FixedAmount::CurrencyOptions]))
1900
1877
  }
1901
1878
  attr_accessor :currency_options
1902
1879
  sig {
1903
- params(amount: Integer, currency: String, currency_options: T::Hash[String, ::Stripe::Checkout::SessionService::CreateParams::ShippingOption::ShippingRateData::FixedAmount::CurrencyOptions]).void
1880
+ params(amount: Integer, currency: String, currency_options: T.nilable(T::Hash[String, ::Stripe::Checkout::SessionService::CreateParams::ShippingOption::ShippingRateData::FixedAmount::CurrencyOptions])).void
1904
1881
  }
1905
1882
  def initialize(amount: nil, currency: nil, currency_options: nil); end
1906
1883
  end
1907
1884
  # The estimated range for how long shipping will take, meant to be displayable to the customer. This will appear on CheckoutSessions.
1908
1885
  sig {
1909
- returns(::Stripe::Checkout::SessionService::CreateParams::ShippingOption::ShippingRateData::DeliveryEstimate)
1886
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::ShippingOption::ShippingRateData::DeliveryEstimate))
1910
1887
  }
1911
1888
  attr_accessor :delivery_estimate
1912
1889
  # The name of the shipping rate, meant to be displayable to the customer. This will appear on CheckoutSessions.
@@ -1914,23 +1891,23 @@ module Stripe
1914
1891
  attr_accessor :display_name
1915
1892
  # Describes a fixed amount to charge for shipping. Must be present if type is `fixed_amount`.
1916
1893
  sig {
1917
- returns(::Stripe::Checkout::SessionService::CreateParams::ShippingOption::ShippingRateData::FixedAmount)
1894
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::ShippingOption::ShippingRateData::FixedAmount))
1918
1895
  }
1919
1896
  attr_accessor :fixed_amount
1920
1897
  # Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
1921
- sig { returns(T::Hash[String, String]) }
1898
+ sig { returns(T.nilable(T::Hash[String, String])) }
1922
1899
  attr_accessor :metadata
1923
1900
  # Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`.
1924
- sig { returns(String) }
1901
+ sig { returns(T.nilable(String)) }
1925
1902
  attr_accessor :tax_behavior
1926
1903
  # A [tax code](https://stripe.com/docs/tax/tax-categories) ID. The Shipping tax code is `txcd_92010001`.
1927
- sig { returns(String) }
1904
+ sig { returns(T.nilable(String)) }
1928
1905
  attr_accessor :tax_code
1929
1906
  # The type of calculation to use on the shipping rate.
1930
- sig { returns(String) }
1907
+ sig { returns(T.nilable(String)) }
1931
1908
  attr_accessor :type
1932
1909
  sig {
1933
- params(delivery_estimate: ::Stripe::Checkout::SessionService::CreateParams::ShippingOption::ShippingRateData::DeliveryEstimate, display_name: String, fixed_amount: ::Stripe::Checkout::SessionService::CreateParams::ShippingOption::ShippingRateData::FixedAmount, metadata: T::Hash[String, String], tax_behavior: String, tax_code: String, type: String).void
1910
+ params(delivery_estimate: T.nilable(::Stripe::Checkout::SessionService::CreateParams::ShippingOption::ShippingRateData::DeliveryEstimate), display_name: String, fixed_amount: T.nilable(::Stripe::Checkout::SessionService::CreateParams::ShippingOption::ShippingRateData::FixedAmount), metadata: T.nilable(T::Hash[String, String]), tax_behavior: T.nilable(String), tax_code: T.nilable(String), type: T.nilable(String)).void
1934
1911
  }
1935
1912
  def initialize(
1936
1913
  delivery_estimate: nil,
@@ -1943,15 +1920,15 @@ module Stripe
1943
1920
  ); end
1944
1921
  end
1945
1922
  # The ID of the Shipping Rate to use for this shipping option.
1946
- sig { returns(String) }
1923
+ sig { returns(T.nilable(String)) }
1947
1924
  attr_accessor :shipping_rate
1948
1925
  # Parameters to be passed to Shipping Rate creation for this shipping option.
1949
1926
  sig {
1950
- returns(::Stripe::Checkout::SessionService::CreateParams::ShippingOption::ShippingRateData)
1927
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::ShippingOption::ShippingRateData))
1951
1928
  }
1952
1929
  attr_accessor :shipping_rate_data
1953
1930
  sig {
1954
- params(shipping_rate: String, shipping_rate_data: ::Stripe::Checkout::SessionService::CreateParams::ShippingOption::ShippingRateData).void
1931
+ params(shipping_rate: T.nilable(String), shipping_rate_data: T.nilable(::Stripe::Checkout::SessionService::CreateParams::ShippingOption::ShippingRateData)).void
1955
1932
  }
1956
1933
  def initialize(shipping_rate: nil, shipping_rate_data: nil); end
1957
1934
  end
@@ -1959,32 +1936,32 @@ module Stripe
1959
1936
  class InvoiceSettings < Stripe::RequestParams
1960
1937
  class Issuer < Stripe::RequestParams
1961
1938
  # The connected account being referenced when `type` is `account`.
1962
- sig { returns(String) }
1939
+ sig { returns(T.nilable(String)) }
1963
1940
  attr_accessor :account
1964
1941
  # Type of the account referenced in the request.
1965
1942
  sig { returns(String) }
1966
1943
  attr_accessor :type
1967
- sig { params(account: String, type: String).void }
1944
+ sig { params(account: T.nilable(String), type: String).void }
1968
1945
  def initialize(account: nil, type: nil); end
1969
1946
  end
1970
1947
  # The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account.
1971
1948
  sig {
1972
- returns(::Stripe::Checkout::SessionService::CreateParams::SubscriptionData::InvoiceSettings::Issuer)
1949
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::SubscriptionData::InvoiceSettings::Issuer))
1973
1950
  }
1974
1951
  attr_accessor :issuer
1975
1952
  sig {
1976
- params(issuer: ::Stripe::Checkout::SessionService::CreateParams::SubscriptionData::InvoiceSettings::Issuer).void
1953
+ params(issuer: T.nilable(::Stripe::Checkout::SessionService::CreateParams::SubscriptionData::InvoiceSettings::Issuer)).void
1977
1954
  }
1978
1955
  def initialize(issuer: nil); end
1979
1956
  end
1980
1957
  class TransferData < Stripe::RequestParams
1981
1958
  # A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the destination account. By default, the entire amount is transferred to the destination.
1982
- sig { returns(Float) }
1959
+ sig { returns(T.nilable(Float)) }
1983
1960
  attr_accessor :amount_percent
1984
1961
  # ID of an existing, connected Stripe account.
1985
1962
  sig { returns(String) }
1986
1963
  attr_accessor :destination
1987
- sig { params(amount_percent: Float, destination: String).void }
1964
+ sig { params(amount_percent: T.nilable(Float), destination: String).void }
1988
1965
  def initialize(amount_percent: nil, destination: nil); end
1989
1966
  end
1990
1967
  class TrialSettings < Stripe::RequestParams
@@ -2006,56 +1983,56 @@ module Stripe
2006
1983
  def initialize(end_behavior: nil); end
2007
1984
  end
2008
1985
  # A non-negative decimal between 0 and 100, with at most two decimal places. This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account. To use an application fee percent, the request must be made on behalf of another account, using the `Stripe-Account` header or an OAuth key. For more information, see the application fees [documentation](https://stripe.com/docs/connect/subscriptions#collecting-fees-on-subscriptions).
2009
- sig { returns(Float) }
1986
+ sig { returns(T.nilable(Float)) }
2010
1987
  attr_accessor :application_fee_percent
2011
1988
  # A future timestamp to anchor the subscription's billing cycle for new subscriptions.
2012
- sig { returns(Integer) }
1989
+ sig { returns(T.nilable(Integer)) }
2013
1990
  attr_accessor :billing_cycle_anchor
2014
1991
  # The tax rates that will apply to any subscription item that does not have
2015
1992
  # `tax_rates` set. Invoices created will have their `default_tax_rates` populated
2016
1993
  # from the subscription.
2017
- sig { returns(T::Array[String]) }
1994
+ sig { returns(T.nilable(T::Array[String])) }
2018
1995
  attr_accessor :default_tax_rates
2019
1996
  # The subscription's description, meant to be displayable to the customer.
2020
1997
  # Use this field to optionally store an explanation of the subscription
2021
1998
  # for rendering in the [customer portal](https://stripe.com/docs/customer-management).
2022
- sig { returns(String) }
1999
+ sig { returns(T.nilable(String)) }
2023
2000
  attr_accessor :description
2024
2001
  # All invoices will be billed using the specified settings.
2025
2002
  sig {
2026
- returns(::Stripe::Checkout::SessionService::CreateParams::SubscriptionData::InvoiceSettings)
2003
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::SubscriptionData::InvoiceSettings))
2027
2004
  }
2028
2005
  attr_accessor :invoice_settings
2029
2006
  # Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
2030
- sig { returns(T::Hash[String, String]) }
2007
+ sig { returns(T.nilable(T::Hash[String, String])) }
2031
2008
  attr_accessor :metadata
2032
2009
  # The account on behalf of which to charge, for each of the subscription's invoices.
2033
- sig { returns(String) }
2010
+ sig { returns(T.nilable(String)) }
2034
2011
  attr_accessor :on_behalf_of
2035
2012
  # Determines how to handle prorations resulting from the `billing_cycle_anchor`. If no value is passed, the default is `create_prorations`.
2036
- sig { returns(String) }
2013
+ sig { returns(T.nilable(String)) }
2037
2014
  attr_accessor :proration_behavior
2038
2015
  # If specified, the funds from the subscription's invoices will be transferred to the destination and the ID of the resulting transfers will be found on the resulting charges.
2039
2016
  sig {
2040
- returns(::Stripe::Checkout::SessionService::CreateParams::SubscriptionData::TransferData)
2017
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::SubscriptionData::TransferData))
2041
2018
  }
2042
2019
  attr_accessor :transfer_data
2043
2020
  # Unix timestamp representing the end of the trial period the customer
2044
2021
  # will get before being charged for the first time. Has to be at least
2045
2022
  # 48 hours in the future.
2046
- sig { returns(Integer) }
2023
+ sig { returns(T.nilable(Integer)) }
2047
2024
  attr_accessor :trial_end
2048
2025
  # Integer representing the number of trial period days before the
2049
2026
  # customer is charged for the first time. Has to be at least 1.
2050
- sig { returns(Integer) }
2027
+ sig { returns(T.nilable(Integer)) }
2051
2028
  attr_accessor :trial_period_days
2052
2029
  # Settings related to subscription trials.
2053
2030
  sig {
2054
- returns(::Stripe::Checkout::SessionService::CreateParams::SubscriptionData::TrialSettings)
2031
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::SubscriptionData::TrialSettings))
2055
2032
  }
2056
2033
  attr_accessor :trial_settings
2057
2034
  sig {
2058
- params(application_fee_percent: Float, billing_cycle_anchor: Integer, default_tax_rates: T::Array[String], description: String, invoice_settings: ::Stripe::Checkout::SessionService::CreateParams::SubscriptionData::InvoiceSettings, metadata: T::Hash[String, String], on_behalf_of: String, proration_behavior: String, transfer_data: ::Stripe::Checkout::SessionService::CreateParams::SubscriptionData::TransferData, trial_end: Integer, trial_period_days: Integer, trial_settings: ::Stripe::Checkout::SessionService::CreateParams::SubscriptionData::TrialSettings).void
2035
+ params(application_fee_percent: T.nilable(Float), billing_cycle_anchor: T.nilable(Integer), default_tax_rates: T.nilable(T::Array[String]), description: T.nilable(String), invoice_settings: T.nilable(::Stripe::Checkout::SessionService::CreateParams::SubscriptionData::InvoiceSettings), metadata: T.nilable(T::Hash[String, String]), on_behalf_of: T.nilable(String), proration_behavior: T.nilable(String), transfer_data: T.nilable(::Stripe::Checkout::SessionService::CreateParams::SubscriptionData::TransferData), trial_end: T.nilable(Integer), trial_period_days: T.nilable(Integer), trial_settings: T.nilable(::Stripe::Checkout::SessionService::CreateParams::SubscriptionData::TrialSettings)).void
2059
2036
  }
2060
2037
  def initialize(
2061
2038
  application_fee_percent: nil,
@@ -2077,45 +2054,53 @@ module Stripe
2077
2054
  sig { returns(T::Boolean) }
2078
2055
  attr_accessor :enabled
2079
2056
  # Describes whether a tax ID is required during checkout. Defaults to `never`.
2080
- sig { returns(String) }
2057
+ sig { returns(T.nilable(String)) }
2081
2058
  attr_accessor :required
2082
- sig { params(enabled: T::Boolean, required: String).void }
2059
+ sig { params(enabled: T::Boolean, required: T.nilable(String)).void }
2083
2060
  def initialize(enabled: nil, required: nil); end
2084
2061
  end
2085
2062
  # Settings for price localization with [Adaptive Pricing](https://docs.stripe.com/payments/checkout/adaptive-pricing).
2086
- sig { returns(::Stripe::Checkout::SessionService::CreateParams::AdaptivePricing) }
2063
+ sig {
2064
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::AdaptivePricing))
2065
+ }
2087
2066
  attr_accessor :adaptive_pricing
2088
2067
  # Configure actions after a Checkout Session has expired.
2089
- sig { returns(::Stripe::Checkout::SessionService::CreateParams::AfterExpiration) }
2068
+ sig {
2069
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::AfterExpiration))
2070
+ }
2090
2071
  attr_accessor :after_expiration
2091
2072
  # Enables user redeemable promotion codes.
2092
- sig { returns(T::Boolean) }
2073
+ sig { returns(T.nilable(T::Boolean)) }
2093
2074
  attr_accessor :allow_promotion_codes
2094
2075
  # Settings for automatic tax lookup for this session and resulting payments, invoices, and subscriptions.
2095
- sig { returns(::Stripe::Checkout::SessionService::CreateParams::AutomaticTax) }
2076
+ sig { returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::AutomaticTax)) }
2096
2077
  attr_accessor :automatic_tax
2097
2078
  # Specify whether Checkout should collect the customer's billing address. Defaults to `auto`.
2098
- sig { returns(String) }
2079
+ sig { returns(T.nilable(String)) }
2099
2080
  attr_accessor :billing_address_collection
2100
2081
  # If set, Checkout displays a back button and customers will be directed to this URL if they decide to cancel payment and return to your website. This parameter is not allowed if ui_mode is `embedded` or `custom`.
2101
- sig { returns(String) }
2082
+ sig { returns(T.nilable(String)) }
2102
2083
  attr_accessor :cancel_url
2103
2084
  # A unique string to reference the Checkout Session. This can be a
2104
2085
  # customer ID, a cart ID, or similar, and can be used to reconcile the
2105
2086
  # session with your internal systems.
2106
- sig { returns(String) }
2087
+ sig { returns(T.nilable(String)) }
2107
2088
  attr_accessor :client_reference_id
2108
2089
  # Configure fields for the Checkout Session to gather active consent from customers.
2109
- sig { returns(::Stripe::Checkout::SessionService::CreateParams::ConsentCollection) }
2090
+ sig {
2091
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::ConsentCollection))
2092
+ }
2110
2093
  attr_accessor :consent_collection
2111
2094
  # Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). Required in `setup` mode when `payment_method_types` is not set.
2112
- sig { returns(String) }
2095
+ sig { returns(T.nilable(String)) }
2113
2096
  attr_accessor :currency
2114
2097
  # Collect additional information from your customer using custom fields. Up to 3 fields are supported.
2115
- sig { returns(T::Array[::Stripe::Checkout::SessionService::CreateParams::CustomField]) }
2098
+ sig {
2099
+ returns(T.nilable(T::Array[::Stripe::Checkout::SessionService::CreateParams::CustomField]))
2100
+ }
2116
2101
  attr_accessor :custom_fields
2117
2102
  # Display additional text for your customers using custom text.
2118
- sig { returns(::Stripe::Checkout::SessionService::CreateParams::CustomText) }
2103
+ sig { returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::CustomText)) }
2119
2104
  attr_accessor :custom_text
2120
2105
  # ID of an existing Customer, if one exists. In `payment` mode, the customer’s most recently saved card
2121
2106
  # payment method will be used to prefill the email, name, card details, and billing address
@@ -2128,7 +2113,7 @@ module Stripe
2128
2113
  # If blank for Checkout Sessions in `subscription` mode or with `customer_creation` set as `always` in `payment` mode, Checkout will create a new Customer object based on information provided during the payment flow.
2129
2114
  #
2130
2115
  # You can set [`payment_intent_data.setup_future_usage`](https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-payment_intent_data-setup_future_usage) to have Checkout automatically attach the payment method to the Customer you pass in for future reuse.
2131
- sig { returns(String) }
2116
+ sig { returns(T.nilable(String)) }
2132
2117
  attr_accessor :customer
2133
2118
  # Configure whether a Checkout Session creates a [Customer](https://stripe.com/docs/api/customers) during Session confirmation.
2134
2119
  #
@@ -2139,48 +2124,67 @@ module Stripe
2139
2124
  # in the Dashboard. Promotion codes limited to first time customers will return invalid for these Sessions.
2140
2125
  #
2141
2126
  # Can only be set in `payment` and `setup` mode.
2142
- sig { returns(String) }
2127
+ sig { returns(T.nilable(String)) }
2143
2128
  attr_accessor :customer_creation
2144
2129
  # If provided, this value will be used when the Customer object is created.
2145
2130
  # If not provided, customers will be asked to enter their email address.
2146
2131
  # Use this parameter to prefill customer data if you already have an email
2147
2132
  # on file. To access information about the customer once a session is
2148
2133
  # complete, use the `customer` field.
2149
- sig { returns(String) }
2134
+ sig { returns(T.nilable(String)) }
2150
2135
  attr_accessor :customer_email
2151
2136
  # Controls what fields on Customer can be updated by the Checkout Session. Can only be provided when `customer` is provided.
2152
- sig { returns(::Stripe::Checkout::SessionService::CreateParams::CustomerUpdate) }
2137
+ sig { returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::CustomerUpdate)) }
2153
2138
  attr_accessor :customer_update
2154
2139
  # The coupon or promotion code to apply to this Session. Currently, only up to one may be specified.
2155
- sig { returns(T::Array[::Stripe::Checkout::SessionService::CreateParams::Discount]) }
2140
+ sig {
2141
+ returns(T.nilable(T::Array[::Stripe::Checkout::SessionService::CreateParams::Discount]))
2142
+ }
2156
2143
  attr_accessor :discounts
2157
2144
  # Specifies which fields in the response should be expanded.
2158
- sig { returns(T::Array[String]) }
2145
+ sig { returns(T.nilable(T::Array[String])) }
2159
2146
  attr_accessor :expand
2160
2147
  # The Epoch time in seconds at which the Checkout Session will expire. It can be anywhere from 30 minutes to 24 hours after Checkout Session creation. By default, this value is 24 hours from creation.
2161
- sig { returns(Integer) }
2148
+ sig { returns(T.nilable(Integer)) }
2162
2149
  attr_accessor :expires_at
2163
2150
  # Generate a post-purchase Invoice for one-time payments.
2164
- sig { returns(::Stripe::Checkout::SessionService::CreateParams::InvoiceCreation) }
2151
+ sig {
2152
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::InvoiceCreation))
2153
+ }
2165
2154
  attr_accessor :invoice_creation
2166
2155
  # A list of items the customer is purchasing. Use this parameter to pass one-time or recurring [Prices](https://stripe.com/docs/api/prices).
2167
2156
  #
2168
2157
  # For `payment` mode, there is a maximum of 100 line items, however it is recommended to consolidate line items if there are more than a few dozen.
2169
2158
  #
2170
2159
  # For `subscription` mode, there is a maximum of 20 line items with recurring Prices and 20 line items with one-time Prices. Line items with one-time Prices will be on the initial invoice only.
2171
- sig { returns(T::Array[::Stripe::Checkout::SessionService::CreateParams::LineItem]) }
2160
+ sig {
2161
+ returns(T.nilable(T::Array[::Stripe::Checkout::SessionService::CreateParams::LineItem]))
2162
+ }
2172
2163
  attr_accessor :line_items
2173
2164
  # The IETF language tag of the locale Checkout is displayed in. If blank or `auto`, the browser's locale is used.
2174
- sig { returns(String) }
2165
+ sig { returns(T.nilable(String)) }
2175
2166
  attr_accessor :locale
2176
2167
  # Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
2177
- sig { returns(T::Hash[String, String]) }
2168
+ sig { returns(T.nilable(T::Hash[String, String])) }
2178
2169
  attr_accessor :metadata
2179
2170
  # The mode of the Checkout Session. Pass `subscription` if the Checkout Session includes at least one recurring item.
2180
- sig { returns(String) }
2171
+ sig { returns(T.nilable(String)) }
2181
2172
  attr_accessor :mode
2173
+ # A list of optional items the customer can add to their order at checkout. Use this parameter to pass one-time or recurring [Prices](https://stripe.com/docs/api/prices).
2174
+ #
2175
+ # There is a maximum of 10 optional items allowed on a Checkout Session, and the existing limits on the number of line items allowed on a Checkout Session apply to the combined number of line items and optional items.
2176
+ #
2177
+ # For `payment` mode, there is a maximum of 100 combined line items and optional items, however it is recommended to consolidate items if there are more than a few dozen.
2178
+ #
2179
+ # For `subscription` mode, there is a maximum of 20 line items and optional items with recurring Prices and 20 line items and optional items with one-time Prices.
2180
+ sig {
2181
+ returns(T.nilable(T::Array[::Stripe::Checkout::SessionService::CreateParams::OptionalItem]))
2182
+ }
2183
+ attr_accessor :optional_items
2182
2184
  # A subset of parameters to be passed to PaymentIntent creation for Checkout Sessions in `payment` mode.
2183
- sig { returns(::Stripe::Checkout::SessionService::CreateParams::PaymentIntentData) }
2185
+ sig {
2186
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentIntentData))
2187
+ }
2184
2188
  attr_accessor :payment_intent_data
2185
2189
  # Specify whether Checkout should collect a payment method. When set to `if_required`, Checkout will not collect a payment method when the total due for the session is 0.
2186
2190
  # This may occur if the Checkout Session includes a free trial or a discount.
@@ -2188,16 +2192,20 @@ module Stripe
2188
2192
  # Can only be set in `subscription` mode. Defaults to `always`.
2189
2193
  #
2190
2194
  # If you'd like information on how to collect a payment method outside of Checkout, read the guide on configuring [subscriptions with a free trial](https://stripe.com/docs/payments/checkout/free-trials).
2191
- sig { returns(String) }
2195
+ sig { returns(T.nilable(String)) }
2192
2196
  attr_accessor :payment_method_collection
2193
2197
  # The ID of the payment method configuration to use with this Checkout session.
2194
- sig { returns(String) }
2198
+ sig { returns(T.nilable(String)) }
2195
2199
  attr_accessor :payment_method_configuration
2196
2200
  # This parameter allows you to set some attributes on the payment method created during a Checkout session.
2197
- sig { returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodData) }
2201
+ sig {
2202
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodData))
2203
+ }
2198
2204
  attr_accessor :payment_method_data
2199
2205
  # Payment-method-specific configuration.
2200
- sig { returns(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions) }
2206
+ sig {
2207
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions))
2208
+ }
2201
2209
  attr_accessor :payment_method_options
2202
2210
  # A list of the types of payment methods (e.g., `card`) this Checkout Session can accept.
2203
2211
  #
@@ -2210,62 +2218,77 @@ module Stripe
2210
2218
  # If multiple payment methods are passed, Checkout will dynamically reorder them to
2211
2219
  # prioritize the most relevant payment methods based on the customer's location and
2212
2220
  # other characteristics.
2213
- sig { returns(T::Array[String]) }
2221
+ sig { returns(T.nilable(T::Array[String])) }
2214
2222
  attr_accessor :payment_method_types
2215
2223
  # This property is used to set up permissions for various actions (e.g., update) on the CheckoutSession object.
2216
2224
  #
2217
2225
  # For specific permissions, please refer to their dedicated subsections, such as `permissions.update.shipping_details`.
2218
- sig { returns(::Stripe::Checkout::SessionService::CreateParams::Permissions) }
2226
+ sig { returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::Permissions)) }
2219
2227
  attr_accessor :permissions
2220
2228
  # Controls phone number collection settings for the session.
2221
2229
  #
2222
2230
  # We recommend that you review your privacy policy and check with your legal contacts
2223
2231
  # before using this feature. Learn more about [collecting phone numbers with Checkout](https://stripe.com/docs/payments/checkout/phone-numbers).
2224
- sig { returns(::Stripe::Checkout::SessionService::CreateParams::PhoneNumberCollection) }
2232
+ sig {
2233
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::PhoneNumberCollection))
2234
+ }
2225
2235
  attr_accessor :phone_number_collection
2226
2236
  # This parameter applies to `ui_mode: embedded`. Learn more about the [redirect behavior](https://stripe.com/docs/payments/checkout/custom-success-page?payment-ui=embedded-form) of embedded sessions. Defaults to `always`.
2227
- sig { returns(String) }
2237
+ sig { returns(T.nilable(String)) }
2228
2238
  attr_accessor :redirect_on_completion
2229
2239
  # The URL to redirect your customer back to after they authenticate or cancel their payment on the
2230
2240
  # payment method's app or site. This parameter is required if `ui_mode` is `embedded` or `custom`
2231
2241
  # and redirect-based payment methods are enabled on the session.
2232
- sig { returns(String) }
2242
+ sig { returns(T.nilable(String)) }
2233
2243
  attr_accessor :return_url
2234
2244
  # Controls saved payment method settings for the session. Only available in `payment` and `subscription` mode.
2235
- sig { returns(::Stripe::Checkout::SessionService::CreateParams::SavedPaymentMethodOptions) }
2245
+ sig {
2246
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::SavedPaymentMethodOptions))
2247
+ }
2236
2248
  attr_accessor :saved_payment_method_options
2237
2249
  # A subset of parameters to be passed to SetupIntent creation for Checkout Sessions in `setup` mode.
2238
- sig { returns(::Stripe::Checkout::SessionService::CreateParams::SetupIntentData) }
2250
+ sig {
2251
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::SetupIntentData))
2252
+ }
2239
2253
  attr_accessor :setup_intent_data
2240
2254
  # When set, provides configuration for Checkout to collect a shipping address from a customer.
2241
- sig { returns(::Stripe::Checkout::SessionService::CreateParams::ShippingAddressCollection) }
2255
+ sig {
2256
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::ShippingAddressCollection))
2257
+ }
2242
2258
  attr_accessor :shipping_address_collection
2243
2259
  # The shipping rate options to apply to this Session. Up to a maximum of 5.
2244
- sig { returns(T::Array[::Stripe::Checkout::SessionService::CreateParams::ShippingOption]) }
2260
+ sig {
2261
+ returns(T.nilable(T::Array[::Stripe::Checkout::SessionService::CreateParams::ShippingOption]))
2262
+ }
2245
2263
  attr_accessor :shipping_options
2246
- # Describes the type of transaction being performed by Checkout in order to customize
2247
- # relevant text on the page, such as the submit button. `submit_type` can only be
2248
- # specified on Checkout Sessions in `payment` mode. If blank or `auto`, `pay` is used.
2249
- sig { returns(String) }
2264
+ # Describes the type of transaction being performed by Checkout in order
2265
+ # to customize relevant text on the page, such as the submit button.
2266
+ # `submit_type` can only be specified on Checkout Sessions in
2267
+ # `payment` or `subscription` mode. If blank or `auto`, `pay` is used.
2268
+ sig { returns(T.nilable(String)) }
2250
2269
  attr_accessor :submit_type
2251
2270
  # A subset of parameters to be passed to subscription creation for Checkout Sessions in `subscription` mode.
2252
- sig { returns(::Stripe::Checkout::SessionService::CreateParams::SubscriptionData) }
2271
+ sig {
2272
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::SubscriptionData))
2273
+ }
2253
2274
  attr_accessor :subscription_data
2254
2275
  # The URL to which Stripe should send customers when payment or setup
2255
2276
  # is complete.
2256
2277
  # This parameter is not allowed if ui_mode is `embedded` or `custom`. If you'd like to use
2257
2278
  # information from the successful Checkout Session on your page, read the
2258
2279
  # guide on [customizing your success page](https://stripe.com/docs/payments/checkout/custom-success-page).
2259
- sig { returns(String) }
2280
+ sig { returns(T.nilable(String)) }
2260
2281
  attr_accessor :success_url
2261
2282
  # Controls tax ID collection during checkout.
2262
- sig { returns(::Stripe::Checkout::SessionService::CreateParams::TaxIdCollection) }
2283
+ sig {
2284
+ returns(T.nilable(::Stripe::Checkout::SessionService::CreateParams::TaxIdCollection))
2285
+ }
2263
2286
  attr_accessor :tax_id_collection
2264
2287
  # The UI mode of the Session. Defaults to `hosted`.
2265
- sig { returns(String) }
2288
+ sig { returns(T.nilable(String)) }
2266
2289
  attr_accessor :ui_mode
2267
2290
  sig {
2268
- params(adaptive_pricing: ::Stripe::Checkout::SessionService::CreateParams::AdaptivePricing, after_expiration: ::Stripe::Checkout::SessionService::CreateParams::AfterExpiration, allow_promotion_codes: T::Boolean, automatic_tax: ::Stripe::Checkout::SessionService::CreateParams::AutomaticTax, billing_address_collection: String, cancel_url: String, client_reference_id: String, consent_collection: ::Stripe::Checkout::SessionService::CreateParams::ConsentCollection, currency: String, custom_fields: T::Array[::Stripe::Checkout::SessionService::CreateParams::CustomField], custom_text: ::Stripe::Checkout::SessionService::CreateParams::CustomText, customer: String, customer_creation: String, customer_email: String, customer_update: ::Stripe::Checkout::SessionService::CreateParams::CustomerUpdate, discounts: T::Array[::Stripe::Checkout::SessionService::CreateParams::Discount], expand: T::Array[String], expires_at: Integer, invoice_creation: ::Stripe::Checkout::SessionService::CreateParams::InvoiceCreation, line_items: T::Array[::Stripe::Checkout::SessionService::CreateParams::LineItem], locale: String, metadata: T::Hash[String, String], mode: String, payment_intent_data: ::Stripe::Checkout::SessionService::CreateParams::PaymentIntentData, payment_method_collection: String, payment_method_configuration: String, payment_method_data: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodData, payment_method_options: ::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions, payment_method_types: T::Array[String], permissions: ::Stripe::Checkout::SessionService::CreateParams::Permissions, phone_number_collection: ::Stripe::Checkout::SessionService::CreateParams::PhoneNumberCollection, redirect_on_completion: String, return_url: String, saved_payment_method_options: ::Stripe::Checkout::SessionService::CreateParams::SavedPaymentMethodOptions, setup_intent_data: ::Stripe::Checkout::SessionService::CreateParams::SetupIntentData, shipping_address_collection: ::Stripe::Checkout::SessionService::CreateParams::ShippingAddressCollection, shipping_options: T::Array[::Stripe::Checkout::SessionService::CreateParams::ShippingOption], submit_type: String, subscription_data: ::Stripe::Checkout::SessionService::CreateParams::SubscriptionData, success_url: String, tax_id_collection: ::Stripe::Checkout::SessionService::CreateParams::TaxIdCollection, ui_mode: String).void
2291
+ params(adaptive_pricing: T.nilable(::Stripe::Checkout::SessionService::CreateParams::AdaptivePricing), after_expiration: T.nilable(::Stripe::Checkout::SessionService::CreateParams::AfterExpiration), allow_promotion_codes: T.nilable(T::Boolean), automatic_tax: T.nilable(::Stripe::Checkout::SessionService::CreateParams::AutomaticTax), billing_address_collection: T.nilable(String), cancel_url: T.nilable(String), client_reference_id: T.nilable(String), consent_collection: T.nilable(::Stripe::Checkout::SessionService::CreateParams::ConsentCollection), currency: T.nilable(String), custom_fields: T.nilable(T::Array[::Stripe::Checkout::SessionService::CreateParams::CustomField]), custom_text: T.nilable(::Stripe::Checkout::SessionService::CreateParams::CustomText), customer: T.nilable(String), customer_creation: T.nilable(String), customer_email: T.nilable(String), customer_update: T.nilable(::Stripe::Checkout::SessionService::CreateParams::CustomerUpdate), discounts: T.nilable(T::Array[::Stripe::Checkout::SessionService::CreateParams::Discount]), expand: T.nilable(T::Array[String]), expires_at: T.nilable(Integer), invoice_creation: T.nilable(::Stripe::Checkout::SessionService::CreateParams::InvoiceCreation), line_items: T.nilable(T::Array[::Stripe::Checkout::SessionService::CreateParams::LineItem]), locale: T.nilable(String), metadata: T.nilable(T::Hash[String, String]), mode: T.nilable(String), optional_items: T.nilable(T::Array[::Stripe::Checkout::SessionService::CreateParams::OptionalItem]), payment_intent_data: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentIntentData), payment_method_collection: T.nilable(String), payment_method_configuration: T.nilable(String), payment_method_data: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodData), payment_method_options: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PaymentMethodOptions), payment_method_types: T.nilable(T::Array[String]), permissions: T.nilable(::Stripe::Checkout::SessionService::CreateParams::Permissions), phone_number_collection: T.nilable(::Stripe::Checkout::SessionService::CreateParams::PhoneNumberCollection), redirect_on_completion: T.nilable(String), return_url: T.nilable(String), saved_payment_method_options: T.nilable(::Stripe::Checkout::SessionService::CreateParams::SavedPaymentMethodOptions), setup_intent_data: T.nilable(::Stripe::Checkout::SessionService::CreateParams::SetupIntentData), shipping_address_collection: T.nilable(::Stripe::Checkout::SessionService::CreateParams::ShippingAddressCollection), shipping_options: T.nilable(T::Array[::Stripe::Checkout::SessionService::CreateParams::ShippingOption]), submit_type: T.nilable(String), subscription_data: T.nilable(::Stripe::Checkout::SessionService::CreateParams::SubscriptionData), success_url: T.nilable(String), tax_id_collection: T.nilable(::Stripe::Checkout::SessionService::CreateParams::TaxIdCollection), ui_mode: T.nilable(String)).void
2269
2292
  }
2270
2293
  def initialize(
2271
2294
  adaptive_pricing: nil,
@@ -2291,6 +2314,7 @@ module Stripe
2291
2314
  locale: nil,
2292
2315
  metadata: nil,
2293
2316
  mode: nil,
2317
+ optional_items: nil,
2294
2318
  payment_intent_data: nil,
2295
2319
  payment_method_collection: nil,
2296
2320
  payment_method_configuration: nil,
@@ -2314,9 +2338,9 @@ module Stripe
2314
2338
  end
2315
2339
  class RetrieveParams < Stripe::RequestParams
2316
2340
  # Specifies which fields in the response should be expanded.
2317
- sig { returns(T::Array[String]) }
2341
+ sig { returns(T.nilable(T::Array[String])) }
2318
2342
  attr_accessor :expand
2319
- sig { params(expand: T::Array[String]).void }
2343
+ sig { params(expand: T.nilable(T::Array[String])).void }
2320
2344
  def initialize(expand: nil); end
2321
2345
  end
2322
2346
  class UpdateParams < Stripe::RequestParams
@@ -2324,7 +2348,7 @@ module Stripe
2324
2348
  class ShippingDetails < Stripe::RequestParams
2325
2349
  class Address < Stripe::RequestParams
2326
2350
  # City, district, suburb, town, or village.
2327
- sig { returns(String) }
2351
+ sig { returns(T.nilable(String)) }
2328
2352
  attr_accessor :city
2329
2353
  # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
2330
2354
  sig { returns(String) }
@@ -2333,16 +2357,16 @@ module Stripe
2333
2357
  sig { returns(String) }
2334
2358
  attr_accessor :line1
2335
2359
  # Address line 2 (e.g., apartment, suite, unit, or building).
2336
- sig { returns(String) }
2360
+ sig { returns(T.nilable(String)) }
2337
2361
  attr_accessor :line2
2338
2362
  # ZIP or postal code.
2339
- sig { returns(String) }
2363
+ sig { returns(T.nilable(String)) }
2340
2364
  attr_accessor :postal_code
2341
2365
  # State, county, province, or region.
2342
- sig { returns(String) }
2366
+ sig { returns(T.nilable(String)) }
2343
2367
  attr_accessor :state
2344
2368
  sig {
2345
- params(city: String, country: String, line1: String, line2: String, postal_code: String, state: String).void
2369
+ params(city: T.nilable(String), country: String, line1: String, line2: T.nilable(String), postal_code: T.nilable(String), state: T.nilable(String)).void
2346
2370
  }
2347
2371
  def initialize(
2348
2372
  city: nil,
@@ -2368,60 +2392,14 @@ module Stripe
2368
2392
  end
2369
2393
  # The shipping details to apply to this Session.
2370
2394
  sig {
2371
- returns(::Stripe::Checkout::SessionService::UpdateParams::CollectedInformation::ShippingDetails)
2395
+ returns(T.nilable(::Stripe::Checkout::SessionService::UpdateParams::CollectedInformation::ShippingDetails))
2372
2396
  }
2373
2397
  attr_accessor :shipping_details
2374
2398
  sig {
2375
- params(shipping_details: ::Stripe::Checkout::SessionService::UpdateParams::CollectedInformation::ShippingDetails).void
2399
+ params(shipping_details: T.nilable(::Stripe::Checkout::SessionService::UpdateParams::CollectedInformation::ShippingDetails)).void
2376
2400
  }
2377
2401
  def initialize(shipping_details: nil); end
2378
2402
  end
2379
- class LineItem < Stripe::RequestParams
2380
- class AdjustableQuantity < Stripe::RequestParams
2381
- # Set to true if the quantity can be adjusted to any positive integer. Setting to false will remove any previously specified constraints on quantity.
2382
- sig { returns(T::Boolean) }
2383
- attr_accessor :enabled
2384
- # The maximum quantity the customer can purchase for the Checkout Session. By default this value is 99. You can specify a value up to 999999.
2385
- sig { returns(Integer) }
2386
- attr_accessor :maximum
2387
- # The minimum quantity the customer must purchase for the Checkout Session. By default this value is 0.
2388
- sig { returns(Integer) }
2389
- attr_accessor :minimum
2390
- sig { params(enabled: T::Boolean, maximum: Integer, minimum: Integer).void }
2391
- def initialize(enabled: nil, maximum: nil, minimum: nil); end
2392
- end
2393
- # When set, provides configuration for this item’s quantity to be adjusted by the customer during Checkout.
2394
- sig {
2395
- returns(::Stripe::Checkout::SessionService::UpdateParams::LineItem::AdjustableQuantity)
2396
- }
2397
- attr_accessor :adjustable_quantity
2398
- # ID of an existing line item.
2399
- sig { returns(String) }
2400
- attr_accessor :id
2401
- # Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
2402
- sig { returns(T.nilable(T::Hash[String, String])) }
2403
- attr_accessor :metadata
2404
- # The ID of the [Price](https://stripe.com/docs/api/prices).
2405
- sig { returns(String) }
2406
- attr_accessor :price
2407
- # The quantity of the line item being purchased.
2408
- sig { returns(Integer) }
2409
- attr_accessor :quantity
2410
- # The [tax rates](https://stripe.com/docs/api/tax_rates) which apply to this line item.
2411
- sig { returns(T.nilable(T::Array[String])) }
2412
- attr_accessor :tax_rates
2413
- sig {
2414
- params(adjustable_quantity: ::Stripe::Checkout::SessionService::UpdateParams::LineItem::AdjustableQuantity, id: String, metadata: T.nilable(T::Hash[String, String]), price: String, quantity: Integer, tax_rates: T.nilable(T::Array[String])).void
2415
- }
2416
- def initialize(
2417
- adjustable_quantity: nil,
2418
- id: nil,
2419
- metadata: nil,
2420
- price: nil,
2421
- quantity: nil,
2422
- tax_rates: nil
2423
- ); end
2424
- end
2425
2403
  class ShippingOption < Stripe::RequestParams
2426
2404
  class ShippingRateData < Stripe::RequestParams
2427
2405
  class DeliveryEstimate < Stripe::RequestParams
@@ -2447,16 +2425,16 @@ module Stripe
2447
2425
  end
2448
2426
  # The upper bound of the estimated range. If empty, represents no upper bound i.e., infinite.
2449
2427
  sig {
2450
- returns(::Stripe::Checkout::SessionService::UpdateParams::ShippingOption::ShippingRateData::DeliveryEstimate::Maximum)
2428
+ returns(T.nilable(::Stripe::Checkout::SessionService::UpdateParams::ShippingOption::ShippingRateData::DeliveryEstimate::Maximum))
2451
2429
  }
2452
2430
  attr_accessor :maximum
2453
2431
  # The lower bound of the estimated range. If empty, represents no lower bound.
2454
2432
  sig {
2455
- returns(::Stripe::Checkout::SessionService::UpdateParams::ShippingOption::ShippingRateData::DeliveryEstimate::Minimum)
2433
+ returns(T.nilable(::Stripe::Checkout::SessionService::UpdateParams::ShippingOption::ShippingRateData::DeliveryEstimate::Minimum))
2456
2434
  }
2457
2435
  attr_accessor :minimum
2458
2436
  sig {
2459
- params(maximum: ::Stripe::Checkout::SessionService::UpdateParams::ShippingOption::ShippingRateData::DeliveryEstimate::Maximum, minimum: ::Stripe::Checkout::SessionService::UpdateParams::ShippingOption::ShippingRateData::DeliveryEstimate::Minimum).void
2437
+ params(maximum: T.nilable(::Stripe::Checkout::SessionService::UpdateParams::ShippingOption::ShippingRateData::DeliveryEstimate::Maximum), minimum: T.nilable(::Stripe::Checkout::SessionService::UpdateParams::ShippingOption::ShippingRateData::DeliveryEstimate::Minimum)).void
2460
2438
  }
2461
2439
  def initialize(maximum: nil, minimum: nil); end
2462
2440
  end
@@ -2466,9 +2444,9 @@ module Stripe
2466
2444
  sig { returns(Integer) }
2467
2445
  attr_accessor :amount
2468
2446
  # Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`.
2469
- sig { returns(String) }
2447
+ sig { returns(T.nilable(String)) }
2470
2448
  attr_accessor :tax_behavior
2471
- sig { params(amount: Integer, tax_behavior: String).void }
2449
+ sig { params(amount: Integer, tax_behavior: T.nilable(String)).void }
2472
2450
  def initialize(amount: nil, tax_behavior: nil); end
2473
2451
  end
2474
2452
  # A non-negative integer in cents representing how much to charge.
@@ -2479,17 +2457,17 @@ module Stripe
2479
2457
  attr_accessor :currency
2480
2458
  # Shipping rates defined in each available currency option. Each key must be a three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html) and a [supported currency](https://stripe.com/docs/currencies).
2481
2459
  sig {
2482
- returns(T::Hash[String, ::Stripe::Checkout::SessionService::UpdateParams::ShippingOption::ShippingRateData::FixedAmount::CurrencyOptions])
2460
+ returns(T.nilable(T::Hash[String, ::Stripe::Checkout::SessionService::UpdateParams::ShippingOption::ShippingRateData::FixedAmount::CurrencyOptions]))
2483
2461
  }
2484
2462
  attr_accessor :currency_options
2485
2463
  sig {
2486
- params(amount: Integer, currency: String, currency_options: T::Hash[String, ::Stripe::Checkout::SessionService::UpdateParams::ShippingOption::ShippingRateData::FixedAmount::CurrencyOptions]).void
2464
+ params(amount: Integer, currency: String, currency_options: T.nilable(T::Hash[String, ::Stripe::Checkout::SessionService::UpdateParams::ShippingOption::ShippingRateData::FixedAmount::CurrencyOptions])).void
2487
2465
  }
2488
2466
  def initialize(amount: nil, currency: nil, currency_options: nil); end
2489
2467
  end
2490
2468
  # The estimated range for how long shipping will take, meant to be displayable to the customer. This will appear on CheckoutSessions.
2491
2469
  sig {
2492
- returns(::Stripe::Checkout::SessionService::UpdateParams::ShippingOption::ShippingRateData::DeliveryEstimate)
2470
+ returns(T.nilable(::Stripe::Checkout::SessionService::UpdateParams::ShippingOption::ShippingRateData::DeliveryEstimate))
2493
2471
  }
2494
2472
  attr_accessor :delivery_estimate
2495
2473
  # The name of the shipping rate, meant to be displayable to the customer. This will appear on CheckoutSessions.
@@ -2497,23 +2475,23 @@ module Stripe
2497
2475
  attr_accessor :display_name
2498
2476
  # Describes a fixed amount to charge for shipping. Must be present if type is `fixed_amount`.
2499
2477
  sig {
2500
- returns(::Stripe::Checkout::SessionService::UpdateParams::ShippingOption::ShippingRateData::FixedAmount)
2478
+ returns(T.nilable(::Stripe::Checkout::SessionService::UpdateParams::ShippingOption::ShippingRateData::FixedAmount))
2501
2479
  }
2502
2480
  attr_accessor :fixed_amount
2503
2481
  # Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
2504
- sig { returns(T::Hash[String, String]) }
2482
+ sig { returns(T.nilable(T::Hash[String, String])) }
2505
2483
  attr_accessor :metadata
2506
2484
  # Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`.
2507
- sig { returns(String) }
2485
+ sig { returns(T.nilable(String)) }
2508
2486
  attr_accessor :tax_behavior
2509
2487
  # A [tax code](https://stripe.com/docs/tax/tax-categories) ID. The Shipping tax code is `txcd_92010001`.
2510
- sig { returns(String) }
2488
+ sig { returns(T.nilable(String)) }
2511
2489
  attr_accessor :tax_code
2512
2490
  # The type of calculation to use on the shipping rate.
2513
- sig { returns(String) }
2491
+ sig { returns(T.nilable(String)) }
2514
2492
  attr_accessor :type
2515
2493
  sig {
2516
- params(delivery_estimate: ::Stripe::Checkout::SessionService::UpdateParams::ShippingOption::ShippingRateData::DeliveryEstimate, display_name: String, fixed_amount: ::Stripe::Checkout::SessionService::UpdateParams::ShippingOption::ShippingRateData::FixedAmount, metadata: T::Hash[String, String], tax_behavior: String, tax_code: String, type: String).void
2494
+ params(delivery_estimate: T.nilable(::Stripe::Checkout::SessionService::UpdateParams::ShippingOption::ShippingRateData::DeliveryEstimate), display_name: String, fixed_amount: T.nilable(::Stripe::Checkout::SessionService::UpdateParams::ShippingOption::ShippingRateData::FixedAmount), metadata: T.nilable(T::Hash[String, String]), tax_behavior: T.nilable(String), tax_code: T.nilable(String), type: T.nilable(String)).void
2517
2495
  }
2518
2496
  def initialize(
2519
2497
  delivery_estimate: nil,
@@ -2526,74 +2504,60 @@ module Stripe
2526
2504
  ); end
2527
2505
  end
2528
2506
  # The ID of the Shipping Rate to use for this shipping option.
2529
- sig { returns(String) }
2507
+ sig { returns(T.nilable(String)) }
2530
2508
  attr_accessor :shipping_rate
2531
2509
  # Parameters to be passed to Shipping Rate creation for this shipping option.
2532
2510
  sig {
2533
- returns(::Stripe::Checkout::SessionService::UpdateParams::ShippingOption::ShippingRateData)
2511
+ returns(T.nilable(::Stripe::Checkout::SessionService::UpdateParams::ShippingOption::ShippingRateData))
2534
2512
  }
2535
2513
  attr_accessor :shipping_rate_data
2536
2514
  sig {
2537
- params(shipping_rate: String, shipping_rate_data: ::Stripe::Checkout::SessionService::UpdateParams::ShippingOption::ShippingRateData).void
2515
+ params(shipping_rate: T.nilable(String), shipping_rate_data: T.nilable(::Stripe::Checkout::SessionService::UpdateParams::ShippingOption::ShippingRateData)).void
2538
2516
  }
2539
2517
  def initialize(shipping_rate: nil, shipping_rate_data: nil); end
2540
2518
  end
2541
2519
  # Information about the customer collected within the Checkout Session.
2542
- sig { returns(::Stripe::Checkout::SessionService::UpdateParams::CollectedInformation) }
2520
+ sig {
2521
+ returns(T.nilable(::Stripe::Checkout::SessionService::UpdateParams::CollectedInformation))
2522
+ }
2543
2523
  attr_accessor :collected_information
2544
2524
  # Specifies which fields in the response should be expanded.
2545
- sig { returns(T::Array[String]) }
2525
+ sig { returns(T.nilable(T::Array[String])) }
2546
2526
  attr_accessor :expand
2547
- # A list of items the customer is purchasing.
2548
- #
2549
- # When updating line items, you must retransmit the entire array of line items.
2550
- #
2551
- # To retain an existing line item, specify its `id`.
2552
- #
2553
- # To update an existing line item, specify its `id` along with the new values of the fields to update.
2554
- #
2555
- # To add a new line item, specify a `price` and `quantity`. We don't currently support recurring prices.
2556
- #
2557
- # To remove an existing line item, omit the line item's ID from the retransmitted array.
2558
- #
2559
- # To reorder a line item, specify it at the desired position in the retransmitted array.
2560
- sig { returns(T::Array[::Stripe::Checkout::SessionService::UpdateParams::LineItem]) }
2561
- attr_accessor :line_items
2562
2527
  # Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
2563
- sig { returns(T.nilable(T::Hash[String, String])) }
2528
+ sig { returns(T.nilable(T.nilable(T.any(String, T::Hash[String, String])))) }
2564
2529
  attr_accessor :metadata
2565
2530
  # The shipping rate options to apply to this Session. Up to a maximum of 5.
2566
2531
  sig {
2567
- returns(T.nilable(T::Array[::Stripe::Checkout::SessionService::UpdateParams::ShippingOption]))
2532
+ returns(T.nilable(T.nilable(T.any(String, T::Array[::Stripe::Checkout::SessionService::UpdateParams::ShippingOption]))))
2568
2533
  }
2569
2534
  attr_accessor :shipping_options
2570
2535
  sig {
2571
- params(collected_information: ::Stripe::Checkout::SessionService::UpdateParams::CollectedInformation, expand: T::Array[String], line_items: T::Array[::Stripe::Checkout::SessionService::UpdateParams::LineItem], metadata: T.nilable(T::Hash[String, String]), shipping_options: T.nilable(T::Array[::Stripe::Checkout::SessionService::UpdateParams::ShippingOption])).void
2536
+ params(collected_information: T.nilable(::Stripe::Checkout::SessionService::UpdateParams::CollectedInformation), expand: T.nilable(T::Array[String]), metadata: T.nilable(T.nilable(T.any(String, T::Hash[String, String]))), shipping_options: T.nilable(T.nilable(T.any(String, T::Array[::Stripe::Checkout::SessionService::UpdateParams::ShippingOption])))).void
2572
2537
  }
2573
2538
  def initialize(
2574
2539
  collected_information: nil,
2575
2540
  expand: nil,
2576
- line_items: nil,
2577
2541
  metadata: nil,
2578
2542
  shipping_options: nil
2579
2543
  ); end
2580
2544
  end
2581
2545
  class ExpireParams < Stripe::RequestParams
2582
2546
  # Specifies which fields in the response should be expanded.
2583
- sig { returns(T::Array[String]) }
2547
+ sig { returns(T.nilable(T::Array[String])) }
2584
2548
  attr_accessor :expand
2585
- sig { params(expand: T::Array[String]).void }
2549
+ sig { params(expand: T.nilable(T::Array[String])).void }
2586
2550
  def initialize(expand: nil); end
2587
2551
  end
2588
- # Creates a Session object.
2552
+ # Creates a Checkout Session object.
2589
2553
  sig {
2590
2554
  params(params: T.any(::Stripe::Checkout::SessionService::CreateParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::Checkout::Session)
2591
2555
  }
2592
2556
  def create(params = {}, opts = {}); end
2593
2557
 
2594
- # A Session can be expired when it is in one of these statuses: open
2558
+ # A Checkout Session can be expired when it is in one of these statuses: open
2595
2559
  #
2596
- # After it expires, a customer can't complete a Session and customers loading the Session see a message saying the Session is expired.
2560
+ # After it expires, a customer can't complete a Checkout Session and customers loading the Checkout Session see a message saying the Checkout Session is expired.
2597
2561
  sig {
2598
2562
  params(session: String, params: T.any(::Stripe::Checkout::SessionService::ExpireParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::Checkout::Session)
2599
2563
  }
@@ -2605,13 +2569,13 @@ module Stripe
2605
2569
  }
2606
2570
  def list(params = {}, opts = {}); end
2607
2571
 
2608
- # Retrieves a Session object.
2572
+ # Retrieves a Checkout Session object.
2609
2573
  sig {
2610
2574
  params(session: String, params: T.any(::Stripe::Checkout::SessionService::RetrieveParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::Checkout::Session)
2611
2575
  }
2612
2576
  def retrieve(session, params = {}, opts = {}); end
2613
2577
 
2614
- # Updates a Session object.
2578
+ # Updates a Checkout Session object.
2615
2579
  sig {
2616
2580
  params(session: String, params: T.any(::Stripe::Checkout::SessionService::UpdateParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::Checkout::Session)
2617
2581
  }