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
@@ -89,42 +89,13 @@ module Stripe
89
89
  # Attribute for field address
90
90
  sig { returns(Address) }
91
91
  attr_reader :address
92
- # The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc.
93
- sig { returns(T.nilable(String)) }
94
- attr_reader :carrier
95
- # Recipient name.
92
+ # Customer name.
96
93
  sig { returns(String) }
97
94
  attr_reader :name
98
- # Recipient phone (including extension).
99
- sig { returns(T.nilable(String)) }
100
- attr_reader :phone
101
- # 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.
102
- sig { returns(T.nilable(String)) }
103
- attr_reader :tracking_number
104
- end
105
- class TaxId < Stripe::StripeObject
106
- # The type of the tax ID, one of `ad_nrt`, `ar_cuit`, `eu_vat`, `bo_tin`, `br_cnpj`, `br_cpf`, `cn_tin`, `co_nit`, `cr_tin`, `do_rcn`, `ec_ruc`, `eu_oss_vat`, `hr_oib`, `pe_ruc`, `ro_tin`, `rs_pib`, `sv_nit`, `uy_ruc`, `ve_rif`, `vn_tin`, `gb_vat`, `nz_gst`, `au_abn`, `au_arn`, `in_gst`, `no_vat`, `no_voec`, `za_vat`, `ch_vat`, `mx_rfc`, `sg_uen`, `ru_inn`, `ru_kpp`, `ca_bn`, `hk_br`, `es_cif`, `tw_vat`, `th_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `li_uid`, `li_vat`, `my_itn`, `us_ein`, `kr_brn`, `ca_qst`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `my_sst`, `sg_gst`, `ae_trn`, `cl_tin`, `sa_vat`, `id_npwp`, `my_frp`, `il_vat`, `ge_vat`, `ua_vat`, `is_vat`, `bg_uic`, `hu_tin`, `si_tin`, `ke_pin`, `tr_tin`, `eg_tin`, `ph_tin`, `al_tin`, `bh_vat`, `kz_bin`, `ng_tin`, `om_vat`, `de_stn`, `ch_uid`, `tz_vat`, `uz_vat`, `uz_tin`, `md_vat`, `ma_vat`, `by_tin`, `ao_tin`, `bs_tin`, `bb_tin`, `cd_nif`, `mr_nif`, `me_pib`, `zw_tin`, `ba_tin`, `gn_nif`, `mk_vat`, `sr_fin`, `sn_ninea`, `am_tin`, `np_pan`, `tj_tin`, `ug_tin`, `zm_tin`, `kh_tin`, or `unknown`
107
- sig { returns(String) }
108
- attr_reader :type
109
- # The value of the tax ID.
110
- sig { returns(T.nilable(String)) }
111
- attr_reader :value
112
95
  end
113
- # Customer’s business name for this Checkout Session
114
- sig { returns(T.nilable(String)) }
115
- attr_reader :business_name
116
- # Customer’s email for this Checkout Session
117
- sig { returns(T.nilable(String)) }
118
- attr_reader :email
119
- # Customer’s phone number for this Checkout Session
120
- sig { returns(T.nilable(String)) }
121
- attr_reader :phone
122
96
  # Shipping information for this Checkout Session.
123
97
  sig { returns(T.nilable(ShippingDetails)) }
124
98
  attr_reader :shipping_details
125
- # Customer’s tax ids for this Checkout Session.
126
- sig { returns(T.nilable(T::Array[TaxId])) }
127
- attr_reader :tax_ids
128
99
  end
129
100
  class Consent < Stripe::StripeObject
130
101
  # If `opt_in`, the customer consents to receiving promotional communications
@@ -390,6 +361,28 @@ module Stripe
390
361
  sig { returns(InvoiceData) }
391
362
  attr_reader :invoice_data
392
363
  end
364
+ class OptionalItem < Stripe::StripeObject
365
+ class AdjustableQuantity < Stripe::StripeObject
366
+ # Set to true if the quantity can be adjusted to any non-negative integer.
367
+ sig { returns(T::Boolean) }
368
+ attr_reader :enabled
369
+ # The maximum quantity of this item the customer can purchase. By default this value is 99. You can specify a value up to 999999.
370
+ sig { returns(T.nilable(Integer)) }
371
+ attr_reader :maximum
372
+ # 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.
373
+ sig { returns(T.nilable(Integer)) }
374
+ attr_reader :minimum
375
+ end
376
+ # Attribute for field adjustable_quantity
377
+ sig { returns(T.nilable(AdjustableQuantity)) }
378
+ attr_reader :adjustable_quantity
379
+ # Attribute for field price
380
+ sig { returns(String) }
381
+ attr_reader :price
382
+ # Attribute for field quantity
383
+ sig { returns(Integer) }
384
+ attr_reader :quantity
385
+ end
393
386
  class PaymentMethodConfigurationDetails < Stripe::StripeObject
394
387
  # ID of the payment method configuration used.
395
388
  sig { returns(String) }
@@ -560,9 +553,6 @@ module Stripe
560
553
  attr_reader :installments
561
554
  # Request ability to [capture beyond the standard authorization validity window](/payments/extended-authorization) for this CheckoutSession.
562
555
  sig { returns(String) }
563
- attr_reader :request_decremental_authorization
564
- # Request ability to [capture beyond the standard authorization validity window](/payments/extended-authorization) for this CheckoutSession.
565
- sig { returns(String) }
566
556
  attr_reader :request_extended_authorization
567
557
  # Request ability to [increment the authorization](/payments/incremental-authorization) for this CheckoutSession.
568
558
  sig { returns(String) }
@@ -847,46 +837,6 @@ module Stripe
847
837
  # 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).
848
838
  sig { returns(String) }
849
839
  attr_reader :setup_future_usage
850
- # 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.
851
- sig { returns(T::Array[String]) }
852
- attr_reader :subsellers
853
- end
854
- class Payto < Stripe::StripeObject
855
- class MandateOptions < Stripe::StripeObject
856
- # Amount that will be collected. It is required when `amount_type` is `fixed`.
857
- sig { returns(T.nilable(Integer)) }
858
- attr_reader :amount
859
- # 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.
860
- sig { returns(T.nilable(String)) }
861
- attr_reader :amount_type
862
- # Date, in YYYY-MM-DD format, after which payments will not be collected. Defaults to no end date.
863
- sig { returns(T.nilable(String)) }
864
- attr_reader :end_date
865
- # The periodicity at which payments will be collected.
866
- sig { returns(T.nilable(String)) }
867
- attr_reader :payment_schedule
868
- # 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.
869
- sig { returns(T.nilable(Integer)) }
870
- attr_reader :payments_per_period
871
- # The purpose for which payments are made. Defaults to retail.
872
- sig { returns(T.nilable(String)) }
873
- attr_reader :purpose
874
- # Date, in YYYY-MM-DD format, from which payments will be collected. Defaults to confirmation time.
875
- sig { returns(T.nilable(String)) }
876
- attr_reader :start_date
877
- end
878
- # Attribute for field mandate_options
879
- sig { returns(MandateOptions) }
880
- attr_reader :mandate_options
881
- # Indicates that you intend to make future payments with this PaymentIntent's payment method.
882
- #
883
- # 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.
884
- #
885
- # 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.
886
- #
887
- # 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).
888
- sig { returns(String) }
889
- attr_reader :setup_future_usage
890
840
  end
891
841
  class Pix < Stripe::StripeObject
892
842
  # The number of seconds after which Pix payment will expire.
@@ -953,21 +903,10 @@ module Stripe
953
903
  # The account subcategories to use to filter for possible accounts to link. Valid subcategories are `checking` and `savings`.
954
904
  sig { returns(T::Array[String]) }
955
905
  attr_reader :account_subcategories
956
- # The institution to use to filter for possible accounts to link.
957
- sig { returns(String) }
958
- attr_reader :institution
959
- end
960
- class ManualEntry < Stripe::StripeObject
961
- # Settings for configuring manual entry of account details.
962
- sig { returns(String) }
963
- attr_reader :mode
964
906
  end
965
907
  # Attribute for field filters
966
908
  sig { returns(Filters) }
967
909
  attr_reader :filters
968
- # Attribute for field manual_entry
969
- sig { returns(ManualEntry) }
970
- attr_reader :manual_entry
971
910
  # The list of permissions to request. The `payment_method` permission must be included.
972
911
  sig { returns(T::Array[String]) }
973
912
  attr_reader :permissions
@@ -1087,9 +1026,6 @@ module Stripe
1087
1026
  # Attribute for field paypal
1088
1027
  sig { returns(Paypal) }
1089
1028
  attr_reader :paypal
1090
- # Attribute for field payto
1091
- sig { returns(Payto) }
1092
- attr_reader :payto
1093
1029
  # Attribute for field pix
1094
1030
  sig { returns(Pix) }
1095
1031
  attr_reader :pix
@@ -1113,31 +1049,27 @@ module Stripe
1113
1049
  attr_reader :us_bank_account
1114
1050
  end
1115
1051
  class Permissions < Stripe::StripeObject
1116
- class Update < Stripe::StripeObject
1117
- # Determines which entity is allowed to update the line items.
1118
- #
1119
- # 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.
1120
- #
1121
- # 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.
1122
- sig { returns(T.nilable(String)) }
1123
- attr_reader :line_items
1124
- # Determines which entity is allowed to update the shipping details.
1125
- #
1126
- # 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.
1127
- #
1128
- # 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.
1129
- sig { returns(T.nilable(String)) }
1130
- attr_reader :shipping_details
1131
- end
1132
- # Permissions for updating the Checkout Session.
1133
- sig { returns(T.nilable(Update)) }
1134
- attr_reader :update
1052
+ # Determines which entity is allowed to update the shipping details.
1053
+ #
1054
+ # 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.
1055
+ #
1056
+ # 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.
1057
+ sig { returns(T.nilable(String)) }
1058
+ attr_reader :update_shipping_details
1135
1059
  end
1136
1060
  class PhoneNumberCollection < Stripe::StripeObject
1137
1061
  # Indicates whether phone number collection is enabled for the session
1138
1062
  sig { returns(T::Boolean) }
1139
1063
  attr_reader :enabled
1140
1064
  end
1065
+ class PresentmentDetails < Stripe::StripeObject
1066
+ # Amount intended to be collected by this payment, denominated in presentment_currency.
1067
+ sig { returns(Integer) }
1068
+ attr_reader :presentment_amount
1069
+ # Currency presented to the customer during payment.
1070
+ sig { returns(String) }
1071
+ attr_reader :presentment_currency
1072
+ end
1141
1073
  class SavedPaymentMethodOptions < Stripe::StripeObject
1142
1074
  # 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.
1143
1075
  sig { returns(T.nilable(T::Array[String])) }
@@ -1188,43 +1120,6 @@ module Stripe
1188
1120
  sig { returns(T::Array[Tax]) }
1189
1121
  attr_reader :taxes
1190
1122
  end
1191
- class ShippingDetails < Stripe::StripeObject
1192
- class Address < Stripe::StripeObject
1193
- # City, district, suburb, town, or village.
1194
- sig { returns(T.nilable(String)) }
1195
- attr_reader :city
1196
- # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
1197
- sig { returns(T.nilable(String)) }
1198
- attr_reader :country
1199
- # Address line 1 (e.g., street, PO Box, or company name).
1200
- sig { returns(T.nilable(String)) }
1201
- attr_reader :line1
1202
- # Address line 2 (e.g., apartment, suite, unit, or building).
1203
- sig { returns(T.nilable(String)) }
1204
- attr_reader :line2
1205
- # ZIP or postal code.
1206
- sig { returns(T.nilable(String)) }
1207
- attr_reader :postal_code
1208
- # State, county, province, or region.
1209
- sig { returns(T.nilable(String)) }
1210
- attr_reader :state
1211
- end
1212
- # Attribute for field address
1213
- sig { returns(Address) }
1214
- attr_reader :address
1215
- # The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc.
1216
- sig { returns(T.nilable(String)) }
1217
- attr_reader :carrier
1218
- # Recipient name.
1219
- sig { returns(String) }
1220
- attr_reader :name
1221
- # Recipient phone (including extension).
1222
- sig { returns(T.nilable(String)) }
1223
- attr_reader :phone
1224
- # 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.
1225
- sig { returns(T.nilable(String)) }
1226
- attr_reader :tracking_number
1227
- end
1228
1123
  class ShippingOption < Stripe::StripeObject
1229
1124
  # A non-negative integer in cents representing how much to charge.
1230
1125
  sig { returns(Integer) }
@@ -1319,7 +1214,7 @@ module Stripe
1319
1214
  # Session with your internal systems.
1320
1215
  sig { returns(T.nilable(String)) }
1321
1216
  attr_reader :client_reference_id
1322
- # The client secret of the Session. Use this with [initCheckout](https://stripe.com/docs/js/custom_checkout/init) on your front end.
1217
+ # The client secret of your Checkout Session. Applies to Checkout Sessions with `ui_mode: embedded`. Client secret to be used when initializing Stripe.js embedded checkout.
1323
1218
  sig { returns(T.nilable(String)) }
1324
1219
  attr_reader :client_secret
1325
1220
  # Information about the customer collected within the Checkout Session.
@@ -1337,7 +1232,7 @@ module Stripe
1337
1232
  # 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).
1338
1233
  sig { returns(T.nilable(String)) }
1339
1234
  attr_reader :currency
1340
- # Currency conversion details for [Adaptive Pricing](https://docs.stripe.com/payments/checkout/adaptive-pricing) sessions
1235
+ # Currency conversion details for [Adaptive Pricing](https://docs.stripe.com/payments/checkout/adaptive-pricing) sessions created before 2025-03-31.
1341
1236
  sig { returns(T.nilable(CurrencyConversion)) }
1342
1237
  attr_reader :currency_conversion
1343
1238
  # Collect additional information from your customer using custom fields. Up to 3 fields are supported.
@@ -1399,6 +1294,9 @@ module Stripe
1399
1294
  # String representing the object's type. Objects of the same type share the same value.
1400
1295
  sig { returns(String) }
1401
1296
  attr_reader :object
1297
+ # The optional items presented to the customer at checkout.
1298
+ sig { returns(T.nilable(T::Array[OptionalItem])) }
1299
+ attr_reader :optional_items
1402
1300
  # The ID of the PaymentIntent for Checkout Sessions in `payment` mode. You can't confirm or cancel the PaymentIntent for a Checkout Session. To cancel, [expire the Checkout Session](https://stripe.com/docs/api/checkout/sessions/expire) instead.
1403
1301
  sig { returns(T.nilable(T.any(String, Stripe::PaymentIntent))) }
1404
1302
  attr_reader :payment_intent
@@ -1430,13 +1328,16 @@ module Stripe
1430
1328
  # Attribute for field phone_number_collection
1431
1329
  sig { returns(PhoneNumberCollection) }
1432
1330
  attr_reader :phone_number_collection
1331
+ # Attribute for field presentment_details
1332
+ sig { returns(PresentmentDetails) }
1333
+ attr_reader :presentment_details
1433
1334
  # The ID of the original expired Checkout Session that triggered the recovery flow.
1434
1335
  sig { returns(T.nilable(String)) }
1435
1336
  attr_reader :recovered_from
1436
1337
  # 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`.
1437
1338
  sig { returns(String) }
1438
1339
  attr_reader :redirect_on_completion
1439
- # Applies to Checkout Sessions with `ui_mode: embedded` or `ui_mode: custom`. The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method's app or site.
1340
+ # Applies to Checkout Sessions with `ui_mode: embedded`. The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method's app or site.
1440
1341
  sig { returns(String) }
1441
1342
  attr_reader :return_url
1442
1343
  # Controls saved payment method settings for the session. Only available in `payment` and `subscription` mode.
@@ -1451,9 +1352,6 @@ module Stripe
1451
1352
  # The details of the customer cost of shipping, including the customer chosen ShippingRate.
1452
1353
  sig { returns(T.nilable(ShippingCost)) }
1453
1354
  attr_reader :shipping_cost
1454
- # Shipping information for this Checkout Session.
1455
- sig { returns(T.nilable(ShippingDetails)) }
1456
- attr_reader :shipping_details
1457
1355
  # The shipping rate options applied to this Session.
1458
1356
  sig { returns(T::Array[ShippingOption]) }
1459
1357
  attr_reader :shipping_options
@@ -1481,25 +1379,27 @@ module Stripe
1481
1379
  # The UI mode of the Session. Defaults to `hosted`.
1482
1380
  sig { returns(T.nilable(String)) }
1483
1381
  attr_reader :ui_mode
1484
- # The URL to the Checkout Session. Redirect customers to this URL to take them to Checkout. If you’re using [Custom Domains](https://stripe.com/docs/payments/checkout/custom-domains), the URL will use your subdomain. Otherwise, it’ll use `checkout.stripe.com.`
1382
+ # The URL to the Checkout Session. Applies to Checkout Sessions with `ui_mode: hosted`. Redirect customers to this URL to take them to Checkout. If you’re using [Custom Domains](https://stripe.com/docs/payments/checkout/custom-domains), the URL will use your subdomain. Otherwise, it’ll use `checkout.stripe.com.`
1485
1383
  # This value is only present when the session is active.
1486
1384
  sig { returns(T.nilable(String)) }
1487
1385
  attr_reader :url
1488
1386
  class ListParams < Stripe::RequestParams
1489
1387
  class Created < Stripe::RequestParams
1490
1388
  # Minimum value to filter by (exclusive)
1491
- sig { returns(Integer) }
1389
+ sig { returns(T.nilable(Integer)) }
1492
1390
  attr_accessor :gt
1493
1391
  # Minimum value to filter by (inclusive)
1494
- sig { returns(Integer) }
1392
+ sig { returns(T.nilable(Integer)) }
1495
1393
  attr_accessor :gte
1496
1394
  # Maximum value to filter by (exclusive)
1497
- sig { returns(Integer) }
1395
+ sig { returns(T.nilable(Integer)) }
1498
1396
  attr_accessor :lt
1499
1397
  # Maximum value to filter by (inclusive)
1500
- sig { returns(Integer) }
1398
+ sig { returns(T.nilable(Integer)) }
1501
1399
  attr_accessor :lte
1502
- sig { params(gt: Integer, gte: Integer, lt: Integer, lte: Integer).void }
1400
+ sig {
1401
+ params(gt: T.nilable(Integer), gte: T.nilable(Integer), lt: T.nilable(Integer), lte: T.nilable(Integer)).void
1402
+ }
1503
1403
  def initialize(gt: nil, gte: nil, lt: nil, lte: nil); end
1504
1404
  end
1505
1405
  class CustomerDetails < Stripe::RequestParams
@@ -1510,40 +1410,40 @@ module Stripe
1510
1410
  def initialize(email: nil); end
1511
1411
  end
1512
1412
  # Only return Checkout Sessions that were created during the given date interval.
1513
- sig { returns(T.any(::Stripe::Checkout::Session::ListParams::Created, Integer)) }
1413
+ sig { returns(T.nilable(T.any(::Stripe::Checkout::Session::ListParams::Created, Integer))) }
1514
1414
  attr_accessor :created
1515
1415
  # Only return the Checkout Sessions for the Customer specified.
1516
- sig { returns(String) }
1416
+ sig { returns(T.nilable(String)) }
1517
1417
  attr_accessor :customer
1518
1418
  # Only return the Checkout Sessions for the Customer details specified.
1519
- sig { returns(::Stripe::Checkout::Session::ListParams::CustomerDetails) }
1419
+ sig { returns(T.nilable(::Stripe::Checkout::Session::ListParams::CustomerDetails)) }
1520
1420
  attr_accessor :customer_details
1521
1421
  # 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.
1522
- sig { returns(String) }
1422
+ sig { returns(T.nilable(String)) }
1523
1423
  attr_accessor :ending_before
1524
1424
  # Specifies which fields in the response should be expanded.
1525
- sig { returns(T::Array[String]) }
1425
+ sig { returns(T.nilable(T::Array[String])) }
1526
1426
  attr_accessor :expand
1527
1427
  # A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
1528
- sig { returns(Integer) }
1428
+ sig { returns(T.nilable(Integer)) }
1529
1429
  attr_accessor :limit
1530
1430
  # Only return the Checkout Session for the PaymentIntent specified.
1531
- sig { returns(String) }
1431
+ sig { returns(T.nilable(String)) }
1532
1432
  attr_accessor :payment_intent
1533
1433
  # Only return the Checkout Sessions for the Payment Link specified.
1534
- sig { returns(String) }
1434
+ sig { returns(T.nilable(String)) }
1535
1435
  attr_accessor :payment_link
1536
1436
  # 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.
1537
- sig { returns(String) }
1437
+ sig { returns(T.nilable(String)) }
1538
1438
  attr_accessor :starting_after
1539
1439
  # Only return the Checkout Sessions matching the given status.
1540
- sig { returns(String) }
1440
+ sig { returns(T.nilable(String)) }
1541
1441
  attr_accessor :status
1542
1442
  # Only return the Checkout Session for the subscription specified.
1543
- sig { returns(String) }
1443
+ sig { returns(T.nilable(String)) }
1544
1444
  attr_accessor :subscription
