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
@@ -74,6 +74,9 @@ module Stripe
74
74
  sig { returns(String) }
75
75
  attr_reader :value
76
76
  end
77
+ # The value that will pre-fill on the payment page.
78
+ sig { returns(T.nilable(String)) }
79
+ attr_reader :default_value
77
80
  # The options available for the customer to select. Up to 200 options allowed.
78
81
  sig { returns(T::Array[Option]) }
79
82
  attr_reader :options
@@ -87,6 +90,9 @@ module Stripe
87
90
  attr_reader :type
88
91
  end
89
92
  class Numeric < Stripe::StripeObject
93
+ # The value that will pre-fill the field on the payment page.
94
+ sig { returns(T.nilable(String)) }
95
+ attr_reader :default_value
90
96
  # The maximum character length constraint for the customer's input.
91
97
  sig { returns(T.nilable(Integer)) }
92
98
  attr_reader :maximum_length
@@ -95,6 +101,9 @@ module Stripe
95
101
  attr_reader :minimum_length
96
102
  end
97
103
  class Text < Stripe::StripeObject
104
+ # The value that will pre-fill the field on the payment page.
105
+ sig { returns(T.nilable(String)) }
106
+ attr_reader :default_value
98
107
  # The maximum character length constraint for the customer's input.
99
108
  sig { returns(T.nilable(Integer)) }
100
109
  attr_reader :maximum_length
@@ -210,6 +219,28 @@ module Stripe
210
219
  sig { returns(T.nilable(InvoiceData)) }
211
220
  attr_reader :invoice_data
212
221
  end
222
+ class OptionalItem < Stripe::StripeObject
223
+ class AdjustableQuantity < Stripe::StripeObject
224
+ # Set to true if the quantity can be adjusted to any non-negative integer.
225
+ sig { returns(T::Boolean) }
226
+ attr_reader :enabled
227
+ # The maximum quantity of this item the customer can purchase. By default this value is 99.
228
+ sig { returns(T.nilable(Integer)) }
229
+ attr_reader :maximum
230
+ # 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.
231
+ sig { returns(T.nilable(Integer)) }
232
+ attr_reader :minimum
233
+ end
234
+ # Attribute for field adjustable_quantity
235
+ sig { returns(T.nilable(AdjustableQuantity)) }
236
+ attr_reader :adjustable_quantity
237
+ # Attribute for field price
238
+ sig { returns(String) }
239
+ attr_reader :price
240
+ # Attribute for field quantity
241
+ sig { returns(Integer) }
242
+ attr_reader :quantity
243
+ end
213
244
  class PaymentIntentData < Stripe::StripeObject
214
245
  # Indicates when the funds will be captured from the customer's account.
215
246
  sig { returns(T.nilable(String)) }
@@ -383,6 +414,9 @@ module Stripe
383
414
  # The account on behalf of which to charge. See the [Connect documentation](https://support.stripe.com/questions/sending-invoices-on-behalf-of-connected-accounts) for details.
384
415
  sig { returns(T.nilable(T.any(String, Stripe::Account))) }
385
416
  attr_reader :on_behalf_of
417
+ # The optional items presented to the customer at checkout.
418
+ sig { returns(T.nilable(T::Array[OptionalItem])) }
419
+ attr_reader :optional_items
386
420
  # Indicates the parameters to be passed to PaymentIntent creation during checkout.
387
421
  sig { returns(T.nilable(PaymentIntentData)) }
388
422
  attr_reader :payment_intent_data
@@ -421,22 +455,22 @@ module Stripe
421
455
  attr_reader :url
422
456
  class ListParams < Stripe::RequestParams
423
457
  # Only return payment links that are active or inactive (e.g., pass `false` to list all inactive payment links).
424
- sig { returns(T::Boolean) }
458
+ sig { returns(T.nilable(T::Boolean)) }
425
459
  attr_accessor :active
426
460
  # 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.
427
- sig { returns(String) }
461
+ sig { returns(T.nilable(String)) }
428
462
  attr_accessor :ending_before
429
463
  # Specifies which fields in the response should be expanded.
430
- sig { returns(T::Array[String]) }
464
+ sig { returns(T.nilable(T::Array[String])) }
431
465
  attr_accessor :expand
432
466
  # A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
433
- sig { returns(Integer) }
467
+ sig { returns(T.nilable(Integer)) }
434
468
  attr_accessor :limit
435
469
  # 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.
436
- sig { returns(String) }
470
+ sig { returns(T.nilable(String)) }
437
471
  attr_accessor :starting_after
438
472
  sig {
439
- params(active: T::Boolean, ending_before: String, expand: T::Array[String], limit: Integer, starting_after: String).void
473
+ params(active: T.nilable(T::Boolean), ending_before: T.nilable(String), expand: T.nilable(T::Array[String]), limit: T.nilable(Integer), starting_after: T.nilable(String)).void
440
474
  }
