stripe 13.3.0 → 13.4.0.pre.beta.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (743) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +1410 -650
  3. data/OPENAPI_VERSION +1 -1
  4. data/VERSION +1 -1
  5. data/lib/stripe/api_operations/request.rb +1 -0
  6. data/lib/stripe/api_requestor.rb +1 -0
  7. data/lib/stripe/object_types.rb +32 -0
  8. data/lib/stripe/request_params.rb +24 -0
  9. data/lib/stripe/request_signing_authenticator.rb +79 -0
  10. data/lib/stripe/resources/account.rb +5793 -0
  11. data/lib/stripe/resources/account_link.rb +64 -0
  12. data/lib/stripe/resources/account_notice.rb +154 -0
  13. data/lib/stripe/resources/account_session.rb +1002 -0
  14. data/lib/stripe/resources/apple_pay_domain.rb +73 -0
  15. data/lib/stripe/resources/application.rb +23 -0
  16. data/lib/stripe/resources/application_fee.rb +120 -0
  17. data/lib/stripe/resources/application_fee_refund.rb +24 -0
  18. data/lib/stripe/resources/apps/secret.rb +166 -0
  19. data/lib/stripe/resources/balance.rb +162 -0
  20. data/lib/stripe/resources/balance_transaction.rb +141 -0
  21. data/lib/stripe/resources/bank_account.rb +113 -2
  22. data/lib/stripe/resources/billing/alert.rb +166 -0
  23. data/lib/stripe/resources/billing/alert_triggered.rb +31 -0
  24. data/lib/stripe/resources/billing/credit_balance_summary.rb +89 -0
  25. data/lib/stripe/resources/billing/credit_balance_transaction.rb +140 -0
  26. data/lib/stripe/resources/billing/credit_grant.rb +235 -0
  27. data/lib/stripe/resources/billing/meter.rb +203 -0
  28. data/lib/stripe/resources/billing/meter_error_report.rb +70 -0
  29. data/lib/stripe/resources/billing/meter_event.rb +45 -0
  30. data/lib/stripe/resources/billing/meter_event_adjustment.rb +51 -0
  31. data/lib/stripe/resources/billing/meter_event_summary.rb +21 -0
  32. data/lib/stripe/resources/billing_portal/configuration.rb +639 -0
  33. data/lib/stripe/resources/billing_portal/session.rb +313 -0
  34. data/lib/stripe/resources/capability.rb +111 -0
  35. data/lib/stripe/resources/capital/financing_offer.rb +221 -0
  36. data/lib/stripe/resources/capital/financing_summary.rb +77 -0
  37. data/lib/stripe/resources/capital/financing_transaction.rb +147 -0
  38. data/lib/stripe/resources/card.rb +111 -0
  39. data/lib/stripe/resources/cash_balance.rb +22 -0
  40. data/lib/stripe/resources/charge.rb +3687 -0
  41. data/lib/stripe/resources/checkout/session.rb +4162 -0
  42. data/lib/stripe/resources/climate/order.rb +216 -0
  43. data/lib/stripe/resources/climate/product.rb +69 -0
  44. data/lib/stripe/resources/climate/supplier.rb +67 -0
  45. data/lib/stripe/resources/confirmation_token.rb +1855 -0
  46. data/lib/stripe/resources/connect_collection_transfer.rb +29 -0
  47. data/lib/stripe/resources/country_spec.rb +76 -0
  48. data/lib/stripe/resources/coupon.rb +237 -0
  49. data/lib/stripe/resources/credit_note.rb +798 -0
  50. data/lib/stripe/resources/credit_note_line_item.rb +89 -0
  51. data/lib/stripe/resources/customer.rb +995 -0
  52. data/lib/stripe/resources/customer_balance_transaction.rb +39 -0
  53. data/lib/stripe/resources/customer_cash_balance_transaction.rb +136 -0
  54. data/lib/stripe/resources/customer_session.rb +183 -0
  55. data/lib/stripe/resources/discount.rb +41 -0
  56. data/lib/stripe/resources/dispute.rb +767 -0
  57. data/lib/stripe/resources/entitlements/active_entitlement.rb +54 -0
  58. data/lib/stripe/resources/entitlements/active_entitlement_summary.rb +26 -0
  59. data/lib/stripe/resources/entitlements/feature.rb +107 -0
  60. data/lib/stripe/resources/ephemeral_key.rb +26 -0
  61. data/lib/stripe/resources/event.rb +157 -0
  62. data/lib/stripe/resources/exchange_rate.rb +38 -0
  63. data/lib/stripe/resources/file.rb +134 -0
  64. data/lib/stripe/resources/file_link.rb +134 -0
  65. data/lib/stripe/resources/financial_connections/account.rb +307 -0
  66. data/lib/stripe/resources/financial_connections/account_inferred_balance.rb +30 -0
  67. data/lib/stripe/resources/financial_connections/account_owner.rb +24 -0
  68. data/lib/stripe/resources/financial_connections/account_ownership.rb +12 -0
  69. data/lib/stripe/resources/financial_connections/institution.rb +112 -0
  70. data/lib/stripe/resources/financial_connections/session.rb +187 -0
  71. data/lib/stripe/resources/financial_connections/transaction.rb +122 -0
  72. data/lib/stripe/resources/forwarding/request.rb +196 -0
  73. data/lib/stripe/resources/funding_instructions.rb +415 -0
  74. data/lib/stripe/resources/gift_cards/card.rb +245 -0
  75. data/lib/stripe/resources/gift_cards/transaction.rb +313 -0
  76. data/lib/stripe/resources/identity/verification_report.rb +335 -0
  77. data/lib/stripe/resources/identity/verification_session.rb +430 -0
  78. data/lib/stripe/resources/invoice.rb +9348 -0
  79. data/lib/stripe/resources/invoice_item.rb +536 -0
  80. data/lib/stripe/resources/invoice_line_item.rb +409 -0
  81. data/lib/stripe/resources/invoice_payment.rb +72 -0
  82. data/lib/stripe/resources/invoice_rendering_template.rb +79 -0
  83. data/lib/stripe/resources/issuing/authorization.rb +1316 -2
  84. data/lib/stripe/resources/issuing/card.rb +794 -0
  85. data/lib/stripe/resources/issuing/cardholder.rb +768 -0
  86. data/lib/stripe/resources/issuing/credit_underwriting_record.rb +693 -0
  87. data/lib/stripe/resources/issuing/dispute.rb +941 -0
  88. data/lib/stripe/resources/issuing/dispute_settlement_detail.rb +98 -0
  89. data/lib/stripe/resources/issuing/fraud_liability_debit.rb +109 -0
  90. data/lib/stripe/resources/issuing/personalization_design.rb +333 -0
  91. data/lib/stripe/resources/issuing/physical_bundle.rb +76 -0
  92. data/lib/stripe/resources/issuing/settlement.rb +65 -0
  93. data/lib/stripe/resources/issuing/token.rb +221 -0
  94. data/lib/stripe/resources/issuing/transaction.rb +1098 -0
  95. data/lib/stripe/resources/line_item.rb +98 -0
  96. data/lib/stripe/resources/login_link.rb +9 -0
  97. data/lib/stripe/resources/mandate.rb +214 -0
  98. data/lib/stripe/resources/margin.rb +143 -0
  99. data/lib/stripe/resources/order.rb +3238 -0
  100. data/lib/stripe/resources/payment_attempt_record.rb +226 -0
  101. data/lib/stripe/resources/payment_intent.rb +14630 -0
  102. data/lib/stripe/resources/payment_link.rb +1761 -0
  103. data/lib/stripe/resources/payment_method.rb +1981 -0
  104. data/lib/stripe/resources/payment_method_configuration.rb +3137 -0
  105. data/lib/stripe/resources/payment_method_domain.rb +176 -0
  106. data/lib/stripe/resources/payment_record.rb +824 -0
  107. data/lib/stripe/resources/payout.rb +267 -0
  108. data/lib/stripe/resources/person.rb +353 -0
  109. data/lib/stripe/resources/plan.rb +386 -0
  110. data/lib/stripe/resources/price.rb +782 -0
  111. data/lib/stripe/resources/product.rb +636 -0
  112. data/lib/stripe/resources/product_feature.rb +16 -0
  113. data/lib/stripe/resources/promotion_code.rb +261 -0
  114. data/lib/stripe/resources/quote.rb +3404 -0
  115. data/lib/stripe/resources/quote_line.rb +340 -0
  116. data/lib/stripe/resources/quote_preview_invoice.rb +833 -0
  117. data/lib/stripe/resources/quote_preview_subscription_schedule.rb +463 -0
  118. data/lib/stripe/resources/radar/early_fraud_warning.rb +93 -0
  119. data/lib/stripe/resources/radar/value_list.rb +151 -0
  120. data/lib/stripe/resources/radar/value_list_item.rb +113 -0
  121. data/lib/stripe/resources/refund.rb +489 -0
  122. data/lib/stripe/resources/reporting/report_run.rb +182 -0
  123. data/lib/stripe/resources/reporting/report_type.rb +44 -0
  124. data/lib/stripe/resources/reserve_transaction.rb +26 -0
  125. data/lib/stripe/resources/reversal.rb +30 -0
  126. data/lib/stripe/resources/review.rb +135 -0
  127. data/lib/stripe/resources/setup_attempt.rb +474 -0
  128. data/lib/stripe/resources/setup_intent.rb +4371 -0
  129. data/lib/stripe/resources/shipping_rate.rb +303 -0
  130. data/lib/stripe/resources/sigma/scheduled_query_run.rb +67 -0
  131. data/lib/stripe/resources/source.rb +1571 -0
  132. data/lib/stripe/resources/source_mandate_notification.rb +79 -0
  133. data/lib/stripe/resources/source_transaction.rb +114 -0
  134. data/lib/stripe/resources/subscription.rb +2395 -0
  135. data/lib/stripe/resources/subscription_item.rb +502 -0
  136. data/lib/stripe/resources/subscription_schedule.rb +2790 -0
  137. data/lib/stripe/resources/tax/association.rb +100 -0
  138. data/lib/stripe/resources/tax/calculation.rb +474 -0
  139. data/lib/stripe/resources/tax/calculation_line_item.rb +76 -0
  140. data/lib/stripe/resources/tax/form.rb +253 -0
  141. data/lib/stripe/resources/tax/registration.rb +2174 -0
  142. data/lib/stripe/resources/tax/settings.rb +146 -0
  143. data/lib/stripe/resources/tax/transaction.rb +332 -0
  144. data/lib/stripe/resources/tax/transaction_line_item.rb +43 -0
  145. data/lib/stripe/resources/tax_code.rb +41 -0
  146. data/lib/stripe/resources/tax_deducted_at_source.rb +26 -0
  147. data/lib/stripe/resources/tax_id.rb +147 -0
  148. data/lib/stripe/resources/tax_rate.rb +245 -0
  149. data/lib/stripe/resources/terminal/configuration.rb +1175 -0
  150. data/lib/stripe/resources/terminal/connection_token.rb +21 -0
  151. data/lib/stripe/resources/terminal/location.rb +208 -0
  152. data/lib/stripe/resources/terminal/reader.rb +911 -0
  153. data/lib/stripe/resources/terminal/reader_collected_data.rb +45 -0
  154. data/lib/stripe/resources/test_helpers/test_clock.rb +101 -0
  155. data/lib/stripe/resources/token.rb +1337 -0
  156. data/lib/stripe/resources/topup.rb +210 -0
  157. data/lib/stripe/resources/transfer.rb +188 -0
  158. data/lib/stripe/resources/treasury/credit_reversal.rb +113 -0
  159. data/lib/stripe/resources/treasury/debit_reversal.rb +126 -0
  160. data/lib/stripe/resources/treasury/financial_account.rb +766 -0
  161. data/lib/stripe/resources/treasury/financial_account_features.rb +237 -0
  162. data/lib/stripe/resources/treasury/inbound_transfer.rb +285 -0
  163. data/lib/stripe/resources/treasury/outbound_payment.rb +587 -0
  164. data/lib/stripe/resources/treasury/outbound_transfer.rb +428 -0
  165. data/lib/stripe/resources/treasury/received_credit.rb +335 -0
  166. data/lib/stripe/resources/treasury/received_debit.rb +298 -0
  167. data/lib/stripe/resources/treasury/transaction.rb +215 -0
  168. data/lib/stripe/resources/treasury/transaction_entry.rb +193 -0
  169. data/lib/stripe/resources/usage_record.rb +18 -0
  170. data/lib/stripe/resources/usage_record_summary.rb +28 -0
  171. data/lib/stripe/resources/v2/amount.rb +9 -0
  172. data/lib/stripe/resources/v2/billing/meter_event.rb +24 -0
  173. data/lib/stripe/resources/v2/billing/meter_event_adjustment.rb +28 -0
  174. data/lib/stripe/resources/v2/billing/meter_event_session.rb +19 -0
  175. data/lib/stripe/resources/v2/event.rb +35 -0
  176. data/lib/stripe/resources/v2/event_destination.rb +78 -0
  177. data/lib/stripe/resources/webhook_endpoint.rb +148 -0
  178. data/lib/stripe/resources.rb +31 -0
  179. data/lib/stripe/services/account_capability_service.rb +33 -0
  180. data/lib/stripe/services/account_external_account_service.rb +293 -0
  181. data/lib/stripe/services/account_link_service.rb +53 -0
  182. data/lib/stripe/services/account_login_link_service.rb +9 -0
  183. data/lib/stripe/services/account_notice_service.rb +110 -0
  184. data/lib/stripe/services/account_person_service.rb +1014 -0
  185. data/lib/stripe/services/account_service.rb +4862 -0
  186. data/lib/stripe/services/account_session_service.rb +740 -0
  187. data/lib/stripe/services/apple_pay_domain_service.rb +56 -0
  188. data/lib/stripe/services/application_fee_refund_service.rb +60 -0
  189. data/lib/stripe/services/application_fee_service.rb +65 -0
  190. data/lib/stripe/services/apps/secret_service.rb +132 -0
  191. data/lib/stripe/services/balance_service.rb +9 -0
  192. data/lib/stripe/services/balance_transaction_service.rb +80 -0
  193. data/lib/stripe/services/billing/alert_service.rb +125 -0
  194. data/lib/stripe/services/billing/credit_balance_summary_service.rb +41 -0
  195. data/lib/stripe/services/billing/credit_balance_transaction_service.rb +45 -0
  196. data/lib/stripe/services/billing/credit_grant_service.rb +167 -0
  197. data/lib/stripe/services/billing/meter_event_adjustment_service.rb +29 -0
  198. data/lib/stripe/services/billing/meter_event_service.rb +25 -0
  199. data/lib/stripe/services/billing/meter_event_summary_service.rb +46 -0
  200. data/lib/stripe/services/billing/meter_service.rb +142 -0
  201. data/lib/stripe/services/billing_portal/configuration_service.rb +492 -0
  202. data/lib/stripe/services/billing_portal/session_service.rb +192 -0
  203. data/lib/stripe/services/capital/financing_offer_service.rb +121 -0
  204. data/lib/stripe/services/capital/financing_summary_service.rb +28 -0
  205. data/lib/stripe/services/capital/financing_transaction_service.rb +86 -0
  206. data/lib/stripe/services/capital_service.rb +15 -0
  207. data/lib/stripe/services/charge_service.rb +2010 -0
  208. data/lib/stripe/services/checkout/session_line_item_service.rb +21 -0
  209. data/lib/stripe/services/checkout/session_service.rb +2736 -0
  210. data/lib/stripe/services/climate/order_service.rb +113 -0
  211. data/lib/stripe/services/climate/product_service.rb +30 -0
  212. data/lib/stripe/services/climate/supplier_service.rb +30 -0
  213. data/lib/stripe/services/confirmation_token_service.rb +9 -0
  214. data/lib/stripe/services/country_spec_service.rb +30 -0
  215. data/lib/stripe/services/coupon_service.rb +174 -0
  216. data/lib/stripe/services/credit_note_line_item_service.rb +21 -0
  217. data/lib/stripe/services/credit_note_preview_lines_service.rb +184 -0
  218. data/lib/stripe/services/credit_note_service.rb +434 -0
  219. data/lib/stripe/services/customer_balance_transaction_service.rb +72 -0
  220. data/lib/stripe/services/customer_cash_balance_service.rb +30 -0
  221. data/lib/stripe/services/customer_cash_balance_transaction_service.rb +30 -0
  222. data/lib/stripe/services/customer_funding_instructions_service.rb +47 -0
  223. data/lib/stripe/services/customer_payment_method_service.rb +45 -0
  224. data/lib/stripe/services/customer_payment_source_service.rb +208 -0
  225. data/lib/stripe/services/customer_service.rb +684 -0
  226. data/lib/stripe/services/customer_session_service.rb +106 -0
  227. data/lib/stripe/services/customer_tax_id_service.rb +50 -0
  228. data/lib/stripe/services/dispute_service.rb +439 -0
  229. data/lib/stripe/services/entitlements/active_entitlement_service.rb +40 -0
  230. data/lib/stripe/services/entitlements/feature_service.rb +87 -0
  231. data/lib/stripe/services/ephemeral_key_service.rb +40 -0
  232. data/lib/stripe/services/event_service.rb +75 -0
  233. data/lib/stripe/services/exchange_rate_service.rb +30 -0
  234. data/lib/stripe/services/file_link_service.rb +108 -0
  235. data/lib/stripe/services/file_service.rb +102 -0
  236. data/lib/stripe/services/financial_connections/account_inferred_balance_service.rb +40 -0
  237. data/lib/stripe/services/financial_connections/account_owner_service.rb +31 -0
  238. data/lib/stripe/services/financial_connections/account_service.rb +108 -1
  239. data/lib/stripe/services/financial_connections/institution_service.rb +60 -0
  240. data/lib/stripe/services/financial_connections/session_service.rb +108 -0
  241. data/lib/stripe/services/financial_connections/transaction_service.rb +79 -0
  242. data/lib/stripe/services/financial_connections_service.rb +2 -1
  243. data/lib/stripe/services/forwarding/request_service.rb +120 -0
  244. data/lib/stripe/services/gift_cards/card_service.rb +183 -0
  245. data/lib/stripe/services/gift_cards/transaction_service.rb +225 -0
  246. data/lib/stripe/services/gift_cards_service.rb +14 -0
  247. data/lib/stripe/services/identity/verification_report_service.rb +75 -0
  248. data/lib/stripe/services/identity/verification_session_service.rb +261 -0
  249. data/lib/stripe/services/invoice_item_service.rb +454 -0
  250. data/lib/stripe/services/invoice_line_item_service.rb +277 -0
  251. data/lib/stripe/services/invoice_payment_service.rb +58 -0
  252. data/lib/stripe/services/invoice_rendering_template_service.rb +56 -0
  253. data/lib/stripe/services/invoice_service.rb +6375 -1
  254. data/lib/stripe/services/invoice_upcoming_lines_service.rb +2142 -0
  255. data/lib/stripe/services/issuing/authorization_service.rb +118 -0
  256. data/lib/stripe/services/issuing/card_service.rb +525 -0
  257. data/lib/stripe/services/issuing/cardholder_service.rb +599 -0
  258. data/lib/stripe/services/issuing/credit_underwriting_record_service.rb +560 -0
  259. data/lib/stripe/services/issuing/dispute_service.rb +731 -0
  260. data/lib/stripe/services/issuing/dispute_settlement_detail_service.rb +70 -0
  261. data/lib/stripe/services/issuing/fraud_liability_debit_service.rb +90 -0
  262. data/lib/stripe/services/issuing/personalization_design_service.rb +222 -0
  263. data/lib/stripe/services/issuing/physical_bundle_service.rb +45 -0
  264. data/lib/stripe/services/issuing/token_service.rb +83 -0
  265. data/lib/stripe/services/issuing/transaction_service.rb +93 -0
  266. data/lib/stripe/services/issuing_service.rb +5 -1
  267. data/lib/stripe/services/mandate_service.rb +9 -0
  268. data/lib/stripe/services/margin_service.rb +130 -0
  269. data/lib/stripe/services/order_line_item_service.rb +38 -0
  270. data/lib/stripe/services/order_service.rb +2518 -0
  271. data/lib/stripe/services/payment_attempt_record_service.rb +50 -0
  272. data/lib/stripe/services/payment_intent_service.rb +12203 -0
  273. data/lib/stripe/services/payment_link_line_item_service.rb +21 -0
  274. data/lib/stripe/services/payment_link_service.rb +1343 -0
  275. data/lib/stripe/services/payment_method_configuration_service.rb +2148 -0
  276. data/lib/stripe/services/payment_method_domain_service.rb +84 -0
  277. data/lib/stripe/services/payment_method_service.rb +977 -0
  278. data/lib/stripe/services/payment_record_service.rb +610 -0
  279. data/lib/stripe/services/payout_service.rb +182 -0
  280. data/lib/stripe/services/plan_service.rb +296 -0
  281. data/lib/stripe/services/price_service.rb +603 -0
  282. data/lib/stripe/services/product_feature_service.rb +46 -0
  283. data/lib/stripe/services/product_service.rb +533 -0
  284. data/lib/stripe/services/promotion_code_service.rb +203 -0
  285. data/lib/stripe/services/quote_computed_upfront_line_items_service.rb +21 -0
  286. data/lib/stripe/services/quote_line_item_service.rb +21 -0
  287. data/lib/stripe/services/quote_line_service.rb +38 -0
  288. data/lib/stripe/services/quote_preview_invoice_service.rb +38 -0
  289. data/lib/stripe/services/quote_preview_subscription_schedule_service.rb +38 -0
  290. data/lib/stripe/services/quote_service.rb +2628 -1
  291. data/lib/stripe/services/radar/early_fraud_warning_service.rb +70 -0
  292. data/lib/stripe/services/radar/value_list_item_service.rb +90 -0
  293. data/lib/stripe/services/radar/value_list_service.rb +119 -0
  294. data/lib/stripe/services/refund_service.rb +158 -0
  295. data/lib/stripe/services/reporting/report_run_service.rb +122 -0
  296. data/lib/stripe/services/reporting/report_type_service.rb +18 -0
  297. data/lib/stripe/services/review_service.rb +63 -0
  298. data/lib/stripe/services/setup_attempt_service.rb +59 -0
  299. data/lib/stripe/services/setup_intent_service.rb +3923 -0
  300. data/lib/stripe/services/shipping_rate_service.rb +227 -0
  301. data/lib/stripe/services/sigma/scheduled_query_run_service.rb +30 -0
  302. data/lib/stripe/services/source_service.rb +693 -0
  303. data/lib/stripe/services/source_transaction_service.rb +21 -0
  304. data/lib/stripe/services/subscription_item_service.rb +439 -0
  305. data/lib/stripe/services/subscription_item_usage_record_service.rb +21 -0
  306. data/lib/stripe/services/subscription_item_usage_record_summary_service.rb +21 -0
  307. data/lib/stripe/services/subscription_schedule_service.rb +2343 -0
  308. data/lib/stripe/services/subscription_service.rb +1967 -0
  309. data/lib/stripe/services/tax/association_service.rb +32 -0
  310. data/lib/stripe/services/tax/calculation_line_item_service.rb +21 -0
  311. data/lib/stripe/services/tax/calculation_service.rb +235 -0
  312. data/lib/stripe/services/tax/form_service.rb +107 -0
  313. data/lib/stripe/services/tax/registration_service.rb +1398 -0
  314. data/lib/stripe/services/tax/settings_service.rb +82 -0
  315. data/lib/stripe/services/tax/transaction_line_item_service.rb +21 -0
  316. data/lib/stripe/services/tax/transaction_service.rb +128 -0
  317. data/lib/stripe/services/tax_code_service.rb +30 -0
  318. data/lib/stripe/services/tax_id_service.rb +90 -0
  319. data/lib/stripe/services/tax_rate_service.rb +182 -0
  320. data/lib/stripe/services/tax_service.rb +3 -1
  321. data/lib/stripe/services/terminal/configuration_service.rb +901 -0
  322. data/lib/stripe/services/terminal/connection_token_service.rb +13 -0
  323. data/lib/stripe/services/terminal/location_service.rb +165 -0
  324. data/lib/stripe/services/terminal/reader_collected_data_service.rb +28 -0
  325. data/lib/stripe/services/terminal/reader_service.rb +496 -0
  326. data/lib/stripe/services/terminal_service.rb +2 -1
  327. data/lib/stripe/services/test_helpers/confirmation_token_service.rb +762 -0
  328. data/lib/stripe/services/test_helpers/customer_service.rb +21 -0
  329. data/lib/stripe/services/test_helpers/issuing/authorization_service.rb +844 -0
  330. data/lib/stripe/services/test_helpers/issuing/card_service.rb +45 -0
  331. data/lib/stripe/services/test_helpers/issuing/personalization_design_service.rb +43 -0
  332. data/lib/stripe/services/test_helpers/issuing/transaction_service.rb +723 -0
  333. data/lib/stripe/services/test_helpers/refund_service.rb +9 -0
  334. data/lib/stripe/services/test_helpers/terminal/reader_service.rb +48 -0
  335. data/lib/stripe/services/test_helpers/test_clock_service.rb +63 -0
  336. data/lib/stripe/services/test_helpers/treasury/inbound_transfer_service.rb +39 -0
  337. data/lib/stripe/services/test_helpers/treasury/outbound_payment_service.rb +93 -0
  338. data/lib/stripe/services/test_helpers/treasury/outbound_transfer_service.rb +93 -0
  339. data/lib/stripe/services/test_helpers/treasury/received_credit_service.rb +95 -0
  340. data/lib/stripe/services/test_helpers/treasury/received_debit_service.rb +95 -0
  341. data/lib/stripe/services/token_service.rb +1301 -0
  342. data/lib/stripe/services/topup_service.rb +163 -0
  343. data/lib/stripe/services/transfer_reversal_service.rb +74 -0
  344. data/lib/stripe/services/transfer_service.rb +138 -0
  345. data/lib/stripe/services/treasury/credit_reversal_service.rb +67 -0
  346. data/lib/stripe/services/treasury/debit_reversal_service.rb +72 -0
  347. data/lib/stripe/services/treasury/financial_account_features_service.rb +179 -0
  348. data/lib/stripe/services/treasury/financial_account_service.rb +481 -0
  349. data/lib/stripe/services/treasury/inbound_transfer_service.rb +100 -0
  350. data/lib/stripe/services/treasury/outbound_payment_service.rb +296 -0
  351. data/lib/stripe/services/treasury/outbound_transfer_service.rb +147 -0
  352. data/lib/stripe/services/treasury/received_credit_service.rb +58 -0
  353. data/lib/stripe/services/treasury/received_debit_service.rb +45 -0
  354. data/lib/stripe/services/treasury/transaction_entry_service.rb +101 -0
  355. data/lib/stripe/services/treasury/transaction_service.rb +109 -0
  356. data/lib/stripe/services/v1_services.rb +8 -1
  357. data/lib/stripe/services/v2/billing/meter_event_adjustment_service.rb +25 -0
  358. data/lib/stripe/services/v2/billing/meter_event_service.rb +28 -0
  359. data/lib/stripe/services/v2/billing/meter_event_session_service.rb +3 -0
  360. data/lib/stripe/services/v2/billing/meter_event_stream_service.rb +36 -0
  361. data/lib/stripe/services/v2/core/event_destination_service.rb +164 -0
  362. data/lib/stripe/services/v2/core/event_service.rb +20 -0
  363. data/lib/stripe/services/webhook_endpoint_service.rb +110 -0
  364. data/lib/stripe/services.rb +25 -0
  365. data/lib/stripe/stripe_client.rb +2 -2
  366. data/lib/stripe/stripe_configuration.rb +3 -1
  367. data/lib/stripe/stripe_object.rb +8 -3
  368. data/lib/stripe/util.rb +8 -2
  369. data/lib/stripe/version.rb +1 -1
  370. data/lib/stripe.rb +46 -0
  371. data/rbi/stripe/resources/account.rbi +6072 -0
  372. data/rbi/stripe/resources/account_link.rbi +87 -0
  373. data/rbi/stripe/resources/account_notice.rbi +166 -0
  374. data/rbi/stripe/resources/account_session.rbi +1173 -0
  375. data/rbi/stripe/resources/apple_pay_domain.rbi +111 -0
  376. data/rbi/stripe/resources/application.rbi +23 -0
  377. data/rbi/stripe/resources/application_fee.rbi +151 -0
  378. data/rbi/stripe/resources/application_fee_refund.rbi +44 -0
  379. data/rbi/stripe/resources/apps/secret.rbi +229 -0
  380. data/rbi/stripe/resources/balance.rbi +220 -0
  381. data/rbi/stripe/resources/balance_transaction.rbi +182 -0
  382. data/rbi/stripe/resources/bank_account.rbi +156 -0
  383. data/rbi/stripe/resources/billing/alert.rbi +237 -0
  384. data/rbi/stripe/resources/billing/alert_triggered.rbi +33 -0
  385. data/rbi/stripe/resources/billing/credit_balance_summary.rbi +118 -0
  386. data/rbi/stripe/resources/billing/credit_balance_transaction.rbi +181 -0
  387. data/rbi/stripe/resources/billing/credit_grant.rbi +312 -0
  388. data/rbi/stripe/resources/billing/meter.rbi +268 -0
  389. data/rbi/stripe/resources/billing/meter_error_report.rbi +82 -0
  390. data/rbi/stripe/resources/billing/meter_event.rbi +76 -0
  391. data/rbi/stripe/resources/billing/meter_event_adjustment.rbi +75 -0
  392. data/rbi/stripe/resources/billing/meter_event_summary.rbi +39 -0
  393. data/rbi/stripe/resources/billing_portal/configuration.rbi +746 -0
  394. data/rbi/stripe/resources/billing_portal/session.rbi +396 -0
  395. data/rbi/stripe/resources/capability.rbi +152 -0
  396. data/rbi/stripe/resources/capital/financing_offer.rbi +228 -0
  397. data/rbi/stripe/resources/capital/financing_summary.rbi +89 -0
  398. data/rbi/stripe/resources/capital/financing_transaction.rbi +157 -0
  399. data/rbi/stripe/resources/card.rbi +159 -0
  400. data/rbi/stripe/resources/cash_balance.rbi +37 -0
  401. data/rbi/stripe/resources/charge.rbi +4216 -0
  402. data/rbi/stripe/resources/checkout/session.rbi +4627 -0
  403. data/rbi/stripe/resources/climate/order.rbi +298 -0
  404. data/rbi/stripe/resources/climate/product.rbi +98 -0
  405. data/rbi/stripe/resources/climate/supplier.rbi +95 -0
  406. data/rbi/stripe/resources/confirmation_token.rbi +2137 -0
  407. data/rbi/stripe/resources/connect_collection_transfer.rbi +31 -0
  408. data/rbi/stripe/resources/country_spec.rbi +108 -0
  409. data/rbi/stripe/resources/coupon.rbi +305 -0
  410. data/rbi/stripe/resources/credit_note.rbi +918 -0
  411. data/rbi/stripe/resources/credit_note_line_item.rbi +123 -0
  412. data/rbi/stripe/resources/customer.rbi +1188 -0
  413. data/rbi/stripe/resources/customer_balance_transaction.rbi +65 -0
  414. data/rbi/stripe/resources/customer_cash_balance_transaction.rbi +178 -0
  415. data/rbi/stripe/resources/customer_session.rbi +227 -0
  416. data/rbi/stripe/resources/discount.rbi +65 -0
  417. data/rbi/stripe/resources/dispute.rbi +926 -0
  418. data/rbi/stripe/resources/entitlements/active_entitlement.rbi +76 -0
  419. data/rbi/stripe/resources/entitlements/active_entitlement_summary.rbi +26 -0
  420. data/rbi/stripe/resources/entitlements/feature.rbi +146 -0
  421. data/rbi/stripe/resources/ephemeral_key.rbi +51 -0
  422. data/rbi/stripe/resources/event.rbi +221 -0
  423. data/rbi/stripe/resources/exchange_rate.rbi +81 -0
  424. data/rbi/stripe/resources/file.rbi +177 -0
  425. data/rbi/stripe/resources/file_link.rbi +174 -0
  426. data/rbi/stripe/resources/financial_connections/account.rbi +414 -0
  427. data/rbi/stripe/resources/financial_connections/account_inferred_balance.rbi +30 -0
  428. data/rbi/stripe/resources/financial_connections/account_owner.rbi +42 -0
  429. data/rbi/stripe/resources/financial_connections/account_ownership.rbi +26 -0
  430. data/rbi/stripe/resources/financial_connections/institution.rbi +115 -0
  431. data/rbi/stripe/resources/financial_connections/session.rbi +221 -0
  432. data/rbi/stripe/resources/financial_connections/transaction.rbi +153 -0
  433. data/rbi/stripe/resources/forwarding/request.rbi +257 -0
  434. data/rbi/stripe/resources/funding_instructions.rbi +544 -0
  435. data/rbi/stripe/resources/gift_cards/card.rbi +242 -0
  436. data/rbi/stripe/resources/gift_cards/transaction.rbi +298 -0
  437. data/rbi/stripe/resources/identity/verification_report.rbi +427 -0
  438. data/rbi/stripe/resources/identity/verification_session.rbi +601 -0
  439. data/rbi/stripe/resources/invoice.rbi +10584 -0
  440. data/rbi/stripe/resources/invoice_item.rbi +621 -0
  441. data/rbi/stripe/resources/invoice_line_item.rbi +486 -0
  442. data/rbi/stripe/resources/invoice_payment.rbi +86 -0
  443. data/rbi/stripe/resources/invoice_rendering_template.rbi +131 -0
  444. data/rbi/stripe/resources/issuing/authorization.rbi +1511 -0
  445. data/rbi/stripe/resources/issuing/card.rbi +891 -0
  446. data/rbi/stripe/resources/issuing/cardholder.rbi +870 -0
  447. data/rbi/stripe/resources/issuing/credit_underwriting_record.rbi +731 -0
  448. data/rbi/stripe/resources/issuing/dispute.rbi +1077 -0
  449. data/rbi/stripe/resources/issuing/dispute_settlement_detail.rbi +100 -0
  450. data/rbi/stripe/resources/issuing/fraud_liability_debit.rbi +108 -0
  451. data/rbi/stripe/resources/issuing/personalization_design.rbi +395 -0
  452. data/rbi/stripe/resources/issuing/physical_bundle.rbi +102 -0
  453. data/rbi/stripe/resources/issuing/settlement.rbi +78 -0
  454. data/rbi/stripe/resources/issuing/token.rbi +282 -0
  455. data/rbi/stripe/resources/issuing/transaction.rbi +1262 -0
  456. data/rbi/stripe/resources/line_item.rbi +131 -0
  457. data/rbi/stripe/resources/login_link.rbi +20 -0
  458. data/rbi/stripe/resources/mandate.rbi +266 -0
  459. data/rbi/stripe/resources/margin.rbi +151 -0
  460. data/rbi/stripe/resources/order.rbi +3505 -0
  461. data/rbi/stripe/resources/payment_attempt_record.rbi +260 -0
  462. data/rbi/stripe/resources/payment_intent.rbi +16064 -0
  463. data/rbi/stripe/resources/payment_link.rbi +1943 -0
  464. data/rbi/stripe/resources/payment_method.rbi +2287 -0
  465. data/rbi/stripe/resources/payment_method_configuration.rbi +3657 -0
  466. data/rbi/stripe/resources/payment_method_domain.rbi +246 -0
  467. data/rbi/stripe/resources/payment_record.rbi +856 -0
  468. data/rbi/stripe/resources/payout.rbi +357 -0
  469. data/rbi/stripe/resources/person.rbi +461 -0
  470. data/rbi/stripe/resources/plan.rbi +463 -0
  471. data/rbi/stripe/resources/price.rbi +884 -0
  472. data/rbi/stripe/resources/product.rbi +735 -0
  473. data/rbi/stripe/resources/product_feature.rbi +30 -0
  474. data/rbi/stripe/resources/promotion_code.rbi +316 -0
  475. data/rbi/stripe/resources/quote.rbi +3779 -0
  476. data/rbi/stripe/resources/quote_line.rbi +416 -0
  477. data/rbi/stripe/resources/quote_preview_invoice.rbi +1030 -0
  478. data/rbi/stripe/resources/quote_preview_subscription_schedule.rbi +575 -0
  479. data/rbi/stripe/resources/radar/early_fraud_warning.rbi +121 -0
  480. data/rbi/stripe/resources/radar/value_list.rbi +207 -0
  481. data/rbi/stripe/resources/radar/value_list_item.rbi +157 -0
  482. data/rbi/stripe/resources/refund.rbi +615 -0
  483. data/rbi/stripe/resources/reporting/report_run.rbi +232 -0
  484. data/rbi/stripe/resources/reporting/report_type.rbi +75 -0
  485. data/rbi/stripe/resources/reserve_transaction.rbi +27 -0
  486. data/rbi/stripe/resources/reversal.rbi +60 -0
  487. data/rbi/stripe/resources/review.rbi +191 -0
  488. data/rbi/stripe/resources/setup_attempt.rbi +587 -0
  489. data/rbi/stripe/resources/setup_intent.rbi +4726 -0
  490. data/rbi/stripe/resources/shipping_rate.rbi +367 -0
  491. data/rbi/stripe/resources/sigma/scheduled_query_run.rbi +98 -0
  492. data/rbi/stripe/resources/source.rbi +1899 -0
  493. data/rbi/stripe/resources/source_mandate_notification.rbi +90 -0
  494. data/rbi/stripe/resources/source_transaction.rbi +156 -0
  495. data/rbi/stripe/resources/subscription.rbi +2739 -0
  496. data/rbi/stripe/resources/subscription_item.rbi +566 -0
  497. data/rbi/stripe/resources/subscription_schedule.rbi +3157 -0
  498. data/rbi/stripe/resources/tax/association.rbi +107 -0
  499. data/rbi/stripe/resources/tax/calculation.rbi +577 -0
  500. data/rbi/stripe/resources/tax/calculation_line_item.rbi +108 -0
  501. data/rbi/stripe/resources/tax/form.rbi +262 -0
  502. data/rbi/stripe/resources/tax/registration.rbi +2354 -0
  503. data/rbi/stripe/resources/tax/settings.rbi +174 -0
  504. data/rbi/stripe/resources/tax/transaction.rbi +428 -0
  505. data/rbi/stripe/resources/tax/transaction_line_item.rbi +66 -0
  506. data/rbi/stripe/resources/tax_code.rbi +60 -0
  507. data/rbi/stripe/resources/tax_deducted_at_source.rbi +27 -0
  508. data/rbi/stripe/resources/tax_id.rbi +206 -0
  509. data/rbi/stripe/resources/tax_rate.rbi +295 -0
  510. data/rbi/stripe/resources/terminal/configuration.rbi +1302 -0
  511. data/rbi/stripe/resources/terminal/connection_token.rbi +42 -0
  512. data/rbi/stripe/resources/terminal/location.rbi +271 -0
  513. data/rbi/stripe/resources/terminal/reader.rbi +1110 -0
  514. data/rbi/stripe/resources/terminal/reader_collected_data.rbi +48 -0
  515. data/rbi/stripe/resources/test_helpers/test_clock.rbi +159 -0
  516. data/rbi/stripe/resources/token.rbi +1405 -0
  517. data/rbi/stripe/resources/topup.rbi +269 -0
  518. data/rbi/stripe/resources/transfer.rbi +245 -0
  519. data/rbi/stripe/resources/treasury/credit_reversal.rbi +151 -0
  520. data/rbi/stripe/resources/treasury/debit_reversal.rbi +165 -0
  521. data/rbi/stripe/resources/treasury/financial_account.rbi +924 -0
  522. data/rbi/stripe/resources/treasury/financial_account_features.rbi +309 -0
  523. data/rbi/stripe/resources/treasury/inbound_transfer.rbi +361 -0
  524. data/rbi/stripe/resources/treasury/outbound_payment.rbi +702 -0
  525. data/rbi/stripe/resources/treasury/outbound_transfer.rbi +529 -0
  526. data/rbi/stripe/resources/treasury/received_credit.rbi +408 -0
  527. data/rbi/stripe/resources/treasury/received_debit.rbi +367 -0
  528. data/rbi/stripe/resources/treasury/transaction.rbi +261 -0
  529. data/rbi/stripe/resources/treasury/transaction_entry.rbi +234 -0
  530. data/rbi/stripe/resources/usage_record.rbi +37 -0
  531. data/rbi/stripe/resources/usage_record_summary.rbi +45 -0
  532. data/rbi/stripe/resources/v2/amount.rbi +14 -0
  533. data/rbi/stripe/resources/v2/billing/meter_event.rbi +43 -0
  534. data/rbi/stripe/resources/v2/billing/meter_event_adjustment.rbi +48 -0
  535. data/rbi/stripe/resources/v2/billing/meter_event_session.rbi +36 -0
  536. data/rbi/stripe/resources/v2/event.rbi +55 -0
  537. data/rbi/stripe/resources/v2/event_destination.rbi +109 -0
  538. data/rbi/stripe/resources/webhook_endpoint.rbi +208 -0
  539. data/rbi/stripe/services/account_capability_service.rbi +55 -0
  540. data/rbi/stripe/services/account_external_account_service.rbi +358 -0
  541. data/rbi/stripe/services/account_link_service.rbi +67 -0
  542. data/rbi/stripe/services/account_login_link_service.rbi +23 -0
  543. data/rbi/stripe/services/account_notice_service.rbi +103 -0
  544. data/rbi/stripe/services/account_person_service.rbi +1077 -0
  545. data/rbi/stripe/services/account_service.rbi +4948 -0
  546. data/rbi/stripe/services/account_session_service.rbi +873 -0
  547. data/rbi/stripe/services/apple_pay_domain_service.rbi +86 -0
  548. data/rbi/stripe/services/application_fee_refund_service.rbi +101 -0
  549. data/rbi/stripe/services/application_fee_service.rbi +85 -0
  550. data/rbi/stripe/services/apps/secret_service.rbi +175 -0
  551. data/rbi/stripe/services/apps_service.rbi +9 -0
  552. data/rbi/stripe/services/balance_service.rbi +22 -0
  553. data/rbi/stripe/services/balance_transaction_service.rbi +103 -0
  554. data/rbi/stripe/services/billing/alert_service.rbi +172 -0
  555. data/rbi/stripe/services/billing/credit_balance_summary_service.rbi +61 -0
  556. data/rbi/stripe/services/billing/credit_balance_transaction_service.rbi +66 -0
  557. data/rbi/stripe/services/billing/credit_grant_service.rbi +217 -0
  558. data/rbi/stripe/services/billing/meter_event_adjustment_service.rbi +45 -0
  559. data/rbi/stripe/services/billing/meter_event_service.rbi +47 -0
  560. data/rbi/stripe/services/billing/meter_event_summary_service.rbi +62 -0
  561. data/rbi/stripe/services/billing/meter_service.rbi +184 -0
  562. data/rbi/stripe/services/billing_portal/configuration_service.rbi +573 -0
  563. data/rbi/stripe/services/billing_portal/session_service.rbi +233 -0
  564. data/rbi/stripe/services/billing_portal_service.rbi +10 -0
  565. data/rbi/stripe/services/billing_service.rbi +15 -0
  566. data/rbi/stripe/services/capital/financing_offer_service.rbi +108 -0
  567. data/rbi/stripe/services/capital/financing_summary_service.rbi +23 -0
  568. data/rbi/stripe/services/capital/financing_transaction_service.rbi +77 -0
  569. data/rbi/stripe/services/capital_service.rbi +11 -0
  570. data/rbi/stripe/services/charge_service.rbi +2162 -0
  571. data/rbi/stripe/services/checkout/session_line_item_service.rbi +37 -0
  572. data/rbi/stripe/services/checkout/session_service.rbi +2975 -0
  573. data/rbi/stripe/services/checkout_service.rbi +9 -0
  574. data/rbi/stripe/services/climate/order_service.rbi +158 -0
  575. data/rbi/stripe/services/climate/product_service.rbi +51 -0
  576. data/rbi/stripe/services/climate/supplier_service.rbi +51 -0
  577. data/rbi/stripe/services/climate_service.rbi +11 -0
  578. data/rbi/stripe/services/confirmation_token_service.rbi +21 -0
  579. data/rbi/stripe/services/country_spec_service.rbi +49 -0
  580. data/rbi/stripe/services/coupon_service.rbi +220 -0
  581. data/rbi/stripe/services/credit_note_line_item_service.rbi +35 -0
  582. data/rbi/stripe/services/credit_note_preview_lines_service.rbi +200 -0
  583. data/rbi/stripe/services/credit_note_service.rbi +496 -0
  584. data/rbi/stripe/services/customer_balance_transaction_service.rbi +105 -0
  585. data/rbi/stripe/services/customer_cash_balance_service.rbi +49 -0
  586. data/rbi/stripe/services/customer_cash_balance_transaction_service.rbi +49 -0
  587. data/rbi/stripe/services/customer_funding_instructions_service.rbi +67 -0
  588. data/rbi/stripe/services/customer_payment_method_service.rbi +64 -0
  589. data/rbi/stripe/services/customer_payment_source_service.rbi +265 -0
  590. data/rbi/stripe/services/customer_service.rbi +763 -0
  591. data/rbi/stripe/services/customer_session_service.rbi +126 -0
  592. data/rbi/stripe/services/customer_tax_id_service.rbi +80 -0
  593. data/rbi/stripe/services/dispute_service.rbi +500 -0
  594. data/rbi/stripe/services/entitlements/active_entitlement_service.rbi +61 -0
  595. data/rbi/stripe/services/entitlements/feature_service.rbi +122 -0
  596. data/rbi/stripe/services/entitlements_service.rbi +10 -0
  597. data/rbi/stripe/services/ephemeral_key_service.rbi +59 -0
  598. data/rbi/stripe/services/event_service.rbi +94 -0
  599. data/rbi/stripe/services/exchange_rate_service.rbi +49 -0
  600. data/rbi/stripe/services/file_link_service.rbi +141 -0
  601. data/rbi/stripe/services/file_service.rbi +132 -0
  602. data/rbi/stripe/services/financial_connections/account_inferred_balance_service.rbi +37 -0
  603. data/rbi/stripe/services/financial_connections/account_owner_service.rbi +47 -0
  604. data/rbi/stripe/services/financial_connections/account_service.rbi +148 -0
  605. data/rbi/stripe/services/financial_connections/institution_service.rbi +51 -0
  606. data/rbi/stripe/services/financial_connections/session_service.rbi +128 -0
  607. data/rbi/stripe/services/financial_connections/transaction_service.rbi +103 -0
  608. data/rbi/stripe/services/financial_connections_service.rbi +12 -0
  609. data/rbi/stripe/services/forwarding/request_service.rbi +152 -0
  610. data/rbi/stripe/services/forwarding_service.rbi +9 -0
  611. data/rbi/stripe/services/gift_cards/card_service.rbi +162 -0
  612. data/rbi/stripe/services/gift_cards/transaction_service.rbi +198 -0
  613. data/rbi/stripe/services/gift_cards_service.rbi +10 -0
  614. data/rbi/stripe/services/identity/verification_report_service.rbi +98 -0
  615. data/rbi/stripe/services/identity/verification_session_service.rbi +360 -0
  616. data/rbi/stripe/services/identity_service.rbi +10 -0
  617. data/rbi/stripe/services/invoice_item_service.rbi +505 -0
  618. data/rbi/stripe/services/invoice_line_item_service.rbi +320 -0
  619. data/rbi/stripe/services/invoice_payment_service.rbi +49 -0
  620. data/rbi/stripe/services/invoice_rendering_template_service.rbi +91 -0
  621. data/rbi/stripe/services/invoice_service.rbi +7138 -0
  622. data/rbi/stripe/services/invoice_upcoming_lines_service.rbi +2397 -0
  623. data/rbi/stripe/services/issuing/authorization_service.rbi +160 -0
  624. data/rbi/stripe/services/issuing/card_service.rbi +568 -0
  625. data/rbi/stripe/services/issuing/cardholder_service.rbi +668 -0
  626. data/rbi/stripe/services/issuing/credit_underwriting_record_service.rbi +580 -0
  627. data/rbi/stripe/services/issuing/dispute_service.rbi +824 -0
  628. data/rbi/stripe/services/issuing/dispute_settlement_detail_service.rbi +61 -0
  629. data/rbi/stripe/services/issuing/fraud_liability_debit_service.rbi +83 -0
  630. data/rbi/stripe/services/issuing/personalization_design_service.rbi +271 -0
  631. data/rbi/stripe/services/issuing/physical_bundle_service.rbi +66 -0
  632. data/rbi/stripe/services/issuing/token_service.rbi +109 -0
  633. data/rbi/stripe/services/issuing/transaction_service.rbi +119 -0
  634. data/rbi/stripe/services/issuing_service.rbi +19 -0
  635. data/rbi/stripe/services/mandate_service.rbi +21 -0
  636. data/rbi/stripe/services/margin_service.rbi +119 -0
  637. data/rbi/stripe/services/order_line_item_service.rbi +35 -0
  638. data/rbi/stripe/services/order_service.rbi +2669 -0
  639. data/rbi/stripe/services/payment_attempt_record_service.rbi +39 -0
  640. data/rbi/stripe/services/payment_intent_service.rbi +13193 -0
  641. data/rbi/stripe/services/payment_link_line_item_service.rbi +35 -0
  642. data/rbi/stripe/services/payment_link_service.rbi +1447 -0
  643. data/rbi/stripe/services/payment_method_configuration_service.rbi +2465 -0
  644. data/rbi/stripe/services/payment_method_domain_service.rbi +123 -0
  645. data/rbi/stripe/services/payment_method_service.rbi +1032 -0
  646. data/rbi/stripe/services/payment_record_service.rbi +613 -0
  647. data/rbi/stripe/services/payout_service.rbi +228 -0
  648. data/rbi/stripe/services/plan_service.rbi +337 -0
  649. data/rbi/stripe/services/price_service.rbi +657 -0
  650. data/rbi/stripe/services/product_feature_service.rbi +76 -0
  651. data/rbi/stripe/services/product_service.rbi +596 -0
  652. data/rbi/stripe/services/promotion_code_service.rbi +244 -0
  653. data/rbi/stripe/services/quote_computed_upfront_line_items_service.rbi +35 -0
  654. data/rbi/stripe/services/quote_line_item_service.rbi +35 -0
  655. data/rbi/stripe/services/quote_line_service.rbi +35 -0
  656. data/rbi/stripe/services/quote_preview_invoice_service.rbi +35 -0
  657. data/rbi/stripe/services/quote_preview_subscription_schedule_service.rbi +35 -0
  658. data/rbi/stripe/services/quote_service.rbi +2830 -0
  659. data/rbi/stripe/services/radar/early_fraud_warning_service.rbi +95 -0
  660. data/rbi/stripe/services/radar/value_list_item_service.rbi +122 -0
  661. data/rbi/stripe/services/radar/value_list_service.rbi +160 -0
  662. data/rbi/stripe/services/radar_service.rbi +11 -0
  663. data/rbi/stripe/services/refund_service.rbi +208 -0
  664. data/rbi/stripe/services/reporting/report_run_service.rbi +152 -0
  665. data/rbi/stripe/services/reporting/report_type_service.rbi +37 -0
  666. data/rbi/stripe/services/reporting_service.rbi +10 -0
  667. data/rbi/stripe/services/review_service.rbi +93 -0
  668. data/rbi/stripe/services/setup_attempt_service.rbi +73 -0
  669. data/rbi/stripe/services/setup_intent_service.rbi +4204 -0
  670. data/rbi/stripe/services/shipping_rate_service.rbi +274 -0
  671. data/rbi/stripe/services/sigma/scheduled_query_run_service.rbi +51 -0
  672. data/rbi/stripe/services/sigma_service.rbi +9 -0
  673. data/rbi/stripe/services/source_service.rbi +766 -0
  674. data/rbi/stripe/services/source_transaction_service.rbi +35 -0
  675. data/rbi/stripe/services/subscription_item_service.rbi +496 -0
  676. data/rbi/stripe/services/subscription_item_usage_record_service.rbi +41 -0
  677. data/rbi/stripe/services/subscription_item_usage_record_summary_service.rbi +37 -0
  678. data/rbi/stripe/services/subscription_schedule_service.rbi +2613 -0
  679. data/rbi/stripe/services/subscription_service.rbi +2207 -0
  680. data/rbi/stripe/services/tax/association_service.rbi +27 -0
  681. data/rbi/stripe/services/tax/calculation_line_item_service.rbi +37 -0
  682. data/rbi/stripe/services/tax/calculation_service.rbi +267 -0
  683. data/rbi/stripe/services/tax/form_service.rbi +96 -0
  684. data/rbi/stripe/services/tax/registration_service.rbi +1495 -0
  685. data/rbi/stripe/services/tax/settings_service.rbi +106 -0
  686. data/rbi/stripe/services/tax/transaction_line_item_service.rbi +37 -0
  687. data/rbi/stripe/services/tax/transaction_service.rbi +164 -0
  688. data/rbi/stripe/services/tax_code_service.rbi +49 -0
  689. data/rbi/stripe/services/tax_id_service.rbi +128 -0
  690. data/rbi/stripe/services/tax_rate_service.rbi +215 -0
  691. data/rbi/stripe/services/tax_service.rbi +14 -0
  692. data/rbi/stripe/services/terminal/configuration_service.rbi +976 -0
  693. data/rbi/stripe/services/terminal/connection_token_service.rbi +27 -0
  694. data/rbi/stripe/services/terminal/location_service.rbi +211 -0
  695. data/rbi/stripe/services/terminal/reader_collected_data_service.rbi +23 -0
  696. data/rbi/stripe/services/terminal/reader_service.rbi +591 -0
  697. data/rbi/stripe/services/terminal_service.rbi +13 -0
  698. data/rbi/stripe/services/test_helpers/confirmation_token_service.rbi +892 -0
  699. data/rbi/stripe/services/test_helpers/customer_service.rbi +37 -0
  700. data/rbi/stripe/services/test_helpers/issuing/authorization_service.rbi +974 -0
  701. data/rbi/stripe/services/test_helpers/issuing/card_service.rbi +81 -0
  702. data/rbi/stripe/services/test_helpers/issuing/personalization_design_service.rbi +73 -0
  703. data/rbi/stripe/services/test_helpers/issuing/transaction_service.rbi +825 -0
  704. data/rbi/stripe/services/test_helpers/issuing_service.rbi +14 -0
  705. data/rbi/stripe/services/test_helpers/refund_service.rbi +23 -0
  706. data/rbi/stripe/services/test_helpers/terminal/reader_service.rbi +69 -0
  707. data/rbi/stripe/services/test_helpers/terminal_service.rbi +11 -0
  708. data/rbi/stripe/services/test_helpers/test_clock_service.rbi +100 -0
  709. data/rbi/stripe/services/test_helpers/treasury/inbound_transfer_service.rbi +69 -0
  710. data/rbi/stripe/services/test_helpers/treasury/outbound_payment_service.rbi +137 -0
  711. data/rbi/stripe/services/test_helpers/treasury/outbound_transfer_service.rbi +137 -0
  712. data/rbi/stripe/services/test_helpers/treasury/received_credit_service.rbi +130 -0
  713. data/rbi/stripe/services/test_helpers/treasury/received_debit_service.rbi +130 -0
  714. data/rbi/stripe/services/test_helpers/treasury_service.rbi +15 -0
  715. data/rbi/stripe/services/test_helpers_service.rbi +15 -0
  716. data/rbi/stripe/services/token_service.rbi +1357 -0
  717. data/rbi/stripe/services/topup_service.rbi +200 -0
  718. data/rbi/stripe/services/transfer_reversal_service.rbi +111 -0
  719. data/rbi/stripe/services/transfer_service.rbi +174 -0
  720. data/rbi/stripe/services/treasury/credit_reversal_service.rbi +95 -0
  721. data/rbi/stripe/services/treasury/debit_reversal_service.rbi +100 -0
  722. data/rbi/stripe/services/treasury/financial_account_features_service.rbi +226 -0
  723. data/rbi/stripe/services/treasury/financial_account_service.rbi +577 -0
  724. data/rbi/stripe/services/treasury/inbound_transfer_service.rbi +133 -0
  725. data/rbi/stripe/services/treasury/outbound_payment_service.rbi +350 -0
  726. data/rbi/stripe/services/treasury/outbound_transfer_service.rbi +189 -0
  727. data/rbi/stripe/services/treasury/received_credit_service.rbi +79 -0
  728. data/rbi/stripe/services/treasury/received_debit_service.rbi +66 -0
  729. data/rbi/stripe/services/treasury/transaction_entry_service.rbi +125 -0
  730. data/rbi/stripe/services/treasury/transaction_service.rbi +133 -0
  731. data/rbi/stripe/services/treasury_service.rbi +18 -0
  732. data/rbi/stripe/services/v1_services.rbi +83 -0
  733. data/rbi/stripe/services/v2/billing/meter_event_adjustment_service.rbi +43 -0
  734. data/rbi/stripe/services/v2/billing/meter_event_service.rbi +46 -0
  735. data/rbi/stripe/services/v2/billing/meter_event_session_service.rbi +20 -0
  736. data/rbi/stripe/services/v2/billing/meter_event_stream_service.rbi +60 -0
  737. data/rbi/stripe/services/v2/billing_service.rbi +14 -0
  738. data/rbi/stripe/services/v2/core/event_destination_service.rbi +228 -0
  739. data/rbi/stripe/services/v2/core/event_service.rbi +42 -0
  740. data/rbi/stripe/services/v2/core_service.rbi +12 -0
  741. data/rbi/stripe/services/v2_services.rbi +10 -0
  742. data/rbi/stripe/services/webhook_endpoint_service.rbi +149 -0
  743. metadata +435 -4