1545
1445
  sig {
1546
- params(created: T.any(::Stripe::Checkout::Session::ListParams::Created, Integer), customer: String, customer_details: ::Stripe::Checkout::Session::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
1446
+ params(created: T.nilable(T.any(::Stripe::Checkout::Session::ListParams::Created, Integer)), customer: T.nilable(String), customer_details: T.nilable(::Stripe::Checkout::Session::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
1547
1447
  }
1548
1448
  def initialize(
1549
1449
  created: nil,
@@ -1562,41 +1462,43 @@ module Stripe
1562
1462
  class CreateParams < Stripe::RequestParams
1563
1463
  class AdaptivePricing < Stripe::RequestParams
1564
1464
  # 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).
1565
- sig { returns(T::Boolean) }
1465
+ sig { returns(T.nilable(T::Boolean)) }
1566
1466
  attr_accessor :enabled
1567
- sig { params(enabled: T::Boolean).void }
1467
+ sig { params(enabled: T.nilable(T::Boolean)).void }
1568
1468
  def initialize(enabled: nil); end
1569
1469
  end
1570
1470
  class AfterExpiration < Stripe::RequestParams
1571
1471
  class Recovery < Stripe::RequestParams
1572
1472
  # Enables user redeemable promotion codes on the recovered Checkout Sessions. Defaults to `false`
1573
- sig { returns(T::Boolean) }
1473
+ sig { returns(T.nilable(T::Boolean)) }
1574
1474
  attr_accessor :allow_promotion_codes
1575
1475
  # If `true`, a recovery URL will be generated to recover this Checkout Session if it
1576
1476
  # expires before a successful transaction is completed. It will be attached to the
1577
1477
  # Checkout Session object upon expiration.
1578
1478
  sig { returns(T::Boolean) }
1579
1479
  attr_accessor :enabled
1580
- sig { params(allow_promotion_codes: T::Boolean, enabled: T::Boolean).void }
1480
+ sig { params(allow_promotion_codes: T.nilable(T::Boolean), enabled: T::Boolean).void }
1581
1481
  def initialize(allow_promotion_codes: nil, enabled: nil); end
1582
1482
  end
1583
1483
  # Configure a Checkout Session that can be used to recover an expired session.
1584
- sig { returns(::Stripe::Checkout::Session::CreateParams::AfterExpiration::Recovery) }
1484
+ sig {
1485
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::AfterExpiration::Recovery))
1486
+ }
1585
1487
  attr_accessor :recovery
1586
1488
  sig {
1587
- params(recovery: ::Stripe::Checkout::Session::CreateParams::AfterExpiration::Recovery).void
1489
+ params(recovery: T.nilable(::Stripe::Checkout::Session::CreateParams::AfterExpiration::Recovery)).void
1588
1490
  }
1589
1491
  def initialize(recovery: nil); end
1590
1492
  end
1591
1493
  class AutomaticTax < Stripe::RequestParams
1592
1494
  class Liability < Stripe::RequestParams
1593
1495
  # The connected account being referenced when `type` is `account`.
1594
- sig { returns(String) }
1496
+ sig { returns(T.nilable(String)) }
1595
1497
  attr_accessor :account
1596
1498
  # Type of the account referenced in the request.
1597
1499
  sig { returns(String) }
1598
1500
  attr_accessor :type
1599
- sig { params(account: String, type: String).void }
1501
+ sig { params(account: T.nilable(String), type: String).void }
1600
1502
  def initialize(account: nil, type: nil); end
1601
1503
  end
1602
1504
  # Set to `true` to [calculate tax automatically](https://docs.stripe.com/tax) using the customer's location.
@@ -1605,10 +1507,12 @@ module Stripe
1605
1507
  sig { returns(T::Boolean) }
1606
1508
  attr_accessor :enabled
1607
1509
  # 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.
1608
- sig { returns(::Stripe::Checkout::Session::CreateParams::AutomaticTax::Liability) }
1510
+ sig {
1511
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::AutomaticTax::Liability))
1512
+ }
1609
1513
  attr_accessor :liability
1610
1514
  sig {
1611
- params(enabled: T::Boolean, liability: ::Stripe::Checkout::Session::CreateParams::AutomaticTax::Liability).void
1515
+ params(enabled: T::Boolean, liability: T.nilable(::Stripe::Checkout::Session::CreateParams::AutomaticTax::Liability)).void
1612
1516
  }
1613
1517
  def initialize(enabled: nil, liability: nil); end
1614
1518
  end
@@ -1623,20 +1527,20 @@ module Stripe
1623
1527
  end
1624
1528
  # 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.
1625
1529
  sig {
1626
- returns(::Stripe::Checkout::Session::CreateParams::ConsentCollection::PaymentMethodReuseAgreement)
1530
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::ConsentCollection::PaymentMethodReuseAgreement))
1627
1531
  }
1628
1532
  attr_accessor :payment_method_reuse_agreement
1629
1533
  # If set to `auto`, enables the collection of customer consent for promotional communications. The Checkout
1630
1534
  # Session will determine whether to display an option to opt into promotional communication
1631
1535
  # from the merchant depending on the customer's locale. Only available to US merchants.
1632
- sig { returns(String) }
1536
+ sig { returns(T.nilable(String)) }
1633
1537
  attr_accessor :promotions
1634
1538
  # If set to `required`, it requires customers to check a terms of service checkbox before being able to pay.
1635
1539
  # There must be a valid terms of service URL set in your [Dashboard settings](https://dashboard.stripe.com/settings/public).
1636
- sig { returns(String) }
1540
+ sig { returns(T.nilable(String)) }
1637
1541
  attr_accessor :terms_of_service
1638
1542
  sig {
1639
- params(payment_method_reuse_agreement: ::Stripe::Checkout::Session::CreateParams::ConsentCollection::PaymentMethodReuseAgreement, promotions: String, terms_of_service: String).void
1543
+ params(payment_method_reuse_agreement: T.nilable(::Stripe::Checkout::Session::CreateParams::ConsentCollection::PaymentMethodReuseAgreement), promotions: T.nilable(String), terms_of_service: T.nilable(String)).void
1640
1544
  }
1641
1545
  def initialize(
1642
1546
  payment_method_reuse_agreement: nil,
@@ -1657,7 +1561,7 @@ module Stripe
1657
1561
  def initialize(label: nil, value: nil); end
1658
1562
  end
1659
1563
  # The value that will pre-fill the field on the payment page.Must match a `value` in the `options` array.
1660
- sig { returns(String) }
1564
+ sig { returns(T.nilable(String)) }
1661
1565
  attr_accessor :default_value
1662
1566
  # The options available for the customer to select. Up to 200 options allowed.
1663
1567
  sig {
@@ -1665,7 +1569,7 @@ module Stripe
1665
1569
  }
1666
1570
  attr_accessor :options
1667
1571
  sig {
1668
- params(default_value: String, options: T::Array[::Stripe::Checkout::Session::CreateParams::CustomField::Dropdown::Option]).void
1572
+ params(default_value: T.nilable(String), options: T::Array[::Stripe::Checkout::Session::CreateParams::CustomField::Dropdown::Option]).void
1669
1573
  }
1670
1574
  def initialize(default_value: nil, options: nil); end
1671
1575
  end
@@ -1681,36 +1585,38 @@ module Stripe
1681
1585
  end
1682
1586
  class Numeric < Stripe::RequestParams
1683
1587
  # The value that will pre-fill the field on the payment page.
1684
- sig { returns(String) }
1588
+ sig { returns(T.nilable(String)) }
1685
1589
  attr_accessor :default_value
1686
1590
  # The maximum character length constraint for the customer's input.
1687
- sig { returns(Integer) }
1591
+ sig { returns(T.nilable(Integer)) }
1688
1592
  attr_accessor :maximum_length
1689
1593
  # The minimum character length requirement for the customer's input.
1690
- sig { returns(Integer) }
1594
+ sig { returns(T.nilable(Integer)) }
1691
1595
  attr_accessor :minimum_length
1692
1596
  sig {
1693
- params(default_value: String, maximum_length: Integer, minimum_length: Integer).void
1597
+ params(default_value: T.nilable(String), maximum_length: T.nilable(Integer), minimum_length: T.nilable(Integer)).void
1694
1598
  }
1695
1599
  def initialize(default_value: nil, maximum_length: nil, minimum_length: nil); end
1696
1600
  end
1697
1601
  class Text < Stripe::RequestParams
1698
1602
  # The value that will pre-fill the field on the payment page.
1699
- sig { returns(String) }
1603
+ sig { returns(T.nilable(String)) }
1700
1604
  attr_accessor :default_value
1701
1605
  # The maximum character length constraint for the customer's input.
1702
- sig { returns(Integer) }
1606
+ sig { returns(T.nilable(Integer)) }
1703
1607
  attr_accessor :maximum_length
1704
1608
  # The minimum character length requirement for the customer's input.
1705
- sig { returns(Integer) }
1609
+ sig { returns(T.nilable(Integer)) }
1706
1610
  attr_accessor :minimum_length
1707
1611
  sig {
1708
- params(default_value: String, maximum_length: Integer, minimum_length: Integer).void
1612
+ params(default_value: T.nilable(String), maximum_length: T.nilable(Integer), minimum_length: T.nilable(Integer)).void
1709
1613
  }
1710
1614
  def initialize(default_value: nil, maximum_length: nil, minimum_length: nil); end
1711
1615
  end
1712
1616
  # Configuration for `type=dropdown` fields.
1713
- sig { returns(::Stripe::Checkout::Session::CreateParams::CustomField::Dropdown) }
1617
+ sig {
1618
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::CustomField::Dropdown))
1619
+ }
1714
1620
  attr_accessor :dropdown
1715
1621
  # 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.
1716
1622
  sig { returns(String) }
@@ -1719,19 +1625,21 @@ module Stripe
1719
1625
  sig { returns(::Stripe::Checkout::Session::CreateParams::CustomField::Label) }
1720
1626
  attr_accessor :label
1721
1627
  # Configuration for `type=numeric` fields.
1722
- sig { returns(::Stripe::Checkout::Session::CreateParams::CustomField::Numeric) }
1628
+ sig {
1629
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::CustomField::Numeric))
1630
+ }
1723
1631
  attr_accessor :numeric
1724
1632
  # Whether the customer is required to complete the field before completing the Checkout Session. Defaults to `false`.
1725
- sig { returns(T::Boolean) }
1633
+ sig { returns(T.nilable(T::Boolean)) }
1726
1634
  attr_accessor :optional
1727
1635
  # Configuration for `type=text` fields.
1728
- sig { returns(::Stripe::Checkout::Session::CreateParams::CustomField::Text) }
1636
+ sig { returns(T.nilable(::Stripe::Checkout::Session::CreateParams::CustomField::Text)) }
1729
1637
  attr_accessor :text
1730
1638
  # The type of the field.
1731
1639
  sig { returns(String) }
1732
1640
  attr_accessor :type
1733
1641
  sig {
1734
- params(dropdown: ::Stripe::Checkout::Session::CreateParams::CustomField::Dropdown, key: String, label: ::Stripe::Checkout::Session::CreateParams::CustomField::Label, numeric: ::Stripe::Checkout::Session::CreateParams::CustomField::Numeric, optional: T::Boolean, text: ::Stripe::Checkout::Session::CreateParams::CustomField::Text, type: String).void
1642
+ params(dropdown: T.nilable(::Stripe::Checkout::Session::CreateParams::CustomField::Dropdown), key: String, label: ::Stripe::Checkout::Session::CreateParams::CustomField::Label, numeric: T.nilable(::Stripe::Checkout::Session::CreateParams::CustomField::Numeric), optional: T.nilable(T::Boolean), text: T.nilable(::Stripe::Checkout::Session::CreateParams::CustomField::Text), type: String).void
1735
1643
  }
1736
1644
  def initialize(
1737
1645
  dropdown: nil,
@@ -1774,24 +1682,26 @@ module Stripe
1774
1682
  end
1775
1683
  # Custom text that should be displayed after the payment confirmation button.
1776
1684
  sig {
1777
- returns(T.nilable(::Stripe::Checkout::Session::CreateParams::CustomText::AfterSubmit))
1685
+ returns(T.nilable(T.nilable(T.any(String, ::Stripe::Checkout::Session::CreateParams::CustomText::AfterSubmit))))
1778
1686
  }
1779
1687
  attr_accessor :after_submit
1780
1688
  # Custom text that should be displayed alongside shipping address collection.
1781
1689
  sig {
1782
- returns(T.nilable(::Stripe::Checkout::Session::CreateParams::CustomText::ShippingAddress))
1690
+ returns(T.nilable(T.nilable(T.any(String, ::Stripe::Checkout::Session::CreateParams::CustomText::ShippingAddress))))
1783
1691
  }
1784
1692
  attr_accessor :shipping_address
1785
1693
  # Custom text that should be displayed alongside the payment confirmation button.
1786
- sig { returns(T.nilable(::Stripe::Checkout::Session::CreateParams::CustomText::Submit)) }
1694
+ sig {
1695
+ returns(T.nilable(T.nilable(T.any(String, ::Stripe::Checkout::Session::CreateParams::CustomText::Submit))))
1696
+ }
1787
1697
  attr_accessor :submit
1788
1698
  # Custom text that should be displayed in place of the default terms of service agreement text.
1789
1699
  sig {
1790
- returns(T.nilable(::Stripe::Checkout::Session::CreateParams::CustomText::TermsOfServiceAcceptance))
1700
+ returns(T.nilable(T.nilable(T.any(String, ::Stripe::Checkout::Session::CreateParams::CustomText::TermsOfServiceAcceptance))))
1791
1701
  }
1792
1702
  attr_accessor :terms_of_service_acceptance
1793
1703
  sig {
1794
- params(after_submit: T.nilable(::Stripe::Checkout::Session::CreateParams::CustomText::AfterSubmit), shipping_address: T.nilable(::Stripe::Checkout::Session::CreateParams::CustomText::ShippingAddress), submit: T.nilable(::Stripe::Checkout::Session::CreateParams::CustomText::Submit), terms_of_service_acceptance: T.nilable(::Stripe::Checkout::Session::CreateParams::CustomText::TermsOfServiceAcceptance)).void
1704
+ params(after_submit: T.nilable(T.nilable(T.any(String, ::Stripe::Checkout::Session::CreateParams::CustomText::AfterSubmit))), shipping_address: T.nilable(T.nilable(T.any(String, ::Stripe::Checkout::Session::CreateParams::CustomText::ShippingAddress))), submit: T.nilable(T.nilable(T.any(String, ::Stripe::Checkout::Session::CreateParams::CustomText::Submit))), terms_of_service_acceptance: T.nilable(T.nilable(T.any(String, ::Stripe::Checkout::Session::CreateParams::CustomText::TermsOfServiceAcceptance)))).void
1795
1705
  }
1796
1706
  def initialize(
1797
1707
  after_submit: nil,
@@ -1803,26 +1713,28 @@ module Stripe
1803
1713
  class CustomerUpdate < Stripe::RequestParams
1804
1714
  # Describes whether Checkout saves the billing address onto `customer.address`.
1805
1715
  # To always collect a full billing address, use `billing_address_collection`. Defaults to `never`.
1806
- sig { returns(String) }
1716
+ sig { returns(T.nilable(String)) }
1807
1717
  attr_accessor :address
1808
1718
  # Describes whether Checkout saves the name onto `customer.name`. Defaults to `never`.
1809
- sig { returns(String) }
1719
+ sig { returns(T.nilable(String)) }
1810
1720
  attr_accessor :name
1811
1721
  # Describes whether Checkout saves shipping information onto `customer.shipping`.
1812
1722
  # To collect shipping information, use `shipping_address_collection`. Defaults to `never`.
1813
- sig { returns(String) }
1723
+ sig { returns(T.nilable(String)) }
1814
1724
  attr_accessor :shipping
1815
- sig { params(address: String, name: String, shipping: String).void }
1725
+ sig {
1726
+ params(address: T.nilable(String), name: T.nilable(String), shipping: T.nilable(String)).void
1727
+ }
1816
1728
  def initialize(address: nil, name: nil, shipping: nil); end
1817
1729
  end
1818
1730
  class Discount < Stripe::RequestParams
1819
1731
  # The ID of the coupon to apply to this Session.
1820
- sig { returns(String) }
1732
+ sig { returns(T.nilable(String)) }
1821
1733
  attr_accessor :coupon
1822
1734
  # The ID of a promotion code to apply to this Session.
1823
- sig { returns(String) }
1735
+ sig { returns(T.nilable(String)) }
1824
1736
  attr_accessor :promotion_code
1825
- sig { params(coupon: String, promotion_code: String).void }
1737
+ sig { params(coupon: T.nilable(String), promotion_code: T.nilable(String)).void }
1826
1738
  def initialize(coupon: nil, promotion_code: nil); end
1827
1739
  end
1828
1740
  class InvoiceCreation < Stripe::RequestParams
@@ -1839,50 +1751,50 @@ module Stripe
1839
1751
  end
1840
1752
  class Issuer < Stripe::RequestParams
1841
1753
  # The connected account being referenced when `type` is `account`.
1842
- sig { returns(String) }
1754
+ sig { returns(T.nilable(String)) }
1843
1755
  attr_accessor :account
1844
1756
  # Type of the account referenced in the request.
1845
1757
  sig { returns(String) }
1846
1758
  attr_accessor :type
1847
- sig { params(account: String, type: String).void }
1759
+ sig { params(account: T.nilable(String), type: String).void }
1848
1760
  def initialize(account: nil, type: nil); end
1849
1761
  end
1850
1762
  class RenderingOptions < Stripe::RequestParams
1851
1763
  # 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.
1852
- sig { returns(T.nilable(String)) }
1764
+ sig { returns(T.nilable(T.nilable(T.any(String, String)))) }
1853
1765
  attr_accessor :amount_tax_display
1854
- sig { params(amount_tax_display: T.nilable(String)).void }
1766
+ sig { params(amount_tax_display: T.nilable(T.nilable(T.any(String, String)))).void }
1855
1767
  def initialize(amount_tax_display: nil); end
1856
1768
  end
1857
1769
  # The account tax IDs associated with the invoice.
1858
- sig { returns(T.nilable(T::Array[String])) }
1770
+ sig { returns(T.nilable(T.nilable(T.any(String, T::Array[String])))) }
1859
1771
  attr_accessor :account_tax_ids
1860
1772
  # Default custom fields to be displayed on invoices for this customer.
1861
1773
  sig {
1862
- returns(T.nilable(T::Array[::Stripe::Checkout::Session::CreateParams::InvoiceCreation::InvoiceData::CustomField]))
1774
+ returns(T.nilable(T.nilable(T.any(String, T::Array[::Stripe::Checkout::Session::CreateParams::InvoiceCreation::InvoiceData::CustomField]))))
1863
1775
  }
1864
1776
  attr_accessor :custom_fields
1865
1777
  # An arbitrary string attached to the object. Often useful for displaying to users.
1866
- sig { returns(String) }
1778
+ sig { returns(T.nilable(String)) }
1867
1779
  attr_accessor :description
1868
1780
  # Default footer to be displayed on invoices for this customer.
1869
- sig { returns(String) }
1781
+ sig { returns(T.nilable(String)) }
1870
1782
  attr_accessor :footer
1871
1783
  # The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account.
1872
1784
  sig {
1873
- returns(::Stripe::Checkout::Session::CreateParams::InvoiceCreation::InvoiceData::Issuer)
1785
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::InvoiceCreation::InvoiceData::Issuer))
1874
1786
  }
1875
1787
  attr_accessor :issuer
1876
1788
  # 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`.
1877
- sig { returns(T::Hash[String, String]) }
1789
+ sig { returns(T.nilable(T::Hash[String, String])) }
1878
1790
  attr_accessor :metadata
1879
1791
  # Default options for invoice PDF rendering for this customer.
1880
1792
  sig {
1881
- returns(T.nilable(::Stripe::Checkout::Session::CreateParams::InvoiceCreation::InvoiceData::RenderingOptions))
1793
+ returns(T.nilable(T.nilable(T.any(String, ::Stripe::Checkout::Session::CreateParams::InvoiceCreation::InvoiceData::RenderingOptions))))
1882
1794
  }
1883
1795
  attr_accessor :rendering_options
1884
1796
  sig {
1885
- params(account_tax_ids: T.nilable(T::Array[String]), custom_fields: T.nilable(T::Array[::Stripe::Checkout::Session::CreateParams::InvoiceCreation::InvoiceData::CustomField]), description: String, footer: String, issuer: ::Stripe::Checkout::Session::CreateParams::InvoiceCreation::InvoiceData::Issuer, metadata: T::Hash[String, String], rendering_options: T.nilable(::Stripe::Checkout::Session::CreateParams::InvoiceCreation::InvoiceData::RenderingOptions)).void
1797
+ 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::Session::CreateParams::InvoiceCreation::InvoiceData::CustomField]))), description: T.nilable(String), footer: T.nilable(String), issuer: T.nilable(::Stripe::Checkout::Session::CreateParams::InvoiceCreation::InvoiceData::Issuer), metadata: T.nilable(T::Hash[String, String]), rendering_options: T.nilable(T.nilable(T.any(String, ::Stripe::Checkout::Session::CreateParams::InvoiceCreation::InvoiceData::RenderingOptions)))).void
1886
1798
  }
1887
1799
  def initialize(
1888
1800
  account_tax_ids: nil,
@@ -1898,10 +1810,12 @@ module Stripe
1898
1810
  sig { returns(T::Boolean) }
1899
1811
  attr_accessor :enabled
1900
1812
  # Parameters passed when creating invoices for payment-mode Checkout Sessions.
1901
- sig { returns(::Stripe::Checkout::Session::CreateParams::InvoiceCreation::InvoiceData) }
1813
+ sig {
1814
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::InvoiceCreation::InvoiceData))
1815
+ }
1902
1816
  attr_accessor :invoice_data