441
475
  def initialize(
442
476
  active: nil,
@@ -450,9 +484,9 @@ module Stripe
450
484
  class AfterCompletion < Stripe::RequestParams
451
485
  class HostedConfirmation < Stripe::RequestParams
452
486
  # A custom message to display to the customer after the purchase is complete.
453
- sig { returns(String) }
487
+ sig { returns(T.nilable(String)) }
454
488
  attr_accessor :custom_message
455
- sig { params(custom_message: String).void }
489
+ sig { params(custom_message: T.nilable(String)).void }
456
490
  def initialize(custom_message: nil); end
457
491
  end
458
492
  class Redirect < Stripe::RequestParams
@@ -463,28 +497,30 @@ module Stripe
463
497
  def initialize(url: nil); end
464
498
  end
465
499
  # Configuration when `type=hosted_confirmation`.
466
- sig { returns(::Stripe::PaymentLink::CreateParams::AfterCompletion::HostedConfirmation) }
500
+ sig {
501
+ returns(T.nilable(::Stripe::PaymentLink::CreateParams::AfterCompletion::HostedConfirmation))
502
+ }
467
503
  attr_accessor :hosted_confirmation
468
504
  # Configuration when `type=redirect`.
469
- sig { returns(::Stripe::PaymentLink::CreateParams::AfterCompletion::Redirect) }
505
+ sig { returns(T.nilable(::Stripe::PaymentLink::CreateParams::AfterCompletion::Redirect)) }
470
506
  attr_accessor :redirect
471
507
  # The specified behavior after the purchase is complete. Either `redirect` or `hosted_confirmation`.
472
508
  sig { returns(String) }
473
509
  attr_accessor :type
474
510
  sig {
475
- params(hosted_confirmation: ::Stripe::PaymentLink::CreateParams::AfterCompletion::HostedConfirmation, redirect: ::Stripe::PaymentLink::CreateParams::AfterCompletion::Redirect, type: String).void
511
+ params(hosted_confirmation: T.nilable(::Stripe::PaymentLink::CreateParams::AfterCompletion::HostedConfirmation), redirect: T.nilable(::Stripe::PaymentLink::CreateParams::AfterCompletion::Redirect), type: String).void
476
512
  }
477
513
  def initialize(hosted_confirmation: nil, redirect: nil, type: nil); end
478
514
  end
479
515
  class AutomaticTax < Stripe::RequestParams
480
516
  class Liability < Stripe::RequestParams
481
517
  # The connected account being referenced when `type` is `account`.
482
- sig { returns(String) }
518
+ sig { returns(T.nilable(String)) }
483
519
  attr_accessor :account
484
520
  # Type of the account referenced in the request.
485
521
  sig { returns(String) }
486
522
  attr_accessor :type
487
- sig { params(account: String, type: String).void }
523
+ sig { params(account: T.nilable(String), type: String).void }
488
524
  def initialize(account: nil, type: nil); end
489
525
  end
490
526
  # Set to `true` to [calculate tax automatically](https://docs.stripe.com/tax) using the customer's location.
@@ -493,10 +529,10 @@ module Stripe
493
529
  sig { returns(T::Boolean) }
494
530
  attr_accessor :enabled
495
531
  # 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.
496
- sig { returns(::Stripe::PaymentLink::CreateParams::AutomaticTax::Liability) }
532
+ sig { returns(T.nilable(::Stripe::PaymentLink::CreateParams::AutomaticTax::Liability)) }
497
533
  attr_accessor :liability
498
534
  sig {
499
- params(enabled: T::Boolean, liability: ::Stripe::PaymentLink::CreateParams::AutomaticTax::Liability).void
535
+ params(enabled: T::Boolean, liability: T.nilable(::Stripe::PaymentLink::CreateParams::AutomaticTax::Liability)).void
500
536
  }
501
537
  def initialize(enabled: nil, liability: nil); end
502
538
  end
@@ -511,20 +547,20 @@ module Stripe
511
547
  end
512
548
  # 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.
513
549
  sig {
514
- returns(::Stripe::PaymentLink::CreateParams::ConsentCollection::PaymentMethodReuseAgreement)
550
+ returns(T.nilable(::Stripe::PaymentLink::CreateParams::ConsentCollection::PaymentMethodReuseAgreement))
515
551
  }
516
552
  attr_accessor :payment_method_reuse_agreement
517
553
  # If set to `auto`, enables the collection of customer consent for promotional communications. The Checkout
518
554
  # Session will determine whether to display an option to opt into promotional communication
519
555
  # from the merchant depending on the customer's locale. Only available to US merchants.
520
- sig { returns(String) }
556
+ sig { returns(T.nilable(String)) }
521
557
  attr_accessor :promotions
522
558
  # If set to `required`, it requires customers to check a terms of service checkbox before being able to pay.
523
559
  # There must be a valid terms of service URL set in your [Dashboard settings](https://dashboard.stripe.com/settings/public).
524
- sig { returns(String) }
560
+ sig { returns(T.nilable(String)) }
525
561
  attr_accessor :terms_of_service
526
562
  sig {
527
- params(payment_method_reuse_agreement: ::Stripe::PaymentLink::CreateParams::ConsentCollection::PaymentMethodReuseAgreement, promotions: String, terms_of_service: String).void
563
+ params(payment_method_reuse_agreement: T.nilable(::Stripe::PaymentLink::CreateParams::ConsentCollection::PaymentMethodReuseAgreement), promotions: T.nilable(String), terms_of_service: T.nilable(String)).void
528
564
  }
529
565
  def initialize(
530
566
  payment_method_reuse_agreement: nil,
@@ -544,15 +580,18 @@ module Stripe
544
580
  sig { params(label: String, value: String).void }
545
581
  def initialize(label: nil, value: nil); end
546
582
  end
583
+ # The value that will pre-fill the field on the payment page.Must match a `value` in the `options` array.
584
+ sig { returns(T.nilable(String)) }
585
+ attr_accessor :default_value
547
586
  # The options available for the customer to select. Up to 200 options allowed.
548
587
  sig {
549
588
  returns(T::Array[::Stripe::PaymentLink::CreateParams::CustomField::Dropdown::Option])
550
589
  }
551
590
  attr_accessor :options
552
591
  sig {
553
- params(options: T::Array[::Stripe::PaymentLink::CreateParams::CustomField::Dropdown::Option]).void
592
+ params(default_value: T.nilable(String), options: T::Array[::Stripe::PaymentLink::CreateParams::CustomField::Dropdown::Option]).void
554
593
  }
555
- def initialize(options: nil); end
594
+ def initialize(default_value: nil, options: nil); end
556
595
  end
557
596
  class Label < Stripe::RequestParams
558
597
  # Custom text for the label, displayed to the customer. Up to 50 characters.
@@ -565,27 +604,37 @@ module Stripe
565
604
  def initialize(custom: nil, type: nil); end
566
605
  end
567
606
  class Numeric < Stripe::RequestParams
607
+ # The value that will pre-fill the field on the payment page.
608
+ sig { returns(T.nilable(String)) }
609
+ attr_accessor :default_value
568
610
  # The maximum character length constraint for the customer's input.
569
- sig { returns(Integer) }
611
+ sig { returns(T.nilable(Integer)) }
570
612
  attr_accessor :maximum_length
571
613
  # The minimum character length requirement for the customer's input.
572
- sig { returns(Integer) }
614
+ sig { returns(T.nilable(Integer)) }
573
615
  attr_accessor :minimum_length
574
- sig { params(maximum_length: Integer, minimum_length: Integer).void }
575
- def initialize(maximum_length: nil, minimum_length: nil); end
616
+ sig {
617
+ params(default_value: T.nilable(String), maximum_length: T.nilable(Integer), minimum_length: T.nilable(Integer)).void
618
+ }
619
+ def initialize(default_value: nil, maximum_length: nil, minimum_length: nil); end
576
620
  end
577
621
  class Text < Stripe::RequestParams
622
+ # The value that will pre-fill the field on the payment page.
623
+ sig { returns(T.nilable(String)) }
624
+ attr_accessor :default_value
578
625
  # The maximum character length constraint for the customer's input.
579
- sig { returns(Integer) }
626
+ sig { returns(T.nilable(Integer)) }
580
627
  attr_accessor :maximum_length
581
628
  # The minimum character length requirement for the customer's input.
582
- sig { returns(Integer) }
629
+ sig { returns(T.nilable(Integer)) }
583
630
  attr_accessor :minimum_length
584
- sig { params(maximum_length: Integer, minimum_length: Integer).void }
585
- def initialize(maximum_length: nil, minimum_length: nil); end
631
+ sig {
632
+ params(default_value: T.nilable(String), maximum_length: T.nilable(Integer), minimum_length: T.nilable(Integer)).void
633
+ }
634
+ def initialize(default_value: nil, maximum_length: nil, minimum_length: nil); end
586
635
  end
587
636
  # Configuration for `type=dropdown` fields.
588
- sig { returns(::Stripe::PaymentLink::CreateParams::CustomField::Dropdown) }
637
+ sig { returns(T.nilable(::Stripe::PaymentLink::CreateParams::CustomField::Dropdown)) }
589
638
  attr_accessor :dropdown
590
639
  # 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.
591
640
  sig { returns(String) }
@@ -594,19 +643,19 @@ module Stripe
594
643
  sig { returns(::Stripe::PaymentLink::CreateParams::CustomField::Label) }
595
644
  attr_accessor :label
596
645
  # Configuration for `type=numeric` fields.
597
- sig { returns(::Stripe::PaymentLink::CreateParams::CustomField::Numeric) }
646
+ sig { returns(T.nilable(::Stripe::PaymentLink::CreateParams::CustomField::Numeric)) }
598
647
  attr_accessor :numeric
599
648
  # Whether the customer is required to complete the field before completing the Checkout Session. Defaults to `false`.
600
- sig { returns(T::Boolean) }
649
+ sig { returns(T.nilable(T::Boolean)) }
601
650
  attr_accessor :optional
602
651
  # Configuration for `type=text` fields.
603
- sig { returns(::Stripe::PaymentLink::CreateParams::CustomField::Text) }
652
+ sig { returns(T.nilable(::Stripe::PaymentLink::CreateParams::CustomField::Text)) }
604
653
  attr_accessor :text
605
654
  # The type of the field.
606
655
  sig { returns(String) }
607
656
  attr_accessor :type
608
657
  sig {
609
- params(dropdown: ::Stripe::PaymentLink::CreateParams::CustomField::Dropdown, key: String, label: ::Stripe::PaymentLink::CreateParams::CustomField::Label, numeric: ::Stripe::PaymentLink::CreateParams::CustomField::Numeric, optional: T::Boolean, text: ::Stripe::PaymentLink::CreateParams::CustomField::Text, type: String).void
658
+ params(dropdown: T.nilable(::Stripe::PaymentLink::CreateParams::CustomField::Dropdown), key: String, label: ::Stripe::PaymentLink::CreateParams::CustomField::Label, numeric: T.nilable(::Stripe::PaymentLink::CreateParams::CustomField::Numeric), optional: T.nilable(T::Boolean), text: T.nilable(::Stripe::PaymentLink::CreateParams::CustomField::Text), type: String).void
610
659
  }
611
660
  def initialize(
612
661
  dropdown: nil,
@@ -648,21 +697,27 @@ module Stripe
648
697
  def initialize(message: nil); end
649
698
  end
650
699
  # Custom text that should be displayed after the payment confirmation button.
651
- sig { returns(T.nilable(::Stripe::PaymentLink::CreateParams::CustomText::AfterSubmit)) }
700
+ sig {
701
+ returns(T.nilable(T.nilable(T.any(String, ::Stripe::PaymentLink::CreateParams::CustomText::AfterSubmit))))
702
+ }
652
703
  attr_accessor :after_submit
653
704
  # Custom text that should be displayed alongside shipping address collection.
654
- sig { returns(T.nilable(::Stripe::PaymentLink::CreateParams::CustomText::ShippingAddress)) }
705
+ sig {
706
+ returns(T.nilable(T.nilable(T.any(String, ::Stripe::PaymentLink::CreateParams::CustomText::ShippingAddress))))
707
+ }
655
708
  attr_accessor :shipping_address
656
709
  # Custom text that should be displayed alongside the payment confirmation button.
657
- sig { returns(T.nilable(::Stripe::PaymentLink::CreateParams::CustomText::Submit)) }
710
+ sig {
711
+ returns(T.nilable(T.nilable(T.any(String, ::Stripe::PaymentLink::CreateParams::CustomText::Submit))))
712
+ }
658
713
  attr_accessor :submit
659
714
  # Custom text that should be displayed in place of the default terms of service agreement text.
660
715
  sig {
661
- returns(T.nilable(::Stripe::PaymentLink::CreateParams::CustomText::TermsOfServiceAcceptance))
716
+ returns(T.nilable(T.nilable(T.any(String, ::Stripe::PaymentLink::CreateParams::CustomText::TermsOfServiceAcceptance))))
662
717
  }
663
718
  attr_accessor :terms_of_service_acceptance
664
719
  sig {
665
- params(after_submit: T.nilable(::Stripe::PaymentLink::CreateParams::CustomText::AfterSubmit), shipping_address: T.nilable(::Stripe::PaymentLink::CreateParams::CustomText::ShippingAddress), submit: T.nilable(::Stripe::PaymentLink::CreateParams::CustomText::Submit), terms_of_service_acceptance: T.nilable(::Stripe::PaymentLink::CreateParams::CustomText::TermsOfServiceAcceptance)).void
720
+ params(after_submit: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentLink::CreateParams::CustomText::AfterSubmit))), shipping_address: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentLink::CreateParams::CustomText::ShippingAddress))), submit: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentLink::CreateParams::CustomText::Submit))), terms_of_service_acceptance: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentLink::CreateParams::CustomText::TermsOfServiceAcceptance)))).void
666
721
  }
667
722
  def initialize(
668
723
  after_submit: nil,
@@ -685,48 +740,50 @@ module Stripe
685
740
  end
686
741
  class Issuer < Stripe::RequestParams
687
742
  # The connected account being referenced when `type` is `account`.
688
- sig { returns(String) }
743
+ sig { returns(T.nilable(String)) }
689
744
  attr_accessor :account
690
745
  # Type of the account referenced in the request.
691
746
  sig { returns(String) }
692
747
  attr_accessor :type
693
- sig { params(account: String, type: String).void }
748
+ sig { params(account: T.nilable(String), type: String).void }
694
749
  def initialize(account: nil, type: nil); end
695
750
  end
696
751
  class RenderingOptions < Stripe::RequestParams
697
752
  # 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.
698
- sig { returns(T.nilable(String)) }
753
+ sig { returns(T.nilable(T.nilable(T.any(String, String)))) }
699
754
  attr_accessor :amount_tax_display
700
- sig { params(amount_tax_display: T.nilable(String)).void }
755
+ sig { params(amount_tax_display: T.nilable(T.nilable(T.any(String, String)))).void }
701
756
  def initialize(amount_tax_display: nil); end
702
757
  end
703
758
  # The account tax IDs associated with the invoice.
704
- sig { returns(T.nilable(T::Array[String])) }
759
+ sig { returns(T.nilable(T.nilable(T.any(String, T::Array[String])))) }
705
760
  attr_accessor :account_tax_ids
706
761
  # Default custom fields to be displayed on invoices for this customer.
707
762
  sig {
708
- returns(T.nilable(T::Array[::Stripe::PaymentLink::CreateParams::InvoiceCreation::InvoiceData::CustomField]))
763
+ returns(T.nilable(T.nilable(T.any(String, T::Array[::Stripe::PaymentLink::CreateParams::InvoiceCreation::InvoiceData::CustomField]))))
709
764
  }
710
765
  attr_accessor :custom_fields
711
766
  # An arbitrary string attached to the object. Often useful for displaying to users.
712
- sig { returns(String) }
767
+ sig { returns(T.nilable(String)) }
713
768
  attr_accessor :description
714
769
  # Default footer to be displayed on invoices for this customer.
715
- sig { returns(String) }
770
+ sig { returns(T.nilable(String)) }
716
771
  attr_accessor :footer
717
772
  # The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account.
718
- sig { returns(::Stripe::PaymentLink::CreateParams::InvoiceCreation::InvoiceData::Issuer) }
773
+ sig {
774
+ returns(T.nilable(::Stripe::PaymentLink::CreateParams::InvoiceCreation::InvoiceData::Issuer))
775
+ }
719
776
  attr_accessor :issuer
720
777
  # 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`.
721
- sig { returns(T.nilable(T::Hash[String, String])) }
778
+ sig { returns(T.nilable(T.nilable(T.any(String, T::Hash[String, String])))) }
722
779
  attr_accessor :metadata
723
780
  # Default options for invoice PDF rendering for this customer.
724
781
  sig {
725
- returns(T.nilable(::Stripe::PaymentLink::CreateParams::InvoiceCreation::InvoiceData::RenderingOptions))
782
+ returns(T.nilable(T.nilable(T.any(String, ::Stripe::PaymentLink::CreateParams::InvoiceCreation::InvoiceData::RenderingOptions))))
726
783
  }
727
784
  attr_accessor :rendering_options
728
785
  sig {
729
- params(account_tax_ids: T.nilable(T::Array[String]), custom_fields: T.nilable(T::Array[::Stripe::PaymentLink::CreateParams::InvoiceCreation::InvoiceData::CustomField]), description: String, footer: String, issuer: ::Stripe::PaymentLink::CreateParams::InvoiceCreation::InvoiceData::Issuer, metadata: T.nilable(T::Hash[String, String]), rendering_options: T.nilable(::Stripe::PaymentLink::CreateParams::InvoiceCreation::InvoiceData::RenderingOptions)).void
786
+ 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::PaymentLink::CreateParams::InvoiceCreation::InvoiceData::CustomField]))), description: T.nilable(String), footer: T.nilable(String), issuer: T.nilable(::Stripe::PaymentLink::CreateParams::InvoiceCreation::InvoiceData::Issuer), metadata: T.nilable(T.nilable(T.any(String, T::Hash[String, String]))), rendering_options: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentLink::CreateParams::InvoiceCreation::InvoiceData::RenderingOptions)))).void
730
787
  }