@@ -0,0 +1,1943 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ # typed: true
5
+ module Stripe
6
+ # A payment link is a shareable URL that will take your customers to a hosted payment page. A payment link can be shared and used multiple times.
7
+ #
8
+ # When a customer opens a payment link it will open a new [checkout session](https://stripe.com/docs/api/checkout/sessions) to render the payment page. You can use [checkout session events](https://stripe.com/docs/api/events/types#event_types-checkout.session.completed) to track payments through payment links.
9
+ #
10
+ # Related guide: [Payment Links API](https://stripe.com/docs/payment-links)
11
+ class PaymentLink < APIResource
12
+ class AfterCompletion < Stripe::StripeObject
13
+ class HostedConfirmation < Stripe::StripeObject
14
+ # The custom message that is displayed to the customer after the purchase is complete.
15
+ sig { returns(T.nilable(String)) }
16
+ attr_reader :custom_message
17
+ end
18
+ class Redirect < Stripe::StripeObject
19
+ # The URL the customer will be redirected to after the purchase is complete.
20
+ sig { returns(String) }
21
+ attr_reader :url
22
+ end
23
+ # Attribute for field hosted_confirmation
24
+ sig { returns(HostedConfirmation) }
25
+ attr_reader :hosted_confirmation
26
+
27
+ # Attribute for field redirect
28
+ sig { returns(Redirect) }
29
+ attr_reader :redirect
30
+
31
+ # The specified behavior after the purchase is complete.
32
+ sig { returns(String) }
33
+ attr_reader :type
34
+ end
35
+ class AutomaticTax < Stripe::StripeObject
36
+ class Liability < Stripe::StripeObject
37
+ # The connected account being referenced when `type` is `account`.
38
+ sig { returns(T.any(String, Stripe::Account)) }
39
+ attr_reader :account
40
+
41
+ # Type of the account referenced.
42
+ sig { returns(String) }
43
+ attr_reader :type
44
+ end
45
+ # If `true`, tax will be calculated automatically using the customer's location.
46
+ sig { returns(T::Boolean) }
47
+ attr_reader :enabled
48
+
49
+ # 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.
50
+ sig { returns(T.nilable(Liability)) }
51
+ attr_reader :liability
52
+ end
53
+ class ConsentCollection < Stripe::StripeObject
54
+ class PaymentMethodReuseAgreement < Stripe::StripeObject
55
+ # Determines the position and visibility of the payment method reuse agreement in the UI. When set to `auto`, Stripe's defaults will be used.
56
+ #
57
+ # When set to `hidden`, the payment method reuse agreement text will always be hidden in the UI.
58
+ sig { returns(String) }
59
+ attr_reader :position
60
+ end
61
+ # Settings related to the payment method reuse text shown in the Checkout UI.
62
+ sig { returns(T.nilable(PaymentMethodReuseAgreement)) }
63
+ attr_reader :payment_method_reuse_agreement
64
+
65
+ # If set to `auto`, enables the collection of customer consent for promotional communications.
66
+ sig { returns(T.nilable(String)) }
67
+ attr_reader :promotions
68
+
69
+ # If set to `required`, it requires cutomers to accept the terms of service before being able to pay. If set to `none`, customers won't be shown a checkbox to accept the terms of service.
70
+ sig { returns(T.nilable(String)) }
71
+ attr_reader :terms_of_service
72
+ end
73
+ class CustomField < Stripe::StripeObject
74
+ class Dropdown < Stripe::StripeObject
75
+ class Option < Stripe::StripeObject
76
+ # The label for the option, displayed to the customer. Up to 100 characters.
77
+ sig { returns(String) }
78
+ attr_reader :label
79
+
80
+ # The value for this option, not displayed to the customer, used by your integration to reconcile the option selected by the customer. Must be unique to this option, alphanumeric, and up to 100 characters.
81
+ sig { returns(String) }
82
+ attr_reader :value
83
+ end
84
+ # The options available for the customer to select. Up to 200 options allowed.
85
+ sig { returns(T::Array[Option]) }
86
+ attr_reader :options
87
+ end
88
+ class Label < Stripe::StripeObject
89
+ # Custom text for the label, displayed to the customer. Up to 50 characters.
90
+ sig { returns(T.nilable(String)) }
91
+ attr_reader :custom
92
+
93
+ # The type of the label.
94
+ sig { returns(String) }
95
+ attr_reader :type
96
+ end
97
+ class Numeric < Stripe::StripeObject
98
+ # The maximum character length constraint for the customer's input.
99
+ sig { returns(T.nilable(Integer)) }
100
+ attr_reader :maximum_length
101
+
102
+ # The minimum character length requirement for the customer's input.
103
+ sig { returns(T.nilable(Integer)) }
104
+ attr_reader :minimum_length
105
+ end
106
+ class Text < Stripe::StripeObject
107
+ # The maximum character length constraint for the customer's input.
108
+ sig { returns(T.nilable(Integer)) }
109
+ attr_reader :maximum_length
110
+
111
+ # The minimum character length requirement for the customer's input.
112
+ sig { returns(T.nilable(Integer)) }
113
+ attr_reader :minimum_length
114
+ end
115
+ # Attribute for field dropdown
116
+ sig { returns(Dropdown) }
117
+ attr_reader :dropdown
118
+
119
+ # 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.
120
+ sig { returns(String) }
121
+ attr_reader :key
122
+
123
+ # Attribute for field label
124
+ sig { returns(Label) }
125
+ attr_reader :label
126
+
127
+ # Attribute for field numeric
128
+ sig { returns(Numeric) }
129
+ attr_reader :numeric
130
+
131
+ # Whether the customer is required to complete the field before completing the Checkout Session. Defaults to `false`.
132
+ sig { returns(T::Boolean) }
133
+ attr_reader :optional
134
+
135
+ # Attribute for field text
136
+ sig { returns(Text) }
137
+ attr_reader :text
138
+
139
+ # The type of the field.
140
+ sig { returns(String) }
141
+ attr_reader :type
142
+ end
143
+ class CustomText < Stripe::StripeObject
144
+ class AfterSubmit < Stripe::StripeObject
145
+ # Text may be up to 1200 characters in length.
146
+ sig { returns(String) }
147
+ attr_reader :message
148
+ end
149
+ class ShippingAddress < Stripe::StripeObject
150
+ # Text may be up to 1200 characters in length.
151
+ sig { returns(String) }
152
+ attr_reader :message
153
+ end
154
+ class Submit < Stripe::StripeObject
155
+ # Text may be up to 1200 characters in length.
156
+ sig { returns(String) }
157
+ attr_reader :message
158
+ end
159
+ class TermsOfServiceAcceptance < Stripe::StripeObject
160
+ # Text may be up to 1200 characters in length.
161
+ sig { returns(String) }
162
+ attr_reader :message
163
+ end
164
+ # Custom text that should be displayed after the payment confirmation button.
165
+ sig { returns(T.nilable(AfterSubmit)) }
166
+ attr_reader :after_submit
167
+
168
+ # Custom text that should be displayed alongside shipping address collection.
169
+ sig { returns(T.nilable(ShippingAddress)) }
170
+ attr_reader :shipping_address
171
+
172
+ # Custom text that should be displayed alongside the payment confirmation button.
173
+ sig { returns(T.nilable(Submit)) }
174
+ attr_reader :submit
175
+
176
+ # Custom text that should be displayed in place of the default terms of service agreement text.
177
+ sig { returns(T.nilable(TermsOfServiceAcceptance)) }
178
+ attr_reader :terms_of_service_acceptance
179
+ end
180
+ class InvoiceCreation < Stripe::StripeObject
181
+ class InvoiceData < Stripe::StripeObject
182
+ class CustomField < Stripe::StripeObject
183
+ # The name of the custom field.
184
+ sig { returns(String) }
185
+ attr_reader :name
186
+
187
+ # The value of the custom field.
188
+ sig { returns(String) }
189
+ attr_reader :value
190
+ end
191
+ class Issuer < Stripe::StripeObject
192
+ # The connected account being referenced when `type` is `account`.
193
+ sig { returns(T.any(String, Stripe::Account)) }
194
+ attr_reader :account
195
+
196
+ # Type of the account referenced.
197
+ sig { returns(String) }
198
+ attr_reader :type
199
+ end
200
+ class RenderingOptions < Stripe::StripeObject
201
+ # How line-item prices and amounts will be displayed with respect to tax on invoice PDFs.
202
+ sig { returns(T.nilable(String)) }
203
+ attr_reader :amount_tax_display
204
+ end
205
+ # The account tax IDs associated with the invoice.
206
+ sig { returns(T.nilable(T::Array[T.any(String, Stripe::TaxId)])) }
207
+ attr_reader :account_tax_ids
208
+
209
+ # A list of up to 4 custom fields to be displayed on the invoice.
210
+ sig { returns(T.nilable(T::Array[CustomField])) }
211
+ attr_reader :custom_fields
212
+
213
+ # An arbitrary string attached to the object. Often useful for displaying to users.
214
+ sig { returns(T.nilable(String)) }
215
+ attr_reader :description
216
+
217
+ # Footer to be displayed on the invoice.
218
+ sig { returns(T.nilable(String)) }
219
+ attr_reader :footer
220
+
221
+ # The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account.
222
+ sig { returns(T.nilable(Issuer)) }
223
+ attr_reader :issuer
224
+
225
+ # 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.
226
+ sig { returns(T.nilable(T::Hash[String, String])) }
227
+ attr_reader :metadata
228
+
229
+ # Options for invoice PDF rendering.
230
+ sig { returns(T.nilable(RenderingOptions)) }
231
+ attr_reader :rendering_options
232
+ end
233
+ # Enable creating an invoice on successful payment.
234
+ sig { returns(T::Boolean) }
235
+ attr_reader :enabled
236
+
237
+ # Configuration for the invoice. Default invoice values will be used if unspecified.
238
+ sig { returns(T.nilable(InvoiceData)) }
239
+ attr_reader :invoice_data
240
+ end
241
+ class PaymentIntentData < Stripe::StripeObject
242
+ # Indicates when the funds will be captured from the customer's account.
243
+ sig { returns(T.nilable(String)) }
244
+ attr_reader :capture_method
245
+
246
+ # An arbitrary string attached to the object. Often useful for displaying to users.
247
+ sig { returns(T.nilable(String)) }
248
+ attr_reader :description
249
+
250
+ # Set of [key-value pairs](https://stripe.com/docs/api/metadata) that will set metadata on [Payment Intents](https://stripe.com/docs/api/payment_intents) generated from this payment link.
251
+ sig { returns(T::Hash[String, String]) }
252
+ attr_reader :metadata
253
+
254
+ # Indicates that you intend to make future payments with the payment method collected during checkout.
255
+ sig { returns(T.nilable(String)) }
256
+ attr_reader :setup_future_usage
257
+
258
+ # For a non-card payment, information about the charge that appears on the customer's statement when this payment succeeds in creating a charge.
259
+ sig { returns(T.nilable(String)) }
260
+ attr_reader :statement_descriptor
261
+
262
+ # For a card payment, information about the charge that appears on the customer's statement when this payment succeeds in creating a charge. Concatenated with the account's statement descriptor prefix to form the complete statement descriptor.
263
+ sig { returns(T.nilable(String)) }
264
+ attr_reader :statement_descriptor_suffix
265
+
266
+ # 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.
267
+ sig { returns(T.nilable(String)) }
268
+ attr_reader :transfer_group
269
+ end
270
+ class PhoneNumberCollection < Stripe::StripeObject
271
+ # If `true`, a phone number will be collected during checkout.
272
+ sig { returns(T::Boolean) }
273
+ attr_reader :enabled
274
+ end
275
+ class Restrictions < Stripe::StripeObject
276
+ class CompletedSessions < Stripe::StripeObject
277
+ # The current number of checkout sessions that have been completed on the payment link which count towards the `completed_sessions` restriction to be met.
278
+ sig { returns(Integer) }
279
+ attr_reader :count
280
+
281
+ # The maximum number of checkout sessions that can be completed for the `completed_sessions` restriction to be met.
282
+ sig { returns(Integer) }
283
+ attr_reader :limit
284
+ end
285
+ # Attribute for field completed_sessions
286
+ sig { returns(CompletedSessions) }
287
+ attr_reader :completed_sessions
288
+ end
289
+ class ShippingAddressCollection < Stripe::StripeObject
290
+ # An array of two-letter ISO country codes representing which countries Checkout should provide as options for shipping locations. Unsupported country codes: `AS, CX, CC, CU, HM, IR, KP, MH, FM, NF, MP, PW, SD, SY, UM, VI`.
291
+ sig { returns(T::Array[String]) }
292
+ attr_reader :allowed_countries
293
+ end
294
+ class ShippingOption < Stripe::StripeObject
295
+ # A non-negative integer in cents representing how much to charge.
296
+ sig { returns(Integer) }
297
+ attr_reader :shipping_amount
298
+
299
+ # The ID of the Shipping Rate to use for this shipping option.
300
+ sig { returns(T.any(String, Stripe::ShippingRate)) }
301
+ attr_reader :shipping_rate
302
+ end
303
+ class SubscriptionData < Stripe::StripeObject
304
+ class InvoiceSettings < Stripe::StripeObject
305
+ class Issuer < Stripe::StripeObject
306
+ # The connected account being referenced when `type` is `account`.
307
+ sig { returns(T.any(String, Stripe::Account)) }
308
+ attr_reader :account
309
+
310
+ # Type of the account referenced.
311
+ sig { returns(String) }
312
+ attr_reader :type
313
+ end
314
+ # Attribute for field issuer
315
+ sig { returns(Issuer) }
316
+ attr_reader :issuer
317
+ end
318
+ class TrialSettings < Stripe::StripeObject
319
+ class EndBehavior < Stripe::StripeObject
320
+ # Indicates how the subscription should change when the trial ends if the user did not provide a payment method.
321
+ sig { returns(String) }
322
+ attr_reader :missing_payment_method
323
+ end
324
+ # Defines how a subscription behaves when a free trial ends.
325
+ sig { returns(EndBehavior) }
326
+ attr_reader :end_behavior
327
+ end
328
+ # 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.
329
+ sig { returns(T.nilable(String)) }
330
+ attr_reader :description
331
+
332
+ # Attribute for field invoice_settings
333
+ sig { returns(InvoiceSettings) }
334
+ attr_reader :invoice_settings
335
+
336
+ # Set of [key-value pairs](https://stripe.com/docs/api/metadata) that will set metadata on [Subscriptions](https://stripe.com/docs/api/subscriptions) generated from this payment link.
337
+ sig { returns(T::Hash[String, String]) }
338
+ attr_reader :metadata
339
+
340
+ # Integer representing the number of trial period days before the customer is charged for the first time.
341
+ sig { returns(T.nilable(Integer)) }
342
+ attr_reader :trial_period_days
343
+
344
+ # Settings related to subscription trials.
345
+ sig { returns(T.nilable(TrialSettings)) }
346
+ attr_reader :trial_settings
347
+ end
348
+ class TaxIdCollection < Stripe::StripeObject
349
+ # Indicates whether tax ID collection is enabled for the session.
350
+ sig { returns(T::Boolean) }
351
+ attr_reader :enabled
352
+
353
+ # Attribute for field required
354
+ sig { returns(String) }
355
+ attr_reader :required
356
+ end
357
+ class TransferData < Stripe::StripeObject
358
+ # The amount in cents (or local equivalent) that will be transferred to the destination account. By default, the entire amount is transferred to the destination.
359
+ sig { returns(T.nilable(Integer)) }
360
+ attr_reader :amount
361
+
362
+ # The connected account receiving the transfer.
363
+ sig { returns(T.any(String, Stripe::Account)) }
364
+ attr_reader :destination
365
+ end
366
+ # 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.
367
+ sig { returns(T::Boolean) }
368
+ attr_reader :active
369
+
370
+ # Attribute for field after_completion
371
+ sig { returns(AfterCompletion) }
372
+ attr_reader :after_completion
373
+
374
+ # Whether user redeemable promotion codes are enabled.
375
+ sig { returns(T::Boolean) }
376
+ attr_reader :allow_promotion_codes
377
+
378
+ # The ID of the Connect application that created the Payment Link.
379
+ sig { returns(T.nilable(T.any(String, Stripe::Application))) }
380
+ attr_reader :application
381
+
382
+ # 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.
383
+ sig { returns(T.nilable(Integer)) }
384
+ attr_reader :application_fee_amount
385
+
386
+ # This represents the percentage of the subscription invoice total that will be transferred to the application owner's Stripe account.
387
+ sig { returns(T.nilable(Float)) }
388
+ attr_reader :application_fee_percent
389
+
390
+ # Attribute for field automatic_tax
391
+ sig { returns(AutomaticTax) }
392
+ attr_reader :automatic_tax
393
+
394
+ # Configuration for collecting the customer's billing address. Defaults to `auto`.
395
+ sig { returns(String) }
396
+ attr_reader :billing_address_collection
397
+
398
+ # When set, provides configuration to gather active consent from customers.
399
+ sig { returns(T.nilable(ConsentCollection)) }
400
+ attr_reader :consent_collection
401
+
402
+ # 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).
403
+ sig { returns(String) }
404
+ attr_reader :currency
405
+
406
+ # Collect additional information from your customer using custom fields. Up to 3 fields are supported.
407
+ sig { returns(T::Array[CustomField]) }
408
+ attr_reader :custom_fields
409
+
410
+ # Attribute for field custom_text
411
+ sig { returns(CustomText) }
412
+ attr_reader :custom_text
413
+
414
+ # Configuration for Customer creation during checkout.
415
+ sig { returns(String) }
416
+ attr_reader :customer_creation
417
+
418
+ # Unique identifier for the object.
419
+ sig { returns(String) }
420
+ attr_reader :id
421
+
422
+ # The custom message to be displayed to a customer when a payment link is no longer active.
423
+ sig { returns(T.nilable(String)) }
424
+ attr_reader :inactive_message
425
+
426
+ # Configuration for creating invoice for payment mode payment links.
427
+ sig { returns(T.nilable(InvoiceCreation)) }
428
+ attr_reader :invoice_creation
429
+
430
+ # The line items representing what is being sold.
431
+ sig { returns(Stripe::ListObject) }
432
+ attr_reader :line_items
433
+
434
+ # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
435
+ sig { returns(T::Boolean) }
436
+ attr_reader :livemode
437
+
438
+ # 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.
439
+ sig { returns(T::Hash[String, String]) }
440
+ attr_reader :metadata
441
+
442
+ # String representing the object's type. Objects of the same type share the same value.
443
+ sig { returns(String) }
444
+ attr_reader :object
445
+
446
+ # 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.
447
+ sig { returns(T.nilable(T.any(String, Stripe::Account))) }
448
+ attr_reader :on_behalf_of
449
+
450
+ # Indicates the parameters to be passed to PaymentIntent creation during checkout.
451
+ sig { returns(T.nilable(PaymentIntentData)) }
452
+ attr_reader :payment_intent_data
453
+
454
+ # Configuration for collecting a payment method during checkout. Defaults to `always`.
455
+ sig { returns(String) }
456
+ attr_reader :payment_method_collection
457
+
458
+ # The list of payment method types that customers can use. When `null`, Stripe will dynamically show relevant payment methods you've enabled in your [payment method settings](https://dashboard.stripe.com/settings/payment_methods).
459
+ sig { returns(T.nilable(T::Array[String])) }
460
+ attr_reader :payment_method_types
461
+
462
+ # Attribute for field phone_number_collection
463
+ sig { returns(PhoneNumberCollection) }
464
+ attr_reader :phone_number_collection
465
+
466
+ # Settings that restrict the usage of a payment link.
467
+ sig { returns(T.nilable(Restrictions)) }
468
+ attr_reader :restrictions
469
+
470
+ # Configuration for collecting the customer's shipping address.
471
+ sig { returns(T.nilable(ShippingAddressCollection)) }
472
+ attr_reader :shipping_address_collection
473
+
474
+ # The shipping rate options applied to the session.
475
+ sig { returns(T::Array[ShippingOption]) }
476
+ attr_reader :shipping_options
477
+
478
+ # Indicates the type of transaction being performed which customizes relevant text on the page, such as the submit button.
479
+ sig { returns(String) }
480
+ attr_reader :submit_type
481
+
482
+ # 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`.
483
+ sig { returns(T.nilable(SubscriptionData)) }
484
+ attr_reader :subscription_data
485
+
486
+ # Attribute for field tax_id_collection
487
+ sig { returns(TaxIdCollection) }
488
+ attr_reader :tax_id_collection
489
+
490
+ # The account (if any) the payments will be attributed to for tax reporting, and where funds from each payment will be transferred to.
491
+ sig { returns(T.nilable(TransferData)) }
492
+ attr_reader :transfer_data
493
+
494
+ # The public URL that can be shared with customers.
495
+ sig { returns(String) }
496
+ attr_reader :url
497
+
498
+ class ListParams < Stripe::RequestParams
499
+ # Only return payment links that are active or inactive (e.g., pass `false` to list all inactive payment links).
500
+ sig { returns(T::Boolean) }
501
+ attr_accessor :active
502
+
503
+ # 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.
504
+ sig { returns(String) }
505
+ attr_accessor :ending_before
506
+
507
+ # Specifies which fields in the response should be expanded.
508
+ sig { returns(T::Array[String]) }
509
+ attr_accessor :expand
510
+
511
+ # A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
512
+ sig { returns(Integer) }
513
+ attr_accessor :limit
514
+
515
+ # 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.
516
+ sig { returns(String) }
517
+ attr_accessor :starting_after
518
+
519
+ sig {
520
+ params(active: T::Boolean, ending_before: String, expand: T::Array[String], limit: Integer, starting_after: String).void
521
+ }
522
+ def initialize(
523
+ active: nil,
524
+ ending_before: nil,
525
+ expand: nil,
526
+ limit: nil,
527
+ starting_after: nil
528
+ ); end
529
+ end
530
+ class CreateParams < Stripe::RequestParams
531
+ class AfterCompletion < Stripe::RequestParams
532
+ class HostedConfirmation < Stripe::RequestParams
533
+ # A custom message to display to the customer after the purchase is complete.
534
+ sig { returns(String) }
535
+ attr_accessor :custom_message
536
+
537
+ sig { params(custom_message: String).void }
538
+ def initialize(custom_message: nil); end
539
+ end
540
+ class Redirect < Stripe::RequestParams
541
+ # The URL the customer will be redirected to after the purchase is complete. You can embed `{CHECKOUT_SESSION_ID}` into the URL to have the `id` of the completed [checkout session](https://stripe.com/docs/api/checkout/sessions/object#checkout_session_object-id) included.
542
+ sig { returns(String) }
543
+ attr_accessor :url
544
+
545
+ sig { params(url: String).void }
546
+ def initialize(url: nil); end
547
+ end
548
+ # Configuration when `type=hosted_confirmation`.
549
+ sig { returns(::Stripe::PaymentLink::CreateParams::AfterCompletion::HostedConfirmation) }
550
+ attr_accessor :hosted_confirmation
551
+
552
+ # Configuration when `type=redirect`.
553
+ sig { returns(::Stripe::PaymentLink::CreateParams::AfterCompletion::Redirect) }
554
+ attr_accessor :redirect
555
+
556
+ # The specified behavior after the purchase is complete. Either `redirect` or `hosted_confirmation`.
557
+ sig { returns(String) }
558
+ attr_accessor :type
559
+
560
+ sig {
561
+ params(hosted_confirmation: ::Stripe::PaymentLink::CreateParams::AfterCompletion::HostedConfirmation, redirect: ::Stripe::PaymentLink::CreateParams::AfterCompletion::Redirect, type: String).void
562
+ }
563
+ def initialize(hosted_confirmation: nil, redirect: nil, type: nil); end
564
+ end
565
+ class AutomaticTax < Stripe::RequestParams
566
+ class Liability < Stripe::RequestParams
567
+ # The connected account being referenced when `type` is `account`.
568
+ sig { returns(String) }
569
+ attr_accessor :account
570
+
571
+ # Type of the account referenced in the request.
572
+ sig { returns(String) }
573
+ attr_accessor :type
574
+
575
+ sig { params(account: String, type: String).void }
576
+ def initialize(account: nil, type: nil); end
577
+ end
578
+ # Set to `true` to [calculate tax automatically](https://docs.stripe.com/tax) using the customer's location.
579
+ #
580
+ # Enabling this parameter causes the payment link to collect any billing address information necessary for tax calculation.
581
+ sig { returns(T::Boolean) }
582
+ attr_accessor :enabled
583
+
584
+ # 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.
585
+ sig { returns(::Stripe::PaymentLink::CreateParams::AutomaticTax::Liability) }
586
+ attr_accessor :liability
587
+
588
+ sig {
589
+ params(enabled: T::Boolean, liability: ::Stripe::PaymentLink::CreateParams::AutomaticTax::Liability).void
590
+ }
591
+ def initialize(enabled: nil, liability: nil); end
592
+ end
593
+ class ConsentCollection < Stripe::RequestParams
594
+ class PaymentMethodReuseAgreement < Stripe::RequestParams
595
+ # Determines the position and visibility of the payment method reuse agreement in the UI. When set to `auto`, Stripe's
596
+ # defaults will be used. When set to `hidden`, the payment method reuse agreement text will always be hidden in the UI.
597
+ sig { returns(String) }
598
+ attr_accessor :position
599
+
600
+ sig { params(position: String).void }
601
+ def initialize(position: nil); end
602
+ end
603
+ # 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.
604
+ sig {
605
+ returns(::Stripe::PaymentLink::CreateParams::ConsentCollection::PaymentMethodReuseAgreement)
606
+ }
607
+ attr_accessor :payment_method_reuse_agreement
608
+
609
+ # If set to `auto`, enables the collection of customer consent for promotional communications. The Checkout
610
+ # Session will determine whether to display an option to opt into promotional communication
611
+ # from the merchant depending on the customer's locale. Only available to US merchants.
612
+ sig { returns(String) }
613
+ attr_accessor :promotions
614
+
615
+ # If set to `required`, it requires customers to check a terms of service checkbox before being able to pay.
616
+ # There must be a valid terms of service URL set in your [Dashboard settings](https://dashboard.stripe.com/settings/public).
617
+ sig { returns(String) }
618
+ attr_accessor :terms_of_service
619
+
620
+ sig {
621
+ params(payment_method_reuse_agreement: ::Stripe::PaymentLink::CreateParams::ConsentCollection::PaymentMethodReuseAgreement, promotions: String, terms_of_service: String).void
622
+ }
623
+ def initialize(
624
+ payment_method_reuse_agreement: nil,
625
+ promotions: nil,
626
+ terms_of_service: nil
627
+ ); end
628
+ end
629
+ class CustomField < Stripe::RequestParams
630
+ class Dropdown < Stripe::RequestParams
631
+ class Option < Stripe::RequestParams
632
+ # The label for the option, displayed to the customer. Up to 100 characters.
633
+ sig { returns(String) }
634
+ attr_accessor :label
635
+
636
+ # The value for this option, not displayed to the customer, used by your integration to reconcile the option selected by the customer. Must be unique to this option, alphanumeric, and up to 100 characters.
637
+ sig { returns(String) }
638
+ attr_accessor :value
639
+
640
+ sig { params(label: String, value: String).void }
641
+ def initialize(label: nil, value: nil); end
642
+ end
643
+ # The options available for the customer to select. Up to 200 options allowed.
644
+ sig {
645
+ returns(T::Array[::Stripe::PaymentLink::CreateParams::CustomField::Dropdown::Option])
646
+ }
647
+ attr_accessor :options
648
+
649
+ sig {
650
+ params(options: T::Array[::Stripe::PaymentLink::CreateParams::CustomField::Dropdown::Option]).void
651
+ }
652
+ def initialize(options: nil); end
653
+ end
654
+ class Label < Stripe::RequestParams
655
+ # Custom text for the label, displayed to the customer. Up to 50 characters.
656
+ sig { returns(String) }
657
+ attr_accessor :custom
658
+
659
+ # The type of the label.
660
+ sig { returns(String) }
661
+ attr_accessor :type
662
+
663
+ sig { params(custom: String, type: String).void }
664
+ def initialize(custom: nil, type: nil); end
665
+ end
666
+ class Numeric < Stripe::RequestParams
667
+ # The maximum character length constraint for the customer's input.
668
+ sig { returns(Integer) }
669
+ attr_accessor :maximum_length
670
+
671
+ # The minimum character length requirement for the customer's input.
672
+ sig { returns(Integer) }
673
+ attr_accessor :minimum_length
674
+
675
+ sig { params(maximum_length: Integer, minimum_length: Integer).void }
676
+ def initialize(maximum_length: nil, minimum_length: nil); end
677
+ end
678
+ class Text < Stripe::RequestParams
679
+ # The maximum character length constraint for the customer's input.
680
+ sig { returns(Integer) }
681
+ attr_accessor :maximum_length
682
+
683
+ # The minimum character length requirement for the customer's input.
684
+ sig { returns(Integer) }
685
+ attr_accessor :minimum_length
686
+
687
+ sig { params(maximum_length: Integer, minimum_length: Integer).void }
688
+ def initialize(maximum_length: nil, minimum_length: nil); end
689
+ end
690
+ # Configuration for `type=dropdown` fields.
691
+ sig { returns(::Stripe::PaymentLink::CreateParams::CustomField::Dropdown) }
692
+ attr_accessor :dropdown
693
+
694
+ # 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.
695
+ sig { returns(String) }
696
+ attr_accessor :key
697
+
698
+ # The label for the field, displayed to the customer.
699
+ sig { returns(::Stripe::PaymentLink::CreateParams::CustomField::Label) }
700
+ attr_accessor :label
701
+
702
+ # Configuration for `type=numeric` fields.
703
+ sig { returns(::Stripe::PaymentLink::CreateParams::CustomField::Numeric) }
704
+ attr_accessor :numeric
705
+
706
+ # Whether the customer is required to complete the field before completing the Checkout Session. Defaults to `false`.
707
+ sig { returns(T::Boolean) }
708
+ attr_accessor :optional
709
+
710
+ # Configuration for `type=text` fields.
711
+ sig { returns(::Stripe::PaymentLink::CreateParams::CustomField::Text) }
712
+ attr_accessor :text
713
+
714
+ # The type of the field.
715
+ sig { returns(String) }
716
+ attr_accessor :type
717
+
718
+ sig {
719
+ 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
720
+ }
721
+ def initialize(
722
+ dropdown: nil,
723
+ key: nil,
724
+ label: nil,
725
+ numeric: nil,
726
+ optional: nil,
727
+ text: nil,
728
+ type: nil
729
+ ); end
730
+ end
731
+ class CustomText < Stripe::RequestParams
732
+ class AfterSubmit < Stripe::RequestParams
733
+ # Text may be up to 1200 characters in length.
734
+ sig { returns(String) }
735
+ attr_accessor :message
736
+
737
+ sig { params(message: String).void }
738
+ def initialize(message: nil); end
739
+ end
740
+ class ShippingAddress < Stripe::RequestParams
741
+ # Text may be up to 1200 characters in length.
742
+ sig { returns(String) }
743
+ attr_accessor :message
744
+
745
+ sig { params(message: String).void }
746
+ def initialize(message: nil); end
747
+ end
748
+ class Submit < Stripe::RequestParams
749
+ # Text may be up to 1200 characters in length.
750
+ sig { returns(String) }
751
+ attr_accessor :message
752
+
753
+ sig { params(message: String).void }
754
+ def initialize(message: nil); end
755
+ end
756
+ class TermsOfServiceAcceptance < Stripe::RequestParams
757
+ # Text may be up to 1200 characters in length.
758
+ sig { returns(String) }
759
+ attr_accessor :message
760
+
761
+ sig { params(message: String).void }
762
+ def initialize(message: nil); end
763
+ end
764
+ # Custom text that should be displayed after the payment confirmation button.
765
+ sig { returns(T.nilable(::Stripe::PaymentLink::CreateParams::CustomText::AfterSubmit)) }
766
+ attr_accessor :after_submit
767
+
768
+ # Custom text that should be displayed alongside shipping address collection.
769
+ sig { returns(T.nilable(::Stripe::PaymentLink::CreateParams::CustomText::ShippingAddress)) }
770
+ attr_accessor :shipping_address
771
+
772
+ # Custom text that should be displayed alongside the payment confirmation button.
773
+ sig { returns(T.nilable(::Stripe::PaymentLink::CreateParams::CustomText::Submit)) }
774
+ attr_accessor :submit
775
+
776
+ # Custom text that should be displayed in place of the default terms of service agreement text.
777
+ sig {
778
+ returns(T.nilable(::Stripe::PaymentLink::CreateParams::CustomText::TermsOfServiceAcceptance))
779
+ }
780
+ attr_accessor :terms_of_service_acceptance
781
+
782
+ sig {
783
+ 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
784
+ }
785
+ def initialize(
786
+ after_submit: nil,
787
+ shipping_address: nil,
788
+ submit: nil,
789
+ terms_of_service_acceptance: nil
790
+ ); end
791
+ end
792
+ class InvoiceCreation < Stripe::RequestParams
793
+ class InvoiceData < Stripe::RequestParams
794
+ class CustomField < Stripe::RequestParams
795
+ # The name of the custom field. This may be up to 40 characters.
796
+ sig { returns(String) }
797
+ attr_accessor :name
798
+
799
+ # The value of the custom field. This may be up to 140 characters.
800
+ sig { returns(String) }
801
+ attr_accessor :value
802
+
803
+ sig { params(name: String, value: String).void }
804
+ def initialize(name: nil, value: nil); end
805
+ end
806
+ class Issuer < Stripe::RequestParams
807
+ # The connected account being referenced when `type` is `account`.
808
+ sig { returns(String) }
809
+ attr_accessor :account
810
+
811
+ # Type of the account referenced in the request.
812
+ sig { returns(String) }
813
+ attr_accessor :type
814
+
815
+ sig { params(account: String, type: String).void }
816
+ def initialize(account: nil, type: nil); end
817
+ end
818
+ class RenderingOptions < Stripe::RequestParams
819
+ # 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.
820
+ sig { returns(T.nilable(String)) }
821
+ attr_accessor :amount_tax_display
822
+
823
+ sig { params(amount_tax_display: T.nilable(String)).void }
824
+ def initialize(amount_tax_display: nil); end
825
+ end
826
+ # The account tax IDs associated with the invoice.
827
+ sig { returns(T.nilable(T::Array[String])) }
828
+ attr_accessor :account_tax_ids
829
+
830
+ # Default custom fields to be displayed on invoices for this customer.
831
+ sig {
832
+ returns(T.nilable(T::Array[::Stripe::PaymentLink::CreateParams::InvoiceCreation::InvoiceData::CustomField]))
833
+ }
834
+ attr_accessor :custom_fields
835
+
836
+ # An arbitrary string attached to the object. Often useful for displaying to users.
837
+ sig { returns(String) }
838
+ attr_accessor :description
839
+
840
+ # Default footer to be displayed on invoices for this customer.
841
+ sig { returns(String) }
842
+ attr_accessor :footer
843
+
844
+ # The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account.
845
+ sig { returns(::Stripe::PaymentLink::CreateParams::InvoiceCreation::InvoiceData::Issuer) }
846
+ attr_accessor :issuer
847
+
848
+ # 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`.
849
+ sig { returns(T.nilable(T::Hash[String, String])) }
850
+ attr_accessor :metadata
851
+
852
+ # Default options for invoice PDF rendering for this customer.
853
+ sig {
854
+ returns(T.nilable(::Stripe::PaymentLink::CreateParams::InvoiceCreation::InvoiceData::RenderingOptions))
855
+ }
856
+ attr_accessor :rendering_options
857
+
858
+ sig {
859
+ 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
860
+ }
861
+ def initialize(
862
+ account_tax_ids: nil,
863
+ custom_fields: nil,
864
+ description: nil,
865
+ footer: nil,
866
+ issuer: nil,
867
+ metadata: nil,
868
+ rendering_options: nil
869
+ ); end
870
+ end
871
+ # Whether the feature is enabled
872
+ sig { returns(T::Boolean) }
873
+ attr_accessor :enabled
874
+
875
+ # Invoice PDF configuration.
876
+ sig { returns(::Stripe::PaymentLink::CreateParams::InvoiceCreation::InvoiceData) }
877
+ attr_accessor :invoice_data
878
+
879
+ sig {
880
+ params(enabled: T::Boolean, invoice_data: ::Stripe::PaymentLink::CreateParams::InvoiceCreation::InvoiceData).void
881
+ }
882
+ def initialize(enabled: nil, invoice_data: nil); end
883
+ end
884
+ class LineItem < Stripe::RequestParams
885
+ class AdjustableQuantity < Stripe::RequestParams
886
+ # Set to true if the quantity can be adjusted to any non-negative Integer.
887
+ sig { returns(T::Boolean) }
888
+ attr_accessor :enabled
889
+
890
+ # The maximum quantity the customer can purchase. By default this value is 99. You can specify a value up to 999.
891
+ sig { returns(Integer) }
892
+ attr_accessor :maximum
893
+
894
+ # 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.
895
+ sig { returns(Integer) }
896
+ attr_accessor :minimum
897
+
898
+ sig { params(enabled: T::Boolean, maximum: Integer, minimum: Integer).void }
899
+ def initialize(enabled: nil, maximum: nil, minimum: nil); end
900
+ end
901
+ # When set, provides configuration for this item’s quantity to be adjusted by the customer during checkout.
902
+ sig { returns(::Stripe::PaymentLink::CreateParams::LineItem::AdjustableQuantity) }
903
+ attr_accessor :adjustable_quantity
904
+
905
+ # The ID of the [Price](https://stripe.com/docs/api/prices) or [Plan](https://stripe.com/docs/api/plans) object.
906
+ sig { returns(String) }
907
+ attr_accessor :price
908
+
909
+ # The quantity of the line item being purchased.
910
+ sig { returns(Integer) }
911
+ attr_accessor :quantity
912
+
913
+ sig {
914
+ params(adjustable_quantity: ::Stripe::PaymentLink::CreateParams::LineItem::AdjustableQuantity, price: String, quantity: Integer).void
915
+ }
916
+ def initialize(adjustable_quantity: nil, price: nil, quantity: nil); end
917
+ end
918
+ class PaymentIntentData < Stripe::RequestParams
919
+ # Controls when the funds will be captured from the customer's account.
920
+ sig { returns(String) }
921
+ attr_accessor :capture_method
922
+
923
+ # An arbitrary string attached to the object. Often useful for displaying to users.
924
+ sig { returns(String) }
925
+ attr_accessor :description
926
+
927
+ # 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.
928
+ sig { returns(T::Hash[String, String]) }
929
+ attr_accessor :metadata
930
+
931
+ # 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.
932
+ #
933
+ # When setting this to `on_session`, Checkout will show a notice to the customer that their payment details will be saved.
934
+ #
935
+ # When setting this to `off_session`, Checkout will show a notice to the customer that their payment details will be saved and used for future payments.
936
+ #
937
+ # If a Customer has been provided or Checkout creates a new Customer,Checkout will attach the payment method to the Customer.
938
+ #
939
+ # 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.
940
+ #
941
+ # 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.
942
+ sig { returns(String) }
943
+ attr_accessor :setup_future_usage
944
+
945
+ # 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).
946
+ #
947
+ # 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.
948
+ sig { returns(String) }
949
+ attr_accessor :statement_descriptor
950
+
951
+ # 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.
952
+ sig { returns(String) }
953
+ attr_accessor :statement_descriptor_suffix
954
+
955
+ # 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.
956
+ sig { returns(String) }
957
+ attr_accessor :transfer_group
958
+
959
+ sig {
960
+ 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
961
+ }
962
+ def initialize(
963
+ capture_method: nil,
964
+ description: nil,
965
+ metadata: nil,
966
+ setup_future_usage: nil,
967
+ statement_descriptor: nil,
968
+ statement_descriptor_suffix: nil,
969
+ transfer_group: nil
970
+ ); end
971
+ end
972
+ class PhoneNumberCollection < Stripe::RequestParams
973
+ # Set to `true` to enable phone number collection.
974
+ sig { returns(T::Boolean) }
975
+ attr_accessor :enabled
976
+
977
+ sig { params(enabled: T::Boolean).void }
978
+ def initialize(enabled: nil); end
979
+ end
980
+ class Restrictions < Stripe::RequestParams
981
+ class CompletedSessions < Stripe::RequestParams
982
+ # The maximum number of checkout sessions that can be completed for the `completed_sessions` restriction to be met.
983
+ sig { returns(Integer) }
984
+ attr_accessor :limit
985
+
986
+ sig { params(limit: Integer).void }
987
+ def initialize(limit: nil); end
988
+ end
989
+ # Configuration for the `completed_sessions` restriction type.
990
+ sig { returns(::Stripe::PaymentLink::CreateParams::Restrictions::CompletedSessions) }
991
+ attr_accessor :completed_sessions
992
+
993
+ sig {
994
+ params(completed_sessions: ::Stripe::PaymentLink::CreateParams::Restrictions::CompletedSessions).void
995
+ }
996
+ def initialize(completed_sessions: nil); end
997
+ end
998
+ class ShippingAddressCollection < Stripe::RequestParams
999
+ # An array of two-letter ISO country codes representing which countries Checkout should provide as options for
1000
+ # shipping locations.
1001
+ sig { returns(T::Array[String]) }
1002
+ attr_accessor :allowed_countries
1003
+
1004
+ sig { params(allowed_countries: T::Array[String]).void }
1005
+ def initialize(allowed_countries: nil); end
1006
+ end
1007
+ class ShippingOption < Stripe::RequestParams
1008
+ # The ID of the Shipping Rate to use for this shipping option.
1009
+ sig { returns(String) }
1010
+ attr_accessor :shipping_rate
1011
+
1012
+ sig { params(shipping_rate: String).void }
1013
+ def initialize(shipping_rate: nil); end
1014
+ end
1015
+ class SubscriptionData < Stripe::RequestParams
1016
+ class InvoiceSettings < Stripe::RequestParams
1017
+ class Issuer < Stripe::RequestParams
1018
+ # The connected account being referenced when `type` is `account`.
1019
+ sig { returns(String) }
1020
+ attr_accessor :account
1021
+
1022
+ # Type of the account referenced in the request.
1023
+ sig { returns(String) }
1024
+ attr_accessor :type
1025
+
1026
+ sig { params(account: String, type: String).void }
1027
+ def initialize(account: nil, type: nil); end
1028
+ end
1029
+ # The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account.
1030
+ sig {
1031
+ returns(::Stripe::PaymentLink::CreateParams::SubscriptionData::InvoiceSettings::Issuer)
1032
+ }
1033
+ attr_accessor :issuer
1034
+
1035
+ sig {
1036
+ params(issuer: ::Stripe::PaymentLink::CreateParams::SubscriptionData::InvoiceSettings::Issuer).void
1037
+ }
1038
+ def initialize(issuer: nil); end
1039
+ end
1040
+ class TrialSettings < Stripe::RequestParams
1041
+ class EndBehavior < Stripe::RequestParams
1042
+ # Indicates how the subscription should change when the trial ends if the user did not provide a payment method.
1043
+ sig { returns(String) }
1044
+ attr_accessor :missing_payment_method
1045
+
1046
+ sig { params(missing_payment_method: String).void }
1047
+ def initialize(missing_payment_method: nil); end
1048
+ end
1049
+ # Defines how the subscription should behave when the user's free trial ends.
1050
+ sig {
1051
+ returns(::Stripe::PaymentLink::CreateParams::SubscriptionData::TrialSettings::EndBehavior)
1052
+ }
1053
+ attr_accessor :end_behavior
1054
+
1055
+ sig {
1056
+ params(end_behavior: ::Stripe::PaymentLink::CreateParams::SubscriptionData::TrialSettings::EndBehavior).void
1057
+ }
1058
+ def initialize(end_behavior: nil); end
1059
+ end
1060
+ # 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.
1061
+ sig { returns(String) }
1062
+ attr_accessor :description
1063
+
1064
+ # All invoices will be billed using the specified settings.
1065
+ sig { returns(::Stripe::PaymentLink::CreateParams::SubscriptionData::InvoiceSettings) }
1066
+ attr_accessor :invoice_settings
1067
+
1068
+ # 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.
1069
+ sig { returns(T::Hash[String, String]) }
1070
+ attr_accessor :metadata
1071
+
1072
+ # Integer representing the number of trial period days before the customer is charged for the first time. Has to be at least 1.
1073
+ sig { returns(Integer) }
1074
+ attr_accessor :trial_period_days
1075
+
1076
+ # Settings related to subscription trials.
1077
+ sig { returns(::Stripe::PaymentLink::CreateParams::SubscriptionData::TrialSettings) }
1078
+ attr_accessor :trial_settings
1079
+
1080
+ sig {
1081
+ 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
1082
+ }
1083
+ def initialize(
1084
+ description: nil,
1085
+ invoice_settings: nil,
1086
+ metadata: nil,
1087
+ trial_period_days: nil,
1088
+ trial_settings: nil
1089
+ ); end
1090
+ end
1091
+ class TaxIdCollection < Stripe::RequestParams
1092
+ # Enable tax ID collection during checkout. Defaults to `false`.
1093
+ sig { returns(T::Boolean) }
1094
+ attr_accessor :enabled
1095
+
1096
+ # Describes whether a tax ID is required during checkout. Defaults to `never`.
1097
+ sig { returns(String) }
1098
+ attr_accessor :required
1099
+
1100
+ sig { params(enabled: T::Boolean, required: String).void }
1101
+ def initialize(enabled: nil, required: nil); end
1102
+ end
1103
+ class TransferData < Stripe::RequestParams
1104
+ # The amount that will be transferred automatically when a charge succeeds.
1105
+ sig { returns(Integer) }
1106
+ attr_accessor :amount
1107
+
1108
+ # If specified, successful charges will be attributed to the destination
1109
+ # account for tax reporting, and the funds from charges will be transferred
1110
+ # to the destination account. The ID of the resulting transfer will be
1111
+ # returned on the successful charge's `transfer` field.
1112
+ sig { returns(String) }
1113
+ attr_accessor :destination
1114
+
1115
+ sig { params(amount: Integer, destination: String).void }
1116
+ def initialize(amount: nil, destination: nil); end
1117
+ end
1118
+ # Behavior after the purchase is complete.
1119
+ sig { returns(::Stripe::PaymentLink::CreateParams::AfterCompletion) }
1120
+ attr_accessor :after_completion
1121
+
1122
+ # Enables user redeemable promotion codes.
1123
+ sig { returns(T::Boolean) }
1124
+ attr_accessor :allow_promotion_codes
1125
+
1126
+ # 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.
1127
+ sig { returns(Integer) }
1128
+ attr_accessor :application_fee_amount
1129
+
1130
+ # 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.
1131
+ sig { returns(Float) }
1132
+ attr_accessor :application_fee_percent
1133
+
1134
+ # Configuration for automatic tax collection.
1135
+ sig { returns(::Stripe::PaymentLink::CreateParams::AutomaticTax) }
1136
+ attr_accessor :automatic_tax
1137
+
1138
+ # Configuration for collecting the customer's billing address. Defaults to `auto`.
1139
+ sig { returns(String) }
1140
+ attr_accessor :billing_address_collection
1141
+
1142
+ # Configure fields to gather active consent from customers.
1143
+ sig { returns(::Stripe::PaymentLink::CreateParams::ConsentCollection) }
1144
+ attr_accessor :consent_collection
1145
+
1146
+ # 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.
1147
+ sig { returns(String) }
1148
+ attr_accessor :currency
1149
+
1150
+ # Collect additional information from your customer using custom fields. Up to 3 fields are supported.
1151
+ sig { returns(T::Array[::Stripe::PaymentLink::CreateParams::CustomField]) }
1152
+ attr_accessor :custom_fields
1153
+
1154
+ # Display additional text for your customers using custom text.
1155
+ sig { returns(::Stripe::PaymentLink::CreateParams::CustomText) }
1156
+ attr_accessor :custom_text
1157
+
1158
+ # 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).
1159
+ sig { returns(String) }
1160
+ attr_accessor :customer_creation
1161
+
1162
+ # Specifies which fields in the response should be expanded.
1163
+ sig { returns(T::Array[String]) }
1164
+ attr_accessor :expand
1165
+
1166
+ # The custom message to be displayed to a customer when a payment link is no longer active.
1167
+ sig { returns(String) }
1168
+ attr_accessor :inactive_message
1169
+
1170
+ # Generate a post-purchase Invoice for one-time payments.
1171
+ sig { returns(::Stripe::PaymentLink::CreateParams::InvoiceCreation) }
1172
+ attr_accessor :invoice_creation
1173
+
1174
+ # The line items representing what is being sold. Each line item represents an item being sold. Up to 20 line items are supported.
1175
+ sig { returns(T::Array[::Stripe::PaymentLink::CreateParams::LineItem]) }
1176
+ attr_accessor :line_items
1177
+
1178
+ # 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.
1179
+ sig { returns(T::Hash[String, String]) }
1180
+ attr_accessor :metadata
1181
+
1182
+ # The account on behalf of which to charge.
1183
+ sig { returns(String) }
1184
+ attr_accessor :on_behalf_of
1185
+
1186
+ # A subset of parameters to be passed to PaymentIntent creation for Checkout Sessions in `payment` mode.
1187
+ sig { returns(::Stripe::PaymentLink::CreateParams::PaymentIntentData) }
1188
+ attr_accessor :payment_intent_data
1189
+
1190
+ # 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.
1191
+ #
1192
+ # Can only be set in `subscription` mode. Defaults to `always`.
1193
+ #
1194
+ # 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).
1195
+ sig { returns(String) }
1196
+ attr_accessor :payment_method_collection
1197
+
1198
+ # 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)).
1199
+ sig { returns(T::Array[String]) }
1200
+ attr_accessor :payment_method_types
1201
+
1202
+ # Controls phone number collection settings during checkout.
1203
+ #
1204
+ # We recommend that you review your privacy policy and check with your legal contacts.
1205
+ sig { returns(::Stripe::PaymentLink::CreateParams::PhoneNumberCollection) }
1206
+ attr_accessor :phone_number_collection
1207
+
1208
+ # Settings that restrict the usage of a payment link.
1209
+ sig { returns(::Stripe::PaymentLink::CreateParams::Restrictions) }
1210
+ attr_accessor :restrictions
1211
+
1212
+ # Configuration for collecting the customer's shipping address.
1213
+ sig { returns(::Stripe::PaymentLink::CreateParams::ShippingAddressCollection) }
1214
+ attr_accessor :shipping_address_collection
1215
+
1216
+ # The shipping rate options to apply to [checkout sessions](https://stripe.com/docs/api/checkout/sessions) created by this payment link.
1217
+ sig { returns(T::Array[::Stripe::PaymentLink::CreateParams::ShippingOption]) }
1218
+ attr_accessor :shipping_options
1219
+
1220
+ # 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`).
1221
+ sig { returns(String) }
1222
+ attr_accessor :submit_type
1223
+
1224
+ # 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`.
1225
+ sig { returns(::Stripe::PaymentLink::CreateParams::SubscriptionData) }
1226
+ attr_accessor :subscription_data
1227
+
1228
+ # Controls tax ID collection during checkout.
1229
+ sig { returns(::Stripe::PaymentLink::CreateParams::TaxIdCollection) }
1230
+ attr_accessor :tax_id_collection
1231
+
1232
+ # The account (if any) the payments will be attributed to for tax reporting, and where funds from each payment will be transferred to.
1233
+ sig { returns(::Stripe::PaymentLink::CreateParams::TransferData) }
1234
+ attr_accessor :transfer_data
1235
+
1236
+ sig {
1237
+ 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
1238
+ }
1239
+ def initialize(
1240
+ after_completion: nil,
1241
+ allow_promotion_codes: nil,
1242
+ application_fee_amount: nil,
1243
+ application_fee_percent: nil,
1244
+ automatic_tax: nil,
1245
+ billing_address_collection: nil,
1246
+ consent_collection: nil,
1247
+ currency: nil,
1248
+ custom_fields: nil,
1249
+ custom_text: nil,
1250
+ customer_creation: nil,
1251
+ expand: nil,
1252
+ inactive_message: nil,
1253
+ invoice_creation: nil,
1254
+ line_items: nil,
1255
+ metadata: nil,
1256
+ on_behalf_of: nil,
1257
+ payment_intent_data: nil,
1258
+ payment_method_collection: nil,
1259
+ payment_method_types: nil,
1260
+ phone_number_collection: nil,
1261
+ restrictions: nil,
1262
+ shipping_address_collection: nil,
1263
+ shipping_options: nil,
1264
+ submit_type: nil,
1265
+ subscription_data: nil,
1266
+ tax_id_collection: nil,
1267
+ transfer_data: nil
1268
+ ); end
1269
+ end
1270
+ class RetrieveParams < Stripe::RequestParams
1271
+ # Specifies which fields in the response should be expanded.
1272
+ sig { returns(T::Array[String]) }
1273
+ attr_accessor :expand
1274
+
1275
+ sig { params(expand: T::Array[String]).void }
1276
+ def initialize(expand: nil); end
1277
+ end
1278
+ class UpdateParams < Stripe::RequestParams
1279
+ class AfterCompletion < Stripe::RequestParams
1280
+ class HostedConfirmation < Stripe::RequestParams
1281
+ # A custom message to display to the customer after the purchase is complete.
1282
+ sig { returns(String) }
1283
+ attr_accessor :custom_message
1284
+
1285
+ sig { params(custom_message: String).void }
1286
+ def initialize(custom_message: nil); end
1287
+ end
1288
+ class Redirect < Stripe::RequestParams
1289
+ # The URL the customer will be redirected to after the purchase is complete. You can embed `{CHECKOUT_SESSION_ID}` into the URL to have the `id` of the completed [checkout session](https://stripe.com/docs/api/checkout/sessions/object#checkout_session_object-id) included.
1290
+ sig { returns(String) }
1291
+ attr_accessor :url
1292
+
1293
+ sig { params(url: String).void }
1294
+ def initialize(url: nil); end
1295
+ end
1296
+ # Configuration when `type=hosted_confirmation`.
1297
+ sig { returns(::Stripe::PaymentLink::UpdateParams::AfterCompletion::HostedConfirmation) }
1298
+ attr_accessor :hosted_confirmation
1299
+
1300
+ # Configuration when `type=redirect`.
1301
+ sig { returns(::Stripe::PaymentLink::UpdateParams::AfterCompletion::Redirect) }
1302
+ attr_accessor :redirect
1303
+
1304
+ # The specified behavior after the purchase is complete. Either `redirect` or `hosted_confirmation`.
1305
+ sig { returns(String) }
1306
+ attr_accessor :type
1307
+
1308
+ sig {
1309
+ params(hosted_confirmation: ::Stripe::PaymentLink::UpdateParams::AfterCompletion::HostedConfirmation, redirect: ::Stripe::PaymentLink::UpdateParams::AfterCompletion::Redirect, type: String).void
1310
+ }
1311
+ def initialize(hosted_confirmation: nil, redirect: nil, type: nil); end
1312
+ end
1313
+ class AutomaticTax < Stripe::RequestParams
1314
+ class Liability < Stripe::RequestParams
1315
+ # The connected account being referenced when `type` is `account`.
1316
+ sig { returns(String) }
1317
+ attr_accessor :account
1318
+
1319
+ # Type of the account referenced in the request.
1320
+ sig { returns(String) }
1321
+ attr_accessor :type
1322
+
1323
+ sig { params(account: String, type: String).void }
1324
+ def initialize(account: nil, type: nil); end
1325
+ end
1326
+ # Set to `true` to [calculate tax automatically](https://docs.stripe.com/tax) using the customer's location.
1327
+ #
1328
+ # Enabling this parameter causes the payment link to collect any billing address information necessary for tax calculation.
1329
+ sig { returns(T::Boolean) }
1330
+ attr_accessor :enabled
1331
+
1332
+ # 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.
1333
+ sig { returns(::Stripe::PaymentLink::UpdateParams::AutomaticTax::Liability) }
1334
+ attr_accessor :liability
1335
+
1336
+ sig {
1337
+ params(enabled: T::Boolean, liability: ::Stripe::PaymentLink::UpdateParams::AutomaticTax::Liability).void
1338
+ }
1339
+ def initialize(enabled: nil, liability: nil); end
1340
+ end
1341
+ class CustomField < Stripe::RequestParams
1342
+ class Dropdown < Stripe::RequestParams
1343
+ class Option < Stripe::RequestParams
1344
+ # The label for the option, displayed to the customer. Up to 100 characters.
1345
+ sig { returns(String) }
1346
+ attr_accessor :label
1347
+
1348
+ # The value for this option, not displayed to the customer, used by your integration to reconcile the option selected by the customer. Must be unique to this option, alphanumeric, and up to 100 characters.
1349
+ sig { returns(String) }
1350
+ attr_accessor :value
1351
+
1352
+ sig { params(label: String, value: String).void }
1353
+ def initialize(label: nil, value: nil); end
1354
+ end
1355
+ # The options available for the customer to select. Up to 200 options allowed.
1356
+ sig {
1357
+ returns(T::Array[::Stripe::PaymentLink::UpdateParams::CustomField::Dropdown::Option])
1358
+ }
1359
+ attr_accessor :options
1360
+
1361
+ sig {
1362
+ params(options: T::Array[::Stripe::PaymentLink::UpdateParams::CustomField::Dropdown::Option]).void
1363
+ }
1364
+ def initialize(options: nil); end
1365
+ end
1366
+ class Label < Stripe::RequestParams
1367
+ # Custom text for the label, displayed to the customer. Up to 50 characters.
1368
+ sig { returns(String) }
1369
+ attr_accessor :custom
1370
+
1371
+ # The type of the label.
1372
+ sig { returns(String) }
1373
+ attr_accessor :type
1374
+
1375
+ sig { params(custom: String, type: String).void }
1376
+ def initialize(custom: nil, type: nil); end
1377
+ end
1378
+ class Numeric < Stripe::RequestParams
1379
+ # The maximum character length constraint for the customer's input.
1380
+ sig { returns(Integer) }
1381
+ attr_accessor :maximum_length
1382
+
1383
+ # The minimum character length requirement for the customer's input.
1384
+ sig { returns(Integer) }
1385
+ attr_accessor :minimum_length
1386
+
1387
+ sig { params(maximum_length: Integer, minimum_length: Integer).void }
1388
+ def initialize(maximum_length: nil, minimum_length: nil); end
1389
+ end
1390
+ class Text < Stripe::RequestParams
1391
+ # The maximum character length constraint for the customer's input.
1392
+ sig { returns(Integer) }
1393
+ attr_accessor :maximum_length
1394
+
1395
+ # The minimum character length requirement for the customer's input.
1396
+ sig { returns(Integer) }
1397
+ attr_accessor :minimum_length
1398
+
1399
+ sig { params(maximum_length: Integer, minimum_length: Integer).void }
1400
+ def initialize(maximum_length: nil, minimum_length: nil); end
1401
+ end
1402
+ # Configuration for `type=dropdown` fields.
1403
+ sig { returns(::Stripe::PaymentLink::UpdateParams::CustomField::Dropdown) }
1404
+ attr_accessor :dropdown
1405
+
1406
+ # 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.
1407
+ sig { returns(String) }
1408
+ attr_accessor :key
1409
+
1410
+ # The label for the field, displayed to the customer.
1411
+ sig { returns(::Stripe::PaymentLink::UpdateParams::CustomField::Label) }
1412
+ attr_accessor :label
1413
+
1414
+ # Configuration for `type=numeric` fields.
1415
+ sig { returns(::Stripe::PaymentLink::UpdateParams::CustomField::Numeric) }
1416
+ attr_accessor :numeric
1417
+
1418
+ # Whether the customer is required to complete the field before completing the Checkout Session. Defaults to `false`.
1419
+ sig { returns(T::Boolean) }
1420
+ attr_accessor :optional
1421
+
1422
+ # Configuration for `type=text` fields.
1423
+ sig { returns(::Stripe::PaymentLink::UpdateParams::CustomField::Text) }
1424
+ attr_accessor :text
1425
+
1426
+ # The type of the field.
1427
+ sig { returns(String) }
1428
+ attr_accessor :type
1429
+
1430
+ sig {
1431
+ 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
1432
+ }
1433
+ def initialize(
1434
+ dropdown: nil,
1435
+ key: nil,
1436
+ label: nil,
1437
+ numeric: nil,
1438
+ optional: nil,
1439
+ text: nil,
1440
+ type: nil
1441
+ ); end
1442
+ end
1443
+ class CustomText < Stripe::RequestParams
1444
+ class AfterSubmit < Stripe::RequestParams
1445
+ # Text may be up to 1200 characters in length.
1446
+ sig { returns(String) }
1447
+ attr_accessor :message
1448
+
1449
+ sig { params(message: String).void }
1450
+ def initialize(message: nil); end
1451
+ end
1452
+ class ShippingAddress < Stripe::RequestParams
1453
+ # Text may be up to 1200 characters in length.
1454
+ sig { returns(String) }
1455
+ attr_accessor :message
1456
+
1457
+ sig { params(message: String).void }
1458
+ def initialize(message: nil); end
1459
+ end
1460
+ class Submit < Stripe::RequestParams
1461
+ # Text may be up to 1200 characters in length.
1462
+ sig { returns(String) }
1463
+ attr_accessor :message
1464
+
1465
+ sig { params(message: String).void }
1466
+ def initialize(message: nil); end
1467
+ end
1468
+ class TermsOfServiceAcceptance < Stripe::RequestParams
1469
+ # Text may be up to 1200 characters in length.
1470
+ sig { returns(String) }
1471
+ attr_accessor :message
1472
+
1473
+ sig { params(message: String).void }
1474
+ def initialize(message: nil); end
1475
+ end
1476
+ # Custom text that should be displayed after the payment confirmation button.
1477
+ sig { returns(T.nilable(::Stripe::PaymentLink::UpdateParams::CustomText::AfterSubmit)) }
1478
+ attr_accessor :after_submit
1479
+
1480
+ # Custom text that should be displayed alongside shipping address collection.
1481
+ sig { returns(T.nilable(::Stripe::PaymentLink::UpdateParams::CustomText::ShippingAddress)) }
1482
+ attr_accessor :shipping_address
1483
+
1484
+ # Custom text that should be displayed alongside the payment confirmation button.
1485
+ sig { returns(T.nilable(::Stripe::PaymentLink::UpdateParams::CustomText::Submit)) }
1486
+ attr_accessor :submit
1487
+
1488
+ # Custom text that should be displayed in place of the default terms of service agreement text.
1489
+ sig {
1490
+ returns(T.nilable(::Stripe::PaymentLink::UpdateParams::CustomText::TermsOfServiceAcceptance))
1491
+ }
1492
+ attr_accessor :terms_of_service_acceptance
1493
+
1494
+ sig {
1495
+ 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
1496
+ }
1497
+ def initialize(
1498
+ after_submit: nil,
1499
+ shipping_address: nil,
1500
+ submit: nil,
1501
+ terms_of_service_acceptance: nil
1502
+ ); end
1503
+ end
1504
+ class InvoiceCreation < Stripe::RequestParams
1505
+ class InvoiceData < Stripe::RequestParams
1506
+ class CustomField < Stripe::RequestParams
1507
+ # The name of the custom field. This may be up to 40 characters.
1508
+ sig { returns(String) }
1509
+ attr_accessor :name
1510
+
1511
+ # The value of the custom field. This may be up to 140 characters.
1512
+ sig { returns(String) }
1513
+ attr_accessor :value
1514
+
1515
+ sig { params(name: String, value: String).void }
1516
+ def initialize(name: nil, value: nil); end
1517
+ end
1518
+ class Issuer < Stripe::RequestParams
1519
+ # The connected account being referenced when `type` is `account`.
1520
+ sig { returns(String) }
1521
+ attr_accessor :account
1522
+
1523
+ # Type of the account referenced in the request.
1524
+ sig { returns(String) }
1525
+ attr_accessor :type
1526
+
1527
+ sig { params(account: String, type: String).void }
1528
+ def initialize(account: nil, type: nil); end
1529
+ end
1530
+ class RenderingOptions < Stripe::RequestParams
1531
+ # 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.
1532
+ sig { returns(T.nilable(String)) }
1533
+ attr_accessor :amount_tax_display
1534
+
1535
+ sig { params(amount_tax_display: T.nilable(String)).void }
1536
+ def initialize(amount_tax_display: nil); end
1537
+ end
1538
+ # The account tax IDs associated with the invoice.
1539
+ sig { returns(T.nilable(T::Array[String])) }
1540
+ attr_accessor :account_tax_ids
1541
+
1542
+ # Default custom fields to be displayed on invoices for this customer.
1543
+ sig {
1544
+ returns(T.nilable(T::Array[::Stripe::PaymentLink::UpdateParams::InvoiceCreation::InvoiceData::CustomField]))
1545
+ }
1546
+ attr_accessor :custom_fields
1547
+
1548
+ # An arbitrary string attached to the object. Often useful for displaying to users.
1549
+ sig { returns(String) }
1550
+ attr_accessor :description
1551
+
1552
+ # Default footer to be displayed on invoices for this customer.
1553
+ sig { returns(String) }
1554
+ attr_accessor :footer
1555
+
1556
+ # The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account.
1557
+ sig { returns(::Stripe::PaymentLink::UpdateParams::InvoiceCreation::InvoiceData::Issuer) }
1558
+ attr_accessor :issuer
1559
+
1560
+ # 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`.
1561
+ sig { returns(T.nilable(T::Hash[String, String])) }
1562
+ attr_accessor :metadata
1563
+
1564
+ # Default options for invoice PDF rendering for this customer.
1565
+ sig {
1566
+ returns(T.nilable(::Stripe::PaymentLink::UpdateParams::InvoiceCreation::InvoiceData::RenderingOptions))
1567
+ }
1568
+ attr_accessor :rendering_options
1569
+
1570
+ sig {
1571
+ 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
1572
+ }
1573
+ def initialize(
1574
+ account_tax_ids: nil,
1575
+ custom_fields: nil,
1576
+ description: nil,
1577
+ footer: nil,
1578
+ issuer: nil,
1579
+ metadata: nil,
1580
+ rendering_options: nil
1581
+ ); end
1582
+ end
1583
+ # Whether the feature is enabled
1584
+ sig { returns(T::Boolean) }
1585
+ attr_accessor :enabled
1586
+
1587
+ # Invoice PDF configuration.
1588
+ sig { returns(::Stripe::PaymentLink::UpdateParams::InvoiceCreation::InvoiceData) }
1589
+ attr_accessor :invoice_data
1590
+
1591
+ sig {
1592
+ params(enabled: T::Boolean, invoice_data: ::Stripe::PaymentLink::UpdateParams::InvoiceCreation::InvoiceData).void
1593
+ }
1594
+ def initialize(enabled: nil, invoice_data: nil); end
1595
+ end
1596
+ class LineItem < Stripe::RequestParams
1597
+ class AdjustableQuantity < Stripe::RequestParams
1598
+ # Set to true if the quantity can be adjusted to any non-negative Integer.
1599
+ sig { returns(T::Boolean) }
1600
+ attr_accessor :enabled
1601
+
1602
+ # The maximum quantity the customer can purchase. By default this value is 99. You can specify a value up to 999.
1603
+ sig { returns(Integer) }
1604
+ attr_accessor :maximum
1605
+
1606
+ # 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.
1607
+ sig { returns(Integer) }
1608
+ attr_accessor :minimum
1609
+
1610
+ sig { params(enabled: T::Boolean, maximum: Integer, minimum: Integer).void }
1611
+ def initialize(enabled: nil, maximum: nil, minimum: nil); end
1612
+ end
1613
+ # When set, provides configuration for this item’s quantity to be adjusted by the customer during checkout.
1614
+ sig { returns(::Stripe::PaymentLink::UpdateParams::LineItem::AdjustableQuantity) }
1615
+ attr_accessor :adjustable_quantity
1616
+
1617
+ # The ID of an existing line item on the payment link.
1618
+ sig { returns(String) }
1619
+ attr_accessor :id
1620
+
1621
+ # The quantity of the line item being purchased.
1622
+ sig { returns(Integer) }
1623
+ attr_accessor :quantity
1624
+
1625
+ sig {
1626
+ params(adjustable_quantity: ::Stripe::PaymentLink::UpdateParams::LineItem::AdjustableQuantity, id: String, quantity: Integer).void
1627
+ }
1628
+ def initialize(adjustable_quantity: nil, id: nil, quantity: nil); end
1629
+ end
1630
+ class PaymentIntentData < Stripe::RequestParams
1631
+ # An arbitrary string attached to the object. Often useful for displaying to users.
1632
+ sig { returns(T.nilable(String)) }
1633
+ attr_accessor :description
1634
+
1635
+ # 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.
1636
+ sig { returns(T.nilable(T::Hash[String, String])) }
1637
+ attr_accessor :metadata
1638
+
1639
+ # 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).
1640
+ #
1641
+ # 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.
1642
+ sig { returns(T.nilable(String)) }
1643
+ attr_accessor :statement_descriptor
1644
+
1645
+ # 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.
1646
+ sig { returns(T.nilable(String)) }
1647
+ attr_accessor :statement_descriptor_suffix
1648
+
1649
+ # 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.
1650
+ sig { returns(T.nilable(String)) }
1651
+ attr_accessor :transfer_group
1652
+
1653
+ sig {
1654
+ 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
1655
+ }
1656
+ def initialize(
1657
+ description: nil,
1658
+ metadata: nil,
1659
+ statement_descriptor: nil,
1660
+ statement_descriptor_suffix: nil,
1661
+ transfer_group: nil
1662
+ ); end
1663
+ end
1664
+ class Restrictions < Stripe::RequestParams
1665
+ class CompletedSessions < Stripe::RequestParams
1666
+ # The maximum number of checkout sessions that can be completed for the `completed_sessions` restriction to be met.
1667
+ sig { returns(Integer) }
1668
+ attr_accessor :limit
1669
+
1670
+ sig { params(limit: Integer).void }
1671
+ def initialize(limit: nil); end
1672
+ end
1673
+ # Configuration for the `completed_sessions` restriction type.
1674
+ sig { returns(::Stripe::PaymentLink::UpdateParams::Restrictions::CompletedSessions) }
1675
+ attr_accessor :completed_sessions
1676
+
1677
+ sig {
1678
+ params(completed_sessions: ::Stripe::PaymentLink::UpdateParams::Restrictions::CompletedSessions).void
1679
+ }
1680
+ def initialize(completed_sessions: nil); end
1681
+ end
1682
+ class ShippingAddressCollection < Stripe::RequestParams
1683
+ # An array of two-letter ISO country codes representing which countries Checkout should provide as options for
1684
+ # shipping locations.
1685
+ sig { returns(T::Array[String]) }
1686
+ attr_accessor :allowed_countries
1687
+
1688
+ sig { params(allowed_countries: T::Array[String]).void }
1689
+ def initialize(allowed_countries: nil); end
1690
+ end
1691
+ class SubscriptionData < Stripe::RequestParams
1692
+ class InvoiceSettings < Stripe::RequestParams
1693
+ class Issuer < Stripe::RequestParams
1694
+ # The connected account being referenced when `type` is `account`.
1695
+ sig { returns(String) }
1696
+ attr_accessor :account
1697
+
1698
+ # Type of the account referenced in the request.
1699
+ sig { returns(String) }
1700
+ attr_accessor :type
1701
+
1702
+ sig { params(account: String, type: String).void }
1703
+ def initialize(account: nil, type: nil); end
1704
+ end
1705
+ # The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account.
1706
+ sig {
1707
+ returns(::Stripe::PaymentLink::UpdateParams::SubscriptionData::InvoiceSettings::Issuer)
1708
+ }
1709
+ attr_accessor :issuer
1710
+
1711
+ sig {
1712
+ params(issuer: ::Stripe::PaymentLink::UpdateParams::SubscriptionData::InvoiceSettings::Issuer).void
1713
+ }
1714
+ def initialize(issuer: nil); end
1715
+ end
1716
+ class TrialSettings < Stripe::RequestParams
1717
+ class EndBehavior < Stripe::RequestParams
1718
+ # Indicates how the subscription should change when the trial ends if the user did not provide a payment method.
1719
+ sig { returns(String) }
1720
+ attr_accessor :missing_payment_method
1721
+
1722
+ sig { params(missing_payment_method: String).void }
1723
+ def initialize(missing_payment_method: nil); end
1724
+ end
1725
+ # Defines how the subscription should behave when the user's free trial ends.
1726
+ sig {
1727
+ returns(::Stripe::PaymentLink::UpdateParams::SubscriptionData::TrialSettings::EndBehavior)
1728
+ }
1729
+ attr_accessor :end_behavior
1730
+
1731
+ sig {
1732
+ params(end_behavior: ::Stripe::PaymentLink::UpdateParams::SubscriptionData::TrialSettings::EndBehavior).void
1733
+ }
1734
+ def initialize(end_behavior: nil); end
1735
+ end
1736
+ # All invoices will be billed using the specified settings.
1737
+ sig { returns(::Stripe::PaymentLink::UpdateParams::SubscriptionData::InvoiceSettings) }
1738
+ attr_accessor :invoice_settings
1739
+
1740
+ # 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.
1741
+ sig { returns(T.nilable(T::Hash[String, String])) }
1742
+ attr_accessor :metadata
1743
+
1744
+ # Integer representing the number of trial period days before the customer is charged for the first time. Has to be at least 1.
1745
+ sig { returns(T.nilable(Integer)) }
1746
+ attr_accessor :trial_period_days
1747
+
1748
+ # Settings related to subscription trials.
1749
+ sig {
1750
+ returns(T.nilable(::Stripe::PaymentLink::UpdateParams::SubscriptionData::TrialSettings))
1751
+ }
1752
+ attr_accessor :trial_settings
1753
+
1754
+ sig {
1755
+ 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
1756
+ }
1757
+ def initialize(
1758
+ invoice_settings: nil,
1759
+ metadata: nil,
1760
+ trial_period_days: nil,
1761
+ trial_settings: nil
1762
+ ); end
1763
+ end
1764
+ class TaxIdCollection < Stripe::RequestParams
1765
+ # Enable tax ID collection during checkout. Defaults to `false`.
1766
+ sig { returns(T::Boolean) }
1767
+ attr_accessor :enabled
1768
+
1769
+ # Describes whether a tax ID is required during checkout. Defaults to `never`.
1770
+ sig { returns(String) }
1771
+ attr_accessor :required
1772
+
1773
+ sig { params(enabled: T::Boolean, required: String).void }
1774
+ def initialize(enabled: nil, required: nil); end
1775
+ end
1776
+ # 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.
1777
+ sig { returns(T::Boolean) }
1778
+ attr_accessor :active
1779
+
1780
+ # Behavior after the purchase is complete.
1781
+ sig { returns(::Stripe::PaymentLink::UpdateParams::AfterCompletion) }
1782
+ attr_accessor :after_completion
1783
+
1784
+ # Enables user redeemable promotion codes.
1785
+ sig { returns(T::Boolean) }
1786
+ attr_accessor :allow_promotion_codes
1787
+
1788
+ # Configuration for automatic tax collection.
1789
+ sig { returns(::Stripe::PaymentLink::UpdateParams::AutomaticTax) }
1790
+ attr_accessor :automatic_tax
1791
+
1792
+ # Configuration for collecting the customer's billing address. Defaults to `auto`.
1793
+ sig { returns(String) }
1794
+ attr_accessor :billing_address_collection
1795
+
1796
+ # Collect additional information from your customer using custom fields. Up to 3 fields are supported.
1797
+ sig { returns(T.nilable(T::Array[::Stripe::PaymentLink::UpdateParams::CustomField])) }
1798
+ attr_accessor :custom_fields
1799
+
1800
+ # Display additional text for your customers using custom text.
1801
+ sig { returns(::Stripe::PaymentLink::UpdateParams::CustomText) }
1802
+ attr_accessor :custom_text
1803
+
1804
+ # 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).
1805
+ sig { returns(String) }
1806
+ attr_accessor :customer_creation
1807
+
1808
+ # Specifies which fields in the response should be expanded.
1809
+ sig { returns(T::Array[String]) }
1810
+ attr_accessor :expand
1811
+
1812
+ # The custom message to be displayed to a customer when a payment link is no longer active.
1813
+ sig { returns(T.nilable(String)) }
1814
+ attr_accessor :inactive_message
1815
+
1816
+ # Generate a post-purchase Invoice for one-time payments.
1817
+ sig { returns(::Stripe::PaymentLink::UpdateParams::InvoiceCreation) }
1818
+ attr_accessor :invoice_creation
1819
+
1820
+ # The line items representing what is being sold. Each line item represents an item being sold. Up to 20 line items are supported.
1821
+ sig { returns(T::Array[::Stripe::PaymentLink::UpdateParams::LineItem]) }
1822
+ attr_accessor :line_items
1823
+
1824
+ # 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.
1825
+ sig { returns(T::Hash[String, String]) }
1826
+ attr_accessor :metadata
1827
+
1828
+ # A subset of parameters to be passed to PaymentIntent creation for Checkout Sessions in `payment` mode.
1829
+ sig { returns(::Stripe::PaymentLink::UpdateParams::PaymentIntentData) }
1830
+ attr_accessor :payment_intent_data
1831
+
1832
+ # 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.
1833
+ #
1834
+ # Can only be set in `subscription` mode. Defaults to `always`.
1835
+ #
1836
+ # 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).
1837
+ sig { returns(String) }
1838
+ attr_accessor :payment_method_collection
1839
+
1840
+ # 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).
1841
+ sig { returns(T.nilable(T::Array[String])) }
1842
+ attr_accessor :payment_method_types
1843
+
1844
+ # Settings that restrict the usage of a payment link.
1845
+ sig { returns(T.nilable(::Stripe::PaymentLink::UpdateParams::Restrictions)) }
1846
+ attr_accessor :restrictions
1847
+
1848
+ # Configuration for collecting the customer's shipping address.
1849
+ sig { returns(T.nilable(::Stripe::PaymentLink::UpdateParams::ShippingAddressCollection)) }
1850
+ attr_accessor :shipping_address_collection
1851
+
1852
+ # 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`).
1853
+ sig { returns(String) }
1854
+ attr_accessor :submit_type
1855
+
1856
+ # 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`.
1857
+ sig { returns(::Stripe::PaymentLink::UpdateParams::SubscriptionData) }
1858
+ attr_accessor :subscription_data
1859
+
1860
+ # Controls tax ID collection during checkout.
1861
+ sig { returns(::Stripe::PaymentLink::UpdateParams::TaxIdCollection) }
1862
+ attr_accessor :tax_id_collection
1863
+
1864
+ sig {
1865
+ 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]), 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
1866
+ }
1867
+ def initialize(
1868
+ active: nil,
1869
+ after_completion: nil,
1870
+ allow_promotion_codes: nil,
1871
+ automatic_tax: nil,
1872
+ billing_address_collection: nil,
1873
+ custom_fields: nil,
1874
+ custom_text: nil,
1875
+ customer_creation: nil,
1876
+ expand: nil,
1877
+ inactive_message: nil,
1878
+ invoice_creation: nil,
1879
+ line_items: nil,
1880
+ metadata: nil,
1881
+ payment_intent_data: nil,
1882
+ payment_method_collection: nil,
1883
+ payment_method_types: nil,
1884
+ restrictions: nil,
1885
+ shipping_address_collection: nil,
1886
+ submit_type: nil,
1887
+ subscription_data: nil,
1888
+ tax_id_collection: nil
1889
+ ); end
1890
+ end
1891
+ class ListLineItemsParams < Stripe::RequestParams
1892
+ # 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.
1893
+ sig { returns(String) }
1894
+ attr_accessor :ending_before
1895
+
1896
+ # Specifies which fields in the response should be expanded.
1897
+ sig { returns(T::Array[String]) }
1898
+ attr_accessor :expand
1899
+
1900
+ # A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
1901
+ sig { returns(Integer) }
1902
+ attr_accessor :limit
1903
+
1904
+ # 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.
1905
+ sig { returns(String) }
1906
+ attr_accessor :starting_after
1907
+
1908
+ sig {
1909
+ params(ending_before: String, expand: T::Array[String], limit: Integer, starting_after: String).void
1910
+ }
1911
+ def initialize(ending_before: nil, expand: nil, limit: nil, starting_after: nil); end
1912
+ end
1913
+ # Creates a payment link.
1914
+ sig {
1915
+ params(params: T.any(::Stripe::PaymentLink::CreateParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::PaymentLink)
1916
+ }
1917
+ def self.create(params = {}, opts = {}); end
1918
+
1919
+ # Returns a list of your payment links.
1920
+ sig {
1921
+ params(params: T.any(::Stripe::PaymentLink::ListParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::ListObject)
1922
+ }
1923
+ def self.list(params = {}, opts = {}); end
1924
+
1925
+ # When retrieving a payment link, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.
1926
+ sig {
1927
+ params(params: T.any(::Stripe::PaymentLink::ListLineItemsParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::ListObject)
1928
+ }
1929
+ def list_line_items(params = {}, opts = {}); end
1930
+
1931
+ # When retrieving a payment link, there is an includable line_items property containing the first handful of those items. There is also a URL where you can retrieve the full (paginated) list of line items.
1932
+ sig {
1933
+ params(payment_link: String, params: T.any(::Stripe::PaymentLink::ListLineItemsParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::ListObject)
1934
+ }
1935
+ def self.list_line_items(payment_link, params = {}, opts = {}); end
1936
+
1937
+ # Updates a payment link.
1938
+ sig {
1939
+ params(id: String, params: T.any(::Stripe::PaymentLink::UpdateParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::PaymentLink)
1940
+ }
1941
+ def self.update(id, params = {}, opts = {}); end
1942
+ end
1943
+ end