1903
1817
  sig {
1904
- params(enabled: T::Boolean, invoice_data: ::Stripe::Checkout::Session::CreateParams::InvoiceCreation::InvoiceData).void
1818
+ params(enabled: T::Boolean, invoice_data: T.nilable(::Stripe::Checkout::Session::CreateParams::InvoiceCreation::InvoiceData)).void
1905
1819
  }
1906
1820
  def initialize(enabled: nil, invoice_data: nil); end
1907
1821
  end
@@ -1911,33 +1825,35 @@ module Stripe
1911
1825
  sig { returns(T::Boolean) }
1912
1826
  attr_accessor :enabled
1913
1827
  # 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.
1914
- sig { returns(Integer) }
1828
+ sig { returns(T.nilable(Integer)) }
1915
1829
  attr_accessor :maximum
1916
1830
  # The minimum quantity the customer must purchase for the Checkout Session. By default this value is 0.
1917
- sig { returns(Integer) }
1831
+ sig { returns(T.nilable(Integer)) }
1918
1832
  attr_accessor :minimum
1919
- sig { params(enabled: T::Boolean, maximum: Integer, minimum: Integer).void }
1833
+ sig {
1834
+ params(enabled: T::Boolean, maximum: T.nilable(Integer), minimum: T.nilable(Integer)).void
1835
+ }
1920
1836
  def initialize(enabled: nil, maximum: nil, minimum: nil); end
1921
1837
  end
1922
1838
  class PriceData < Stripe::RequestParams
1923
1839
  class ProductData < Stripe::RequestParams
1924
1840
  # 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.
1925
- sig { returns(String) }
1841
+ sig { returns(T.nilable(String)) }
1926
1842
  attr_accessor :description
1927
1843
  # A list of up to 8 URLs of images for this product, meant to be displayable to the customer.
1928
- sig { returns(T::Array[String]) }
1844
+ sig { returns(T.nilable(T::Array[String])) }
1929
1845
  attr_accessor :images
1930
1846
  # 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`.
1931
- sig { returns(T::Hash[String, String]) }
1847
+ sig { returns(T.nilable(T::Hash[String, String])) }
1932
1848
  attr_accessor :metadata
1933
1849
  # The product's name, meant to be displayable to the customer.
1934
1850
  sig { returns(String) }
1935
1851
  attr_accessor :name
1936
1852
  # A [tax code](https://stripe.com/docs/tax/tax-categories) ID.
1937
- sig { returns(String) }
1853
+ sig { returns(T.nilable(String)) }
1938
1854
  attr_accessor :tax_code
1939
1855
  sig {
1940
- params(description: String, images: T::Array[String], metadata: T::Hash[String, String], name: String, tax_code: String).void
1856
+ 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
1941
1857
  }
1942
1858
  def initialize(
1943
1859
  description: nil,
@@ -1952,38 +1868,38 @@ module Stripe
1952
1868
  sig { returns(String) }
1953
1869
  attr_accessor :interval
1954
1870
  # 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).
1955
- sig { returns(Integer) }
1871
+ sig { returns(T.nilable(Integer)) }
1956
1872
  attr_accessor :interval_count
1957
- sig { params(interval: String, interval_count: Integer).void }
1873
+ sig { params(interval: String, interval_count: T.nilable(Integer)).void }
1958
1874
  def initialize(interval: nil, interval_count: nil); end
1959
1875
  end
1960
1876
  # 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).
1961
1877
  sig { returns(String) }
1962
1878
  attr_accessor :currency
1963
- # The ID of the product that this price will belong to. One of `product` or `product_data` is required.
1964
- sig { returns(String) }
1879
+ # 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.
1880
+ sig { returns(T.nilable(String)) }
1965
1881
  attr_accessor :product
1966
- # Data used to generate a new product object inline. One of `product` or `product_data` is required.
1882
+ # Data used to generate a new [Product](https://docs.stripe.com/api/products) object inline. One of `product` or `product_data` is required.
1967
1883
  sig {
1968
- returns(::Stripe::Checkout::Session::CreateParams::LineItem::PriceData::ProductData)
1884
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::LineItem::PriceData::ProductData))
1969
1885
  }
1970
1886
  attr_accessor :product_data
1971
1887
  # The recurring components of a price such as `interval` and `interval_count`.
1972
1888
  sig {
1973
- returns(::Stripe::Checkout::Session::CreateParams::LineItem::PriceData::Recurring)
1889
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::LineItem::PriceData::Recurring))
1974
1890
  }
1975
1891
  attr_accessor :recurring
1976
1892
  # 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.
1977
- sig { returns(String) }
1893
+ sig { returns(T.nilable(String)) }
1978
1894
  attr_accessor :tax_behavior
1979
1895
  # A non-negative integer in cents (or local equivalent) representing how much to charge. One of `unit_amount` or `unit_amount_decimal` is required.
1980
- sig { returns(Integer) }
1896
+ sig { returns(T.nilable(Integer)) }
1981
1897
  attr_accessor :unit_amount
1982
1898
  # 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.
1983
- sig { returns(String) }
1899
+ sig { returns(T.nilable(String)) }
1984
1900
  attr_accessor :unit_amount_decimal
1985
1901
  sig {
1986
- params(currency: String, product: String, product_data: ::Stripe::Checkout::Session::CreateParams::LineItem::PriceData::ProductData, recurring: ::Stripe::Checkout::Session::CreateParams::LineItem::PriceData::Recurring, tax_behavior: String, unit_amount: Integer, unit_amount_decimal: String).void
1902
+ params(currency: String, product: T.nilable(String), product_data: T.nilable(::Stripe::Checkout::Session::CreateParams::LineItem::PriceData::ProductData), recurring: T.nilable(::Stripe::Checkout::Session::CreateParams::LineItem::PriceData::Recurring), tax_behavior: T.nilable(String), unit_amount: T.nilable(Integer), unit_amount_decimal: T.nilable(String)).void
1987
1903
  }
1988
1904
  def initialize(
1989
1905
  currency: nil,
@@ -1996,62 +1912,92 @@ module Stripe
1996
1912
  ); end
1997
1913
  end
1998
1914
  # When set, provides configuration for this item’s quantity to be adjusted by the customer during Checkout.
1999
- sig { returns(::Stripe::Checkout::Session::CreateParams::LineItem::AdjustableQuantity) }
1915
+ sig {
1916
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::LineItem::AdjustableQuantity))
1917
+ }
2000
1918
  attr_accessor :adjustable_quantity
2001
1919
  # 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.
2002
- sig { returns(T::Array[String]) }
1920
+ sig { returns(T.nilable(T::Array[String])) }
2003
1921
  attr_accessor :dynamic_tax_rates
2004
- # 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`.
2005
- sig { returns(T::Hash[String, String]) }
2006
- attr_accessor :metadata
2007
1922
  # 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.
2008
- sig { returns(String) }
1923
+ sig { returns(T.nilable(String)) }
2009
1924
  attr_accessor :price
2010
1925
  # Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline. One of `price` or `price_data` is required.
2011
- sig { returns(::Stripe::Checkout::Session::CreateParams::LineItem::PriceData) }
1926
+ sig { returns(T.nilable(::Stripe::Checkout::Session::CreateParams::LineItem::PriceData)) }
2012
1927
  attr_accessor :price_data
2013
1928
  # The quantity of the line item being purchased. Quantity should not be defined when `recurring.usage_type=metered`.
2014
- sig { returns(Integer) }
1929
+ sig { returns(T.nilable(Integer)) }
2015
1930
  attr_accessor :quantity
2016
1931
  # The [tax rates](https://stripe.com/docs/api/tax_rates) which apply to this line item.
2017
- sig { returns(T::Array[String]) }
1932
+ sig { returns(T.nilable(T::Array[String])) }
2018
1933
  attr_accessor :tax_rates
2019
1934
  sig {
2020
- params(adjustable_quantity: ::Stripe::Checkout::Session::CreateParams::LineItem::AdjustableQuantity, dynamic_tax_rates: T::Array[String], metadata: T::Hash[String, String], price: String, price_data: ::Stripe::Checkout::Session::CreateParams::LineItem::PriceData, quantity: Integer, tax_rates: T::Array[String]).void
1935
+ params(adjustable_quantity: T.nilable(::Stripe::Checkout::Session::CreateParams::LineItem::AdjustableQuantity), dynamic_tax_rates: T.nilable(T::Array[String]), price: T.nilable(String), price_data: T.nilable(::Stripe::Checkout::Session::CreateParams::LineItem::PriceData), quantity: T.nilable(Integer), tax_rates: T.nilable(T::Array[String])).void
2021
1936
  }
2022
1937
  def initialize(
2023
1938
  adjustable_quantity: nil,
2024
1939
  dynamic_tax_rates: nil,
2025
- metadata: nil,
2026
1940
  price: nil,
2027
1941
  price_data: nil,
2028
1942
  quantity: nil,
2029
1943
  tax_rates: nil
2030
1944
  ); end
2031
1945
  end
1946
+ class OptionalItem < Stripe::RequestParams
1947
+ class AdjustableQuantity < Stripe::RequestParams
1948
+ # Set to true if the quantity can be adjusted to any non-negative integer.
1949
+ sig { returns(T::Boolean) }
1950
+ attr_accessor :enabled
1951
+ # The maximum quantity of this item the customer can purchase. By default this value is 99. You can specify a value up to 999999.
1952
+ sig { returns(T.nilable(Integer)) }
1953
+ attr_accessor :maximum
1954
+ # 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.
1955
+ sig { returns(T.nilable(Integer)) }
1956
+ attr_accessor :minimum
1957
+ sig {
1958
+ params(enabled: T::Boolean, maximum: T.nilable(Integer), minimum: T.nilable(Integer)).void
1959
+ }
1960
+ def initialize(enabled: nil, maximum: nil, minimum: nil); end
1961
+ end
1962
+ # 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.
1963
+ sig {
1964
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::OptionalItem::AdjustableQuantity))
1965
+ }
1966
+ attr_accessor :adjustable_quantity
1967
+ # The ID of the [Price](https://stripe.com/docs/api/prices) or [Plan](https://stripe.com/docs/api/plans) object.
1968
+ sig { returns(String) }
1969
+ attr_accessor :price
1970
+ # The initial quantity of the line item created when a customer chooses to add this optional item to their order.
1971
+ sig { returns(Integer) }
1972
+ attr_accessor :quantity
1973
+ sig {
1974
+ params(adjustable_quantity: T.nilable(::Stripe::Checkout::Session::CreateParams::OptionalItem::AdjustableQuantity), price: String, quantity: Integer).void
1975
+ }
1976
+ def initialize(adjustable_quantity: nil, price: nil, quantity: nil); end
1977
+ end
2032
1978
  class PaymentIntentData < Stripe::RequestParams
2033
1979
  class Shipping < Stripe::RequestParams
2034
1980
  class Address < Stripe::RequestParams
2035
1981
  # City, district, suburb, town, or village.
2036
- sig { returns(String) }
1982
+ sig { returns(T.nilable(String)) }
2037
1983
  attr_accessor :city
2038
1984
  # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
2039
- sig { returns(String) }
1985
+ sig { returns(T.nilable(String)) }
2040
1986
  attr_accessor :country
2041
1987
  # Address line 1 (e.g., street, PO Box, or company name).
2042
1988
  sig { returns(String) }
2043
1989
  attr_accessor :line1
2044
1990
  # Address line 2 (e.g., apartment, suite, unit, or building).
2045
- sig { returns(String) }
1991
+ sig { returns(T.nilable(String)) }
2046
1992
  attr_accessor :line2
2047
1993
  # ZIP or postal code.
2048
- sig { returns(String) }
1994
+ sig { returns(T.nilable(String)) }
2049
1995
  attr_accessor :postal_code
2050
1996
  # State, county, province, or region.
2051
- sig { returns(String) }
1997
+ sig { returns(T.nilable(String)) }
2052
1998
  attr_accessor :state
2053
1999
  sig {
2054
- params(city: String, country: String, line1: String, line2: String, postal_code: String, state: String).void
2000
+ 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
2055
2001
  }
2056
2002
  def initialize(
2057
2003
  city: nil,
@@ -2068,19 +2014,19 @@ module Stripe
2068
2014
  }
2069
2015
  attr_accessor :address
2070
2016
  # The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc.
2071
- sig { returns(String) }
2017
+ sig { returns(T.nilable(String)) }
2072
2018
  attr_accessor :carrier
2073
2019
  # Recipient name.
2074
2020
  sig { returns(String) }
2075
2021
  attr_accessor :name
2076
2022
  # Recipient phone (including extension).
2077
- sig { returns(String) }
2023
+ sig { returns(T.nilable(String)) }
2078
2024
  attr_accessor :phone
2079
2025
  # 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.
2080
- sig { returns(String) }
2026
+ sig { returns(T.nilable(String)) }
2081
2027
  attr_accessor :tracking_number
2082
2028
  sig {
2083
- params(address: ::Stripe::Checkout::Session::CreateParams::PaymentIntentData::Shipping::Address, carrier: String, name: String, phone: String, tracking_number: String).void
2029
+ params(address: ::Stripe::Checkout::Session::CreateParams::PaymentIntentData::Shipping::Address, carrier: T.nilable(String), name: String, phone: T.nilable(String), tracking_number: T.nilable(String)).void
2084
2030
  }
2085
2031
  def initialize(
2086
2032
  address: nil,
@@ -2092,7 +2038,7 @@ module Stripe
2092
2038
  end
2093
2039
  class TransferData < Stripe::RequestParams
2094
2040
  # The amount that will be transferred automatically when a charge succeeds.
2095
- sig { returns(Integer) }
2041
+ sig { returns(T.nilable(Integer)) }
2096
2042
  attr_accessor :amount
2097
2043
  # If specified, successful charges will be attributed to the destination
2098
2044
  # account for tax reporting, and the funds from charges will be transferred
@@ -2100,28 +2046,28 @@ module Stripe
2100
2046
  # returned on the successful charge's `transfer` field.
2101
2047
  sig { returns(String) }
2102
2048
  attr_accessor :destination
2103
- sig { params(amount: Integer, destination: String).void }
2049
+ sig { params(amount: T.nilable(Integer), destination: String).void }
2104
2050
  def initialize(amount: nil, destination: nil); end
2105
2051
  end
2106
- # 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).
2107
- sig { returns(Integer) }
2052
+ # 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).
2053
+ sig { returns(T.nilable(Integer)) }
2108
2054
  attr_accessor :application_fee_amount
2109
2055
  # Controls when the funds will be captured from the customer's account.
2110
- sig { returns(String) }
2056
+ sig { returns(T.nilable(String)) }
2111
2057
  attr_accessor :capture_method
2112
2058
  # An arbitrary string attached to the object. Often useful for displaying to users.
2113
- sig { returns(String) }
2059
+ sig { returns(T.nilable(String)) }
2114
2060
  attr_accessor :description
2115
2061
  # 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`.
2116
- sig { returns(T::Hash[String, String]) }
2062
+ sig { returns(T.nilable(T::Hash[String, String])) }
2117
2063
  attr_accessor :metadata
2118
2064
  # The Stripe account ID for which these funds are intended. For details,
2119
2065
  # see the PaymentIntents [use case for connected
2120
2066
  # accounts](/docs/payments/connected-accounts).
2121
- sig { returns(String) }
2067
+ sig { returns(T.nilable(String)) }
2122
2068
  attr_accessor :on_behalf_of
2123
2069
  # 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).
2124
- sig { returns(String) }
2070
+ sig { returns(T.nilable(String)) }
2125
2071
  attr_accessor :receipt_email
2126
2072
  # Indicates that you intend to [make future payments](https://stripe.com/docs/payments/payment-intents#future-usage) with the payment
2127
2073
  # method collected by this Checkout Session.
@@ -2143,30 +2089,32 @@ module Stripe
2143
2089
  # When processing card payments, Checkout also uses `setup_future_usage`
2144
2090
  # to dynamically optimize your payment flow and comply with regional
2145
2091
  # legislation and network rules, such as SCA.
2146
- sig { returns(String) }
2092
+ sig { returns(T.nilable(String)) }
2147
2093
  attr_accessor :setup_future_usage
2148
2094
  # Shipping information for this payment.
2149
- sig { returns(::Stripe::Checkout::Session::CreateParams::PaymentIntentData::Shipping) }
2095
+ sig {
2096
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentIntentData::Shipping))
2097
+ }
2150
2098
  attr_accessor :shipping
2151
2099
  # 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).
2152
2100
  #
2153
2101
  # 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.
2154
- sig { returns(String) }
2102
+ sig { returns(T.nilable(String)) }
2155
2103
  attr_accessor :statement_descriptor
2156
2104
  # 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.
2157
- sig { returns(String) }
2105
+ sig { returns(T.nilable(String)) }
2158
2106
  attr_accessor :statement_descriptor_suffix
2159
2107
  # The parameters used to automatically create a Transfer when the payment succeeds.
2160
2108
  # For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts).
2161
2109
  sig {
2162
- returns(::Stripe::Checkout::Session::CreateParams::PaymentIntentData::TransferData)
2110
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentIntentData::TransferData))
2163
2111
  }
2164
2112
  attr_accessor :transfer_data
2165
2113
  # 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.
2166
- sig { returns(String) }
2114
+ sig { returns(T.nilable(String)) }
2167
2115
  attr_accessor :transfer_group
2168
2116
  sig {
2169
- 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::Session::CreateParams::PaymentIntentData::Shipping, statement_descriptor: String, statement_descriptor_suffix: String, transfer_data: ::Stripe::Checkout::Session::CreateParams::PaymentIntentData::TransferData, transfer_group: String).void
2117
+ 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::Session::CreateParams::PaymentIntentData::Shipping), statement_descriptor: T.nilable(String), statement_descriptor_suffix: T.nilable(String), transfer_data: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentIntentData::TransferData), transfer_group: T.nilable(String)).void
2170
2118
  }
2171
2119
  def initialize(
2172
2120
  application_fee_amount: nil,
@@ -2185,9 +2133,9 @@ module Stripe
2185
2133
  end
2186
2134
  class PaymentMethodData < Stripe::RequestParams
2187
2135
  # 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.
2188
- sig { returns(String) }
2136
+ sig { returns(T.nilable(String)) }
2189
2137
  attr_accessor :allow_redisplay
2190
- sig { params(allow_redisplay: String).void }
2138
+ sig { params(allow_redisplay: T.nilable(String)).void }
2191
2139
  def initialize(allow_redisplay: nil); end
2192
2140
  end
2193
2141
  class PaymentMethodOptions < Stripe::RequestParams
@@ -2196,22 +2144,22 @@ module Stripe
2196
2144
  # A URL for custom mandate text to render during confirmation step.
2197
2145
  # The URL will be rendered with additional GET parameters `payment_intent` and `payment_intent_client_secret` when confirming a Payment Intent,
2198
2146
  # or `setup_intent` and `setup_intent_client_secret` when confirming a Setup Intent.
2199
- sig { returns(T.nilable(String)) }
2147
+ sig { returns(T.nilable(T.nilable(String))) }
2200
2148
  attr_accessor :custom_mandate_url
2201
2149
  # List of Stripe products where this mandate can be selected automatically. Only usable in `setup` mode.
2202
- sig { returns(T::Array[String]) }
2150
+ sig { returns(T.nilable(T::Array[String])) }
2203
2151
  attr_accessor :default_for
2204
2152
  # Description of the mandate interval. Only required if 'payment_schedule' parameter is 'interval' or 'combined'.
2205
- sig { returns(String) }
2153
+ sig { returns(T.nilable(String)) }
2206
2154
  attr_accessor :interval_description
2207
2155
  # Payment schedule for the mandate.
2208
- sig { returns(String) }
2156
+ sig { returns(T.nilable(String)) }
2209
2157
  attr_accessor :payment_schedule
2210
2158
  # Transaction type of the mandate.
2211
- sig { returns(String) }
2159
+ sig { returns(T.nilable(String)) }
2212
2160
  attr_accessor :transaction_type
2213
2161
  sig {
2214
- params(custom_mandate_url: T.nilable(String), default_for: T::Array[String], interval_description: String, payment_schedule: String, transaction_type: String).void
2162
+ 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
2215
2163
  }
2216
2164
  def initialize(
2217
2165
  custom_mandate_url: nil,
@@ -2222,11 +2170,11 @@ module Stripe
2222
2170
  ); end
2223
2171
  end
2224
2172
  # 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.
2225
- sig { returns(String) }
2173
+ sig { returns(T.nilable(String)) }
2226
2174
  attr_accessor :currency
2227
2175
  # Additional fields for Mandate creation
2228
2176
  sig {
2229
- returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::AcssDebit::MandateOptions)
2177
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::AcssDebit::MandateOptions))
2230
2178
  }
2231
2179
  attr_accessor :mandate_options
2232
2180
  # Indicates that you intend to make future payments with this PaymentIntent's payment method.
@@ -2236,16 +2184,16 @@ module Stripe
2236
2184
  # 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.
2237
2185
  #
2238
2186
  # 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).
2239
- sig { returns(String) }
2187
+ sig { returns(T.nilable(String)) }
2240
2188
  attr_accessor :setup_future_usage
2241
2189
  # 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.
2242
- sig { returns(String) }
2190
+ sig { returns(T.nilable(String)) }
2243
2191
  attr_accessor :target_date
2244
2192
  # Verification method for the intent