731
788
  def initialize(
732
789
  account_tax_ids: nil,
@@ -742,10 +799,12 @@ module Stripe
742
799
  sig { returns(T::Boolean) }
743
800
  attr_accessor :enabled
744
801
  # Invoice PDF configuration.
745
- sig { returns(::Stripe::PaymentLink::CreateParams::InvoiceCreation::InvoiceData) }
802
+ sig {
803
+ returns(T.nilable(::Stripe::PaymentLink::CreateParams::InvoiceCreation::InvoiceData))
804
+ }
746
805
  attr_accessor :invoice_data
747
806
  sig {
748
- params(enabled: T::Boolean, invoice_data: ::Stripe::PaymentLink::CreateParams::InvoiceCreation::InvoiceData).void
807
+ params(enabled: T::Boolean, invoice_data: T.nilable(::Stripe::PaymentLink::CreateParams::InvoiceCreation::InvoiceData)).void
749
808
  }
750
809
  def initialize(enabled: nil, invoice_data: nil); end
751
810
  end
@@ -755,16 +814,20 @@ module Stripe
755
814
  sig { returns(T::Boolean) }
756
815
  attr_accessor :enabled
757
816
  # The maximum quantity the customer can purchase. By default this value is 99. You can specify a value up to 999.
758
- sig { returns(Integer) }
817
+ sig { returns(T.nilable(Integer)) }
759
818
  attr_accessor :maximum
760
819
  # The minimum quantity the customer can purchase. By default this value is 0. If there is only one item in the cart then that item's quantity cannot go down to 0.
761
- sig { returns(Integer) }
820
+ sig { returns(T.nilable(Integer)) }
762
821
  attr_accessor :minimum
763
- sig { params(enabled: T::Boolean, maximum: Integer, minimum: Integer).void }
822
+ sig {
823
+ params(enabled: T::Boolean, maximum: T.nilable(Integer), minimum: T.nilable(Integer)).void
824
+ }
764
825
  def initialize(enabled: nil, maximum: nil, minimum: nil); end
765
826
  end
766
827
  # When set, provides configuration for this item’s quantity to be adjusted by the customer during checkout.
767
- sig { returns(::Stripe::PaymentLink::CreateParams::LineItem::AdjustableQuantity) }
828
+ sig {
829
+ returns(T.nilable(::Stripe::PaymentLink::CreateParams::LineItem::AdjustableQuantity))
830
+ }
768
831
  attr_accessor :adjustable_quantity
769
832
  # The ID of the [Price](https://stripe.com/docs/api/prices) or [Plan](https://stripe.com/docs/api/plans) object.
770
833
  sig { returns(String) }
@@ -773,19 +836,51 @@ module Stripe
773
836
  sig { returns(Integer) }
774
837
  attr_accessor :quantity
775
838
  sig {
776
- params(adjustable_quantity: ::Stripe::PaymentLink::CreateParams::LineItem::AdjustableQuantity, price: String, quantity: Integer).void
839
+ params(adjustable_quantity: T.nilable(::Stripe::PaymentLink::CreateParams::LineItem::AdjustableQuantity), price: String, quantity: Integer).void
840
+ }
841
+ def initialize(adjustable_quantity: nil, price: nil, quantity: nil); end
842
+ end
843
+ class OptionalItem < Stripe::RequestParams
844
+ class AdjustableQuantity < Stripe::RequestParams
845
+ # Set to true if the quantity can be adjusted to any non-negative integer.
846
+ sig { returns(T::Boolean) }
847
+ attr_accessor :enabled
848
+ # The maximum quantity of this item the customer can purchase. By default this value is 99.
849
+ sig { returns(T.nilable(Integer)) }
850
+ attr_accessor :maximum
851
+ # 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.
852
+ sig { returns(T.nilable(Integer)) }
853
+ attr_accessor :minimum
854
+ sig {
855
+ params(enabled: T::Boolean, maximum: T.nilable(Integer), minimum: T.nilable(Integer)).void
856
+ }
857
+ def initialize(enabled: nil, maximum: nil, minimum: nil); end
858
+ end
859
+ # 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.
860
+ sig {
861
+ returns(T.nilable(::Stripe::PaymentLink::CreateParams::OptionalItem::AdjustableQuantity))
862
+ }
863
+ attr_accessor :adjustable_quantity
864
+ # The ID of the [Price](https://stripe.com/docs/api/prices) or [Plan](https://stripe.com/docs/api/plans) object.
865
+ sig { returns(String) }
866
+ attr_accessor :price
867
+ # The initial quantity of the line item created when a customer chooses to add this optional item to their order.
868
+ sig { returns(Integer) }
869
+ attr_accessor :quantity
870
+ sig {
871
+ params(adjustable_quantity: T.nilable(::Stripe::PaymentLink::CreateParams::OptionalItem::AdjustableQuantity), price: String, quantity: Integer).void
777
872
  }
778
873
  def initialize(adjustable_quantity: nil, price: nil, quantity: nil); end
779
874
  end
780
875
  class PaymentIntentData < Stripe::RequestParams
781
876
  # Controls when the funds will be captured from the customer's account.
782
- sig { returns(String) }
877
+ sig { returns(T.nilable(String)) }
783
878
  attr_accessor :capture_method
784
879
  # An arbitrary string attached to the object. Often useful for displaying to users.
785
- sig { returns(String) }
880
+ sig { returns(T.nilable(String)) }
786
881
  attr_accessor :description
787
882
  # Set of [key-value pairs](https://stripe.com/docs/api/metadata) that will declaratively set metadata on [Payment Intents](https://stripe.com/docs/api/payment_intents) generated from this payment link. Unlike object-level metadata, this field is declarative. Updates will clear prior values.
788
- sig { returns(T::Hash[String, String]) }
883
+ sig { returns(T.nilable(T::Hash[String, String])) }
789
884
  attr_accessor :metadata
790
885
  # Indicates that you intend to [make future payments](https://stripe.com/docs/payments/payment-intents#future-usage) with the payment method collected by this Checkout Session.
791
886
  #
@@ -798,21 +893,21 @@ module Stripe
798
893
  # If Checkout does not create a Customer, the payment method is not attached to a Customer. To reuse the payment method, you can retrieve it from the Checkout Session's PaymentIntent.
799
894
  #
800
895
  # When processing card payments, Checkout also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as SCA.
801
- sig { returns(String) }
896
+ sig { returns(T.nilable(String)) }
802
897
  attr_accessor :setup_future_usage
803
898
  # 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).
804
899
  #
805
900
  # 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.
806
- sig { returns(String) }
901
+ sig { returns(T.nilable(String)) }
807
902
  attr_accessor :statement_descriptor
808
903
  # 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.
809
- sig { returns(String) }
904
+ sig { returns(T.nilable(String)) }
810
905
  attr_accessor :statement_descriptor_suffix
811
906
  # 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.
812
- sig { returns(String) }
907
+ sig { returns(T.nilable(String)) }
813
908
  attr_accessor :transfer_group
814
909
  sig {
815
- params(capture_method: String, description: String, metadata: T::Hash[String, String], setup_future_usage: String, statement_descriptor: String, statement_descriptor_suffix: String, transfer_group: String).void
910
+ params(capture_method: T.nilable(String), description: T.nilable(String), metadata: T.nilable(T::Hash[String, String]), setup_future_usage: T.nilable(String), statement_descriptor: T.nilable(String), statement_descriptor_suffix: T.nilable(String), transfer_group: T.nilable(String)).void
816
911
  }
817
912
  def initialize(
818
913
  capture_method: nil,
@@ -857,30 +952,30 @@ module Stripe
857
952
  end
858
953
  class ShippingOption < Stripe::RequestParams
859
954
  # The ID of the Shipping Rate to use for this shipping option.
860
- sig { returns(String) }
955
+ sig { returns(T.nilable(String)) }
861
956
  attr_accessor :shipping_rate
862
- sig { params(shipping_rate: String).void }
957
+ sig { params(shipping_rate: T.nilable(String)).void }
863
958
  def initialize(shipping_rate: nil); end
864
959
  end
865
960
  class SubscriptionData < Stripe::RequestParams
866
961
  class InvoiceSettings < Stripe::RequestParams
867
962
  class Issuer < Stripe::RequestParams
868
963
  # The connected account being referenced when `type` is `account`.
869
- sig { returns(String) }
964
+ sig { returns(T.nilable(String)) }
870
965
  attr_accessor :account
871
966
  # Type of the account referenced in the request.
872
967
  sig { returns(String) }
873
968
  attr_accessor :type
874
- sig { params(account: String, type: String).void }
969
+ sig { params(account: T.nilable(String), type: String).void }
875
970
  def initialize(account: nil, type: nil); end
876
971
  end
877
972
  # The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account.
878
973
  sig {
879
- returns(::Stripe::PaymentLink::CreateParams::SubscriptionData::InvoiceSettings::Issuer)
974
+ returns(T.nilable(::Stripe::PaymentLink::CreateParams::SubscriptionData::InvoiceSettings::Issuer))
880
975
  }
881
976
  attr_accessor :issuer
882
977
  sig {
883
- params(issuer: ::Stripe::PaymentLink::CreateParams::SubscriptionData::InvoiceSettings::Issuer).void
978
+ params(issuer: T.nilable(::Stripe::PaymentLink::CreateParams::SubscriptionData::InvoiceSettings::Issuer)).void
884
979
  }
885
980
  def initialize(issuer: nil); end
886
981
  end
@@ -903,22 +998,26 @@ module Stripe
903
998
  def initialize(end_behavior: nil); end
904
999
  end
905
1000
  # The subscription's description, meant to be displayable to the customer. Use this field to optionally store an explanation of the subscription for rendering in Stripe surfaces and certain local payment methods UIs.
906
- sig { returns(String) }
1001
+ sig { returns(T.nilable(String)) }
907
1002
  attr_accessor :description
908
1003
  # All invoices will be billed using the specified settings.
909
- sig { returns(::Stripe::PaymentLink::CreateParams::SubscriptionData::InvoiceSettings) }
1004
+ sig {
1005
+ returns(T.nilable(::Stripe::PaymentLink::CreateParams::SubscriptionData::InvoiceSettings))
1006
+ }
910
1007
  attr_accessor :invoice_settings
911
1008
  # Set of [key-value pairs](https://stripe.com/docs/api/metadata) that will declaratively set metadata on [Subscriptions](https://stripe.com/docs/api/subscriptions) generated from this payment link. Unlike object-level metadata, this field is declarative. Updates will clear prior values.
912
- sig { returns(T::Hash[String, String]) }
1009
+ sig { returns(T.nilable(T::Hash[String, String])) }
913
1010
  attr_accessor :metadata
914
1011
  # Integer representing the number of trial period days before the customer is charged for the first time. Has to be at least 1.
915
- sig { returns(Integer) }
1012
+ sig { returns(T.nilable(Integer)) }
916
1013
  attr_accessor :trial_period_days
917
1014
  # Settings related to subscription trials.
918
- sig { returns(::Stripe::PaymentLink::CreateParams::SubscriptionData::TrialSettings) }
1015
+ sig {
1016
+ returns(T.nilable(::Stripe::PaymentLink::CreateParams::SubscriptionData::TrialSettings))
1017
+ }
919
1018
  attr_accessor :trial_settings
920
1019
  sig {
921
- params(description: String, invoice_settings: ::Stripe::PaymentLink::CreateParams::SubscriptionData::InvoiceSettings, metadata: T::Hash[String, String], trial_period_days: Integer, trial_settings: ::Stripe::PaymentLink::CreateParams::SubscriptionData::TrialSettings).void
1020
+ params(description: T.nilable(String), invoice_settings: T.nilable(::Stripe::PaymentLink::CreateParams::SubscriptionData::InvoiceSettings), metadata: T.nilable(T::Hash[String, String]), trial_period_days: T.nilable(Integer), trial_settings: T.nilable(::Stripe::PaymentLink::CreateParams::SubscriptionData::TrialSettings)).void
922
1021
  }
923
1022
  def initialize(
924
1023
  description: nil,
@@ -933,14 +1032,14 @@ module Stripe
933
1032
  sig { returns(T::Boolean) }
934
1033
  attr_accessor :enabled
935
1034
  # Describes whether a tax ID is required during checkout. Defaults to `never`.
936
- sig { returns(String) }
1035
+ sig { returns(T.nilable(String)) }
937
1036
  attr_accessor :required
938
- sig { params(enabled: T::Boolean, required: String).void }
1037
+ sig { params(enabled: T::Boolean, required: T.nilable(String)).void }
939
1038
  def initialize(enabled: nil, required: nil); end
940
1039
  end
941
1040
  class TransferData < Stripe::RequestParams
942
1041
  # The amount that will be transferred automatically when a charge succeeds.
943
- sig { returns(Integer) }
1042
+ sig { returns(T.nilable(Integer)) }
944
1043
  attr_accessor :amount
945
1044
  # If specified, successful charges will be attributed to the destination
946
1045
  # account for tax reporting, and the funds from charges will be transferred
@@ -948,101 +1047,106 @@ module Stripe
948
1047
  # returned on the successful charge's `transfer` field.
949
1048
  sig { returns(String) }
950
1049
  attr_accessor :destination
951
- sig { params(amount: Integer, destination: String).void }
1050
+ sig { params(amount: T.nilable(Integer), destination: String).void }
952
1051
  def initialize(amount: nil, destination: nil); end
953
1052
  end
954
1053
  # Behavior after the purchase is complete.
955
- sig { returns(::Stripe::PaymentLink::CreateParams::AfterCompletion) }
1054
+ sig { returns(T.nilable(::Stripe::PaymentLink::CreateParams::AfterCompletion)) }
956
1055
  attr_accessor :after_completion
957
1056
  # Enables user redeemable promotion codes.
958
- sig { returns(T::Boolean) }
1057
+ sig { returns(T.nilable(T::Boolean)) }
959
1058
  attr_accessor :allow_promotion_codes
960
1059
  # 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. Can only be applied when there are no line items with recurring prices.
961
- sig { returns(Integer) }
1060
+ sig { returns(T.nilable(Integer)) }
962
1061
  attr_accessor :application_fee_amount
963
1062
  # 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. There must be at least 1 line item with a recurring price to use this field.
964
- sig { returns(Float) }
1063
+ sig { returns(T.nilable(Float)) }
965
1064
  attr_accessor :application_fee_percent
966
1065
  # Configuration for automatic tax collection.
967
- sig { returns(::Stripe::PaymentLink::CreateParams::AutomaticTax) }
1066
+ sig { returns(T.nilable(::Stripe::PaymentLink::CreateParams::AutomaticTax)) }
968
1067
  attr_accessor :automatic_tax
969
1068
  # Configuration for collecting the customer's billing address. Defaults to `auto`.
970
- sig { returns(String) }
1069
+ sig { returns(T.nilable(String)) }
971
1070
  attr_accessor :billing_address_collection
972
1071
  # Configure fields to gather active consent from customers.
973
- sig { returns(::Stripe::PaymentLink::CreateParams::ConsentCollection) }
1072
+ sig { returns(T.nilable(::Stripe::PaymentLink::CreateParams::ConsentCollection)) }
974
1073
  attr_accessor :consent_collection
975
1074
  # 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) and supported by each line item's price.
976
- sig { returns(String) }
1075
+ sig { returns(T.nilable(String)) }
977
1076
  attr_accessor :currency
978
1077
  # Collect additional information from your customer using custom fields. Up to 3 fields are supported.
979
- sig { returns(T::Array[::Stripe::PaymentLink::CreateParams::CustomField]) }
1078
+ sig { returns(T.nilable(T::Array[::Stripe::PaymentLink::CreateParams::CustomField])) }
980
1079
  attr_accessor :custom_fields
981
1080
  # Display additional text for your customers using custom text.
982
- sig { returns(::Stripe::PaymentLink::CreateParams::CustomText) }
1081
+ sig { returns(T.nilable(::Stripe::PaymentLink::CreateParams::CustomText)) }
983
1082
  attr_accessor :custom_text
984
1083
  # Configures whether [checkout sessions](https://stripe.com/docs/api/checkout/sessions) created by this payment link create a [Customer](https://stripe.com/docs/api/customers).
985
- sig { returns(String) }
1084
+ sig { returns(T.nilable(String)) }
986
1085
  attr_accessor :customer_creation
987
1086
  # Specifies which fields in the response should be expanded.
988
- sig { returns(T::Array[String]) }
1087
+ sig { returns(T.nilable(T::Array[String])) }
989
1088
  attr_accessor :expand
990
1089
  # The custom message to be displayed to a customer when a payment link is no longer active.
991
- sig { returns(String) }
1090
+ sig { returns(T.nilable(String)) }
992
1091
  attr_accessor :inactive_message
993
1092
  # Generate a post-purchase Invoice for one-time payments.
994
- sig { returns(::Stripe::PaymentLink::CreateParams::InvoiceCreation) }
1093
+ sig { returns(T.nilable(::Stripe::PaymentLink::CreateParams::InvoiceCreation)) }
995
1094
  attr_accessor :invoice_creation
996
1095
  # The line items representing what is being sold. Each line item represents an item being sold. Up to 20 line items are supported.
997
1096
  sig { returns(T::Array[::Stripe::PaymentLink::CreateParams::LineItem]) }
998
1097
  attr_accessor :line_items
999
1098
  # 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`. Metadata associated with this Payment Link will automatically be copied to [checkout sessions](https://stripe.com/docs/api/checkout/sessions) created by this payment link.
1000
- sig { returns(T::Hash[String, String]) }
1099
+ sig { returns(T.nilable(T::Hash[String, String])) }
1001
1100
  attr_accessor :metadata
1002
1101
  # The account on behalf of which to charge.
1003
- sig { returns(String) }
1102
+ sig { returns(T.nilable(String)) }
1004
1103
  attr_accessor :on_behalf_of
1104
+ # 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).
1105
+ # There is a maximum of 10 optional items allowed on a payment link, and the existing limits on the number of line items allowed on a payment link apply to the combined number of line items and optional items.
1106
+ # There is a maximum of 20 combined line items and optional items.
1107
+ sig { returns(T.nilable(T::Array[::Stripe::PaymentLink::CreateParams::OptionalItem])) }
1108
+ attr_accessor :optional_items
1005
1109
  # A subset of parameters to be passed to PaymentIntent creation for Checkout Sessions in `payment` mode.
1006
- sig { returns(::Stripe::PaymentLink::CreateParams::PaymentIntentData) }
1110
+ sig { returns(T.nilable(::Stripe::PaymentLink::CreateParams::PaymentIntentData)) }
1007
1111
  attr_accessor :payment_intent_data
1008
1112
  # 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.This may occur if the Checkout Session includes a free trial or a discount.
1009
1113
  #
1010
1114
  # Can only be set in `subscription` mode. Defaults to `always`.
1011
1115
  #
1012
1116
  # 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).
1013
- sig { returns(String) }
1117
+ sig { returns(T.nilable(String)) }
1014
1118
  attr_accessor :payment_method_collection
1015
1119
  # The list of payment method types that customers can use. If no value is passed, Stripe will dynamically show relevant payment methods from your [payment method settings](https://dashboard.stripe.com/settings/payment_methods) (20+ payment methods [supported](https://stripe.com/docs/payments/payment-methods/integration-options#payment-method-product-support)).
1016
- sig { returns(T::Array[String]) }
1120
+ sig { returns(T.nilable(T::Array[String])) }
1017
1121
  attr_accessor :payment_method_types
1018
1122
  # Controls phone number collection settings during checkout.
1019
1123
  #
1020
1124
  # We recommend that you review your privacy policy and check with your legal contacts.
1021
- sig { returns(::Stripe::PaymentLink::CreateParams::PhoneNumberCollection) }
1125
+ sig { returns(T.nilable(::Stripe::PaymentLink::CreateParams::PhoneNumberCollection)) }
1022
1126
  attr_accessor :phone_number_collection
1023
1127
  # Settings that restrict the usage of a payment link.
1024
- sig { returns(::Stripe::PaymentLink::CreateParams::Restrictions) }
1128
+ sig { returns(T.nilable(::Stripe::PaymentLink::CreateParams::Restrictions)) }
1025
1129
  attr_accessor :restrictions
1026
1130
  # Configuration for collecting the customer's shipping address.
1027
- sig { returns(::Stripe::PaymentLink::CreateParams::ShippingAddressCollection) }
1131
+ sig { returns(T.nilable(::Stripe::PaymentLink::CreateParams::ShippingAddressCollection)) }
1028
1132
  attr_accessor :shipping_address_collection
1029
1133
  # The shipping rate options to apply to [checkout sessions](https://stripe.com/docs/api/checkout/sessions) created by this payment link.
1030
- sig { returns(T::Array[::Stripe::PaymentLink::CreateParams::ShippingOption]) }
1134
+ sig { returns(T.nilable(T::Array[::Stripe::PaymentLink::CreateParams::ShippingOption])) }
1031
1135
  attr_accessor :shipping_options
1032
1136
  # Describes the type of transaction being performed in order to customize relevant text on the page, such as the submit button. Changing this value will also affect the hostname in the [url](https://stripe.com/docs/api/payment_links/payment_links/object#url) property (example: `donate.stripe.com`).
1033
- sig { returns(String) }
1137
+ sig { returns(T.nilable(String)) }
1034
1138
  attr_accessor :submit_type
1035
1139
  # When creating a subscription, the specified configuration data will be used. There must be at least one line item with a recurring price to use `subscription_data`.
1036
- sig { returns(::Stripe::PaymentLink::CreateParams::SubscriptionData) }
1140
+ sig { returns(T.nilable(::Stripe::PaymentLink::CreateParams::SubscriptionData)) }
1037
1141
  attr_accessor :subscription_data
1038
1142
  # Controls tax ID collection during checkout.
1039
- sig { returns(::Stripe::PaymentLink::CreateParams::TaxIdCollection) }
1143
+ sig { returns(T.nilable(::Stripe::PaymentLink::CreateParams::TaxIdCollection)) }
1040
1144
  attr_accessor :tax_id_collection
1041
1145
  # The account (if any) the payments will be attributed to for tax reporting, and where funds from each payment will be transferred to.
1042
- sig { returns(::Stripe::PaymentLink::CreateParams::TransferData) }
1146
+ sig { returns(T.nilable(::Stripe::PaymentLink::CreateParams::TransferData)) }
1043
1147
  attr_accessor :transfer_data
1044
1148
  sig {
1045
- params(after_completion: ::Stripe::PaymentLink::CreateParams::AfterCompletion, allow_promotion_codes: T::Boolean, application_fee_amount: Integer, application_fee_percent: Float, automatic_tax: ::Stripe::PaymentLink::CreateParams::AutomaticTax, billing_address_collection: String, consent_collection: ::Stripe::PaymentLink::CreateParams::ConsentCollection, currency: String, custom_fields: T::Array[::Stripe::PaymentLink::CreateParams::CustomField], custom_text: ::Stripe::PaymentLink::CreateParams::CustomText, customer_creation: String, expand: T::Array[String], inactive_message: String, invoice_creation: ::Stripe::PaymentLink::CreateParams::InvoiceCreation, line_items: T::Array[::Stripe::PaymentLink::CreateParams::LineItem], metadata: T::Hash[String, String], on_behalf_of: String, payment_intent_data: ::Stripe::PaymentLink::CreateParams::PaymentIntentData, payment_method_collection: String, payment_method_types: T::Array[String], phone_number_collection: ::Stripe::PaymentLink::CreateParams::PhoneNumberCollection, restrictions: ::Stripe::PaymentLink::CreateParams::Restrictions, shipping_address_collection: ::Stripe::PaymentLink::CreateParams::ShippingAddressCollection, shipping_options: T::Array[::Stripe::PaymentLink::CreateParams::ShippingOption], submit_type: String, subscription_data: ::Stripe::PaymentLink::CreateParams::SubscriptionData, tax_id_collection: ::Stripe::PaymentLink::CreateParams::TaxIdCollection, transfer_data: ::Stripe::PaymentLink::CreateParams::TransferData).void
1149
+ params(after_completion: T.nilable(::Stripe::PaymentLink::CreateParams::AfterCompletion), allow_promotion_codes: T.nilable(T::Boolean), application_fee_amount: T.nilable(Integer), application_fee_percent: T.nilable(Float), automatic_tax: T.nilable(::Stripe::PaymentLink::CreateParams::AutomaticTax), billing_address_collection: T.nilable(String), consent_collection: T.nilable(::Stripe::PaymentLink::CreateParams::ConsentCollection), currency: T.nilable(String), custom_fields: T.nilable(T::Array[::Stripe::PaymentLink::CreateParams::CustomField]), custom_text: T.nilable(::Stripe::PaymentLink::CreateParams::CustomText), customer_creation: T.nilable(String), expand: T.nilable(T::Array[String]), inactive_message: T.nilable(String), invoice_creation: T.nilable(::Stripe::PaymentLink::CreateParams::InvoiceCreation), line_items: T::Array[::Stripe::PaymentLink::CreateParams::LineItem], metadata: T.nilable(T::Hash[String, String]), on_behalf_of: T.nilable(String), optional_items: T.nilable(T::Array[::Stripe::PaymentLink::CreateParams::OptionalItem]), payment_intent_data: T.nilable(::Stripe::PaymentLink::CreateParams::PaymentIntentData), payment_method_collection: T.nilable(String), payment_method_types: T.nilable(T::Array[String]), phone_number_collection: T.nilable(::Stripe::PaymentLink::CreateParams::PhoneNumberCollection), restrictions: T.nilable(::Stripe::PaymentLink::CreateParams::Restrictions), shipping_address_collection: T.nilable(::Stripe::PaymentLink::CreateParams::ShippingAddressCollection), shipping_options: T.nilable(T::Array[::Stripe::PaymentLink::CreateParams::ShippingOption]), submit_type: T.nilable(String), subscription_data: T.nilable(::Stripe::PaymentLink::CreateParams::SubscriptionData), tax_id_collection: T.nilable(::Stripe::PaymentLink::CreateParams::TaxIdCollection), transfer_data: T.nilable(::Stripe::PaymentLink::CreateParams::TransferData)).void
1046
1150
  }
1047
1151
  def initialize(
1048
1152
  after_completion: nil,
@@ -1062,6 +1166,7 @@ module Stripe
1062
1166
  line_items: nil,
1063
1167
  metadata: nil,
1064
1168
  on_behalf_of: nil,
1169
+ optional_items: nil,
1065
1170
  payment_intent_data: nil,
1066
1171
  payment_method_collection: nil,
1067
1172
  payment_method_types: nil,
@@ -1075,20 +1180,13 @@ module Stripe
1075
1180
  transfer_data: nil
1076
1181
  ); end
1077
1182
  end
1078
- class RetrieveParams < Stripe::RequestParams
1079
- # Specifies which fields in the response should be expanded.
1080
- sig { returns(T::Array[String]) }
1081
- attr_accessor :expand
1082
- sig { params(expand: T::Array[String]).void }
1083
- def initialize(expand: nil); end
1084
- end
1085
1183
  class UpdateParams < Stripe::RequestParams
1086
1184
  class AfterCompletion < Stripe::RequestParams
1087
1185
  class HostedConfirmation < Stripe::RequestParams
1088
1186
  # A custom message to display to the customer after the purchase is complete.
1089
- sig { returns(String) }
1187
+ sig { returns(T.nilable(String)) }
1090
1188
  attr_accessor :custom_message
1091
- sig { params(custom_message: String).void }
1189
+ sig { params(custom_message: T.nilable(String)).void }
1092
1190
  def initialize(custom_message: nil); end
1093
1191
  end
1094
1192
  class Redirect < Stripe::RequestParams
@@ -1099,28 +1197,30 @@ module Stripe
1099
1197
  def initialize(url: nil); end
1100
1198
  end
1101
1199
  # Configuration when `type=hosted_confirmation`.
1102
- sig { returns(::Stripe::PaymentLink::UpdateParams::AfterCompletion::HostedConfirmation) }
1200
+ sig {
1201
+ returns(T.nilable(::Stripe::PaymentLink::UpdateParams::AfterCompletion::HostedConfirmation))
1202
+ }
1103
1203
  attr_accessor :hosted_confirmation
1104
1204
  # Configuration when `type=redirect`.
1105
- sig { returns(::Stripe::PaymentLink::UpdateParams::AfterCompletion::Redirect) }
1205
+ sig { returns(T.nilable(::Stripe::PaymentLink::UpdateParams::AfterCompletion::Redirect)) }
1106
1206
  attr_accessor :redirect
1107
1207
  # The specified behavior after the purchase is complete. Either `redirect` or `hosted_confirmation`.
1108
1208
  sig { returns(String) }
1109
1209
  attr_accessor :type
1110
1210
  sig {
1111
- params(hosted_confirmation: ::Stripe::PaymentLink::UpdateParams::AfterCompletion::HostedConfirmation, redirect: ::Stripe::PaymentLink::UpdateParams::AfterCompletion::Redirect, type: String).void
1211
+ params(hosted_confirmation: T.nilable(::Stripe::PaymentLink::UpdateParams::AfterCompletion::HostedConfirmation), redirect: T.nilable(::Stripe::PaymentLink::UpdateParams::AfterCompletion::Redirect), type: String).void
1112
1212
  }
1113
1213
  def initialize(hosted_confirmation: nil, redirect: nil, type: nil); end
1114
1214
  end
1115
1215
  class AutomaticTax < Stripe::RequestParams
1116
1216
  class Liability < Stripe::RequestParams
1117
1217
  # The connected account being referenced when `type` is `account`.
1118
- sig { returns(String) }
1218
+ sig { returns(T.nilable(String)) }
1119
1219
  attr_accessor :account
1120
1220
  # Type of the account referenced in the request.
1121
1221
  sig { returns(String) }
1122
1222
  attr_accessor :type
1123
- sig { params(account: String, type: String).void }
1223
+ sig { params(account: T.nilable(String), type: String).void }
1124
1224
  def initialize(account: nil, type: nil); end
1125
1225
  end
1126
1226
  # Set to `true` to [calculate tax automatically](https://docs.stripe.com/tax) using the customer's location.
@@ -1129,10 +1229,10 @@ module Stripe
1129
1229
  sig { returns(T::Boolean) }
1130
1230
  attr_accessor :enabled
1131
1231
  # 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.
1132
- sig { returns(::Stripe::PaymentLink::UpdateParams::AutomaticTax::Liability) }
1232
+ sig { returns(T.nilable(::Stripe::PaymentLink::UpdateParams::AutomaticTax::Liability)) }
1133
1233
  attr_accessor :liability
1134
1234
  sig {
1135
- params(enabled: T::Boolean, liability: ::Stripe::PaymentLink::UpdateParams::AutomaticTax::Liability).void
1235
+ params(enabled: T::Boolean, liability: T.nilable(::Stripe::PaymentLink::UpdateParams::AutomaticTax::Liability)).void
1136
1236
  }
1137
1237
  def initialize(enabled: nil, liability: nil); end
1138
1238
  end
@@ -1148,15 +1248,18 @@ module Stripe
1148
1248
  sig { params(label: String, value: String).void }
1149
1249
  def initialize(label: nil, value: nil); end
1150
1250
  end
1251
+ # The value that will pre-fill the field on the payment page.Must match a `value` in the `options` array.
1252
+ sig { returns(T.nilable(String)) }
1253
+ attr_accessor :default_value
1151
1254
  # The options available for the customer to select. Up to 200 options allowed.
1152
1255
  sig {
1153
1256
  returns(T::Array[::Stripe::PaymentLink::UpdateParams::CustomField::Dropdown::Option])
1154
1257
  }
1155
1258
  attr_accessor :options
1156
1259
  sig {
1157
- params(options: T::Array[::Stripe::PaymentLink::UpdateParams::CustomField::Dropdown::Option]).void
1260
+ params(default_value: T.nilable(String), options: T::Array[::Stripe::PaymentLink::UpdateParams::CustomField::Dropdown::Option]).void
1158
1261
  }
1159
- def initialize(options: nil); end
1262
+ def initialize(default_value: nil, options: nil); end
1160
1263
  end
1161
1264
  class Label < Stripe::RequestParams
1162
1265
  # Custom text for the label, displayed to the customer. Up to 50 characters.
@@ -1169,27 +1272,37 @@ module Stripe
1169
1272
  def initialize(custom: nil, type: nil); end
1170
1273
  end
1171
1274
  class Numeric < Stripe::RequestParams
1275
+ # The value that will pre-fill the field on the payment page.
1276
+ sig { returns(T.nilable(String)) }
1277
+ attr_accessor :default_value
1172
1278
  # The maximum character length constraint for the customer's input.
1173
- sig { returns(Integer) }
1279
+ sig { returns(T.nilable(Integer)) }
1174
1280
  attr_accessor :maximum_length
1175
1281
  # The minimum character length requirement for the customer's input.
1176
- sig { returns(Integer) }
1282
+ sig { returns(T.nilable(Integer)) }
1177
1283
  attr_accessor :minimum_length
1178
- sig { params(maximum_length: Integer, minimum_length: Integer).void }
1179
- def initialize(maximum_length: nil, minimum_length: nil); end
1284
+ sig {
1285
+ params(default_value: T.nilable(String), maximum_length: T.nilable(Integer), minimum_length: T.nilable(Integer)).void
1286
+ }
1287
+ def initialize(default_value: nil, maximum_length: nil, minimum_length: nil); end
1180
1288
  end
1181
1289
  class Text < Stripe::RequestParams
1290
+ # The value that will pre-fill the field on the payment page.
1291
+ sig { returns(T.nilable(String)) }
1292
+ attr_accessor :default_value
1182
1293
  # The maximum character length constraint for the customer's input.
1183
- sig { returns(Integer) }
1294
+ sig { returns(T.nilable(Integer)) }
1184
1295
  attr_accessor :maximum_length
1185
1296
  # The minimum character length requirement for the customer's input.
1186
- sig { returns(Integer) }
1297
+ sig { returns(T.nilable(Integer)) }
1187
1298
  attr_accessor :minimum_length
1188
- sig { params(maximum_length: Integer, minimum_length: Integer).void }
1189
- def initialize(maximum_length: nil, minimum_length: nil); end
1299
+ sig {
1300
+ params(default_value: T.nilable(String), maximum_length: T.nilable(Integer), minimum_length: T.nilable(Integer)).void
1301
+ }
1302
+ def initialize(default_value: nil, maximum_length: nil, minimum_length: nil); end
1190
1303
  end
1191
1304
  # Configuration for `type=dropdown` fields.
1192
- sig { returns(::Stripe::PaymentLink::UpdateParams::CustomField::Dropdown) }
1305
+ sig { returns(T.nilable(::Stripe::PaymentLink::UpdateParams::CustomField::Dropdown)) }
1193
1306
  attr_accessor :dropdown
1194
1307
  # 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.
1195
1308
  sig { returns(String) }
@@ -1198,19 +1311,19 @@ module Stripe
1198
1311
  sig { returns(::Stripe::PaymentLink::UpdateParams::CustomField::Label) }
1199
1312
  attr_accessor :label
1200
1313
  # Configuration for `type=numeric` fields.
1201
- sig { returns(::Stripe::PaymentLink::UpdateParams::CustomField::Numeric) }
1314
+ sig { returns(T.nilable(::Stripe::PaymentLink::UpdateParams::CustomField::Numeric)) }
1202
1315
  attr_accessor :numeric
1203
1316
  # Whether the customer is required to complete the field before completing the Checkout Session. Defaults to `false`.
1204
- sig { returns(T::Boolean) }
1317
+ sig { returns(T.nilable(T::Boolean)) }
1205
1318
  attr_accessor :optional
1206
1319
  # Configuration for `type=text` fields.
1207
- sig { returns(::Stripe::PaymentLink::UpdateParams::CustomField::Text) }
1320
+ sig { returns(T.nilable(::Stripe::PaymentLink::UpdateParams::CustomField::Text)) }
1208
1321
  attr_accessor :text
1209
1322
  # The type of the field.
1210
1323
  sig { returns(String) }
1211
1324
  attr_accessor :type
1212
1325
  sig {
1213
- params(dropdown: ::Stripe::PaymentLink::UpdateParams::CustomField::Dropdown, key: String, label: ::Stripe::PaymentLink::UpdateParams::CustomField::Label, numeric: ::Stripe::PaymentLink::UpdateParams::CustomField::Numeric, optional: T::Boolean, text: ::Stripe::PaymentLink::UpdateParams::CustomField::Text, type: String).void
1326
+ params(dropdown: T.nilable(::Stripe::PaymentLink::UpdateParams::CustomField::Dropdown), key: String, label: ::Stripe::PaymentLink::UpdateParams::CustomField::Label, numeric: T.nilable(::Stripe::PaymentLink::UpdateParams::CustomField::Numeric), optional: T.nilable(T::Boolean), text: T.nilable(::Stripe::PaymentLink::UpdateParams::CustomField::Text), type: String).void
1214
1327
  }
1215
1328
  def initialize(
1216
1329
  dropdown: nil,
@@ -1252,21 +1365,27 @@ module Stripe
1252
1365
  def initialize(message: nil); end
1253
1366
  end
1254
1367
  # Custom text that should be displayed after the payment confirmation button.
1255
- sig { returns(T.nilable(::Stripe::PaymentLink::UpdateParams::CustomText::AfterSubmit)) }
1368
+ sig {
1369
+ returns(T.nilable(T.nilable(T.any(String, ::Stripe::PaymentLink::UpdateParams::CustomText::AfterSubmit))))
1370
+ }
1256
1371
  attr_accessor :after_submit
1257
1372
  # Custom text that should be displayed alongside shipping address collection.
1258
- sig { returns(T.nilable(::Stripe::PaymentLink::UpdateParams::CustomText::ShippingAddress)) }
1373
+ sig {
1374
+ returns(T.nilable(T.nilable(T.any(String, ::Stripe::PaymentLink::UpdateParams::CustomText::ShippingAddress))))
1375
+ }
1259
1376
  attr_accessor :shipping_address
1260
1377
  # Custom text that should be displayed alongside the payment confirmation button.
1261
- sig { returns(T.nilable(::Stripe::PaymentLink::UpdateParams::CustomText::Submit)) }
1378
+ sig {
1379
+ returns(T.nilable(T.nilable(T.any(String, ::Stripe::PaymentLink::UpdateParams::CustomText::Submit))))
1380
+ }
1262
1381
  attr_accessor :submit
1263
1382
  # Custom text that should be displayed in place of the default terms of service agreement text.
1264
1383
  sig {
1265
- returns(T.nilable(::Stripe::PaymentLink::UpdateParams::CustomText::TermsOfServiceAcceptance))
1384
+ returns(T.nilable(T.nilable(T.any(String, ::Stripe::PaymentLink::UpdateParams::CustomText::TermsOfServiceAcceptance))))
1266
1385
  }
1267
1386
  attr_accessor :terms_of_service_acceptance
1268
1387
  sig {
1269
- params(after_submit: T.nilable(::Stripe::PaymentLink::UpdateParams::CustomText::AfterSubmit), shipping_address: T.nilable(::Stripe::PaymentLink::UpdateParams::CustomText::ShippingAddress), submit: T.nilable(::Stripe::PaymentLink::UpdateParams::CustomText::Submit), terms_of_service_acceptance: T.nilable(::Stripe::PaymentLink::UpdateParams::CustomText::TermsOfServiceAcceptance)).void
1388
+ params(after_submit: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentLink::UpdateParams::CustomText::AfterSubmit))), shipping_address: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentLink::UpdateParams::CustomText::ShippingAddress))), submit: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentLink::UpdateParams::CustomText::Submit))), terms_of_service_acceptance: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentLink::UpdateParams::CustomText::TermsOfServiceAcceptance)))).void
1270
1389
  }