2245
- sig { returns(String) }
2193
+ sig { returns(T.nilable(String)) }
2246
2194
  attr_accessor :verification_method
2247
2195
  sig {
2248
- params(currency: String, mandate_options: ::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::AcssDebit::MandateOptions, setup_future_usage: String, target_date: String, verification_method: String).void
2196
+ params(currency: T.nilable(String), mandate_options: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::AcssDebit::MandateOptions), setup_future_usage: T.nilable(String), target_date: T.nilable(String), verification_method: T.nilable(String)).void
2249
2197
  }
2250
2198
  def initialize(
2251
2199
  currency: nil,
@@ -2263,9 +2211,9 @@ module Stripe
2263
2211
  # 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.
2264
2212
  #
2265
2213
  # 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).
2266
- sig { returns(String) }
2214
+ sig { returns(T.nilable(String)) }
2267
2215
  attr_accessor :setup_future_usage
2268
- sig { params(setup_future_usage: String).void }
2216
+ sig { params(setup_future_usage: T.nilable(String)).void }
2269
2217
  def initialize(setup_future_usage: nil); end
2270
2218
  end
2271
2219
  class AfterpayClearpay < Stripe::RequestParams
@@ -2276,9 +2224,9 @@ module Stripe
2276
2224
  # 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.
2277
2225
  #
2278
2226
  # 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).
2279
- sig { returns(String) }
2227
+ sig { returns(T.nilable(String)) }
2280
2228
  attr_accessor :setup_future_usage
2281
- sig { params(setup_future_usage: String).void }
2229
+ sig { params(setup_future_usage: T.nilable(String)).void }
2282
2230
  def initialize(setup_future_usage: nil); end
2283
2231
  end
2284
2232
  class Alipay < Stripe::RequestParams
@@ -2289,9 +2237,9 @@ module Stripe
2289
2237
  # 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.
2290
2238
  #
2291
2239
  # 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).
2292
- sig { returns(String) }
2240
+ sig { returns(T.nilable(String)) }
2293
2241
  attr_accessor :setup_future_usage
2294
- sig { params(setup_future_usage: String).void }
2242
+ sig { params(setup_future_usage: T.nilable(String)).void }
2295
2243
  def initialize(setup_future_usage: nil); end
2296
2244
  end
2297
2245
  class AmazonPay < Stripe::RequestParams
@@ -2302,9 +2250,9 @@ module Stripe
2302
2250
  # 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.
2303
2251
  #
2304
2252
  # 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).
2305
- sig { returns(String) }
2253
+ sig { returns(T.nilable(String)) }
2306
2254
  attr_accessor :setup_future_usage
2307
- sig { params(setup_future_usage: String).void }
2255
+ sig { params(setup_future_usage: T.nilable(String)).void }
2308
2256
  def initialize(setup_future_usage: nil); end
2309
2257
  end
2310
2258
  class AuBecsDebit < Stripe::RequestParams
@@ -2315,25 +2263,27 @@ module Stripe
2315
2263
  # 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.
2316
2264
  #
2317
2265
  # 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).
2318
- sig { returns(String) }
2266
+ sig { returns(T.nilable(String)) }
2319
2267
  attr_accessor :setup_future_usage
2320
2268
  # 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.
2321
- sig { returns(String) }
2269
+ sig { returns(T.nilable(String)) }
2322
2270
  attr_accessor :target_date
2323
- sig { params(setup_future_usage: String, target_date: String).void }
2271
+ sig {
2272
+ params(setup_future_usage: T.nilable(String), target_date: T.nilable(String)).void
2273
+ }
2324
2274
  def initialize(setup_future_usage: nil, target_date: nil); end
2325
2275
  end
2326
2276
  class BacsDebit < Stripe::RequestParams
2327
2277
  class MandateOptions < Stripe::RequestParams
2328
2278
  # 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'.
2329
- sig { returns(T.nilable(String)) }
2279
+ sig { returns(T.nilable(T.nilable(String))) }
2330
2280
  attr_accessor :reference_prefix
2331
- sig { params(reference_prefix: T.nilable(String)).void }
2281
+ sig { params(reference_prefix: T.nilable(T.nilable(String))).void }
2332
2282
  def initialize(reference_prefix: nil); end
2333
2283
  end
2334
2284
  # Additional fields for Mandate creation
2335
2285
  sig {
2336
- returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::BacsDebit::MandateOptions)
2286
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::BacsDebit::MandateOptions))
2337
2287
  }
2338
2288
  attr_accessor :mandate_options
2339
2289
  # Indicates that you intend to make future payments with this PaymentIntent's payment method.
@@ -2343,13 +2293,13 @@ module Stripe
2343
2293
  # 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.
2344
2294
  #
2345
2295
  # 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).
2346
- sig { returns(String) }
2296
+ sig { returns(T.nilable(String)) }
2347
2297
  attr_accessor :setup_future_usage
2348
2298
  # 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.
2349
- sig { returns(String) }
2299
+ sig { returns(T.nilable(String)) }
2350
2300
  attr_accessor :target_date
2351
2301
  sig {
2352
- params(mandate_options: ::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::BacsDebit::MandateOptions, setup_future_usage: String, target_date: String).void
2302
+ params(mandate_options: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::BacsDebit::MandateOptions), setup_future_usage: T.nilable(String), target_date: T.nilable(String)).void
2353
2303
  }
2354
2304
  def initialize(mandate_options: nil, setup_future_usage: nil, target_date: nil); end
2355
2305
  end
@@ -2361,14 +2311,14 @@ module Stripe
2361
2311
  # 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.
2362
2312
  #
2363
2313
  # 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).
2364
- sig { returns(String) }
2314
+ sig { returns(T.nilable(String)) }
2365
2315
  attr_accessor :setup_future_usage
2366
- sig { params(setup_future_usage: String).void }
2316
+ sig { params(setup_future_usage: T.nilable(String)).void }
2367
2317
  def initialize(setup_future_usage: nil); end
2368
2318
  end
2369
2319
  class Boleto < Stripe::RequestParams
2370
2320
  # 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.
2371
- sig { returns(Integer) }
2321
+ sig { returns(T.nilable(Integer)) }
2372
2322
  attr_accessor :expires_after_days
2373
2323
  # Indicates that you intend to make future payments with this PaymentIntent's payment method.
2374
2324
  #
@@ -2377,53 +2327,52 @@ module Stripe
2377
2327
  # 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.
2378
2328
  #
2379
2329
  # 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).
2380
- sig { returns(String) }
2330
+ sig { returns(T.nilable(String)) }
2381
2331
  attr_accessor :setup_future_usage
2382
- sig { params(expires_after_days: Integer, setup_future_usage: String).void }
2332
+ sig {
2333
+ params(expires_after_days: T.nilable(Integer), setup_future_usage: T.nilable(String)).void
2334
+ }
2383
2335
  def initialize(expires_after_days: nil, setup_future_usage: nil); end
2384
2336
  end
2385
2337
  class Card < Stripe::RequestParams
2386
2338
  class Installments < Stripe::RequestParams
2387
2339
  # Setting to true enables installments for this Checkout Session.
2388
2340
  # Setting to false will prevent any installment plan from applying to a payment.
2389
- sig { returns(T::Boolean) }
2341
+ sig { returns(T.nilable(T::Boolean)) }
2390
2342
  attr_accessor :enabled
2391
- sig { params(enabled: T::Boolean).void }
2343
+ sig { params(enabled: T.nilable(T::Boolean)).void }
2392
2344
  def initialize(enabled: nil); end
2393
2345
  end
2394
2346
  class Restrictions < Stripe::RequestParams
2395
2347
  # 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.
2396
- sig { returns(T::Array[String]) }
2348
+ sig { returns(T.nilable(T::Array[String])) }
2397
2349
  attr_accessor :brands_blocked
2398
- sig { params(brands_blocked: T::Array[String]).void }
2350
+ sig { params(brands_blocked: T.nilable(T::Array[String])).void }
2399
2351
  def initialize(brands_blocked: nil); end
2400
2352
  end
2401
2353
  # Installment options for card payments
2402
2354
  sig {
2403
- returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Card::Installments)
2355
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Card::Installments))
2404
2356
  }
2405
2357
  attr_accessor :installments
2406
2358
  # Request ability to [capture beyond the standard authorization validity window](/payments/extended-authorization) for this CheckoutSession.
2407
- sig { returns(String) }
2408
- attr_accessor :request_decremental_authorization
2409
- # Request ability to [capture beyond the standard authorization validity window](/payments/extended-authorization) for this CheckoutSession.
2410
- sig { returns(String) }
2359
+ sig { returns(T.nilable(String)) }
2411
2360
  attr_accessor :request_extended_authorization
2412
2361
  # Request ability to [increment the authorization](/payments/incremental-authorization) for this CheckoutSession.
2413
- sig { returns(String) }
2362
+ sig { returns(T.nilable(String)) }
2414
2363
  attr_accessor :request_incremental_authorization
2415
2364
  # Request ability to make [multiple captures](/payments/multicapture) for this CheckoutSession.
2416
- sig { returns(String) }
2365
+ sig { returns(T.nilable(String)) }
2417
2366
  attr_accessor :request_multicapture
2418
2367
  # Request ability to [overcapture](/payments/overcapture) for this CheckoutSession.
2419
- sig { returns(String) }
2368
+ sig { returns(T.nilable(String)) }
2420
2369
  attr_accessor :request_overcapture
2421
2370
  # 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.
2422
- sig { returns(String) }
2371
+ sig { returns(T.nilable(String)) }
2423
2372
  attr_accessor :request_three_d_secure
2424
2373
  # Restrictions to apply to the card payment method. For example, you can block specific card brands.
2425
2374
  sig {
2426
- returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Card::Restrictions)
2375
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Card::Restrictions))
2427
2376
  }
2428
2377
  attr_accessor :restrictions
2429
2378
  # Indicates that you intend to make future payments with this PaymentIntent's payment method.
@@ -2433,20 +2382,19 @@ module Stripe
2433
2382
  # 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.
2434
2383
  #
2435
2384
  # 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).
2436
- sig { returns(String) }
2385
+ sig { returns(T.nilable(String)) }
2437
2386
  attr_accessor :setup_future_usage
2438
2387
  # 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.
2439
- sig { returns(String) }
2388
+ sig { returns(T.nilable(String)) }
2440
2389
  attr_accessor :statement_descriptor_suffix_kana
2441
2390
  # 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.
2442
- sig { returns(String) }
2391
+ sig { returns(T.nilable(String)) }
2443
2392
  attr_accessor :statement_descriptor_suffix_kanji
2444
2393
  sig {
2445
- params(installments: ::Stripe::Checkout::Session::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::Session::CreateParams::PaymentMethodOptions::Card::Restrictions, setup_future_usage: String, statement_descriptor_suffix_kana: String, statement_descriptor_suffix_kanji: String).void
2394
+ params(installments: T.nilable(::Stripe::Checkout::Session::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::Session::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
2446
2395
  }
2447
2396
  def initialize(
2448
2397
  installments: nil,
2449
- request_decremental_authorization: nil,
2450
2398
  request_extended_authorization: nil,
2451
2399
  request_incremental_authorization: nil,
2452
2400
  request_multicapture: nil,
@@ -2466,9 +2414,9 @@ module Stripe
2466
2414
  # 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.
2467
2415
  #
2468
2416
  # 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).
2469
- sig { returns(String) }
2417
+ sig { returns(T.nilable(String)) }
2470
2418
  attr_accessor :setup_future_usage
2471
- sig { params(setup_future_usage: String).void }
2419
+ sig { params(setup_future_usage: T.nilable(String)).void }
2472
2420
  def initialize(setup_future_usage: nil); end
2473
2421
  end
2474
2422
  class CustomerBalance < Stripe::RequestParams
@@ -2482,29 +2430,29 @@ module Stripe
2482
2430
  end
2483
2431
  # Configuration for eu_bank_transfer funding type.
2484
2432
  sig {
2485
- returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::CustomerBalance::BankTransfer::EuBankTransfer)
2433
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::CustomerBalance::BankTransfer::EuBankTransfer))
2486
2434
  }
2487
2435
  attr_accessor :eu_bank_transfer
2488
2436
  # List of address types that should be returned in the financial_addresses response. If not specified, all valid types will be returned.
2489
2437
  #
2490
2438
  # Permitted values include: `sort_code`, `zengin`, `iban`, or `spei`.
2491
- sig { returns(T::Array[String]) }
2439
+ sig { returns(T.nilable(T::Array[String])) }
2492
2440
  attr_accessor :requested_address_types
2493
2441
  # The list of bank transfer types that this PaymentIntent is allowed to use for funding.
2494
2442
  sig { returns(String) }
2495
2443
  attr_accessor :type
2496
2444
  sig {
2497
- params(eu_bank_transfer: ::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::CustomerBalance::BankTransfer::EuBankTransfer, requested_address_types: T::Array[String], type: String).void
2445
+ params(eu_bank_transfer: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::CustomerBalance::BankTransfer::EuBankTransfer), requested_address_types: T.nilable(T::Array[String]), type: String).void
2498
2446
  }
2499
2447
  def initialize(eu_bank_transfer: nil, requested_address_types: nil, type: nil); end
2500
2448
  end
2501
2449
  # Configuration for the bank transfer funding type, if the `funding_type` is set to `bank_transfer`.
2502
2450
  sig {
2503
- returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::CustomerBalance::BankTransfer)
2451
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::CustomerBalance::BankTransfer))
2504
2452
  }
2505
2453
  attr_accessor :bank_transfer
2506
2454
  # The funding method type to be used when there are not enough funds in the customer balance. Permitted values include: `bank_transfer`.
2507
- sig { returns(String) }
2455
+ sig { returns(T.nilable(String)) }
2508
2456
  attr_accessor :funding_type
2509
2457
  # Indicates that you intend to make future payments with this PaymentIntent's payment method.
2510
2458
  #
@@ -2513,10 +2461,10 @@ module Stripe
2513
2461
  # 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.
2514
2462
  #
2515
2463
  # 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).
2516
- sig { returns(String) }
2464
+ sig { returns(T.nilable(String)) }
2517
2465
  attr_accessor :setup_future_usage
2518
2466
  sig {
2519
- params(bank_transfer: ::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::CustomerBalance::BankTransfer, funding_type: String, setup_future_usage: String).void
2467
+ params(bank_transfer: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::CustomerBalance::BankTransfer), funding_type: T.nilable(String), setup_future_usage: T.nilable(String)).void
2520
2468
  }
2521
2469
  def initialize(bank_transfer: nil, funding_type: nil, setup_future_usage: nil); end
2522
2470
  end
@@ -2528,9 +2476,9 @@ module Stripe
2528
2476
  # 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.
2529
2477
  #
2530
2478
  # 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).
2531
- sig { returns(String) }
2479
+ sig { returns(T.nilable(String)) }
2532
2480
  attr_accessor :setup_future_usage
2533
- sig { params(setup_future_usage: String).void }
2481
+ sig { params(setup_future_usage: T.nilable(String)).void }
2534
2482
  def initialize(setup_future_usage: nil); end
2535
2483
  end
2536
2484
  class Fpx < Stripe::RequestParams
@@ -2541,9 +2489,9 @@ module Stripe
2541
2489
  # 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.
2542
2490
  #
2543
2491
  # 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).
2544
- sig { returns(String) }
2492
+ sig { returns(T.nilable(String)) }
2545
2493
  attr_accessor :setup_future_usage
2546
- sig { params(setup_future_usage: String).void }
2494
+ sig { params(setup_future_usage: T.nilable(String)).void }
2547
2495
  def initialize(setup_future_usage: nil); end
2548
2496
  end
2549
2497
  class Giropay < Stripe::RequestParams
@@ -2554,9 +2502,9 @@ module Stripe
2554
2502
  # 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.
2555
2503
  #
2556
2504
  # 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).
2557
- sig { returns(String) }
2505
+ sig { returns(T.nilable(String)) }
2558
2506
  attr_accessor :setup_future_usage
2559
- sig { params(setup_future_usage: String).void }
2507
+ sig { params(setup_future_usage: T.nilable(String)).void }
2560
2508
  def initialize(setup_future_usage: nil); end
2561
2509
  end
2562
2510
  class Grabpay < Stripe::RequestParams
@@ -2567,9 +2515,9 @@ module Stripe
2567
2515
  # 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.
2568
2516
  #
2569
2517
  # 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).
2570
- sig { returns(String) }
2518
+ sig { returns(T.nilable(String)) }
2571
2519
  attr_accessor :setup_future_usage
2572
- sig { params(setup_future_usage: String).void }
2520
+ sig { params(setup_future_usage: T.nilable(String)).void }
2573
2521
  def initialize(setup_future_usage: nil); end
2574
2522
  end
2575
2523
  class Ideal < Stripe::RequestParams
@@ -2580,14 +2528,14 @@ module Stripe
2580
2528
  # 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.
2581
2529
  #
2582
2530
  # 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).
2583
- sig { returns(String) }
2531
+ sig { returns(T.nilable(String)) }
2584
2532
  attr_accessor :setup_future_usage
2585
- sig { params(setup_future_usage: String).void }
2533
+ sig { params(setup_future_usage: T.nilable(String)).void }
2586
2534
  def initialize(setup_future_usage: nil); end
2587
2535
  end
2588
2536
  class KakaoPay < Stripe::RequestParams
2589
2537
  # Controls when the funds will be captured from the customer's account.
2590
- sig { returns(String) }
2538
+ sig { returns(T.nilable(String)) }
2591
2539
  attr_accessor :capture_method
2592
2540
  # Indicates that you intend to make future payments with this PaymentIntent's payment method.
2593
2541
  #
@@ -2596,9 +2544,11 @@ module Stripe
2596
2544
  # 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.
2597
2545
  #
2598
2546
  # 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).
2599
- sig { returns(String) }
2547
+ sig { returns(T.nilable(String)) }
2600
2548
  attr_accessor :setup_future_usage
2601
- sig { params(capture_method: String, setup_future_usage: String).void }
2549
+ sig {
2550
+ params(capture_method: T.nilable(String), setup_future_usage: T.nilable(String)).void
2551
+ }
2602
2552
  def initialize(capture_method: nil, setup_future_usage: nil); end
2603
2553
  end
2604
2554
  class Klarna < Stripe::RequestParams
@@ -2609,14 +2559,14 @@ module Stripe
2609
2559
  # 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.
2610
2560
  #
2611
2561
  # 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).
2612
- sig { returns(String) }
2562
+ sig { returns(T.nilable(String)) }
2613
2563
  attr_accessor :setup_future_usage
2614
- sig { params(setup_future_usage: String).void }
2564
+ sig { params(setup_future_usage: T.nilable(String)).void }
2615
2565
  def initialize(setup_future_usage: nil); end
2616
2566
  end
2617
2567
  class Konbini < Stripe::RequestParams
2618
2568
  # 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.
2619
- sig { returns(Integer) }
2569
+ sig { returns(T.nilable(Integer)) }
2620
2570
  attr_accessor :expires_after_days
2621
2571
  # Indicates that you intend to make future payments with this PaymentIntent's payment method.
2622
2572
  #
@@ -2625,14 +2575,16 @@ module Stripe
2625
2575
  # 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.
2626
2576
  #
2627
2577
  # 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).
2628
- sig { returns(String) }
2578
+ sig { returns(T.nilable(String)) }
2629
2579
  attr_accessor :setup_future_usage
2630
- sig { params(expires_after_days: Integer, setup_future_usage: String).void }
2580
+ sig {
2581
+ params(expires_after_days: T.nilable(Integer), setup_future_usage: T.nilable(String)).void
2582
+ }
2631
2583
  def initialize(expires_after_days: nil, setup_future_usage: nil); end
2632
2584
  end
2633
2585
  class KrCard < Stripe::RequestParams
2634
2586
  # Controls when the funds will be captured from the customer's account.
2635
- sig { returns(String) }
2587
+ sig { returns(T.nilable(String)) }
2636
2588
  attr_accessor :capture_method
2637
2589
  # Indicates that you intend to make future payments with this PaymentIntent's payment method.
2638
2590
  #
@@ -2641,9 +2593,11 @@ module Stripe
2641
2593
  # 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.
2642
2594
  #
2643
2595
  # 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).
2644
- sig { returns(String) }
2596
+ sig { returns(T.nilable(String)) }
2645
2597
  attr_accessor :setup_future_usage
2646
- sig { params(capture_method: String, setup_future_usage: String).void }
2598
+ sig {
2599
+ params(capture_method: T.nilable(String), setup_future_usage: T.nilable(String)).void
2600
+ }
2647
2601
  def initialize(capture_method: nil, setup_future_usage: nil); end
2648
2602
  end
2649
2603
  class Link < Stripe::RequestParams
@@ -2654,9 +2608,9 @@ module Stripe
2654
2608
  # 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.
2655
2609
  #
2656
2610
  # 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).
2657
- sig { returns(String) }
2611
+ sig { returns(T.nilable(String)) }
2658
2612
  attr_accessor :setup_future_usage
2659
- sig { params(setup_future_usage: String).void }
2613
+ sig { params(setup_future_usage: T.nilable(String)).void }
2660
2614
  def initialize(setup_future_usage: nil); end
2661
2615
  end
2662
2616
  class Mobilepay < Stripe::RequestParams
@@ -2667,9 +2621,9 @@ module Stripe
2667
2621
  # 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.
2668
2622
  #
2669
2623
  # 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).