1271
1390
  def initialize(
1272
1391
  after_submit: nil,
@@ -1289,48 +1408,50 @@ module Stripe
1289
1408
  end
1290
1409
  class Issuer < Stripe::RequestParams
1291
1410
  # The connected account being referenced when `type` is `account`.
1292
- sig { returns(String) }
1411
+ sig { returns(T.nilable(String)) }
1293
1412
  attr_accessor :account
1294
1413
  # Type of the account referenced in the request.
1295
1414
  sig { returns(String) }
1296
1415
  attr_accessor :type
1297
- sig { params(account: String, type: String).void }
1416
+ sig { params(account: T.nilable(String), type: String).void }
1298
1417
  def initialize(account: nil, type: nil); end
1299
1418
  end
1300
1419
  class RenderingOptions < Stripe::RequestParams
1301
1420
  # 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.
1302
- sig { returns(T.nilable(String)) }
1421
+ sig { returns(T.nilable(T.nilable(T.any(String, String)))) }
1303
1422
  attr_accessor :amount_tax_display
1304
- sig { params(amount_tax_display: T.nilable(String)).void }
1423
+ sig { params(amount_tax_display: T.nilable(T.nilable(T.any(String, String)))).void }
1305
1424
  def initialize(amount_tax_display: nil); end
1306
1425
  end
1307
1426
  # The account tax IDs associated with the invoice.
1308
- sig { returns(T.nilable(T::Array[String])) }
1427
+ sig { returns(T.nilable(T.nilable(T.any(String, T::Array[String])))) }
1309
1428
  attr_accessor :account_tax_ids
1310
1429
  # Default custom fields to be displayed on invoices for this customer.
1311
1430
  sig {
1312
- returns(T.nilable(T::Array[::Stripe::PaymentLink::UpdateParams::InvoiceCreation::InvoiceData::CustomField]))
1431
+ returns(T.nilable(T.nilable(T.any(String, T::Array[::Stripe::PaymentLink::UpdateParams::InvoiceCreation::InvoiceData::CustomField]))))
1313
1432
  }
1314
1433
  attr_accessor :custom_fields
1315
1434
  # An arbitrary string attached to the object. Often useful for displaying to users.
1316
- sig { returns(String) }
1435
+ sig { returns(T.nilable(String)) }
1317
1436
  attr_accessor :description
1318
1437
  # Default footer to be displayed on invoices for this customer.
1319
- sig { returns(String) }
1438
+ sig { returns(T.nilable(String)) }
1320
1439
  attr_accessor :footer
1321
1440
  # The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account.
1322
- sig { returns(::Stripe::PaymentLink::UpdateParams::InvoiceCreation::InvoiceData::Issuer) }
1441
+ sig {
1442
+ returns(T.nilable(::Stripe::PaymentLink::UpdateParams::InvoiceCreation::InvoiceData::Issuer))
1443
+ }
1323
1444
  attr_accessor :issuer
1324
1445
  # 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`.
1325
- sig { returns(T.nilable(T::Hash[String, String])) }
1446
+ sig { returns(T.nilable(T.nilable(T.any(String, T::Hash[String, String])))) }
1326
1447
  attr_accessor :metadata
1327
1448
  # Default options for invoice PDF rendering for this customer.
1328
1449
  sig {
1329
- returns(T.nilable(::Stripe::PaymentLink::UpdateParams::InvoiceCreation::InvoiceData::RenderingOptions))
1450
+ returns(T.nilable(T.nilable(T.any(String, ::Stripe::PaymentLink::UpdateParams::InvoiceCreation::InvoiceData::RenderingOptions))))
1330
1451
  }
1331
1452
  attr_accessor :rendering_options
1332
1453
  sig {
1333
- params(account_tax_ids: T.nilable(T::Array[String]), custom_fields: T.nilable(T::Array[::Stripe::PaymentLink::UpdateParams::InvoiceCreation::InvoiceData::CustomField]), description: String, footer: String, issuer: ::Stripe::PaymentLink::UpdateParams::InvoiceCreation::InvoiceData::Issuer, metadata: T.nilable(T::Hash[String, String]), rendering_options: T.nilable(::Stripe::PaymentLink::UpdateParams::InvoiceCreation::InvoiceData::RenderingOptions)).void
1454
+ 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::PaymentLink::UpdateParams::InvoiceCreation::InvoiceData::CustomField]))), description: T.nilable(String), footer: T.nilable(String), issuer: T.nilable(::Stripe::PaymentLink::UpdateParams::InvoiceCreation::InvoiceData::Issuer), metadata: T.nilable(T.nilable(T.any(String, T::Hash[String, String]))), rendering_options: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentLink::UpdateParams::InvoiceCreation::InvoiceData::RenderingOptions)))).void
1334
1455
  }
1335
1456
  def initialize(
1336
1457
  account_tax_ids: nil,
@@ -1346,10 +1467,12 @@ module Stripe
1346
1467
  sig { returns(T::Boolean) }
1347
1468
  attr_accessor :enabled
1348
1469
  # Invoice PDF configuration.
1349
- sig { returns(::Stripe::PaymentLink::UpdateParams::InvoiceCreation::InvoiceData) }
1470
+ sig {
1471
+ returns(T.nilable(::Stripe::PaymentLink::UpdateParams::InvoiceCreation::InvoiceData))
1472
+ }
1350
1473
  attr_accessor :invoice_data
1351
1474
  sig {
1352
- params(enabled: T::Boolean, invoice_data: ::Stripe::PaymentLink::UpdateParams::InvoiceCreation::InvoiceData).void
1475
+ params(enabled: T::Boolean, invoice_data: T.nilable(::Stripe::PaymentLink::UpdateParams::InvoiceCreation::InvoiceData)).void
1353
1476
  }
1354
1477
  def initialize(enabled: nil, invoice_data: nil); end
1355
1478
  end
@@ -1359,48 +1482,52 @@ module Stripe
1359
1482
  sig { returns(T::Boolean) }
1360
1483
  attr_accessor :enabled
1361
1484
  # The maximum quantity the customer can purchase. By default this value is 99. You can specify a value up to 999.
1362
- sig { returns(Integer) }
1485
+ sig { returns(T.nilable(Integer)) }
1363
1486
  attr_accessor :maximum
1364
1487
  # The minimum quantity the customer can purchase. By default this value is 0. If there is only one item in the cart then that item's quantity cannot go down to 0.
1365
- sig { returns(Integer) }
1488
+ sig { returns(T.nilable(Integer)) }
1366
1489
  attr_accessor :minimum
1367
- sig { params(enabled: T::Boolean, maximum: Integer, minimum: Integer).void }
1490
+ sig {
1491
+ params(enabled: T::Boolean, maximum: T.nilable(Integer), minimum: T.nilable(Integer)).void
1492
+ }
1368
1493
  def initialize(enabled: nil, maximum: nil, minimum: nil); end
1369
1494
  end
1370
1495
  # When set, provides configuration for this item’s quantity to be adjusted by the customer during checkout.
1371
- sig { returns(::Stripe::PaymentLink::UpdateParams::LineItem::AdjustableQuantity) }
1496
+ sig {
1497
+ returns(T.nilable(::Stripe::PaymentLink::UpdateParams::LineItem::AdjustableQuantity))
1498
+ }
1372
1499
  attr_accessor :adjustable_quantity
1373
1500
  # The ID of an existing line item on the payment link.
1374
1501
  sig { returns(String) }
1375
1502
  attr_accessor :id
1376
1503
  # The quantity of the line item being purchased.
1377
- sig { returns(Integer) }
1504
+ sig { returns(T.nilable(Integer)) }
1378
1505
  attr_accessor :quantity
1379
1506
  sig {
1380
- params(adjustable_quantity: ::Stripe::PaymentLink::UpdateParams::LineItem::AdjustableQuantity, id: String, quantity: Integer).void
1507
+ params(adjustable_quantity: T.nilable(::Stripe::PaymentLink::UpdateParams::LineItem::AdjustableQuantity), id: String, quantity: T.nilable(Integer)).void
1381
1508
  }
1382
1509
  def initialize(adjustable_quantity: nil, id: nil, quantity: nil); end
1383
1510
  end
1384
1511
  class PaymentIntentData < Stripe::RequestParams
1385
1512
  # An arbitrary string attached to the object. Often useful for displaying to users.
1386
- sig { returns(T.nilable(String)) }
1513
+ sig { returns(T.nilable(T.nilable(String))) }
1387
1514
  attr_accessor :description
1388
1515
  # Set of [key-value pairs](https://stripe.com/docs/api/metadata) that will declaratively set metadata on [Payment Intents](https://stripe.com/docs/api/payment_intents) generated from this payment link. Unlike object-level metadata, this field is declarative. Updates will clear prior values.
1389
- sig { returns(T.nilable(T::Hash[String, String])) }
1516
+ sig { returns(T.nilable(T.nilable(T.any(String, T::Hash[String, String])))) }
1390
1517
  attr_accessor :metadata
1391
1518
  # 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).
1392
1519
  #
1393
1520
  # 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.
1394
- sig { returns(T.nilable(String)) }
1521
+ sig { returns(T.nilable(T.nilable(String))) }
1395
1522
  attr_accessor :statement_descriptor
1396
1523
  # 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.
1397
- sig { returns(T.nilable(String)) }
1524
+ sig { returns(T.nilable(T.nilable(String))) }
1398
1525
  attr_accessor :statement_descriptor_suffix
1399
1526
  # 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.
1400
- sig { returns(T.nilable(String)) }
1527
+ sig { returns(T.nilable(T.nilable(String))) }
1401
1528
  attr_accessor :transfer_group
1402
1529
  sig {
1403
- params(description: T.nilable(String), metadata: T.nilable(T::Hash[String, String]), statement_descriptor: T.nilable(String), statement_descriptor_suffix: T.nilable(String), transfer_group: T.nilable(String)).void
1530
+ params(description: T.nilable(T.nilable(String)), metadata: T.nilable(T.nilable(T.any(String, T::Hash[String, String]))), statement_descriptor: T.nilable(T.nilable(String)), statement_descriptor_suffix: T.nilable(T.nilable(String)), transfer_group: T.nilable(T.nilable(String))).void
1404
1531
  }
1405
1532
  def initialize(
1406
1533
  description: nil,
@@ -1445,21 +1572,21 @@ module Stripe
1445
1572
  class InvoiceSettings < Stripe::RequestParams
1446
1573
  class Issuer < Stripe::RequestParams
1447
1574
  # The connected account being referenced when `type` is `account`.
1448
- sig { returns(String) }
1575
+ sig { returns(T.nilable(String)) }
1449
1576
  attr_accessor :account
1450
1577
  # Type of the account referenced in the request.
1451
1578
  sig { returns(String) }
1452
1579
  attr_accessor :type
1453
- sig { params(account: String, type: String).void }
1580
+ sig { params(account: T.nilable(String), type: String).void }
1454
1581
  def initialize(account: nil, type: nil); end
1455
1582
  end
1456
1583
  # The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account.
1457
1584
  sig {
1458
- returns(::Stripe::PaymentLink::UpdateParams::SubscriptionData::InvoiceSettings::Issuer)
1585
+ returns(T.nilable(::Stripe::PaymentLink::UpdateParams::SubscriptionData::InvoiceSettings::Issuer))
1459
1586
  }
1460
1587
  attr_accessor :issuer
1461
1588
  sig {
1462
- params(issuer: ::Stripe::PaymentLink::UpdateParams::SubscriptionData::InvoiceSettings::Issuer).void
1589
+ params(issuer: T.nilable(::Stripe::PaymentLink::UpdateParams::SubscriptionData::InvoiceSettings::Issuer)).void
1463
1590
  }
1464
1591
  def initialize(issuer: nil); end
1465
1592
  end
@@ -1482,21 +1609,23 @@ module Stripe
1482
1609
  def initialize(end_behavior: nil); end
1483
1610
  end
1484
1611
  # All invoices will be billed using the specified settings.
1485
- sig { returns(::Stripe::PaymentLink::UpdateParams::SubscriptionData::InvoiceSettings) }
1612
+ sig {
1613
+ returns(T.nilable(::Stripe::PaymentLink::UpdateParams::SubscriptionData::InvoiceSettings))
1614
+ }
1486
1615
  attr_accessor :invoice_settings
1487
1616
  # Set of [key-value pairs](https://stripe.com/docs/api/metadata) that will declaratively set metadata on [Subscriptions](https://stripe.com/docs/api/subscriptions) generated from this payment link. Unlike object-level metadata, this field is declarative. Updates will clear prior values.
1488
- sig { returns(T.nilable(T::Hash[String, String])) }
1617
+ sig { returns(T.nilable(T.nilable(T.any(String, T::Hash[String, String])))) }
1489
1618
  attr_accessor :metadata
1490
1619
  # Integer representing the number of trial period days before the customer is charged for the first time. Has to be at least 1.
1491
- sig { returns(T.nilable(Integer)) }
1620
+ sig { returns(T.nilable(T.nilable(T.any(String, Integer)))) }
1492
1621
  attr_accessor :trial_period_days
1493
1622
  # Settings related to subscription trials.
1494
1623
  sig {
1495
- returns(T.nilable(::Stripe::PaymentLink::UpdateParams::SubscriptionData::TrialSettings))
1624
+ returns(T.nilable(T.nilable(T.any(String, ::Stripe::PaymentLink::UpdateParams::SubscriptionData::TrialSettings))))
1496
1625
  }
1497
1626
  attr_accessor :trial_settings
1498
1627
  sig {
1499
- params(invoice_settings: ::Stripe::PaymentLink::UpdateParams::SubscriptionData::InvoiceSettings, metadata: T.nilable(T::Hash[String, String]), trial_period_days: T.nilable(Integer), trial_settings: T.nilable(::Stripe::PaymentLink::UpdateParams::SubscriptionData::TrialSettings)).void
1628
+ params(invoice_settings: T.nilable(::Stripe::PaymentLink::UpdateParams::SubscriptionData::InvoiceSettings), metadata: T.nilable(T.nilable(T.any(String, T::Hash[String, String]))), trial_period_days: T.nilable(T.nilable(T.any(String, Integer))), trial_settings: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentLink::UpdateParams::SubscriptionData::TrialSettings)))).void
1500
1629
  }