2670
- sig { returns(String) }
2624
+ sig { returns(T.nilable(String)) }
2671
2625
  attr_accessor :setup_future_usage
2672
- sig { params(setup_future_usage: String).void }
2626
+ sig { params(setup_future_usage: T.nilable(String)).void }
2673
2627
  def initialize(setup_future_usage: nil); end
2674
2628
  end
2675
2629
  class Multibanco < Stripe::RequestParams
@@ -2680,14 +2634,14 @@ module Stripe
2680
2634
  # 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.
2681
2635
  #
2682
2636
  # 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).
2683
- sig { returns(String) }
2637
+ sig { returns(T.nilable(String)) }
2684
2638
  attr_accessor :setup_future_usage
2685
- sig { params(setup_future_usage: String).void }
2639
+ sig { params(setup_future_usage: T.nilable(String)).void }
2686
2640
  def initialize(setup_future_usage: nil); end
2687
2641
  end
2688
2642
  class NaverPay < Stripe::RequestParams
2689
2643
  # Controls when the funds will be captured from the customer's account.
2690
- sig { returns(String) }
2644
+ sig { returns(T.nilable(String)) }
2691
2645
  attr_accessor :capture_method
2692
2646
  # Indicates that you intend to make future payments with this PaymentIntent's payment method.
2693
2647
  #
@@ -2696,14 +2650,16 @@ module Stripe
2696
2650
  # 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.
2697
2651
  #
2698
2652
  # 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).
2699
- sig { returns(String) }
2653
+ sig { returns(T.nilable(String)) }
2700
2654
  attr_accessor :setup_future_usage
2701
- sig { params(capture_method: String, setup_future_usage: String).void }
2655
+ sig {
2656
+ params(capture_method: T.nilable(String), setup_future_usage: T.nilable(String)).void
2657
+ }
2702
2658
  def initialize(capture_method: nil, setup_future_usage: nil); end
2703
2659
  end
2704
2660
  class Oxxo < Stripe::RequestParams
2705
2661
  # 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.
2706
- sig { returns(Integer) }
2662
+ sig { returns(T.nilable(Integer)) }
2707
2663
  attr_accessor :expires_after_days
2708
2664
  # Indicates that you intend to make future payments with this PaymentIntent's payment method.
2709
2665
  #
@@ -2712,9 +2668,11 @@ module Stripe
2712
2668
  # 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.
2713
2669
  #
2714
2670
  # 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).
2715
- sig { returns(String) }
2671
+ sig { returns(T.nilable(String)) }
2716
2672
  attr_accessor :setup_future_usage
2717
- sig { params(expires_after_days: Integer, setup_future_usage: String).void }
2673
+ sig {
2674
+ params(expires_after_days: T.nilable(Integer), setup_future_usage: T.nilable(String)).void
2675
+ }
2718
2676
  def initialize(expires_after_days: nil, setup_future_usage: nil); end
2719
2677
  end
2720
2678
  class P24 < Stripe::RequestParams
@@ -2725,12 +2683,14 @@ module Stripe
2725
2683
  # 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.
2726
2684
  #
2727
2685
  # 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).
2728
- sig { returns(String) }
2686
+ sig { returns(T.nilable(String)) }
2729
2687
  attr_accessor :setup_future_usage
2730
2688
  # Confirm that the payer has accepted the P24 terms and conditions.
2731
- sig { returns(T::Boolean) }
2689
+ sig { returns(T.nilable(T::Boolean)) }
2732
2690
  attr_accessor :tos_shown_and_accepted
2733
- sig { params(setup_future_usage: String, tos_shown_and_accepted: T::Boolean).void }
2691
+ sig {
2692
+ params(setup_future_usage: T.nilable(String), tos_shown_and_accepted: T.nilable(T::Boolean)).void
2693
+ }
2734
2694
  def initialize(setup_future_usage: nil, tos_shown_and_accepted: nil); end
2735
2695
  end
2736
2696
  class PayByBank < Stripe::RequestParams
@@ -2738,9 +2698,9 @@ module Stripe
2738
2698
  end
2739
2699
  class Payco < Stripe::RequestParams
2740
2700
  # Controls when the funds will be captured from the customer's account.
2741
- sig { returns(String) }
2701
+ sig { returns(T.nilable(String)) }
2742
2702
  attr_accessor :capture_method
2743
- sig { params(capture_method: String).void }
2703
+ sig { params(capture_method: T.nilable(String)).void }
2744
2704
  def initialize(capture_method: nil); end
2745
2705
  end
2746
2706
  class Paynow < Stripe::RequestParams
@@ -2751,26 +2711,23 @@ module Stripe
2751
2711
  # 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.
2752
2712
  #
2753
2713
  # 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).
2754
- sig { returns(String) }
2714
+ sig { returns(T.nilable(String)) }
2755
2715
  attr_accessor :setup_future_usage
2756
- sig { params(setup_future_usage: String).void }
2716
+ sig { params(setup_future_usage: T.nilable(String)).void }
2757
2717
  def initialize(setup_future_usage: nil); end
2758
2718
  end
2759
2719
  class Paypal < Stripe::RequestParams
2760
2720
  # Controls when the funds will be captured from the customer's account.
2761
- sig { returns(T.nilable(String)) }
2721
+ sig { returns(T.nilable(T.nilable(String))) }
2762
2722
  attr_accessor :capture_method
2763
2723
  # [Preferred locale](https://stripe.com/docs/payments/paypal/supported-locales) of the PayPal checkout page that the customer is redirected to.
2764
- sig { returns(String) }
2724
+ sig { returns(T.nilable(String)) }
2765
2725
  attr_accessor :preferred_locale
2766
2726
  # 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.
2767
- sig { returns(String) }
2727
+ sig { returns(T.nilable(String)) }
2768
2728
  attr_accessor :reference
2769
- # 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.
2770
- sig { returns(String) }
2771
- attr_accessor :reference_id
2772
2729
  # The risk correlation ID for an on-session payment using a saved PayPal payment method.
2773
- sig { returns(String) }
2730
+ sig { returns(T.nilable(String)) }
2774
2731
  attr_accessor :risk_correlation_id
2775
2732
  # Indicates that you intend to make future payments with this PaymentIntent's payment method.
2776
2733
  #
@@ -2781,84 +2738,24 @@ module Stripe
2781
2738
  # 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).
2782
2739
  #
2783
2740
  # 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`.
2784
- sig { returns(T.nilable(String)) }
2741
+ sig { returns(T.nilable(T.nilable(T.any(String, String)))) }
2785
2742
  attr_accessor :setup_future_usage
2786
- # 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.
2787
- sig { returns(T::Array[String]) }
2788
- attr_accessor :subsellers
2789
2743
  sig {
2790
- 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
2744
+ 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
2791
2745
  }
2792
2746
  def initialize(
2793
2747
  capture_method: nil,
2794
2748
  preferred_locale: nil,
2795
2749
  reference: nil,
2796
- reference_id: nil,
2797
2750
  risk_correlation_id: nil,
2798
- setup_future_usage: nil,
2799
- subsellers: nil
2751
+ setup_future_usage: nil
2800
2752
  ); end
2801
2753
  end
2802
- class Payto < Stripe::RequestParams
2803
- class MandateOptions < Stripe::RequestParams
2804
- # Amount that will be collected. It is required when `amount_type` is `fixed`.
2805
- sig { returns(Integer) }
2806
- attr_accessor :amount
2807
- # 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.
2808
- sig { returns(String) }
2809
- attr_accessor :amount_type
2810
- # Date, in YYYY-MM-DD format, after which payments will not be collected. Defaults to no end date.
2811
- sig { returns(String) }
2812
- attr_accessor :end_date
2813
- # The periodicity at which payments will be collected.
2814
- sig { returns(String) }
2815
- attr_accessor :payment_schedule
2816
- # 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.
2817
- sig { returns(Integer) }
2818
- attr_accessor :payments_per_period
2819
- # The purpose for which payments are made. Defaults to retail.
2820
- sig { returns(String) }
2821
- attr_accessor :purpose
2822
- # Date, in YYYY-MM-DD format, from which payments will be collected. Defaults to confirmation time.
2823
- sig { returns(String) }
2824
- attr_accessor :start_date
2825
- sig {
2826
- params(amount: Integer, amount_type: String, end_date: String, payment_schedule: String, payments_per_period: Integer, purpose: String, start_date: String).void
2827
- }
2828
- def initialize(
2829
- amount: nil,
2830
- amount_type: nil,
2831
- end_date: nil,
2832
- payment_schedule: nil,
2833
- payments_per_period: nil,
2834
- purpose: nil,
2835
- start_date: nil
2836
- ); end
2837
- end
2838
- # Additional fields for Mandate creation
2839
- sig {
2840
- returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Payto::MandateOptions)
2841
- }
2842
- attr_accessor :mandate_options
2843
- # Indicates that you intend to make future payments with this PaymentIntent's payment method.
2844
- #
2845
- # 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.
2846
- #
2847
- # 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.
2848
- #
2849
- # 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).
2850
- sig { returns(String) }
2851
- attr_accessor :setup_future_usage
2852
- sig {
2853
- params(mandate_options: ::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Payto::MandateOptions, setup_future_usage: String).void
2854
- }
2855
- def initialize(mandate_options: nil, setup_future_usage: nil); end
2856
- end
2857
2754
  class Pix < Stripe::RequestParams
2858
2755
  # The number of seconds (between 10 and 1209600) after which Pix payment will expire. Defaults to 86400 seconds.
2859
- sig { returns(Integer) }
2756
+ sig { returns(T.nilable(Integer)) }
2860
2757
  attr_accessor :expires_after_seconds
2861
- sig { params(expires_after_seconds: Integer).void }
2758
+ sig { params(expires_after_seconds: T.nilable(Integer)).void }
2862
2759
  def initialize(expires_after_seconds: nil); end
2863
2760
  end
2864
2761
  class RevolutPay < Stripe::RequestParams
@@ -2869,29 +2766,29 @@ module Stripe
2869
2766
  # 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.
2870
2767
  #
2871
2768
  # 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).
2872
- sig { returns(String) }
2769
+ sig { returns(T.nilable(String)) }
2873
2770
  attr_accessor :setup_future_usage
2874
- sig { params(setup_future_usage: String).void }
2771
+ sig { params(setup_future_usage: T.nilable(String)).void }
2875
2772
  def initialize(setup_future_usage: nil); end
2876
2773
  end
2877
2774
  class SamsungPay < Stripe::RequestParams
2878
2775
  # Controls when the funds will be captured from the customer's account.
2879
- sig { returns(String) }
2776
+ sig { returns(T.nilable(String)) }
2880
2777
  attr_accessor :capture_method
2881
- sig { params(capture_method: String).void }
2778
+ sig { params(capture_method: T.nilable(String)).void }
2882
2779
  def initialize(capture_method: nil); end
2883
2780
  end
2884
2781
  class SepaDebit < Stripe::RequestParams
2885
2782
  class MandateOptions < Stripe::RequestParams
2886
2783
  # 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'.
2887
- sig { returns(T.nilable(String)) }
2784
+ sig { returns(T.nilable(T.nilable(String))) }
2888
2785
  attr_accessor :reference_prefix
2889
- sig { params(reference_prefix: T.nilable(String)).void }
2786
+ sig { params(reference_prefix: T.nilable(T.nilable(String))).void }
2890
2787
  def initialize(reference_prefix: nil); end
2891
2788
  end
2892
2789
  # Additional fields for Mandate creation
2893
2790
  sig {
2894
- returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::SepaDebit::MandateOptions)
2791
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::SepaDebit::MandateOptions))
2895
2792
  }
2896
2793
  attr_accessor :mandate_options
2897
2794
  # Indicates that you intend to make future payments with this PaymentIntent's payment method.
@@ -2901,13 +2798,13 @@ module Stripe
2901
2798
  # 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.
2902
2799
  #
2903
2800
  # 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).
2904
- sig { returns(String) }
2801
+ sig { returns(T.nilable(String)) }
2905
2802
  attr_accessor :setup_future_usage
2906
2803
  # 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.
2907
- sig { returns(String) }
2804
+ sig { returns(T.nilable(String)) }
2908
2805
  attr_accessor :target_date
2909
2806
  sig {
2910
- params(mandate_options: ::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::SepaDebit::MandateOptions, setup_future_usage: String, target_date: String).void
2807
+ params(mandate_options: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::SepaDebit::MandateOptions), setup_future_usage: T.nilable(String), target_date: T.nilable(String)).void
2911
2808
  }
2912
2809
  def initialize(mandate_options: nil, setup_future_usage: nil, target_date: nil); end
2913
2810
  end
@@ -2919,32 +2816,34 @@ module Stripe
2919
2816
  # 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.
2920
2817
  #
2921
2818
  # 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).
2922
- sig { returns(String) }
2819
+ sig { returns(T.nilable(String)) }
2923
2820
  attr_accessor :setup_future_usage
2924
- sig { params(setup_future_usage: String).void }
2821
+ sig { params(setup_future_usage: T.nilable(String)).void }
2925
2822
  def initialize(setup_future_usage: nil); end
2926
2823
  end
2927
2824
  class Swish < Stripe::RequestParams
2928
2825
  # The order reference that will be displayed to customers in the Swish application. Defaults to the `id` of the Payment Intent.
2929
- sig { returns(String) }
2826
+ sig { returns(T.nilable(String)) }
2930
2827
  attr_accessor :reference
2931
- sig { params(reference: String).void }
2828
+ sig { params(reference: T.nilable(String)).void }
2932
2829
  def initialize(reference: nil); end
2933
2830
  end
2934
2831
  class UsBankAccount < Stripe::RequestParams
2935
2832
  class FinancialConnections < Stripe::RequestParams
2936
2833
  # 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`.
2937
- sig { returns(T::Array[String]) }
2834
+ sig { returns(T.nilable(T::Array[String])) }
2938
2835
  attr_accessor :permissions
2939
2836
  # List of data features that you would like to retrieve upon account creation.
2940
- sig { returns(T::Array[String]) }
2837
+ sig { returns(T.nilable(T::Array[String])) }
2941
2838
  attr_accessor :prefetch
2942
- sig { params(permissions: T::Array[String], prefetch: T::Array[String]).void }
2839
+ sig {
2840
+ params(permissions: T.nilable(T::Array[String]), prefetch: T.nilable(T::Array[String])).void
2841
+ }
2943
2842
  def initialize(permissions: nil, prefetch: nil); end
2944
2843
  end
2945
2844
  # Additional fields for Financial Connections Session creation
2946
2845
  sig {
2947
- returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::UsBankAccount::FinancialConnections)
2846
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::UsBankAccount::FinancialConnections))
2948
2847
  }
2949
2848
  attr_accessor :financial_connections
2950
2849
  # Indicates that you intend to make future payments with this PaymentIntent's payment method.
@@ -2954,16 +2853,16 @@ module Stripe
2954
2853
  # 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.
2955
2854
  #
2956
2855
  # 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).
2957
- sig { returns(String) }
2856
+ sig { returns(T.nilable(String)) }
2958
2857
  attr_accessor :setup_future_usage
2959
2858
  # 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.
2960
- sig { returns(String) }
2859
+ sig { returns(T.nilable(String)) }
2961
2860
  attr_accessor :target_date
2962
2861
  # Verification method for the intent
2963
- sig { returns(String) }
2862
+ sig { returns(T.nilable(String)) }
2964
2863
  attr_accessor :verification_method
2965
2864
  sig {
2966
- params(financial_connections: ::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::UsBankAccount::FinancialConnections, setup_future_usage: String, target_date: String, verification_method: String).void
2865
+ params(financial_connections: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::UsBankAccount::FinancialConnections), setup_future_usage: T.nilable(String), target_date: T.nilable(String), verification_method: T.nilable(String)).void
2967
2866
  }
2968
2867
  def initialize(
2969
2868
  financial_connections: nil,
@@ -2974,7 +2873,7 @@ module Stripe
2974
2873
  end
2975
2874
  class WechatPay < Stripe::RequestParams
2976
2875
  # The app ID registered with WeChat Pay. Only required when client is ios or android.
2977
- sig { returns(String) }
2876
+ sig { returns(T.nilable(String)) }
2978
2877
  attr_accessor :app_id
2979
2878
  # The client type that the end customer will pay from
2980
2879
  sig { returns(String) }
@@ -2986,163 +2885,210 @@ module Stripe
2986
2885
  # 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.
2987
2886
  #
2988
2887
  # 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).
2989
- sig { returns(String) }
2888
+ sig { returns(T.nilable(String)) }
2990
2889
  attr_accessor :setup_future_usage
2991
- sig { params(app_id: String, client: String, setup_future_usage: String).void }
2890
+ sig {
2891
+ params(app_id: T.nilable(String), client: String, setup_future_usage: T.nilable(String)).void
2892
+ }
2992
2893
  def initialize(app_id: nil, client: nil, setup_future_usage: nil); end
2993
2894
  end
2994
2895
  # contains details about the ACSS Debit payment method options.
2995
2896
  sig {
2996
- returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::AcssDebit)
2897
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::AcssDebit))
2997
2898
  }
2998
2899
  attr_accessor :acss_debit
2999
2900
  # contains details about the Affirm payment method options.
3000
- sig { returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Affirm) }
2901
+ sig {
2902
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Affirm))
2903
+ }
3001
2904
  attr_accessor :affirm
3002
2905
  # contains details about the Afterpay Clearpay payment method options.
3003
2906
  sig {
3004
- returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::AfterpayClearpay)
2907
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::AfterpayClearpay))
3005
2908
  }
3006
2909
  attr_accessor :afterpay_clearpay
3007
2910
  # contains details about the Alipay payment method options.
3008
- sig { returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Alipay) }
2911
+ sig {
2912
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Alipay))
2913
+ }
3009
2914
  attr_accessor :alipay
3010
2915
  # contains details about the AmazonPay payment method options.
3011
2916
  sig {
3012
- returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::AmazonPay)
2917
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::AmazonPay))
3013
2918
  }
3014
2919
  attr_accessor :amazon_pay
3015
2920
  # contains details about the AU Becs Debit payment method options.
3016
2921
  sig {
3017
- returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::AuBecsDebit)
2922
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::AuBecsDebit))
3018
2923
  }
3019
2924
  attr_accessor :au_becs_debit
3020
2925
  # contains details about the Bacs Debit payment method options.
3021
2926
  sig {
3022
- returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::BacsDebit)
2927
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::BacsDebit))
3023
2928
  }
3024
2929
  attr_accessor :bacs_debit
3025
2930
  # contains details about the Bancontact payment method options.
3026
2931
  sig {
3027
- returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Bancontact)
2932
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Bancontact))
3028
2933
  }
3029
2934
  attr_accessor :bancontact
3030
2935
  # contains details about the Boleto payment method options.
3031
- sig { returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Boleto) }
2936
+ sig {
2937
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Boleto))
2938
+ }
3032
2939
  attr_accessor :boleto
3033
2940
  # contains details about the Card payment method options.
3034
- sig { returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Card) }
2941
+ sig {
2942
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Card))
2943
+ }
3035
2944
  attr_accessor :card
3036
2945
  # contains details about the Cashapp Pay payment method options.
3037
- sig { returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Cashapp) }
2946
+ sig {
2947
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Cashapp))
2948
+ }
3038
2949
  attr_accessor :cashapp
3039
2950
  # contains details about the Customer Balance payment method options.
3040
2951
  sig {
3041
- returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::CustomerBalance)
2952
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::CustomerBalance))
3042
2953
  }
3043
2954
  attr_accessor :customer_balance
3044
2955
  # contains details about the EPS payment method options.
3045
- sig { returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Eps) }
2956
+ sig {
2957
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Eps))
2958
+ }
3046
2959
  attr_accessor :eps
3047
2960
  # contains details about the FPX payment method options.
3048
- sig { returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Fpx) }
2961
+ sig {
2962
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Fpx))
2963
+ }
3049
2964
  attr_accessor :fpx
3050
2965
  # contains details about the Giropay payment method options.
3051
- sig { returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Giropay) }
2966
+ sig {
2967
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Giropay))
2968
+ }
3052
2969
  attr_accessor :giropay
3053
2970
  # contains details about the Grabpay payment method options.
3054
- sig { returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Grabpay) }
2971
+ sig {
2972
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Grabpay))
2973
+ }
3055
2974
  attr_accessor :grabpay
3056
2975
  # contains details about the Ideal payment method options.
3057
- sig { returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Ideal) }
2976
+ sig {
2977
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Ideal))
2978
+ }
3058
2979
  attr_accessor :ideal
3059
2980
  # contains details about the Kakao Pay payment method options.
3060
- sig { returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::KakaoPay) }
2981
+ sig {
2982
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::KakaoPay))
2983
+ }
3061
2984
  attr_accessor :kakao_pay
3062
2985
  # contains details about the Klarna payment method options.
3063
- sig { returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Klarna) }
2986
+ sig {
2987
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Klarna))
2988
+ }
3064
2989
  attr_accessor :klarna
3065
2990
  # contains details about the Konbini payment method options.
3066
- sig { returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Konbini) }
2991
+ sig {
2992
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Konbini))
2993
+ }
3067
2994
  attr_accessor :konbini
3068
2995
  # contains details about the Korean card payment method options.
3069
- sig { returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::KrCard) }
2996
+ sig {
2997
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::KrCard))
2998
+ }
3070
2999
  attr_accessor :kr_card
3071
3000
  # contains details about the Link payment method options.