1501
1630
  def initialize(
1502
1631
  invoice_settings: nil,
@@ -1510,85 +1639,91 @@ module Stripe
1510
1639
  sig { returns(T::Boolean) }
1511
1640
  attr_accessor :enabled
1512
1641
  # Describes whether a tax ID is required during checkout. Defaults to `never`.
1513
- sig { returns(String) }
1642
+ sig { returns(T.nilable(String)) }
1514
1643
  attr_accessor :required
1515
- sig { params(enabled: T::Boolean, required: String).void }
1644
+ sig { params(enabled: T::Boolean, required: T.nilable(String)).void }
1516
1645
  def initialize(enabled: nil, required: nil); end
1517
1646
  end
1518
1647
  # Whether the payment link's `url` is active. If `false`, customers visiting the URL will be shown a page saying that the link has been deactivated.
1519
- sig { returns(T::Boolean) }
1648
+ sig { returns(T.nilable(T::Boolean)) }
1520
1649
  attr_accessor :active
1521
1650
  # Behavior after the purchase is complete.
1522
- sig { returns(::Stripe::PaymentLink::UpdateParams::AfterCompletion) }
1651
+ sig { returns(T.nilable(::Stripe::PaymentLink::UpdateParams::AfterCompletion)) }
1523
1652
  attr_accessor :after_completion
1524
1653
  # Enables user redeemable promotion codes.
1525
- sig { returns(T::Boolean) }
1654
+ sig { returns(T.nilable(T::Boolean)) }
1526
1655
  attr_accessor :allow_promotion_codes
1527
1656
  # Configuration for automatic tax collection.
1528
- sig { returns(::Stripe::PaymentLink::UpdateParams::AutomaticTax) }
1657
+ sig { returns(T.nilable(::Stripe::PaymentLink::UpdateParams::AutomaticTax)) }
1529
1658
  attr_accessor :automatic_tax
1530
1659
  # Configuration for collecting the customer's billing address. Defaults to `auto`.
1531
- sig { returns(String) }
1660
+ sig { returns(T.nilable(String)) }
1532
1661
  attr_accessor :billing_address_collection
1533
1662
  # Collect additional information from your customer using custom fields. Up to 3 fields are supported.
1534
- sig { returns(T.nilable(T::Array[::Stripe::PaymentLink::UpdateParams::CustomField])) }
1663
+ sig {
1664
+ returns(T.nilable(T.nilable(T.any(String, T::Array[::Stripe::PaymentLink::UpdateParams::CustomField]))))
1665
+ }
1535
1666
  attr_accessor :custom_fields
1536
1667
  # Display additional text for your customers using custom text.
1537
- sig { returns(::Stripe::PaymentLink::UpdateParams::CustomText) }
1668
+ sig { returns(T.nilable(::Stripe::PaymentLink::UpdateParams::CustomText)) }
1538
1669
  attr_accessor :custom_text
1539
1670
  # Configures whether [checkout sessions](https://stripe.com/docs/api/checkout/sessions) created by this payment link create a [Customer](https://stripe.com/docs/api/customers).
1540
- sig { returns(String) }
1671
+ sig { returns(T.nilable(String)) }
1541
1672
  attr_accessor :customer_creation
1542
1673
  # Specifies which fields in the response should be expanded.
1543
- sig { returns(T::Array[String]) }
1674
+ sig { returns(T.nilable(T::Array[String])) }
1544
1675
  attr_accessor :expand
1545
1676
  # The custom message to be displayed to a customer when a payment link is no longer active.
1546
- sig { returns(T.nilable(String)) }
1677
+ sig { returns(T.nilable(T.nilable(String))) }
1547
1678
  attr_accessor :inactive_message
1548
1679
  # Generate a post-purchase Invoice for one-time payments.
1549
- sig { returns(::Stripe::PaymentLink::UpdateParams::InvoiceCreation) }
1680
+ sig { returns(T.nilable(::Stripe::PaymentLink::UpdateParams::InvoiceCreation)) }
1550
1681
  attr_accessor :invoice_creation
1551
1682
  # The line items representing what is being sold. Each line item represents an item being sold. Up to 20 line items are supported.
1552
- sig { returns(T::Array[::Stripe::PaymentLink::UpdateParams::LineItem]) }
1683
+ sig { returns(T.nilable(T::Array[::Stripe::PaymentLink::UpdateParams::LineItem])) }
1553
1684
  attr_accessor :line_items
1554
1685
  # 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`. Metadata associated with this Payment Link will automatically be copied to [checkout sessions](https://stripe.com/docs/api/checkout/sessions) created by this payment link.
1555
- sig { returns(T::Hash[String, String]) }
1686
+ sig { returns(T.nilable(T::Hash[String, String])) }
1556
1687
  attr_accessor :metadata
1557
1688
  # A subset of parameters to be passed to PaymentIntent creation for Checkout Sessions in `payment` mode.
1558
- sig { returns(::Stripe::PaymentLink::UpdateParams::PaymentIntentData) }
1689
+ sig { returns(T.nilable(::Stripe::PaymentLink::UpdateParams::PaymentIntentData)) }
1559
1690
  attr_accessor :payment_intent_data
1560
1691
  # 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.This may occur if the Checkout Session includes a free trial or a discount.
1561
1692
  #
1562
1693
  # Can only be set in `subscription` mode. Defaults to `always`.
1563
1694
  #
1564
1695
  # 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).
1565
- sig { returns(String) }
1696
+ sig { returns(T.nilable(String)) }
1566
1697
  attr_accessor :payment_method_collection
1567
1698
  # The list of payment method types that customers can use. Pass an empty string to enable dynamic payment methods that use your [payment method settings](https://dashboard.stripe.com/settings/payment_methods).
1568
- sig { returns(T.nilable(T::Array[String])) }
1699
+ sig { returns(T.nilable(T.nilable(T.any(String, T::Array[String])))) }
1569
1700
  attr_accessor :payment_method_types
1570
1701
  # Controls phone number collection settings during checkout.
1571
1702
  #
1572
1703
  # We recommend that you review your privacy policy and check with your legal contacts.
1573
- sig { returns(::Stripe::PaymentLink::UpdateParams::PhoneNumberCollection) }
1704
+ sig { returns(T.nilable(::Stripe::PaymentLink::UpdateParams::PhoneNumberCollection)) }
1574
1705
  attr_accessor :phone_number_collection
1575
1706
  # Settings that restrict the usage of a payment link.
1576
- sig { returns(T.nilable(::Stripe::PaymentLink::UpdateParams::Restrictions)) }
1707
+ sig {
1708
+ returns(T.nilable(T.nilable(T.any(String, ::Stripe::PaymentLink::UpdateParams::Restrictions))))
1709
+ }
1577
1710
  attr_accessor :restrictions
1578
1711
  # Configuration for collecting the customer's shipping address.
1579
- sig { returns(T.nilable(::Stripe::PaymentLink::UpdateParams::ShippingAddressCollection)) }
1712
+ sig {
1713
+ returns(T.nilable(T.nilable(T.any(String, ::Stripe::PaymentLink::UpdateParams::ShippingAddressCollection))))
1714
+ }
1580
1715
  attr_accessor :shipping_address_collection
1581
1716
  # Describes the type of transaction being performed in order to customize relevant text on the page, such as the submit button. Changing this value will also affect the hostname in the [url](https://stripe.com/docs/api/payment_links/payment_links/object#url) property (example: `donate.stripe.com`).
1582
- sig { returns(String) }
1717
+ sig { returns(T.nilable(String)) }
1583
1718
  attr_accessor :submit_type
1584
1719
  # When creating a subscription, the specified configuration data will be used. There must be at least one line item with a recurring price to use `subscription_data`.
1585
- sig { returns(::Stripe::PaymentLink::UpdateParams::SubscriptionData) }
1720
+ sig { returns(T.nilable(::Stripe::PaymentLink::UpdateParams::SubscriptionData)) }
1586
1721
  attr_accessor :subscription_data
1587
1722
  # Controls tax ID collection during checkout.
1588
- sig { returns(::Stripe::PaymentLink::UpdateParams::TaxIdCollection) }
1723
+ sig { returns(T.nilable(::Stripe::PaymentLink::UpdateParams::TaxIdCollection)) }
1589
1724
  attr_accessor :tax_id_collection
1590
1725
  sig {
1591
- params(active: T::Boolean, after_completion: ::Stripe::PaymentLink::UpdateParams::AfterCompletion, allow_promotion_codes: T::Boolean, automatic_tax: ::Stripe::PaymentLink::UpdateParams::AutomaticTax, billing_address_collection: String, custom_fields: T.nilable(T::Array[::Stripe::PaymentLink::UpdateParams::CustomField]), custom_text: ::Stripe::PaymentLink::UpdateParams::CustomText, customer_creation: String, expand: T::Array[String], inactive_message: T.nilable(String), invoice_creation: ::Stripe::PaymentLink::UpdateParams::InvoiceCreation, line_items: T::Array[::Stripe::PaymentLink::UpdateParams::LineItem], metadata: T::Hash[String, String], payment_intent_data: ::Stripe::PaymentLink::UpdateParams::PaymentIntentData, payment_method_collection: String, payment_method_types: T.nilable(T::Array[String]), phone_number_collection: ::Stripe::PaymentLink::UpdateParams::PhoneNumberCollection, restrictions: T.nilable(::Stripe::PaymentLink::UpdateParams::Restrictions), shipping_address_collection: T.nilable(::Stripe::PaymentLink::UpdateParams::ShippingAddressCollection), submit_type: String, subscription_data: ::Stripe::PaymentLink::UpdateParams::SubscriptionData, tax_id_collection: ::Stripe::PaymentLink::UpdateParams::TaxIdCollection).void
1726
+ params(active: T.nilable(T::Boolean), after_completion: T.nilable(::Stripe::PaymentLink::UpdateParams::AfterCompletion), allow_promotion_codes: T.nilable(T::Boolean), automatic_tax: T.nilable(::Stripe::PaymentLink::UpdateParams::AutomaticTax), billing_address_collection: T.nilable(String), custom_fields: T.nilable(T.nilable(T.any(String, T::Array[::Stripe::PaymentLink::UpdateParams::CustomField]))), custom_text: T.nilable(::Stripe::PaymentLink::UpdateParams::CustomText), customer_creation: T.nilable(String), expand: T.nilable(T::Array[String]), inactive_message: T.nilable(T.nilable(String)), invoice_creation: T.nilable(::Stripe::PaymentLink::UpdateParams::InvoiceCreation), line_items: T.nilable(T::Array[::Stripe::PaymentLink::UpdateParams::LineItem]), metadata: T.nilable(T::Hash[String, String]), payment_intent_data: T.nilable(::Stripe::PaymentLink::UpdateParams::PaymentIntentData), payment_method_collection: T.nilable(String), payment_method_types: T.nilable(T.nilable(T.any(String, T::Array[String]))), phone_number_collection: T.nilable(::Stripe::PaymentLink::UpdateParams::PhoneNumberCollection), restrictions: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentLink::UpdateParams::Restrictions))), shipping_address_collection: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentLink::UpdateParams::ShippingAddressCollection))), submit_type: T.nilable(String), subscription_data: T.nilable(::Stripe::PaymentLink::UpdateParams::SubscriptionData), tax_id_collection: T.nilable(::Stripe::PaymentLink::UpdateParams::TaxIdCollection)).void
1592
1727
  }