3072
- sig { returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Link) }
3001
+ sig {
3002
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Link))
3003
+ }
3073
3004
  attr_accessor :link
3074
3005
  # contains details about the Mobilepay payment method options.
3075
3006
  sig {
3076
- returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Mobilepay)
3007
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Mobilepay))
3077
3008
  }
3078
3009
  attr_accessor :mobilepay
3079
3010
  # contains details about the Multibanco payment method options.
3080
3011
  sig {
3081
- returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Multibanco)
3012
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Multibanco))
3082
3013
  }
3083
3014
  attr_accessor :multibanco
3084
3015
  # contains details about the Naver Pay payment method options.
3085
- sig { returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::NaverPay) }
3016
+ sig {
3017
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::NaverPay))
3018
+ }
3086
3019
  attr_accessor :naver_pay
3087
3020
  # contains details about the OXXO payment method options.
3088
- sig { returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Oxxo) }
3021
+ sig {
3022
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Oxxo))
3023
+ }
3089
3024
  attr_accessor :oxxo
3090
3025
  # contains details about the P24 payment method options.
3091
- sig { returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::P24) }
3026
+ sig {
3027
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::P24))
3028
+ }
3092
3029
  attr_accessor :p24
3093
3030
  # contains details about the Pay By Bank payment method options.
3094
3031
  sig {
3095
- returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::PayByBank)
3032
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::PayByBank))
3096
3033
  }
3097
3034
  attr_accessor :pay_by_bank
3098
3035
  # contains details about the PAYCO payment method options.
3099
- sig { returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Payco) }
3036
+ sig {
3037
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Payco))
3038
+ }
3100
3039
  attr_accessor :payco
3101
3040
  # contains details about the PayNow payment method options.
3102
- sig { returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Paynow) }
3041
+ sig {
3042
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Paynow))
3043
+ }
3103
3044
  attr_accessor :paynow
3104
3045
  # contains details about the PayPal payment method options.
3105
- sig { returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Paypal) }
3046
+ sig {
3047
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Paypal))
3048
+ }
3106
3049
  attr_accessor :paypal
3107
- # contains details about the PayTo payment method options.
3108
- sig { returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Payto) }
3109
- attr_accessor :payto
3110
3050
  # contains details about the Pix payment method options.
3111
- sig { returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Pix) }
3051
+ sig {
3052
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Pix))
3053
+ }
3112
3054
  attr_accessor :pix
3113
3055
  # contains details about the RevolutPay payment method options.
3114
3056
  sig {
3115
- returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::RevolutPay)
3057
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::RevolutPay))
3116
3058
  }
3117
3059
  attr_accessor :revolut_pay
3118
3060
  # contains details about the Samsung Pay payment method options.
3119
3061
  sig {
3120
- returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::SamsungPay)
3062
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::SamsungPay))
3121
3063
  }
3122
3064
  attr_accessor :samsung_pay
3123
3065
  # contains details about the Sepa Debit payment method options.
3124
3066
  sig {
3125
- returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::SepaDebit)
3067
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::SepaDebit))
3126
3068
  }
3127
3069
  attr_accessor :sepa_debit
3128
3070
  # contains details about the Sofort payment method options.
3129
- sig { returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Sofort) }
3071
+ sig {
3072
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Sofort))
3073
+ }
3130
3074
  attr_accessor :sofort
3131
3075
  # contains details about the Swish payment method options.
3132
- sig { returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Swish) }
3076
+ sig {
3077
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Swish))
3078
+ }
3133
3079
  attr_accessor :swish
3134
3080
  # contains details about the Us Bank Account payment method options.
3135
3081
  sig {
3136
- returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::UsBankAccount)
3082
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::UsBankAccount))
3137
3083
  }
3138
3084
  attr_accessor :us_bank_account
3139
3085
  # contains details about the WeChat Pay payment method options.
3140
3086
  sig {
3141
- returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::WechatPay)
3087
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::WechatPay))
3142
3088
  }
3143
3089
  attr_accessor :wechat_pay
3144
3090
  sig {
3145
- params(acss_debit: ::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::AcssDebit, affirm: ::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Affirm, afterpay_clearpay: ::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::AfterpayClearpay, alipay: ::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Alipay, amazon_pay: ::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::AmazonPay, au_becs_debit: ::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::AuBecsDebit, bacs_debit: ::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::BacsDebit, bancontact: ::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Bancontact, boleto: ::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Boleto, card: ::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Card, cashapp: ::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Cashapp, customer_balance: ::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::CustomerBalance, eps: ::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Eps, fpx: ::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Fpx, giropay: ::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Giropay, grabpay: ::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Grabpay, ideal: ::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Ideal, kakao_pay: ::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::KakaoPay, klarna: ::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Klarna, konbini: ::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Konbini, kr_card: ::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::KrCard, link: ::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Link, mobilepay: ::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Mobilepay, multibanco: ::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Multibanco, naver_pay: ::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::NaverPay, oxxo: ::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Oxxo, p24: ::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::P24, pay_by_bank: ::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::PayByBank, payco: ::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Payco, paynow: ::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Paynow, paypal: ::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Paypal, payto: ::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Payto, pix: ::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Pix, revolut_pay: ::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::RevolutPay, samsung_pay: ::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::SamsungPay, sepa_debit: ::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::SepaDebit, sofort: ::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Sofort, swish: ::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Swish, us_bank_account: ::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::UsBankAccount, wechat_pay: ::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::WechatPay).void
3091
+ params(acss_debit: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::AcssDebit), affirm: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Affirm), afterpay_clearpay: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::AfterpayClearpay), alipay: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Alipay), amazon_pay: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::AmazonPay), au_becs_debit: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::AuBecsDebit), bacs_debit: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::BacsDebit), bancontact: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Bancontact), boleto: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Boleto), card: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Card), cashapp: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Cashapp), customer_balance: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::CustomerBalance), eps: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Eps), fpx: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Fpx), giropay: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Giropay), grabpay: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Grabpay), ideal: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Ideal), kakao_pay: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::KakaoPay), klarna: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Klarna), konbini: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Konbini), kr_card: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::KrCard), link: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Link), mobilepay: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Mobilepay), multibanco: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Multibanco), naver_pay: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::NaverPay), oxxo: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Oxxo), p24: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::P24), pay_by_bank: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::PayByBank), payco: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Payco), paynow: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Paynow), paypal: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Paypal), pix: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Pix), revolut_pay: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::RevolutPay), samsung_pay: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::SamsungPay), sepa_debit: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::SepaDebit), sofort: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Sofort), swish: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::Swish), us_bank_account: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::UsBankAccount), wechat_pay: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions::WechatPay)).void
3146
3092
  }
3147
3093
  def initialize(
3148
3094
  acss_debit: nil,
@@ -3176,7 +3122,6 @@ module Stripe
3176
3122
  payco: nil,
3177
3123
  paynow: nil,
3178
3124
  paypal: nil,
3179
- payto: nil,
3180
3125
  pix: nil,
3181
3126
  revolut_pay: nil,
3182
3127
  samsung_pay: nil,
@@ -3188,31 +3133,15 @@ module Stripe
3188
3133
  ); end
3189
3134
  end
3190
3135
  class Permissions < Stripe::RequestParams
3191
- class Update < Stripe::RequestParams
3192
- # Determines which entity is allowed to update the line items.
3193
- #
3194
- # 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.
3195
- #
3196
- # 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.
3197
- sig { returns(String) }
3198
- attr_accessor :line_items
3199
- # Determines which entity is allowed to update the shipping details.
3200
- #
3201
- # 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.
3202
- #
3203
- # 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.
3204
- sig { returns(String) }
3205
- attr_accessor :shipping_details
3206
- sig { params(line_items: String, shipping_details: String).void }
3207
- def initialize(line_items: nil, shipping_details: nil); end
3208
- end
3209
- # Permissions for updating the Checkout Session.
3210
- sig { returns(::Stripe::Checkout::Session::CreateParams::Permissions::Update) }
3211
- attr_accessor :update
3212
- sig {
3213
- params(update: ::Stripe::Checkout::Session::CreateParams::Permissions::Update).void
3214
- }
3215
- def initialize(update: nil); end
3136
+ # Determines which entity is allowed to update the shipping details.
3137
+ #
3138
+ # 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.
3139
+ #
3140
+ # 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.
3141
+ sig { returns(T.nilable(String)) }
3142
+ attr_accessor :update_shipping_details
3143
+ sig { params(update_shipping_details: T.nilable(String)).void }
3144
+ def initialize(update_shipping_details: nil); end
3216
3145
  end
3217
3146
  class PhoneNumberCollection < Stripe::RequestParams
3218
3147
  # Set to `true` to enable phone number collection.
@@ -3225,28 +3154,28 @@ module Stripe
3225
3154
  end
3226
3155
  class SavedPaymentMethodOptions < Stripe::RequestParams
3227
3156
  # 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.
3228
- sig { returns(T::Array[String]) }
3157
+ sig { returns(T.nilable(T::Array[String])) }
3229
3158
  attr_accessor :allow_redisplay_filters
3230
3159
  # Enable customers to choose if they wish to save their payment method for future use. Disabled by default.
3231
- sig { returns(String) }
3160
+ sig { returns(T.nilable(String)) }
3232
3161
  attr_accessor :payment_method_save
3233
3162
  sig {
3234
- params(allow_redisplay_filters: T::Array[String], payment_method_save: String).void
3163
+ params(allow_redisplay_filters: T.nilable(T::Array[String]), payment_method_save: T.nilable(String)).void
3235
3164
  }
3236
3165
  def initialize(allow_redisplay_filters: nil, payment_method_save: nil); end
3237
3166
  end
3238
3167
  class SetupIntentData < Stripe::RequestParams
3239
3168
  # An arbitrary string attached to the object. Often useful for displaying to users.
3240
- sig { returns(String) }
3169
+ sig { returns(T.nilable(String)) }
3241
3170
  attr_accessor :description
3242
3171
  # 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`.
3243
- sig { returns(T::Hash[String, String]) }
3172
+ sig { returns(T.nilable(T::Hash[String, String])) }
3244
3173
  attr_accessor :metadata
3245
3174
  # The Stripe account for which the setup is intended.
3246
- sig { returns(String) }
3175
+ sig { returns(T.nilable(String)) }
3247
3176
  attr_accessor :on_behalf_of
3248
3177
  sig {
3249
- params(description: String, metadata: T::Hash[String, String], on_behalf_of: String).void
3178
+ params(description: T.nilable(String), metadata: T.nilable(T::Hash[String, String]), on_behalf_of: T.nilable(String)).void
3250
3179
  }
3251
3180
  def initialize(description: nil, metadata: nil, on_behalf_of: nil); end
3252
3181
  end
@@ -3283,16 +3212,16 @@ module Stripe
3283
3212
  end
3284
3213
  # The upper bound of the estimated range. If empty, represents no upper bound i.e., infinite.
3285
3214
  sig {
3286
- returns(::Stripe::Checkout::Session::CreateParams::ShippingOption::ShippingRateData::DeliveryEstimate::Maximum)
3215
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::ShippingOption::ShippingRateData::DeliveryEstimate::Maximum))
3287
3216
  }
3288
3217
  attr_accessor :maximum
3289
3218
  # The lower bound of the estimated range. If empty, represents no lower bound.
3290
3219
  sig {
3291
- returns(::Stripe::Checkout::Session::CreateParams::ShippingOption::ShippingRateData::DeliveryEstimate::Minimum)
3220
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::ShippingOption::ShippingRateData::DeliveryEstimate::Minimum))
3292
3221
  }
3293
3222
  attr_accessor :minimum
3294
3223
  sig {
3295
- params(maximum: ::Stripe::Checkout::Session::CreateParams::ShippingOption::ShippingRateData::DeliveryEstimate::Maximum, minimum: ::Stripe::Checkout::Session::CreateParams::ShippingOption::ShippingRateData::DeliveryEstimate::Minimum).void
3224
+ params(maximum: T.nilable(::Stripe::Checkout::Session::CreateParams::ShippingOption::ShippingRateData::DeliveryEstimate::Maximum), minimum: T.nilable(::Stripe::Checkout::Session::CreateParams::ShippingOption::ShippingRateData::DeliveryEstimate::Minimum)).void
3296
3225
  }
3297
3226
  def initialize(maximum: nil, minimum: nil); end
3298
3227
  end
@@ -3302,9 +3231,9 @@ module Stripe
3302
3231
  sig { returns(Integer) }
3303
3232
  attr_accessor :amount
3304
3233
  # Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`.
3305
- sig { returns(String) }
3234
+ sig { returns(T.nilable(String)) }
3306
3235
  attr_accessor :tax_behavior
3307
- sig { params(amount: Integer, tax_behavior: String).void }
3236
+ sig { params(amount: Integer, tax_behavior: T.nilable(String)).void }
3308
3237
  def initialize(amount: nil, tax_behavior: nil); end
3309
3238
  end
3310
3239
  # A non-negative integer in cents representing how much to charge.
@@ -3315,17 +3244,17 @@ module Stripe
3315
3244
  attr_accessor :currency
3316
3245
  # 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).
3317
3246
  sig {
3318
- returns(T::Hash[String, ::Stripe::Checkout::Session::CreateParams::ShippingOption::ShippingRateData::FixedAmount::CurrencyOptions])
3247
+ returns(T.nilable(T::Hash[String, ::Stripe::Checkout::Session::CreateParams::ShippingOption::ShippingRateData::FixedAmount::CurrencyOptions]))
3319
3248
  }
3320
3249
  attr_accessor :currency_options
3321
3250
  sig {
3322
- params(amount: Integer, currency: String, currency_options: T::Hash[String, ::Stripe::Checkout::Session::CreateParams::ShippingOption::ShippingRateData::FixedAmount::CurrencyOptions]).void
3251
+ params(amount: Integer, currency: String, currency_options: T.nilable(T::Hash[String, ::Stripe::Checkout::Session::CreateParams::ShippingOption::ShippingRateData::FixedAmount::CurrencyOptions])).void
3323
3252
  }
3324
3253
  def initialize(amount: nil, currency: nil, currency_options: nil); end
3325
3254
  end
3326
3255
  # The estimated range for how long shipping will take, meant to be displayable to the customer. This will appear on CheckoutSessions.
3327
3256
  sig {
3328
- returns(::Stripe::Checkout::Session::CreateParams::ShippingOption::ShippingRateData::DeliveryEstimate)
3257
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::ShippingOption::ShippingRateData::DeliveryEstimate))
3329
3258
  }
3330
3259
  attr_accessor :delivery_estimate
3331
3260
  # The name of the shipping rate, meant to be displayable to the customer. This will appear on CheckoutSessions.
@@ -3333,23 +3262,23 @@ module Stripe
3333
3262
  attr_accessor :display_name
3334
3263
  # Describes a fixed amount to charge for shipping. Must be present if type is `fixed_amount`.
3335
3264
  sig {
3336
- returns(::Stripe::Checkout::Session::CreateParams::ShippingOption::ShippingRateData::FixedAmount)
3265
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::ShippingOption::ShippingRateData::FixedAmount))
3337
3266
  }
3338
3267
  attr_accessor :fixed_amount
3339
3268
  # 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`.
3340
- sig { returns(T::Hash[String, String]) }
3269
+ sig { returns(T.nilable(T::Hash[String, String])) }
3341
3270
  attr_accessor :metadata
3342
3271
  # Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`.
3343
- sig { returns(String) }
3272
+ sig { returns(T.nilable(String)) }
3344
3273
  attr_accessor :tax_behavior
3345
3274
  # A [tax code](https://stripe.com/docs/tax/tax-categories) ID. The Shipping tax code is `txcd_92010001`.
3346
- sig { returns(String) }
3275
+ sig { returns(T.nilable(String)) }
3347
3276
  attr_accessor :tax_code
3348
3277
  # The type of calculation to use on the shipping rate.
3349
- sig { returns(String) }
3278
+ sig { returns(T.nilable(String)) }
3350
3279
  attr_accessor :type
3351
3280
  sig {
3352
- params(delivery_estimate: ::Stripe::Checkout::Session::CreateParams::ShippingOption::ShippingRateData::DeliveryEstimate, display_name: String, fixed_amount: ::Stripe::Checkout::Session::CreateParams::ShippingOption::ShippingRateData::FixedAmount, metadata: T::Hash[String, String], tax_behavior: String, tax_code: String, type: String).void
3281
+ params(delivery_estimate: T.nilable(::Stripe::Checkout::Session::CreateParams::ShippingOption::ShippingRateData::DeliveryEstimate), display_name: String, fixed_amount: T.nilable(::Stripe::Checkout::Session::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
3353
3282
  }
3354
3283
  def initialize(
3355
3284
  delivery_estimate: nil,
@@ -3362,15 +3291,15 @@ module Stripe
3362
3291
  ); end
3363
3292
  end
3364
3293
  # The ID of the Shipping Rate to use for this shipping option.
3365
- sig { returns(String) }
3294
+ sig { returns(T.nilable(String)) }
3366
3295
  attr_accessor :shipping_rate
3367
3296
  # Parameters to be passed to Shipping Rate creation for this shipping option.
3368
3297
  sig {
3369
- returns(::Stripe::Checkout::Session::CreateParams::ShippingOption::ShippingRateData)
3298
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::ShippingOption::ShippingRateData))
3370
3299
  }
3371
3300
  attr_accessor :shipping_rate_data
3372
3301
  sig {
3373
- params(shipping_rate: String, shipping_rate_data: ::Stripe::Checkout::Session::CreateParams::ShippingOption::ShippingRateData).void
3302
+ params(shipping_rate: T.nilable(String), shipping_rate_data: T.nilable(::Stripe::Checkout::Session::CreateParams::ShippingOption::ShippingRateData)).void
3374
3303
  }
3375
3304
  def initialize(shipping_rate: nil, shipping_rate_data: nil); end
3376
3305
  end
@@ -3378,32 +3307,32 @@ module Stripe
3378
3307
  class InvoiceSettings < Stripe::RequestParams
3379
3308
  class Issuer < Stripe::RequestParams
3380
3309
  # The connected account being referenced when `type` is `account`.
3381
- sig { returns(String) }
3310
+ sig { returns(T.nilable(String)) }
3382
3311
  attr_accessor :account
3383
3312
  # Type of the account referenced in the request.
3384
3313
  sig { returns(String) }
3385
3314
  attr_accessor :type
3386
- sig { params(account: String, type: String).void }
3315
+ sig { params(account: T.nilable(String), type: String).void }
3387
3316
  def initialize(account: nil, type: nil); end
3388
3317
  end
3389
3318
  # The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account.
3390
3319
  sig {
3391
- returns(::Stripe::Checkout::Session::CreateParams::SubscriptionData::InvoiceSettings::Issuer)
3320
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::SubscriptionData::InvoiceSettings::Issuer))
3392
3321
  }
3393
3322
  attr_accessor :issuer
3394
3323
  sig {
3395
- params(issuer: ::Stripe::Checkout::Session::CreateParams::SubscriptionData::InvoiceSettings::Issuer).void
3324
+ params(issuer: T.nilable(::Stripe::Checkout::Session::CreateParams::SubscriptionData::InvoiceSettings::Issuer)).void
3396
3325
  }
3397
3326
  def initialize(issuer: nil); end
3398
3327
  end
3399
3328
  class TransferData < Stripe::RequestParams
3400
3329
  # 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.
3401
- sig { returns(Float) }
3330
+ sig { returns(T.nilable(Float)) }
3402
3331
  attr_accessor :amount_percent
3403
3332
  # ID of an existing, connected Stripe account.
3404
3333
  sig { returns(String) }
3405
3334
  attr_accessor :destination
3406
- sig { params(amount_percent: Float, destination: String).void }
3335
+ sig { params(amount_percent: T.nilable(Float), destination: String).void }
3407
3336
  def initialize(amount_percent: nil, destination: nil); end
3408
3337
  end
3409
3338
  class TrialSettings < Stripe::RequestParams
@@ -3425,54 +3354,56 @@ module Stripe
3425
3354
  def initialize(end_behavior: nil); end
3426
3355
  end
3427
3356
  # 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).
3428
- sig { returns(Float) }
3357
+ sig { returns(T.nilable(Float)) }
3429
3358
  attr_accessor :application_fee_percent
3430
3359
  # A future timestamp to anchor the subscription's billing cycle for new subscriptions.
3431
- sig { returns(Integer) }
3360
+ sig { returns(T.nilable(Integer)) }
3432
3361
  attr_accessor :billing_cycle_anchor
3433
3362
  # The tax rates that will apply to any subscription item that does not have
3434
3363
  # `tax_rates` set. Invoices created will have their `default_tax_rates` populated
3435
3364
  # from the subscription.
3436
- sig { returns(T::Array[String]) }
3365
+ sig { returns(T.nilable(T::Array[String])) }
3437
3366
  attr_accessor :default_tax_rates
3438
3367
  # The subscription's description, meant to be displayable to the customer.
3439
3368
  # Use this field to optionally store an explanation of the subscription
3440
3369
  # for rendering in the [customer portal](https://stripe.com/docs/customer-management).
3441
- sig { returns(String) }
3370
+ sig { returns(T.nilable(String)) }
3442
3371
  attr_accessor :description
3443
3372
  # All invoices will be billed using the specified settings.
3444
3373
  sig {
3445
- returns(::Stripe::Checkout::Session::CreateParams::SubscriptionData::InvoiceSettings)
3374
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::SubscriptionData::InvoiceSettings))
3446
3375
  }