1593
1728
  def initialize(
1594
1729
  active: nil,
@@ -1617,19 +1752,19 @@ module Stripe
1617
1752
  end
1618
1753
  class ListLineItemsParams < Stripe::RequestParams
1619
1754
  # 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.
1620
- sig { returns(String) }
1755
+ sig { returns(T.nilable(String)) }
1621
1756
  attr_accessor :ending_before
1622
1757
  # Specifies which fields in the response should be expanded.
1623
- sig { returns(T::Array[String]) }
1758
+ sig { returns(T.nilable(T::Array[String])) }
1624
1759
  attr_accessor :expand
1625
1760
  # A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
1626
- sig { returns(Integer) }
1761
+ sig { returns(T.nilable(Integer)) }
1627
1762
  attr_accessor :limit
1628
1763
  # 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.
1629
- sig { returns(String) }
1764
+ sig { returns(T.nilable(String)) }
1630
1765
  attr_accessor :starting_after
1631
1766
  sig {
1632
- params(ending_before: String, expand: T::Array[String], limit: Integer, starting_after: String).void
1767
+ params(ending_before: T.nilable(String), expand: T.nilable(T::Array[String]), limit: T.nilable(Integer), starting_after: T.nilable(String)).void
1633
1768
  }
1634
1769
  def initialize(ending_before: nil, expand: nil, limit: nil, starting_after: nil); end
1635
1770
  end