3447
3376
  attr_accessor :invoice_settings
3448
3377
  # 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`.
3449
- sig { returns(T::Hash[String, String]) }
3378
+ sig { returns(T.nilable(T::Hash[String, String])) }
3450
3379
  attr_accessor :metadata
3451
3380
  # The account on behalf of which to charge, for each of the subscription's invoices.
3452
- sig { returns(String) }
3381
+ sig { returns(T.nilable(String)) }
3453
3382
  attr_accessor :on_behalf_of
3454
3383
  # Determines how to handle prorations resulting from the `billing_cycle_anchor`. If no value is passed, the default is `create_prorations`.
3455
- sig { returns(String) }
3384
+ sig { returns(T.nilable(String)) }
3456
3385
  attr_accessor :proration_behavior
3457
3386
  # 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.
3458
- sig { returns(::Stripe::Checkout::Session::CreateParams::SubscriptionData::TransferData) }
3387
+ sig {
3388
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::SubscriptionData::TransferData))
3389
+ }
3459
3390
  attr_accessor :transfer_data
3460
3391
  # Unix timestamp representing the end of the trial period the customer
3461
3392
  # will get before being charged for the first time. Has to be at least
3462
3393
  # 48 hours in the future.
3463
- sig { returns(Integer) }
3394
+ sig { returns(T.nilable(Integer)) }
3464
3395
  attr_accessor :trial_end
3465
3396
  # Integer representing the number of trial period days before the
3466
3397
  # customer is charged for the first time. Has to be at least 1.
3467
- sig { returns(Integer) }
3398
+ sig { returns(T.nilable(Integer)) }
3468
3399
  attr_accessor :trial_period_days
3469
3400
  # Settings related to subscription trials.
3470
3401
  sig {
3471
- returns(::Stripe::Checkout::Session::CreateParams::SubscriptionData::TrialSettings)
3402
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::SubscriptionData::TrialSettings))
3472
3403
  }
3473
3404
  attr_accessor :trial_settings
3474
3405
  sig {
3475
- params(application_fee_percent: Float, billing_cycle_anchor: Integer, default_tax_rates: T::Array[String], description: String, invoice_settings: ::Stripe::Checkout::Session::CreateParams::SubscriptionData::InvoiceSettings, metadata: T::Hash[String, String], on_behalf_of: String, proration_behavior: String, transfer_data: ::Stripe::Checkout::Session::CreateParams::SubscriptionData::TransferData, trial_end: Integer, trial_period_days: Integer, trial_settings: ::Stripe::Checkout::Session::CreateParams::SubscriptionData::TrialSettings).void
3406
+ 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::Session::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::Session::CreateParams::SubscriptionData::TransferData), trial_end: T.nilable(Integer), trial_period_days: T.nilable(Integer), trial_settings: T.nilable(::Stripe::Checkout::Session::CreateParams::SubscriptionData::TrialSettings)).void
3476
3407
  }
3477
3408
  def initialize(
3478
3409
  application_fee_percent: nil,
@@ -3494,45 +3425,45 @@ module Stripe
3494
3425
  sig { returns(T::Boolean) }
3495
3426
  attr_accessor :enabled
3496
3427
  # Describes whether a tax ID is required during checkout. Defaults to `never`.
3497
- sig { returns(String) }
3428
+ sig { returns(T.nilable(String)) }
3498
3429
  attr_accessor :required
3499
- sig { params(enabled: T::Boolean, required: String).void }
3430
+ sig { params(enabled: T::Boolean, required: T.nilable(String)).void }
3500
3431
  def initialize(enabled: nil, required: nil); end
3501
3432
  end
3502
3433
  # Settings for price localization with [Adaptive Pricing](https://docs.stripe.com/payments/checkout/adaptive-pricing).
3503
- sig { returns(::Stripe::Checkout::Session::CreateParams::AdaptivePricing) }
3434
+ sig { returns(T.nilable(::Stripe::Checkout::Session::CreateParams::AdaptivePricing)) }
3504
3435
  attr_accessor :adaptive_pricing
3505
3436
  # Configure actions after a Checkout Session has expired.
3506
- sig { returns(::Stripe::Checkout::Session::CreateParams::AfterExpiration) }
3437
+ sig { returns(T.nilable(::Stripe::Checkout::Session::CreateParams::AfterExpiration)) }
3507
3438
  attr_accessor :after_expiration
3508
3439
  # Enables user redeemable promotion codes.
3509
- sig { returns(T::Boolean) }
3440
+ sig { returns(T.nilable(T::Boolean)) }
3510
3441
  attr_accessor :allow_promotion_codes
3511
3442
  # Settings for automatic tax lookup for this session and resulting payments, invoices, and subscriptions.
3512
- sig { returns(::Stripe::Checkout::Session::CreateParams::AutomaticTax) }
3443
+ sig { returns(T.nilable(::Stripe::Checkout::Session::CreateParams::AutomaticTax)) }
3513
3444
  attr_accessor :automatic_tax
3514
3445
  # Specify whether Checkout should collect the customer's billing address. Defaults to `auto`.
3515
- sig { returns(String) }
3446
+ sig { returns(T.nilable(String)) }
3516
3447
  attr_accessor :billing_address_collection
3517
3448
  # 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`.
3518
- sig { returns(String) }
3449
+ sig { returns(T.nilable(String)) }
3519
3450
  attr_accessor :cancel_url
3520
3451
  # A unique string to reference the Checkout Session. This can be a
3521
3452
  # customer ID, a cart ID, or similar, and can be used to reconcile the
3522
3453
  # session with your internal systems.
3523
- sig { returns(String) }
3454
+ sig { returns(T.nilable(String)) }
3524
3455
  attr_accessor :client_reference_id
3525
3456
  # Configure fields for the Checkout Session to gather active consent from customers.
3526
- sig { returns(::Stripe::Checkout::Session::CreateParams::ConsentCollection) }
3457
+ sig { returns(T.nilable(::Stripe::Checkout::Session::CreateParams::ConsentCollection)) }
3527
3458
  attr_accessor :consent_collection
3528
3459
  # 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.
3529
- sig { returns(String) }
3460
+ sig { returns(T.nilable(String)) }
3530
3461
  attr_accessor :currency
3531
3462
  # Collect additional information from your customer using custom fields. Up to 3 fields are supported.
3532
- sig { returns(T::Array[::Stripe::Checkout::Session::CreateParams::CustomField]) }
3463
+ sig { returns(T.nilable(T::Array[::Stripe::Checkout::Session::CreateParams::CustomField])) }
3533
3464
  attr_accessor :custom_fields
3534
3465
  # Display additional text for your customers using custom text.
3535
- sig { returns(::Stripe::Checkout::Session::CreateParams::CustomText) }
3466
+ sig { returns(T.nilable(::Stripe::Checkout::Session::CreateParams::CustomText)) }
3536
3467
  attr_accessor :custom_text
3537
3468
  # ID of an existing Customer, if one exists. In `payment` mode, the customer’s most recently saved card
3538
3469
  # payment method will be used to prefill the email, name, card details, and billing address
@@ -3545,7 +3476,7 @@ module Stripe
3545
3476
  # 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.
3546
3477
  #
3547
3478
  # 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.
3548
- sig { returns(String) }
3479
+ sig { returns(T.nilable(String)) }
3549
3480
  attr_accessor :customer
3550
3481
  # Configure whether a Checkout Session creates a [Customer](https://stripe.com/docs/api/customers) during Session confirmation.
3551
3482
  #
@@ -3556,48 +3487,59 @@ module Stripe
3556
3487
  # in the Dashboard. Promotion codes limited to first time customers will return invalid for these Sessions.
3557
3488
  #
3558
3489
  # Can only be set in `payment` and `setup` mode.
3559
- sig { returns(String) }
3490
+ sig { returns(T.nilable(String)) }
3560
3491
  attr_accessor :customer_creation
3561
3492
  # If provided, this value will be used when the Customer object is created.
3562
3493
  # If not provided, customers will be asked to enter their email address.
3563
3494
  # Use this parameter to prefill customer data if you already have an email
3564
3495
  # on file. To access information about the customer once a session is
3565
3496
  # complete, use the `customer` field.
3566
- sig { returns(String) }
3497
+ sig { returns(T.nilable(String)) }
3567
3498
  attr_accessor :customer_email
3568
3499
  # Controls what fields on Customer can be updated by the Checkout Session. Can only be provided when `customer` is provided.
3569
- sig { returns(::Stripe::Checkout::Session::CreateParams::CustomerUpdate) }
3500
+ sig { returns(T.nilable(::Stripe::Checkout::Session::CreateParams::CustomerUpdate)) }
3570
3501
  attr_accessor :customer_update
3571
3502
  # The coupon or promotion code to apply to this Session. Currently, only up to one may be specified.
3572
- sig { returns(T::Array[::Stripe::Checkout::Session::CreateParams::Discount]) }
3503
+ sig { returns(T.nilable(T::Array[::Stripe::Checkout::Session::CreateParams::Discount])) }
3573
3504
  attr_accessor :discounts
3574
3505
  # Specifies which fields in the response should be expanded.
3575
- sig { returns(T::Array[String]) }
3506
+ sig { returns(T.nilable(T::Array[String])) }
3576
3507
  attr_accessor :expand
3577
3508
  # 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.
3578
- sig { returns(Integer) }
3509
+ sig { returns(T.nilable(Integer)) }
3579
3510
  attr_accessor :expires_at
3580
3511
  # Generate a post-purchase Invoice for one-time payments.
3581
- sig { returns(::Stripe::Checkout::Session::CreateParams::InvoiceCreation) }
3512
+ sig { returns(T.nilable(::Stripe::Checkout::Session::CreateParams::InvoiceCreation)) }
3582
3513
  attr_accessor :invoice_creation
3583
3514
  # A list of items the customer is purchasing. Use this parameter to pass one-time or recurring [Prices](https://stripe.com/docs/api/prices).
3584
3515
  #
3585
3516
  # 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.
3586
3517
  #
3587
3518
  # 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.
3588
- sig { returns(T::Array[::Stripe::Checkout::Session::CreateParams::LineItem]) }
3519
+ sig { returns(T.nilable(T::Array[::Stripe::Checkout::Session::CreateParams::LineItem])) }
3589
3520
  attr_accessor :line_items
3590
3521
  # The IETF language tag of the locale Checkout is displayed in. If blank or `auto`, the browser's locale is used.
3591
- sig { returns(String) }
3522
+ sig { returns(T.nilable(String)) }
3592
3523
  attr_accessor :locale
3593
3524
  # 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`.
3594
- sig { returns(T::Hash[String, String]) }
3525
+ sig { returns(T.nilable(T::Hash[String, String])) }
3595
3526
  attr_accessor :metadata
3596
3527
  # The mode of the Checkout Session. Pass `subscription` if the Checkout Session includes at least one recurring item.
3597
- sig { returns(String) }
3528
+ sig { returns(T.nilable(String)) }
3598
3529
  attr_accessor :mode
3530
+ # 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).
3531
+ #
3532
+ # 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.
3533
+ #
3534
+ # 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.
3535
+ #
3536
+ # 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.
3537
+ sig {
3538
+ returns(T.nilable(T::Array[::Stripe::Checkout::Session::CreateParams::OptionalItem]))
3539
+ }
3540
+ attr_accessor :optional_items
3599
3541
  # A subset of parameters to be passed to PaymentIntent creation for Checkout Sessions in `payment` mode.
3600
- sig { returns(::Stripe::Checkout::Session::CreateParams::PaymentIntentData) }
3542
+ sig { returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentIntentData)) }
3601
3543
  attr_accessor :payment_intent_data
3602
3544
  # 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.
3603
3545
  # This may occur if the Checkout Session includes a free trial or a discount.
@@ -3605,16 +3547,16 @@ module Stripe
3605
3547
  # Can only be set in `subscription` mode. Defaults to `always`.
3606
3548
  #
3607
3549
  # 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).
3608
- sig { returns(String) }
3550
+ sig { returns(T.nilable(String)) }
3609
3551
  attr_accessor :payment_method_collection
3610
3552
  # The ID of the payment method configuration to use with this Checkout session.
3611
- sig { returns(String) }
3553
+ sig { returns(T.nilable(String)) }
3612
3554
  attr_accessor :payment_method_configuration
3613
3555
  # This parameter allows you to set some attributes on the payment method created during a Checkout session.
3614
- sig { returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodData) }
3556
+ sig { returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodData)) }
3615
3557
  attr_accessor :payment_method_data
3616
3558
  # Payment-method-specific configuration.
3617
- sig { returns(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions) }
3559
+ sig { returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions)) }
3618
3560
  attr_accessor :payment_method_options
3619
3561
  # A list of the types of payment methods (e.g., `card`) this Checkout Session can accept.
3620
3562
  #
@@ -3627,62 +3569,69 @@ module Stripe
3627
3569
  # If multiple payment methods are passed, Checkout will dynamically reorder them to
3628
3570
  # prioritize the most relevant payment methods based on the customer's location and
3629
3571
  # other characteristics.
3630
- sig { returns(T::Array[String]) }
3572
+ sig { returns(T.nilable(T::Array[String])) }
3631
3573
  attr_accessor :payment_method_types
3632
3574
  # This property is used to set up permissions for various actions (e.g., update) on the CheckoutSession object.
3633
3575
  #
3634
3576
  # For specific permissions, please refer to their dedicated subsections, such as `permissions.update.shipping_details`.
3635
- sig { returns(::Stripe::Checkout::Session::CreateParams::Permissions) }
3577
+ sig { returns(T.nilable(::Stripe::Checkout::Session::CreateParams::Permissions)) }
3636
3578
  attr_accessor :permissions
3637
3579
  # Controls phone number collection settings for the session.
3638
3580
  #
3639
3581
  # We recommend that you review your privacy policy and check with your legal contacts
3640
3582
  # before using this feature. Learn more about [collecting phone numbers with Checkout](https://stripe.com/docs/payments/checkout/phone-numbers).
3641
- sig { returns(::Stripe::Checkout::Session::CreateParams::PhoneNumberCollection) }
3583
+ sig { returns(T.nilable(::Stripe::Checkout::Session::CreateParams::PhoneNumberCollection)) }
3642
3584
  attr_accessor :phone_number_collection
3643
3585
  # 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`.
3644
- sig { returns(String) }
3586
+ sig { returns(T.nilable(String)) }
3645
3587
  attr_accessor :redirect_on_completion
3646
3588
  # The URL to redirect your customer back to after they authenticate or cancel their payment on the
3647
3589
  # payment method's app or site. This parameter is required if `ui_mode` is `embedded` or `custom`
3648
3590
  # and redirect-based payment methods are enabled on the session.
3649
- sig { returns(String) }
3591
+ sig { returns(T.nilable(String)) }
3650
3592
  attr_accessor :return_url
3651
3593
  # Controls saved payment method settings for the session. Only available in `payment` and `subscription` mode.
3652
- sig { returns(::Stripe::Checkout::Session::CreateParams::SavedPaymentMethodOptions) }
3594
+ sig {
3595
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::SavedPaymentMethodOptions))
3596
+ }
3653
3597
  attr_accessor :saved_payment_method_options
3654
3598
  # A subset of parameters to be passed to SetupIntent creation for Checkout Sessions in `setup` mode.
3655
- sig { returns(::Stripe::Checkout::Session::CreateParams::SetupIntentData) }
3599
+ sig { returns(T.nilable(::Stripe::Checkout::Session::CreateParams::SetupIntentData)) }
3656
3600
  attr_accessor :setup_intent_data
3657
3601
  # When set, provides configuration for Checkout to collect a shipping address from a customer.
3658
- sig { returns(::Stripe::Checkout::Session::CreateParams::ShippingAddressCollection) }
3602
+ sig {
3603
+ returns(T.nilable(::Stripe::Checkout::Session::CreateParams::ShippingAddressCollection))
3604
+ }
3659
3605
  attr_accessor :shipping_address_collection
3660
3606
  # The shipping rate options to apply to this Session. Up to a maximum of 5.
3661
- sig { returns(T::Array[::Stripe::Checkout::Session::CreateParams::ShippingOption]) }
3607
+ sig {
3608
+ returns(T.nilable(T::Array[::Stripe::Checkout::Session::CreateParams::ShippingOption]))
3609
+ }
3662
3610
  attr_accessor :shipping_options
3663
- # Describes the type of transaction being performed by Checkout in order to customize
3664
- # relevant text on the page, such as the submit button. `submit_type` can only be
3665
- # specified on Checkout Sessions in `payment` mode. If blank or `auto`, `pay` is used.
3666
- sig { returns(String) }
3611
+ # Describes the type of transaction being performed by Checkout in order
3612
+ # to customize relevant text on the page, such as the submit button.
3613
+ # `submit_type` can only be specified on Checkout Sessions in
3614
+ # `payment` or `subscription` mode. If blank or `auto`, `pay` is used.
3615
+ sig { returns(T.nilable(String)) }
3667
3616
  attr_accessor :submit_type
3668
3617
  # A subset of parameters to be passed to subscription creation for Checkout Sessions in `subscription` mode.
3669
- sig { returns(::Stripe::Checkout::Session::CreateParams::SubscriptionData) }
3618
+ sig { returns(T.nilable(::Stripe::Checkout::Session::CreateParams::SubscriptionData)) }
3670
3619
  attr_accessor :subscription_data
3671
3620
  # The URL to which Stripe should send customers when payment or setup
3672
3621
  # is complete.
3673
3622
  # This parameter is not allowed if ui_mode is `embedded` or `custom`. If you'd like to use
3674
3623
  # information from the successful Checkout Session on your page, read the
3675
3624
  # guide on [customizing your success page](https://stripe.com/docs/payments/checkout/custom-success-page).
3676
- sig { returns(String) }
3625
+ sig { returns(T.nilable(String)) }
3677
3626
  attr_accessor :success_url
3678
3627
  # Controls tax ID collection during checkout.
3679
- sig { returns(::Stripe::Checkout::Session::CreateParams::TaxIdCollection) }
3628
+ sig { returns(T.nilable(::Stripe::Checkout::Session::CreateParams::TaxIdCollection)) }
3680
3629
  attr_accessor :tax_id_collection
3681
3630
  # The UI mode of the Session. Defaults to `hosted`.
3682
- sig { returns(String) }
3631
+ sig { returns(T.nilable(String)) }
3683
3632
  attr_accessor :ui_mode
3684
3633
  sig {
3685
- params(adaptive_pricing: ::Stripe::Checkout::Session::CreateParams::AdaptivePricing, after_expiration: ::Stripe::Checkout::Session::CreateParams::AfterExpiration, allow_promotion_codes: T::Boolean, automatic_tax: ::Stripe::Checkout::Session::CreateParams::AutomaticTax, billing_address_collection: String, cancel_url: String, client_reference_id: String, consent_collection: ::Stripe::Checkout::Session::CreateParams::ConsentCollection, currency: String, custom_fields: T::Array[::Stripe::Checkout::Session::CreateParams::CustomField], custom_text: ::Stripe::Checkout::Session::CreateParams::CustomText, customer: String, customer_creation: String, customer_email: String, customer_update: ::Stripe::Checkout::Session::CreateParams::CustomerUpdate, discounts: T::Array[::Stripe::Checkout::Session::CreateParams::Discount], expand: T::Array[String], expires_at: Integer, invoice_creation: ::Stripe::Checkout::Session::CreateParams::InvoiceCreation, line_items: T::Array[::Stripe::Checkout::Session::CreateParams::LineItem], locale: String, metadata: T::Hash[String, String], mode: String, payment_intent_data: ::Stripe::Checkout::Session::CreateParams::PaymentIntentData, payment_method_collection: String, payment_method_configuration: String, payment_method_data: ::Stripe::Checkout::Session::CreateParams::PaymentMethodData, payment_method_options: ::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions, payment_method_types: T::Array[String], permissions: ::Stripe::Checkout::Session::CreateParams::Permissions, phone_number_collection: ::Stripe::Checkout::Session::CreateParams::PhoneNumberCollection, redirect_on_completion: String, return_url: String, saved_payment_method_options: ::Stripe::Checkout::Session::CreateParams::SavedPaymentMethodOptions, setup_intent_data: ::Stripe::Checkout::Session::CreateParams::SetupIntentData, shipping_address_collection: ::Stripe::Checkout::Session::CreateParams::ShippingAddressCollection, shipping_options: T::Array[::Stripe::Checkout::Session::CreateParams::ShippingOption], submit_type: String, subscription_data: ::Stripe::Checkout::Session::CreateParams::SubscriptionData, success_url: String, tax_id_collection: ::Stripe::Checkout::Session::CreateParams::TaxIdCollection, ui_mode: String).void
3634
+ params(adaptive_pricing: T.nilable(::Stripe::Checkout::Session::CreateParams::AdaptivePricing), after_expiration: T.nilable(::Stripe::Checkout::Session::CreateParams::AfterExpiration), allow_promotion_codes: T.nilable(T::Boolean), automatic_tax: T.nilable(::Stripe::Checkout::Session::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::Session::CreateParams::ConsentCollection), currency: T.nilable(String), custom_fields: T.nilable(T::Array[::Stripe::Checkout::Session::CreateParams::CustomField]), custom_text: T.nilable(::Stripe::Checkout::Session::CreateParams::CustomText), customer: T.nilable(String), customer_creation: T.nilable(String), customer_email: T.nilable(String), customer_update: T.nilable(::Stripe::Checkout::Session::CreateParams::CustomerUpdate), discounts: T.nilable(T::Array[::Stripe::Checkout::Session::CreateParams::Discount]), expand: T.nilable(T::Array[String]), expires_at: T.nilable(Integer), invoice_creation: T.nilable(::Stripe::Checkout::Session::CreateParams::InvoiceCreation), line_items: T.nilable(T::Array[::Stripe::Checkout::Session::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::Session::CreateParams::OptionalItem]), payment_intent_data: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentIntentData), payment_method_collection: T.nilable(String), payment_method_configuration: T.nilable(String), payment_method_data: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodData), payment_method_options: T.nilable(::Stripe::Checkout::Session::CreateParams::PaymentMethodOptions), payment_method_types: T.nilable(T::Array[String]), permissions: T.nilable(::Stripe::Checkout::Session::CreateParams::Permissions), phone_number_collection: T.nilable(::Stripe::Checkout::Session::CreateParams::PhoneNumberCollection), redirect_on_completion: T.nilable(String), return_url: T.nilable(String), saved_payment_method_options: T.nilable(::Stripe::Checkout::Session::CreateParams::SavedPaymentMethodOptions), setup_intent_data: T.nilable(::Stripe::Checkout::Session::CreateParams::SetupIntentData), shipping_address_collection: T.nilable(::Stripe::Checkout::Session::CreateParams::ShippingAddressCollection), shipping_options: T.nilable(T::Array[::Stripe::Checkout::Session::CreateParams::ShippingOption]), submit_type: T.nilable(String), subscription_data: T.nilable(::Stripe::Checkout::Session::CreateParams::SubscriptionData), success_url: T.nilable(String), tax_id_collection: T.nilable(::Stripe::Checkout::Session::CreateParams::TaxIdCollection), ui_mode: T.nilable(String)).void
3686
3635
  }
3687
3636
  def initialize(
3688
3637
  adaptive_pricing: nil,
@@ -3708,6 +3657,7 @@ module Stripe
3708
3657
  locale: nil,
3709
3658
  metadata: nil,
3710
3659
  mode: nil,
3660
+ optional_items: nil,
3711
3661
  payment_intent_data: nil,
3712
3662
  payment_method_collection: nil,
3713
3663
  payment_method_configuration: nil,
@@ -3729,19 +3679,12 @@ module Stripe
3729
3679
  ui_mode: nil
3730
3680
  ); end
3731
3681
  end
3732
- class RetrieveParams < Stripe::RequestParams
3733
- # Specifies which fields in the response should be expanded.
3734
- sig { returns(T::Array[String]) }
3735
- attr_accessor :expand
3736
- sig { params(expand: T::Array[String]).void }
3737
- def initialize(expand: nil); end
3738
- end
3739
3682
  class UpdateParams < Stripe::RequestParams
3740
3683
  class CollectedInformation < Stripe::RequestParams
3741
3684
  class ShippingDetails < Stripe::RequestParams
3742
3685
  class Address < Stripe::RequestParams
3743
3686
  # City, district, suburb, town, or village.
3744
- sig { returns(String) }
3687
+ sig { returns(T.nilable(String)) }
3745
3688
  attr_accessor :city
3746
3689
  # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
3747
3690
  sig { returns(String) }
@@ -3750,16 +3693,16 @@ module Stripe
3750
3693
  sig { returns(String) }
3751
3694
  attr_accessor :line1
3752
3695
  # Address line 2 (e.g., apartment, suite, unit, or building).
3753
- sig { returns(String) }
3696
+ sig { returns(T.nilable(String)) }
3754
3697
  attr_accessor :line2
3755
3698
  # ZIP or postal code.
3756
- sig { returns(String) }
3699
+ sig { returns(T.nilable(String)) }
3757
3700
  attr_accessor :postal_code
3758
3701
  # State, county, province, or region.
3759
- sig { returns(String) }
3702
+ sig { returns(T.nilable(String)) }
3760
3703
  attr_accessor :state
3761
3704
  sig {
3762
- params(city: String, country: String, line1: String, line2: String, postal_code: String, state: String).void
3705
+ params(city: T.nilable(String), country: String, line1: String, line2: T.nilable(String), postal_code: T.nilable(String), state: T.nilable(String)).void
3763
3706
  }
3764
3707
  def initialize(
3765
3708
  city: nil,
@@ -3785,58 +3728,14 @@ module Stripe
3785
3728
  end
3786
3729
  # The shipping details to apply to this Session.
3787
3730
  sig {
3788
- returns(::Stripe::Checkout::Session::UpdateParams::CollectedInformation::ShippingDetails)
3731
+ returns(T.nilable(::Stripe::Checkout::Session::UpdateParams::CollectedInformation::ShippingDetails))
3789
3732
  }
3790
3733
  attr_accessor :shipping_details
3791
3734
  sig {
3792
- params(shipping_details: ::Stripe::Checkout::Session::UpdateParams::CollectedInformation::ShippingDetails).void
3735
+ params(shipping_details: T.nilable(::Stripe::Checkout::Session::UpdateParams::CollectedInformation::ShippingDetails)).void
3793
3736
  }
3794
3737
  def initialize(shipping_details: nil); end
3795
3738
  end
3796
- class LineItem < Stripe::RequestParams
3797
- class AdjustableQuantity < Stripe::RequestParams
3798
- # Set to true if the quantity can be adjusted to any positive integer. Setting to false will remove any previously specified constraints on quantity.
3799
- sig { returns(T::Boolean) }
3800
- attr_accessor :enabled
3801
- # 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.
3802
- sig { returns(Integer) }
3803
- attr_accessor :maximum
3804
- # The minimum quantity the customer must purchase for the Checkout Session. By default this value is 0.
3805
- sig { returns(Integer) }
3806
- attr_accessor :minimum
3807
- sig { params(enabled: T::Boolean, maximum: Integer, minimum: Integer).void }
3808
- def initialize(enabled: nil, maximum: nil, minimum: nil); end
3809
- end
3810
- # When set, provides configuration for this item’s quantity to be adjusted by the customer during Checkout.
3811
- sig { returns(::Stripe::Checkout::Session::UpdateParams::LineItem::AdjustableQuantity) }
3812
- attr_accessor :adjustable_quantity
3813
- # ID of an existing line item.
3814
- sig { returns(String) }
3815
- attr_accessor :id
3816
- # 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`.
3817
- sig { returns(T.nilable(T::Hash[String, String])) }
3818
- attr_accessor :metadata
3819
- # The ID of the [Price](https://stripe.com/docs/api/prices).
3820
- sig { returns(String) }
3821
- attr_accessor :price
3822
- # The quantity of the line item being purchased.
3823
- sig { returns(Integer) }
3824
- attr_accessor :quantity
3825
- # The [tax rates](https://stripe.com/docs/api/tax_rates) which apply to this line item.
3826
- sig { returns(T.nilable(T::Array[String])) }
3827
- attr_accessor :tax_rates
3828
- sig {
3829
- params(adjustable_quantity: ::Stripe::Checkout::Session::UpdateParams::LineItem::AdjustableQuantity, id: String, metadata: T.nilable(T::Hash[String, String]), price: String, quantity: Integer, tax_rates: T.nilable(T::Array[String])).void
3830
- }
3831
- def initialize(
3832
- adjustable_quantity: nil,
3833
- id: nil,
3834
- metadata: nil,
3835
- price: nil,
3836
- quantity: nil,
3837
- tax_rates: nil
3838
- ); end
3839
- end
3840
3739
  class ShippingOption < Stripe::RequestParams
3841
3740
  class ShippingRateData < Stripe::RequestParams
3842
3741
  class DeliveryEstimate < Stripe::RequestParams
@@ -3862,16 +3761,16 @@ module Stripe
3862
3761
  end
3863
3762
  # The upper bound of the estimated range. If empty, represents no upper bound i.e., infinite.
3864
3763
  sig {
3865
- returns(::Stripe::Checkout::Session::UpdateParams::ShippingOption::ShippingRateData::DeliveryEstimate::Maximum)
3764
+ returns(T.nilable(::Stripe::Checkout::Session::UpdateParams::ShippingOption::ShippingRateData::DeliveryEstimate::Maximum))
3866
3765
  }
3867
3766
  attr_accessor :maximum
3868
3767
  # The lower bound of the estimated range. If empty, represents no lower bound.
3869
3768
  sig {
3870
- returns(::Stripe::Checkout::Session::UpdateParams::ShippingOption::ShippingRateData::DeliveryEstimate::Minimum)
3769
+ returns(T.nilable(::Stripe::Checkout::Session::UpdateParams::ShippingOption::ShippingRateData::DeliveryEstimate::Minimum))
3871
3770
  }
3872
3771
  attr_accessor :minimum
3873
3772
  sig {
3874
- params(maximum: ::Stripe::Checkout::Session::UpdateParams::ShippingOption::ShippingRateData::DeliveryEstimate::Maximum, minimum: ::Stripe::Checkout::Session::UpdateParams::ShippingOption::ShippingRateData::DeliveryEstimate::Minimum).void
3773
+ params(maximum: T.nilable(::Stripe::Checkout::Session::UpdateParams::ShippingOption::ShippingRateData::DeliveryEstimate::Maximum), minimum: T.nilable(::Stripe::Checkout::Session::UpdateParams::ShippingOption::ShippingRateData::DeliveryEstimate::Minimum)).void
3875
3774
  }
3876
3775
  def initialize(maximum: nil, minimum: nil); end
3877
3776
  end
@@ -3881,9 +3780,9 @@ module Stripe
3881
3780
  sig { returns(Integer) }
3882
3781
  attr_accessor :amount
3883
3782
  # Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`.
3884
- sig { returns(String) }
3783
+ sig { returns(T.nilable(String)) }
3885
3784
  attr_accessor :tax_behavior
3886
- sig { params(amount: Integer, tax_behavior: String).void }
3785
+ sig { params(amount: Integer, tax_behavior: T.nilable(String)).void }
3887
3786
  def initialize(amount: nil, tax_behavior: nil); end
3888
3787
  end
3889
3788
  # A non-negative integer in cents representing how much to charge.
@@ -3894,17 +3793,17 @@ module Stripe
3894
3793
  attr_accessor :currency
3895
3794
  # 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).
3896
3795
  sig {
3897
- returns(T::Hash[String, ::Stripe::Checkout::Session::UpdateParams::ShippingOption::ShippingRateData::FixedAmount::CurrencyOptions])
3796
+ returns(T.nilable(T::Hash[String, ::Stripe::Checkout::Session::UpdateParams::ShippingOption::ShippingRateData::FixedAmount::CurrencyOptions]))
3898
3797
  }
3899
3798
  attr_accessor :currency_options
3900
3799
  sig {
3901
- params(amount: Integer, currency: String, currency_options: T::Hash[String, ::Stripe::Checkout::Session::UpdateParams::ShippingOption::ShippingRateData::FixedAmount::CurrencyOptions]).void
3800
+ params(amount: Integer, currency: String, currency_options: T.nilable(T::Hash[String, ::Stripe::Checkout::Session::UpdateParams::ShippingOption::ShippingRateData::FixedAmount::CurrencyOptions])).void
3902
3801
  }
3903
3802
  def initialize(amount: nil, currency: nil, currency_options: nil); end
3904
3803
  end
3905
3804
  # The estimated range for how long shipping will take, meant to be displayable to the customer. This will appear on CheckoutSessions.
3906
3805
  sig {
3907
- returns(::Stripe::Checkout::Session::UpdateParams::ShippingOption::ShippingRateData::DeliveryEstimate)
3806
+ returns(T.nilable(::Stripe::Checkout::Session::UpdateParams::ShippingOption::ShippingRateData::DeliveryEstimate))
3908
3807
  }
3909
3808
  attr_accessor :delivery_estimate
3910
3809
  # The name of the shipping rate, meant to be displayable to the customer. This will appear on CheckoutSessions.
@@ -3912,23 +3811,23 @@ module Stripe
3912
3811
  attr_accessor :display_name
3913
3812
  # Describes a fixed amount to charge for shipping. Must be present if type is `fixed_amount`.
3914
3813
  sig {
3915
- returns(::Stripe::Checkout::Session::UpdateParams::ShippingOption::ShippingRateData::FixedAmount)
3814
+ returns(T.nilable(::Stripe::Checkout::Session::UpdateParams::ShippingOption::ShippingRateData::FixedAmount))
3916
3815
  }
3917
3816
  attr_accessor :fixed_amount
3918
3817
  # 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`.
3919
- sig { returns(T::Hash[String, String]) }
3818
+ sig { returns(T.nilable(T::Hash[String, String])) }
3920
3819
  attr_accessor :metadata
3921
3820
  # Specifies whether the rate is considered inclusive of taxes or exclusive of taxes. One of `inclusive`, `exclusive`, or `unspecified`.
3922
- sig { returns(String) }
3821
+ sig { returns(T.nilable(String)) }
3923
3822
  attr_accessor :tax_behavior
3924
3823
  # A [tax code](https://stripe.com/docs/tax/tax-categories) ID. The Shipping tax code is `txcd_92010001`.
3925
- sig { returns(String) }
3824
+ sig { returns(T.nilable(String)) }
3926
3825
  attr_accessor :tax_code
3927
3826
  # The type of calculation to use on the shipping rate.
3928
- sig { returns(String) }
3827
+ sig { returns(T.nilable(String)) }
3929
3828
  attr_accessor :type
3930
3829
  sig {
3931
- params(delivery_estimate: ::Stripe::Checkout::Session::UpdateParams::ShippingOption::ShippingRateData::DeliveryEstimate, display_name: String, fixed_amount: ::Stripe::Checkout::Session::UpdateParams::ShippingOption::ShippingRateData::FixedAmount, metadata: T::Hash[String, String], tax_behavior: String, tax_code: String, type: String).void
3830
+ params(delivery_estimate: T.nilable(::Stripe::Checkout::Session::UpdateParams::ShippingOption::ShippingRateData::DeliveryEstimate), display_name: String, fixed_amount: T.nilable(::Stripe::Checkout::Session::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
3932
3831
  }
3933
3832
  def initialize(
3934
3833
  delivery_estimate: nil,
@@ -3941,100 +3840,84 @@ module Stripe
3941
3840
  ); end
3942
3841
  end
3943
3842
  # The ID of the Shipping Rate to use for this shipping option.
3944
- sig { returns(String) }
3843
+ sig { returns(T.nilable(String)) }
3945
3844
  attr_accessor :shipping_rate
3946
3845
  # Parameters to be passed to Shipping Rate creation for this shipping option.
3947
3846
  sig {
3948
- returns(::Stripe::Checkout::Session::UpdateParams::ShippingOption::ShippingRateData)
3847
+ returns(T.nilable(::Stripe::Checkout::Session::UpdateParams::ShippingOption::ShippingRateData))
3949
3848
  }
3950
3849
  attr_accessor :shipping_rate_data
3951
3850
  sig {
3952
- params(shipping_rate: String, shipping_rate_data: ::Stripe::Checkout::Session::UpdateParams::ShippingOption::ShippingRateData).void
3851
+ params(shipping_rate: T.nilable(String), shipping_rate_data: T.nilable(::Stripe::Checkout::Session::UpdateParams::ShippingOption::ShippingRateData)).void
3953
3852
  }
3954
3853
  def initialize(shipping_rate: nil, shipping_rate_data: nil); end
3955
3854
  end
3956
3855
  # Information about the customer collected within the Checkout Session.
3957
- sig { returns(::Stripe::Checkout::Session::UpdateParams::CollectedInformation) }
3856
+ sig { returns(T.nilable(::Stripe::Checkout::Session::UpdateParams::CollectedInformation)) }
3958
3857
  attr_accessor :collected_information
3959
3858
  # Specifies which fields in the response should be expanded.
3960
- sig { returns(T::Array[String]) }
3859
+ sig { returns(T.nilable(T::Array[String])) }
3961
3860
  attr_accessor :expand
3962
- # A list of items the customer is purchasing.
3963
- #
3964
- # When updating line items, you must retransmit the entire array of line items.
3965
- #
3966
- # To retain an existing line item, specify its `id`.
3967
- #
3968
- # To update an existing line item, specify its `id` along with the new values of the fields to update.
3969
- #
3970
- # To add a new line item, specify a `price` and `quantity`. We don't currently support recurring prices.
3971
- #
3972
- # To remove an existing line item, omit the line item's ID from the retransmitted array.
3973
- #
3974
- # To reorder a line item, specify it at the desired position in the retransmitted array.
3975
- sig { returns(T::Array[::Stripe::Checkout::Session::UpdateParams::LineItem]) }
3976
- attr_accessor :line_items
3977
3861
  # 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`.
3978
- sig { returns(T.nilable(T::Hash[String, String])) }
3862
+ sig { returns(T.nilable(T.nilable(T.any(String, T::Hash[String, String])))) }
3979
3863
  attr_accessor :metadata
3980
3864
  # The shipping rate options to apply to this Session. Up to a maximum of 5.
3981
3865
  sig {
3982
- returns(T.nilable(T::Array[::Stripe::Checkout::Session::UpdateParams::ShippingOption]))
3866
+ returns(T.nilable(T.nilable(T.any(String, T::Array[::Stripe::Checkout::Session::UpdateParams::ShippingOption]))))
3983
3867
  }
3984
3868
  attr_accessor :shipping_options
3985
3869
  sig {
3986
- params(collected_information: ::Stripe::Checkout::Session::UpdateParams::CollectedInformation, expand: T::Array[String], line_items: T::Array[::Stripe::Checkout::Session::UpdateParams::LineItem], metadata: T.nilable(T::Hash[String, String]), shipping_options: T.nilable(T::Array[::Stripe::Checkout::Session::UpdateParams::ShippingOption])).void
3870
+ params(collected_information: T.nilable(::Stripe::Checkout::Session::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::Session::UpdateParams::ShippingOption])))).void
3987
3871
  }
3988
3872
  def initialize(
3989
3873
  collected_information: nil,
3990
3874
  expand: nil,
3991
- line_items: nil,
3992
3875
  metadata: nil,
3993
3876
  shipping_options: nil
3994
3877
  ); end
3995
3878
  end
3996
3879
  class ListLineItemsParams < Stripe::RequestParams
3997
3880
  # 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.
3998
- sig { returns(String) }
3881
+ sig { returns(T.nilable(String)) }
3999
3882
  attr_accessor :ending_before
4000
3883
  # Specifies which fields in the response should be expanded.
4001
- sig { returns(T::Array[String]) }
3884
+ sig { returns(T.nilable(T::Array[String])) }
4002
3885
  attr_accessor :expand
4003
3886
  # A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
4004
- sig { returns(Integer) }
3887
+ sig { returns(T.nilable(Integer)) }
4005
3888
  attr_accessor :limit
4006
3889
  # 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.
4007
- sig { returns(String) }
3890
+ sig { returns(T.nilable(String)) }
4008
3891
  attr_accessor :starting_after
4009
3892
  sig {
4010
- params(ending_before: String, expand: T::Array[String], limit: Integer, starting_after: String).void
3893
+ params(ending_before: T.nilable(String), expand: T.nilable(T::Array[String]), limit: T.nilable(Integer), starting_after: T.nilable(String)).void
4011
3894
  }
4012
3895
  def initialize(ending_before: nil, expand: nil, limit: nil, starting_after: nil); end
4013
3896
  end
4014
3897
  class ExpireParams < Stripe::RequestParams
4015
3898
  # Specifies which fields in the response should be expanded.
4016
- sig { returns(T::Array[String]) }
3899
+ sig { returns(T.nilable(T::Array[String])) }
4017
3900
  attr_accessor :expand
4018
- sig { params(expand: T::Array[String]).void }
3901
+ sig { params(expand: T.nilable(T::Array[String])).void }
4019
3902
  def initialize(expand: nil); end
4020
3903
  end
4021
- # Creates a Session object.
3904
+ # Creates a Checkout Session object.
4022
3905
  sig {
4023
3906
  params(params: T.any(::Stripe::Checkout::Session::CreateParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::Checkout::Session)
4024
3907
  }
4025
3908
  def self.create(params = {}, opts = {}); end
4026
3909
 
4027
- # A Session can be expired when it is in one of these statuses: open
3910
+ # A Checkout Session can be expired when it is in one of these statuses: open
4028
3911
  #
4029
- # After it expires, a customer can't complete a Session and customers loading the Session see a message saying the Session is expired.
3912
+ # 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.
4030
3913
  sig {
4031
3914
  params(params: T.any(::Stripe::Checkout::Session::ExpireParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::Checkout::Session)
4032
3915
  }
4033
3916
  def expire(params = {}, opts = {}); end
4034
3917
 
4035
- # A Session can be expired when it is in one of these statuses: open
3918
+ # A Checkout Session can be expired when it is in one of these statuses: open
4036
3919
  #
4037
- # After it expires, a customer can't complete a Session and customers loading the Session see a message saying the Session is expired.
3920
+ # 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.
4038
3921
  sig {
4039
3922
  params(session: String, params: T.any(::Stripe::Checkout::Session::ExpireParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::Checkout::Session)
4040
3923
  }
@@ -4058,7 +3941,7 @@ module Stripe
4058
3941
  }
4059
3942
  def self.list_line_items(session, params = {}, opts = {}); end
4060
3943
 
4061
- # Updates a Session object.
3944
+ # Updates a Checkout Session object.
4062
3945
  sig {
4063
3946
  params(session: String, params: T.any(::Stripe::Checkout::Session::UpdateParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::Checkout::Session)
4064
3947
  }