stripe 13.3.0 → 13.4.0.pre.beta.2

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 +1416 -645
  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 +5071 -0
  11. data/lib/stripe/resources/account_link.rb +54 -0
  12. data/lib/stripe/resources/account_notice.rb +132 -0
  13. data/lib/stripe/resources/account_session.rb +877 -0
  14. data/lib/stripe/resources/apple_pay_domain.rb +63 -0
  15. data/lib/stripe/resources/application.rb +20 -0
  16. data/lib/stripe/resources/application_fee.rb +96 -0
  17. data/lib/stripe/resources/application_fee_refund.rb +17 -0
  18. data/lib/stripe/resources/apps/secret.rb +141 -0
  19. data/lib/stripe/resources/balance.rb +131 -0
  20. data/lib/stripe/resources/balance_transaction.rb +112 -0
  21. data/lib/stripe/resources/bank_account.rb +84 -2
  22. data/lib/stripe/resources/billing/alert.rb +144 -0
  23. data/lib/stripe/resources/billing/alert_triggered.rb +26 -0
  24. data/lib/stripe/resources/billing/credit_balance_summary.rb +77 -0
  25. data/lib/stripe/resources/billing/credit_balance_transaction.rb +116 -0
  26. data/lib/stripe/resources/billing/credit_grant.rb +203 -0
  27. data/lib/stripe/resources/billing/meter.rb +178 -0
  28. data/lib/stripe/resources/billing/meter_error_report.rb +59 -0
  29. data/lib/stripe/resources/billing/meter_event.rb +35 -0
  30. data/lib/stripe/resources/billing/meter_event_adjustment.rb +43 -0
  31. data/lib/stripe/resources/billing/meter_event_summary.rb +15 -0
  32. data/lib/stripe/resources/billing_portal/configuration.rb +562 -0
  33. data/lib/stripe/resources/billing_portal/session.rb +271 -0
  34. data/lib/stripe/resources/capability.rb +84 -0
  35. data/lib/stripe/resources/capital/financing_offer.rb +188 -0
  36. data/lib/stripe/resources/capital/financing_summary.rb +64 -0
  37. data/lib/stripe/resources/capital/financing_transaction.rb +123 -0
  38. data/lib/stripe/resources/card.rb +79 -0
  39. data/lib/stripe/resources/cash_balance.rb +17 -0
  40. data/lib/stripe/resources/charge.rb +3026 -0
  41. data/lib/stripe/resources/checkout/session.rb +3654 -0
  42. data/lib/stripe/resources/climate/order.rb +176 -0
  43. data/lib/stripe/resources/climate/product.rb +56 -0
  44. data/lib/stripe/resources/climate/supplier.rb +54 -0
  45. data/lib/stripe/resources/confirmation_token.rb +1520 -0
  46. data/lib/stripe/resources/connect_collection_transfer.rb +24 -0
  47. data/lib/stripe/resources/country_spec.rb +63 -0
  48. data/lib/stripe/resources/coupon.rb +198 -0
  49. data/lib/stripe/resources/credit_note.rb +660 -0
  50. data/lib/stripe/resources/credit_note_line_item.rb +65 -0
  51. data/lib/stripe/resources/customer.rb +840 -0
  52. data/lib/stripe/resources/customer_balance_transaction.rb +27 -0
  53. data/lib/stripe/resources/customer_cash_balance_transaction.rb +109 -0
  54. data/lib/stripe/resources/customer_session.rb +159 -0
  55. data/lib/stripe/resources/discount.rb +29 -0
  56. data/lib/stripe/resources/dispute.rb +619 -0
  57. data/lib/stripe/resources/entitlements/active_entitlement.rb +46 -0
  58. data/lib/stripe/resources/entitlements/active_entitlement_summary.rb +23 -0
  59. data/lib/stripe/resources/entitlements/feature.rb +90 -0
  60. data/lib/stripe/resources/ephemeral_key.rb +21 -0
  61. data/lib/stripe/resources/event.rb +130 -0
  62. data/lib/stripe/resources/exchange_rate.rb +33 -0
  63. data/lib/stripe/resources/file.rb +111 -0
  64. data/lib/stripe/resources/file_link.rb +112 -0
  65. data/lib/stripe/resources/financial_connections/account.rb +260 -0
  66. data/lib/stripe/resources/financial_connections/account_inferred_balance.rb +27 -0
  67. data/lib/stripe/resources/financial_connections/account_owner.rb +17 -0
  68. data/lib/stripe/resources/financial_connections/account_ownership.rb +9 -0
  69. data/lib/stripe/resources/financial_connections/institution.rb +99 -0
  70. data/lib/stripe/resources/financial_connections/session.rb +159 -0
  71. data/lib/stripe/resources/financial_connections/transaction.rb +101 -0
  72. data/lib/stripe/resources/forwarding/request.rb +165 -0
  73. data/lib/stripe/resources/funding_instructions.rb +308 -0
  74. data/lib/stripe/resources/gift_cards/card.rb +217 -0
  75. data/lib/stripe/resources/gift_cards/transaction.rb +281 -0
  76. data/lib/stripe/resources/identity/verification_report.rb +266 -0
  77. data/lib/stripe/resources/identity/verification_session.rb +361 -0
  78. data/lib/stripe/resources/invoice.rb +8078 -0
  79. data/lib/stripe/resources/invoice_item.rb +445 -0
  80. data/lib/stripe/resources/invoice_line_item.rb +333 -0
  81. data/lib/stripe/resources/invoice_payment.rb +56 -0
  82. data/lib/stripe/resources/invoice_rendering_template.rb +67 -0
  83. data/lib/stripe/resources/issuing/authorization.rb +1117 -2
  84. data/lib/stripe/resources/issuing/card.rb +666 -0
  85. data/lib/stripe/resources/issuing/cardholder.rb +658 -0
  86. data/lib/stripe/resources/issuing/credit_underwriting_record.rb +611 -0
  87. data/lib/stripe/resources/issuing/dispute.rb +790 -0
  88. data/lib/stripe/resources/issuing/dispute_settlement_detail.rb +84 -0
  89. data/lib/stripe/resources/issuing/fraud_liability_debit.rb +95 -0
  90. data/lib/stripe/resources/issuing/personalization_design.rb +285 -0
  91. data/lib/stripe/resources/issuing/physical_bundle.rb +63 -0
  92. data/lib/stripe/resources/issuing/settlement.rb +49 -0
  93. data/lib/stripe/resources/issuing/token.rb +175 -0
  94. data/lib/stripe/resources/issuing/transaction.rb +927 -0
  95. data/lib/stripe/resources/line_item.rb +75 -0
  96. data/lib/stripe/resources/login_link.rb +7 -0
  97. data/lib/stripe/resources/mandate.rb +169 -0
  98. data/lib/stripe/resources/margin.rb +124 -0
  99. data/lib/stripe/resources/order.rb +2850 -0
  100. data/lib/stripe/resources/payment_attempt_record.rb +184 -0
  101. data/lib/stripe/resources/payment_intent.rb +12864 -0
  102. data/lib/stripe/resources/payment_link.rb +1563 -0
  103. data/lib/stripe/resources/payment_method.rb +1638 -0
  104. data/lib/stripe/resources/payment_method_configuration.rb +2844 -0
  105. data/lib/stripe/resources/payment_method_domain.rb +153 -0
  106. data/lib/stripe/resources/payment_record.rb +715 -0
  107. data/lib/stripe/resources/payout.rb +218 -0
  108. data/lib/stripe/resources/person.rb +263 -0
  109. data/lib/stripe/resources/plan.rb +317 -0
  110. data/lib/stripe/resources/price.rb +649 -0
  111. data/lib/stripe/resources/product.rb +536 -0
  112. data/lib/stripe/resources/product_feature.rb +12 -0
  113. data/lib/stripe/resources/promotion_code.rb +221 -0
  114. data/lib/stripe/resources/quote.rb +2946 -0
  115. data/lib/stripe/resources/quote_line.rb +274 -0
  116. data/lib/stripe/resources/quote_preview_invoice.rb +652 -0
  117. data/lib/stripe/resources/quote_preview_subscription_schedule.rb +362 -0
  118. data/lib/stripe/resources/radar/early_fraud_warning.rb +77 -0
  119. data/lib/stripe/resources/radar/value_list.rb +125 -0
  120. data/lib/stripe/resources/radar/value_list_item.rb +95 -0
  121. data/lib/stripe/resources/refund.rb +397 -0
  122. data/lib/stripe/resources/reporting/report_run.rb +150 -0
  123. data/lib/stripe/resources/reporting/report_type.rb +36 -0
  124. data/lib/stripe/resources/reserve_transaction.rb +22 -0
  125. data/lib/stripe/resources/reversal.rb +21 -0
  126. data/lib/stripe/resources/review.rb +108 -0
  127. data/lib/stripe/resources/setup_attempt.rb +373 -0
  128. data/lib/stripe/resources/setup_intent.rb +3834 -0
  129. data/lib/stripe/resources/shipping_rate.rb +259 -0
  130. data/lib/stripe/resources/sigma/scheduled_query_run.rb +54 -0
  131. data/lib/stripe/resources/source.rb +1239 -0
  132. data/lib/stripe/resources/source_mandate_notification.rb +66 -0
  133. data/lib/stripe/resources/source_transaction.rb +85 -0
  134. data/lib/stripe/resources/subscription.rb +2057 -0
  135. data/lib/stripe/resources/subscription_item.rb +433 -0
  136. data/lib/stripe/resources/subscription_schedule.rb +2402 -0
  137. data/lib/stripe/resources/tax/association.rb +89 -0
  138. data/lib/stripe/resources/tax/calculation.rb +387 -0
  139. data/lib/stripe/resources/tax/calculation_line_item.rb +56 -0
  140. data/lib/stripe/resources/tax/form.rb +220 -0
  141. data/lib/stripe/resources/tax/registration.rb +2382 -0
  142. data/lib/stripe/resources/tax/settings.rb +126 -0
  143. data/lib/stripe/resources/tax/transaction.rb +267 -0
  144. data/lib/stripe/resources/tax/transaction_line_item.rb +31 -0
  145. data/lib/stripe/resources/tax_code.rb +35 -0
  146. data/lib/stripe/resources/tax_deducted_at_source.rb +22 -0
  147. data/lib/stripe/resources/tax_id.rb +121 -0
  148. data/lib/stripe/resources/tax_rate.rb +200 -0
  149. data/lib/stripe/resources/terminal/configuration.rb +1011 -0
  150. data/lib/stripe/resources/terminal/connection_token.rb +18 -0
  151. data/lib/stripe/resources/terminal/location.rb +175 -0
  152. data/lib/stripe/resources/terminal/reader.rb +782 -0
  153. data/lib/stripe/resources/terminal/reader_collected_data.rb +40 -0
  154. data/lib/stripe/resources/test_helpers/test_clock.rb +86 -0
  155. data/lib/stripe/resources/token.rb +1149 -0
  156. data/lib/stripe/resources/topup.rb +174 -0
  157. data/lib/stripe/resources/transfer.rb +153 -0
  158. data/lib/stripe/resources/treasury/credit_reversal.rb +92 -0
  159. data/lib/stripe/resources/treasury/debit_reversal.rb +103 -0
  160. data/lib/stripe/resources/treasury/financial_account.rb +772 -0
  161. data/lib/stripe/resources/treasury/financial_account_features.rb +191 -0
  162. data/lib/stripe/resources/treasury/inbound_transfer.rb +235 -0
  163. data/lib/stripe/resources/treasury/outbound_payment.rb +495 -0
  164. data/lib/stripe/resources/treasury/outbound_transfer.rb +387 -0
  165. data/lib/stripe/resources/treasury/received_credit.rb +283 -0
  166. data/lib/stripe/resources/treasury/received_debit.rb +244 -0
  167. data/lib/stripe/resources/treasury/transaction.rb +176 -0
  168. data/lib/stripe/resources/treasury/transaction_entry.rb +157 -0
  169. data/lib/stripe/resources/usage_record.rb +13 -0
  170. data/lib/stripe/resources/usage_record_summary.rb +21 -0
  171. data/lib/stripe/resources/v2/amount.rb +9 -0
  172. data/lib/stripe/resources/v2/billing/meter_event.rb +18 -0
  173. data/lib/stripe/resources/v2/billing/meter_event_adjustment.rb +21 -0
  174. data/lib/stripe/resources/v2/billing/meter_event_session.rb +14 -0
  175. data/lib/stripe/resources/v2/event.rb +27 -0
  176. data/lib/stripe/resources/v2/event_destination.rb +59 -0
  177. data/lib/stripe/resources/webhook_endpoint.rb +122 -0
  178. data/lib/stripe/resources.rb +31 -0
  179. data/lib/stripe/services/account_capability_service.rb +32 -0
  180. data/lib/stripe/services/account_external_account_service.rb +250 -0
  181. data/lib/stripe/services/account_link_service.rb +46 -0
  182. data/lib/stripe/services/account_login_link_service.rb +9 -0
  183. data/lib/stripe/services/account_notice_service.rb +101 -0
  184. data/lib/stripe/services/account_person_service.rb +875 -0
  185. data/lib/stripe/services/account_service.rb +4351 -0
  186. data/lib/stripe/services/account_session_service.rb +664 -0
  187. data/lib/stripe/services/apple_pay_domain_service.rb +51 -0
  188. data/lib/stripe/services/application_fee_refund_service.rb +54 -0
  189. data/lib/stripe/services/application_fee_service.rb +57 -0
  190. data/lib/stripe/services/apps/secret_service.rb +116 -0
  191. data/lib/stripe/services/balance_service.rb +9 -0
  192. data/lib/stripe/services/balance_transaction_service.rb +69 -0
  193. data/lib/stripe/services/billing/alert_service.rb +113 -0
  194. data/lib/stripe/services/billing/credit_balance_summary_service.rb +37 -0
  195. data/lib/stripe/services/billing/credit_balance_transaction_service.rb +40 -0
  196. data/lib/stripe/services/billing/credit_grant_service.rb +151 -0
  197. data/lib/stripe/services/billing/meter_event_adjustment_service.rb +26 -0
  198. data/lib/stripe/services/billing/meter_event_service.rb +21 -0
  199. data/lib/stripe/services/billing/meter_event_summary_service.rb +39 -0
  200. data/lib/stripe/services/billing/meter_service.rb +130 -0
  201. data/lib/stripe/services/billing_portal/configuration_service.rb +444 -0
  202. data/lib/stripe/services/billing_portal/session_service.rb +173 -0
  203. data/lib/stripe/services/capital/financing_offer_service.rb +112 -0
  204. data/lib/stripe/services/capital/financing_summary_service.rb +28 -0
  205. data/lib/stripe/services/capital/financing_transaction_service.rb +79 -0
  206. data/lib/stripe/services/capital_service.rb +15 -0
  207. data/lib/stripe/services/charge_service.rb +1736 -0
  208. data/lib/stripe/services/checkout/session_line_item_service.rb +18 -0
  209. data/lib/stripe/services/checkout/session_service.rb +2465 -0
  210. data/lib/stripe/services/climate/order_service.rb +102 -0
  211. data/lib/stripe/services/climate/product_service.rb +27 -0
  212. data/lib/stripe/services/climate/supplier_service.rb +27 -0
  213. data/lib/stripe/services/confirmation_token_service.rb +9 -0
  214. data/lib/stripe/services/country_spec_service.rb +27 -0
  215. data/lib/stripe/services/coupon_service.rb +152 -0
  216. data/lib/stripe/services/credit_note_line_item_service.rb +18 -0
  217. data/lib/stripe/services/credit_note_preview_lines_service.rb +156 -0
  218. data/lib/stripe/services/credit_note_service.rb +373 -0
  219. data/lib/stripe/services/customer_balance_transaction_service.rb +63 -0
  220. data/lib/stripe/services/customer_cash_balance_service.rb +29 -0
  221. data/lib/stripe/services/customer_cash_balance_transaction_service.rb +27 -0
  222. data/lib/stripe/services/customer_funding_instructions_service.rb +42 -0
  223. data/lib/stripe/services/customer_payment_method_service.rb +40 -0
  224. data/lib/stripe/services/customer_payment_source_service.rb +179 -0
  225. data/lib/stripe/services/customer_service.rb +593 -0
  226. data/lib/stripe/services/customer_session_service.rb +96 -0
  227. data/lib/stripe/services/customer_tax_id_service.rb +45 -0
  228. data/lib/stripe/services/dispute_service.rb +374 -0
  229. data/lib/stripe/services/entitlements/active_entitlement_service.rb +36 -0
  230. data/lib/stripe/services/entitlements/feature_service.rb +76 -0
  231. data/lib/stripe/services/ephemeral_key_service.rb +36 -0
  232. data/lib/stripe/services/event_service.rb +65 -0
  233. data/lib/stripe/services/exchange_rate_service.rb +27 -0
  234. data/lib/stripe/services/file_link_service.rb +94 -0
  235. data/lib/stripe/services/file_service.rb +89 -0
  236. data/lib/stripe/services/financial_connections/account_inferred_balance_service.rb +37 -0
  237. data/lib/stripe/services/financial_connections/account_owner_service.rb +27 -0
  238. data/lib/stripe/services/financial_connections/account_service.rb +99 -1
  239. data/lib/stripe/services/financial_connections/institution_service.rb +57 -0
  240. data/lib/stripe/services/financial_connections/session_service.rb +97 -0
  241. data/lib/stripe/services/financial_connections/transaction_service.rb +70 -0
  242. data/lib/stripe/services/financial_connections_service.rb +2 -1
  243. data/lib/stripe/services/forwarding/request_service.rb +106 -0
  244. data/lib/stripe/services/gift_cards/card_service.rb +170 -0
  245. data/lib/stripe/services/gift_cards/transaction_service.rb +209 -0
  246. data/lib/stripe/services/gift_cards_service.rb +14 -0
  247. data/lib/stripe/services/identity/verification_report_service.rb +65 -0
  248. data/lib/stripe/services/identity/verification_session_service.rb +231 -0
  249. data/lib/stripe/services/invoice_item_service.rb +388 -0
  250. data/lib/stripe/services/invoice_line_item_service.rb +237 -0
  251. data/lib/stripe/services/invoice_payment_service.rb +55 -0
  252. data/lib/stripe/services/invoice_rendering_template_service.rb +51 -0
  253. data/lib/stripe/services/invoice_service.rb +5567 -1
  254. data/lib/stripe/services/invoice_upcoming_lines_service.rb +1864 -0
  255. data/lib/stripe/services/issuing/authorization_service.rb +104 -0
  256. data/lib/stripe/services/issuing/card_service.rb +455 -0
  257. data/lib/stripe/services/issuing/cardholder_service.rb +526 -0
  258. data/lib/stripe/services/issuing/credit_underwriting_record_service.rb +504 -0
  259. data/lib/stripe/services/issuing/dispute_service.rb +633 -0
  260. data/lib/stripe/services/issuing/dispute_settlement_detail_service.rb +66 -0
  261. data/lib/stripe/services/issuing/fraud_liability_debit_service.rb +83 -0
  262. data/lib/stripe/services/issuing/personalization_design_service.rb +193 -0
  263. data/lib/stripe/services/issuing/physical_bundle_service.rb +40 -0
  264. data/lib/stripe/services/issuing/token_service.rb +73 -0
  265. data/lib/stripe/services/issuing/transaction_service.rb +81 -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 +119 -0
  269. data/lib/stripe/services/order_line_item_service.rb +35 -0
  270. data/lib/stripe/services/order_service.rb +2254 -0
  271. data/lib/stripe/services/payment_attempt_record_service.rb +49 -0
  272. data/lib/stripe/services/payment_intent_service.rb +10894 -0
  273. data/lib/stripe/services/payment_link_line_item_service.rb +18 -0
  274. data/lib/stripe/services/payment_link_service.rb +1223 -0
  275. data/lib/stripe/services/payment_method_configuration_service.rb +2046 -0
  276. data/lib/stripe/services/payment_method_domain_service.rb +76 -0
  277. data/lib/stripe/services/payment_method_service.rb +864 -0
  278. data/lib/stripe/services/payment_record_service.rb +542 -0
  279. data/lib/stripe/services/payout_service.rb +159 -0
  280. data/lib/stripe/services/plan_service.rb +253 -0
  281. data/lib/stripe/services/price_service.rb +516 -0
  282. data/lib/stripe/services/product_feature_service.rb +42 -0
  283. data/lib/stripe/services/product_service.rb +459 -0
  284. data/lib/stripe/services/promotion_code_service.rb +178 -0
  285. data/lib/stripe/services/quote_computed_upfront_line_items_service.rb +18 -0
  286. data/lib/stripe/services/quote_line_item_service.rb +18 -0
  287. data/lib/stripe/services/quote_line_service.rb +35 -0
  288. data/lib/stripe/services/quote_preview_invoice_service.rb +35 -0
  289. data/lib/stripe/services/quote_preview_subscription_schedule_service.rb +35 -0
  290. data/lib/stripe/services/quote_service.rb +2319 -1
  291. data/lib/stripe/services/radar/early_fraud_warning_service.rb +61 -0
  292. data/lib/stripe/services/radar/value_list_item_service.rb +79 -0
  293. data/lib/stripe/services/radar/value_list_service.rb +103 -0
  294. data/lib/stripe/services/refund_service.rb +137 -0
  295. data/lib/stripe/services/reporting/report_run_service.rb +106 -0
  296. data/lib/stripe/services/reporting/report_type_service.rb +18 -0
  297. data/lib/stripe/services/review_service.rb +56 -0
  298. data/lib/stripe/services/setup_attempt_service.rb +51 -0
  299. data/lib/stripe/services/setup_intent_service.rb +3476 -0
  300. data/lib/stripe/services/shipping_rate_service.rb +200 -0
  301. data/lib/stripe/services/sigma/scheduled_query_run_service.rb +27 -0
  302. data/lib/stripe/services/source_service.rb +601 -0
  303. data/lib/stripe/services/source_transaction_service.rb +18 -0
  304. data/lib/stripe/services/subscription_item_service.rb +383 -0
  305. data/lib/stripe/services/subscription_item_usage_record_service.rb +18 -0
  306. data/lib/stripe/services/subscription_item_usage_record_summary_service.rb +18 -0
  307. data/lib/stripe/services/subscription_schedule_service.rb +2053 -0
  308. data/lib/stripe/services/subscription_service.rb +1722 -0
  309. data/lib/stripe/services/tax/association_service.rb +31 -0
  310. data/lib/stripe/services/tax/calculation_line_item_service.rb +18 -0
  311. data/lib/stripe/services/tax/calculation_service.rb +205 -0
  312. data/lib/stripe/services/tax/form_service.rb +100 -0
  313. data/lib/stripe/services/tax/registration_service.rb +1564 -0
  314. data/lib/stripe/services/tax/settings_service.rb +74 -0
  315. data/lib/stripe/services/tax/transaction_line_item_service.rb +18 -0
  316. data/lib/stripe/services/tax/transaction_service.rb +111 -0
  317. data/lib/stripe/services/tax_code_service.rb +27 -0
  318. data/lib/stripe/services/tax_id_service.rb +79 -0
  319. data/lib/stripe/services/tax_rate_service.rb +155 -0
  320. data/lib/stripe/services/tax_service.rb +3 -1
  321. data/lib/stripe/services/terminal/configuration_service.rb +793 -0
  322. data/lib/stripe/services/terminal/connection_token_service.rb +12 -0
  323. data/lib/stripe/services/terminal/location_service.rb +144 -0
  324. data/lib/stripe/services/terminal/reader_collected_data_service.rb +28 -0
  325. data/lib/stripe/services/terminal/reader_service.rb +443 -0
  326. data/lib/stripe/services/terminal_service.rb +2 -1
  327. data/lib/stripe/services/test_helpers/confirmation_token_service.rb +673 -0
  328. data/lib/stripe/services/test_helpers/customer_service.rb +18 -0
  329. data/lib/stripe/services/test_helpers/issuing/authorization_service.rb +745 -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 +41 -0
  332. data/lib/stripe/services/test_helpers/issuing/transaction_service.rb +632 -0
  333. data/lib/stripe/services/test_helpers/refund_service.rb +9 -0
  334. data/lib/stripe/services/test_helpers/terminal/reader_service.rb +44 -0
  335. data/lib/stripe/services/test_helpers/test_clock_service.rb +57 -0
  336. data/lib/stripe/services/test_helpers/treasury/inbound_transfer_service.rb +38 -0
  337. data/lib/stripe/services/test_helpers/treasury/outbound_payment_service.rb +87 -0
  338. data/lib/stripe/services/test_helpers/treasury/outbound_transfer_service.rb +87 -0
  339. data/lib/stripe/services/test_helpers/treasury/received_credit_service.rb +84 -0
  340. data/lib/stripe/services/test_helpers/treasury/received_debit_service.rb +84 -0
  341. data/lib/stripe/services/token_service.rb +1121 -0
  342. data/lib/stripe/services/topup_service.rb +142 -0
  343. data/lib/stripe/services/transfer_reversal_service.rb +66 -0
  344. data/lib/stripe/services/transfer_service.rb +119 -0
  345. data/lib/stripe/services/treasury/credit_reversal_service.rb +59 -0
  346. data/lib/stripe/services/treasury/debit_reversal_service.rb +63 -0
  347. data/lib/stripe/services/treasury/financial_account_features_service.rb +169 -0
  348. data/lib/stripe/services/treasury/financial_account_service.rb +509 -0
  349. data/lib/stripe/services/treasury/inbound_transfer_service.rb +88 -0
  350. data/lib/stripe/services/treasury/outbound_payment_service.rb +258 -0
  351. data/lib/stripe/services/treasury/outbound_transfer_service.rb +148 -0
  352. data/lib/stripe/services/treasury/received_credit_service.rb +52 -0
  353. data/lib/stripe/services/treasury/received_debit_service.rb +40 -0
  354. data/lib/stripe/services/treasury/transaction_entry_service.rb +87 -0
  355. data/lib/stripe/services/treasury/transaction_service.rb +95 -0
  356. data/lib/stripe/services/v1_services.rb +8 -1
  357. data/lib/stripe/services/v2/billing/meter_event_adjustment_service.rb +23 -0
  358. data/lib/stripe/services/v2/billing/meter_event_service.rb +25 -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 +33 -0
  361. data/lib/stripe/services/v2/core/event_destination_service.rb +146 -0
  362. data/lib/stripe/services/v2/core/event_service.rb +18 -0
  363. data/lib/stripe/services/webhook_endpoint_service.rb +96 -0
  364. data/lib/stripe/services.rb +25 -0
  365. data/lib/stripe/stripe_client.rb +1 -1
  366. data/lib/stripe/stripe_configuration.rb +3 -1
  367. data/lib/stripe/stripe_object.rb +5 -0
  368. data/lib/stripe/util.rb +7 -1
  369. data/lib/stripe/version.rb +1 -1
  370. data/lib/stripe.rb +46 -0
  371. data/rbi/stripe/resources/account.rbi +5100 -0
  372. data/rbi/stripe/resources/account_link.rbi +74 -0
  373. data/rbi/stripe/resources/account_notice.rbi +139 -0
  374. data/rbi/stripe/resources/account_session.rbi +1007 -0
  375. data/rbi/stripe/resources/apple_pay_domain.rbi +97 -0
  376. data/rbi/stripe/resources/application.rbi +20 -0
  377. data/rbi/stripe/resources/application_fee.rbi +123 -0
  378. data/rbi/stripe/resources/application_fee_refund.rbi +37 -0
  379. data/rbi/stripe/resources/apps/secret.rbi +195 -0
  380. data/rbi/stripe/resources/balance.rbi +187 -0
  381. data/rbi/stripe/resources/balance_transaction.rbi +149 -0
  382. data/rbi/stripe/resources/bank_account.rbi +127 -0
  383. data/rbi/stripe/resources/billing/alert.rbi +206 -0
  384. data/rbi/stripe/resources/billing/alert_triggered.rbi +28 -0
  385. data/rbi/stripe/resources/billing/credit_balance_summary.rbi +102 -0
  386. data/rbi/stripe/resources/billing/credit_balance_transaction.rbi +154 -0
  387. data/rbi/stripe/resources/billing/credit_grant.rbi +269 -0
  388. data/rbi/stripe/resources/billing/meter.rbi +233 -0
  389. data/rbi/stripe/resources/billing/meter_error_report.rbi +71 -0
  390. data/rbi/stripe/resources/billing/meter_event.rbi +64 -0
  391. data/rbi/stripe/resources/billing/meter_event_adjustment.rbi +64 -0
  392. data/rbi/stripe/resources/billing/meter_event_summary.rbi +33 -0
  393. data/rbi/stripe/resources/billing_portal/configuration.rbi +640 -0
  394. data/rbi/stripe/resources/billing_portal/session.rbi +341 -0
  395. data/rbi/stripe/resources/capability.rbi +125 -0
  396. data/rbi/stripe/resources/capital/financing_offer.rbi +190 -0
  397. data/rbi/stripe/resources/capital/financing_summary.rbi +74 -0
  398. data/rbi/stripe/resources/capital/financing_transaction.rbi +130 -0
  399. data/rbi/stripe/resources/card.rbi +128 -0
  400. data/rbi/stripe/resources/cash_balance.rbi +32 -0
  401. data/rbi/stripe/resources/charge.rbi +3484 -0
  402. data/rbi/stripe/resources/checkout/session.rbi +3995 -0
  403. data/rbi/stripe/resources/climate/order.rbi +250 -0
  404. data/rbi/stripe/resources/climate/product.rbi +82 -0
  405. data/rbi/stripe/resources/climate/supplier.rbi +79 -0
  406. data/rbi/stripe/resources/confirmation_token.rbi +1776 -0
  407. data/rbi/stripe/resources/connect_collection_transfer.rbi +26 -0
  408. data/rbi/stripe/resources/country_spec.rbi +92 -0
  409. data/rbi/stripe/resources/coupon.rbi +257 -0
  410. data/rbi/stripe/resources/credit_note.rbi +759 -0
  411. data/rbi/stripe/resources/credit_note_line_item.rbi +99 -0
  412. data/rbi/stripe/resources/customer.rbi +1001 -0
  413. data/rbi/stripe/resources/customer_balance_transaction.rbi +53 -0
  414. data/rbi/stripe/resources/customer_cash_balance_transaction.rbi +151 -0
  415. data/rbi/stripe/resources/customer_session.rbi +196 -0
  416. data/rbi/stripe/resources/discount.rbi +53 -0
  417. data/rbi/stripe/resources/dispute.rbi +764 -0
  418. data/rbi/stripe/resources/entitlements/active_entitlement.rbi +65 -0
  419. data/rbi/stripe/resources/entitlements/active_entitlement_summary.rbi +23 -0
  420. data/rbi/stripe/resources/entitlements/feature.rbi +124 -0
  421. data/rbi/stripe/resources/ephemeral_key.rbi +44 -0
  422. data/rbi/stripe/resources/event.rbi +190 -0
  423. data/rbi/stripe/resources/exchange_rate.rbi +73 -0
  424. data/rbi/stripe/resources/file.rbi +148 -0
  425. data/rbi/stripe/resources/file_link.rbi +146 -0
  426. data/rbi/stripe/resources/financial_connections/account.rbi +358 -0
  427. data/rbi/stripe/resources/financial_connections/account_inferred_balance.rbi +27 -0
  428. data/rbi/stripe/resources/financial_connections/account_owner.rbi +35 -0
  429. data/rbi/stripe/resources/financial_connections/account_ownership.rbi +23 -0
  430. data/rbi/stripe/resources/financial_connections/institution.rbi +99 -0
  431. data/rbi/stripe/resources/financial_connections/session.rbi +186 -0
  432. data/rbi/stripe/resources/financial_connections/transaction.rbi +127 -0
  433. data/rbi/stripe/resources/forwarding/request.rbi +219 -0
  434. data/rbi/stripe/resources/funding_instructions.rbi +437 -0
  435. data/rbi/stripe/resources/gift_cards/card.rbi +206 -0
  436. data/rbi/stripe/resources/gift_cards/transaction.rbi +257 -0
  437. data/rbi/stripe/resources/identity/verification_report.rbi +354 -0
  438. data/rbi/stripe/resources/identity/verification_session.rbi +518 -0
  439. data/rbi/stripe/resources/invoice.rbi +8928 -0
  440. data/rbi/stripe/resources/invoice_item.rbi +514 -0
  441. data/rbi/stripe/resources/invoice_line_item.rbi +400 -0
  442. data/rbi/stripe/resources/invoice_payment.rbi +70 -0
  443. data/rbi/stripe/resources/invoice_rendering_template.rbi +114 -0
  444. data/rbi/stripe/resources/issuing/authorization.rbi +1266 -0
  445. data/rbi/stripe/resources/issuing/card.rbi +738 -0
  446. data/rbi/stripe/resources/issuing/cardholder.rbi +732 -0
  447. data/rbi/stripe/resources/issuing/credit_underwriting_record.rbi +622 -0
  448. data/rbi/stripe/resources/issuing/dispute.rbi +900 -0
  449. data/rbi/stripe/resources/issuing/dispute_settlement_detail.rbi +83 -0
  450. data/rbi/stripe/resources/issuing/fraud_liability_debit.rbi +90 -0
  451. data/rbi/stripe/resources/issuing/personalization_design.rbi +333 -0
  452. data/rbi/stripe/resources/issuing/physical_bundle.rbi +86 -0
  453. data/rbi/stripe/resources/issuing/settlement.rbi +62 -0
  454. data/rbi/stripe/resources/issuing/token.rbi +231 -0
  455. data/rbi/stripe/resources/issuing/transaction.rbi +1057 -0
  456. data/rbi/stripe/resources/line_item.rbi +108 -0
  457. data/rbi/stripe/resources/login_link.rbi +18 -0
  458. data/rbi/stripe/resources/mandate.rbi +219 -0
  459. data/rbi/stripe/resources/margin.rbi +127 -0
  460. data/rbi/stripe/resources/order.rbi +3016 -0
  461. data/rbi/stripe/resources/payment_attempt_record.rbi +215 -0
  462. data/rbi/stripe/resources/payment_intent.rbi +13843 -0
  463. data/rbi/stripe/resources/payment_link.rbi +1666 -0
  464. data/rbi/stripe/resources/payment_method.rbi +1908 -0
  465. data/rbi/stripe/resources/payment_method_configuration.rbi +3171 -0
  466. data/rbi/stripe/resources/payment_method_domain.rbi +217 -0
  467. data/rbi/stripe/resources/payment_record.rbi +722 -0
  468. data/rbi/stripe/resources/payout.rbi +299 -0
  469. data/rbi/stripe/resources/person.rbi +371 -0
  470. data/rbi/stripe/resources/plan.rbi +385 -0
  471. data/rbi/stripe/resources/price.rbi +731 -0
  472. data/rbi/stripe/resources/product.rbi +615 -0
  473. data/rbi/stripe/resources/product_feature.rbi +26 -0
  474. data/rbi/stripe/resources/promotion_code.rbi +266 -0
  475. data/rbi/stripe/resources/quote.rbi +3186 -0
  476. data/rbi/stripe/resources/quote_line.rbi +350 -0
  477. data/rbi/stripe/resources/quote_preview_invoice.rbi +850 -0
  478. data/rbi/stripe/resources/quote_preview_subscription_schedule.rbi +474 -0
  479. data/rbi/stripe/resources/radar/early_fraud_warning.rbi +101 -0
  480. data/rbi/stripe/resources/radar/value_list.rbi +175 -0
  481. data/rbi/stripe/resources/radar/value_list_item.rbi +134 -0
  482. data/rbi/stripe/resources/refund.rbi +515 -0
  483. data/rbi/stripe/resources/reporting/report_run.rbi +194 -0
  484. data/rbi/stripe/resources/reporting/report_type.rbi +64 -0
  485. data/rbi/stripe/resources/reserve_transaction.rbi +23 -0
  486. data/rbi/stripe/resources/reversal.rbi +51 -0
  487. data/rbi/stripe/resources/review.rbi +159 -0
  488. data/rbi/stripe/resources/setup_attempt.rbi +484 -0
  489. data/rbi/stripe/resources/setup_intent.rbi +4041 -0
  490. data/rbi/stripe/resources/shipping_rate.rbi +310 -0
  491. data/rbi/stripe/resources/sigma/scheduled_query_run.rbi +82 -0
  492. data/rbi/stripe/resources/source.rbi +1543 -0
  493. data/rbi/stripe/resources/source_mandate_notification.rbi +77 -0
  494. data/rbi/stripe/resources/source_transaction.rbi +127 -0
  495. data/rbi/stripe/resources/subscription.rbi +2308 -0
  496. data/rbi/stripe/resources/subscription_item.rbi +478 -0
  497. data/rbi/stripe/resources/subscription_schedule.rbi +2653 -0
  498. data/rbi/stripe/resources/tax/association.rbi +94 -0
  499. data/rbi/stripe/resources/tax/calculation.rbi +479 -0
  500. data/rbi/stripe/resources/tax/calculation_line_item.rbi +88 -0
  501. data/rbi/stripe/resources/tax/form.rbi +224 -0
  502. data/rbi/stripe/resources/tax/registration.rbi +2438 -0
  503. data/rbi/stripe/resources/tax/settings.rbi +148 -0
  504. data/rbi/stripe/resources/tax/transaction.rbi +356 -0
  505. data/rbi/stripe/resources/tax/transaction_line_item.rbi +54 -0
  506. data/rbi/stripe/resources/tax_code.rbi +51 -0
  507. data/rbi/stripe/resources/tax_deducted_at_source.rbi +23 -0
  508. data/rbi/stripe/resources/tax_id.rbi +174 -0
  509. data/rbi/stripe/resources/tax_rate.rbi +244 -0
  510. data/rbi/stripe/resources/terminal/configuration.rbi +1091 -0
  511. data/rbi/stripe/resources/terminal/connection_token.rbi +37 -0
  512. data/rbi/stripe/resources/terminal/location.rbi +231 -0
  513. data/rbi/stripe/resources/terminal/reader.rbi +952 -0
  514. data/rbi/stripe/resources/terminal/reader_collected_data.rbi +41 -0
  515. data/rbi/stripe/resources/test_helpers/test_clock.rbi +139 -0
  516. data/rbi/stripe/resources/token.rbi +1175 -0
  517. data/rbi/stripe/resources/topup.rbi +225 -0
  518. data/rbi/stripe/resources/transfer.rbi +204 -0
  519. data/rbi/stripe/resources/treasury/credit_reversal.rbi +126 -0
  520. data/rbi/stripe/resources/treasury/debit_reversal.rbi +138 -0
  521. data/rbi/stripe/resources/treasury/financial_account.rbi +870 -0
  522. data/rbi/stripe/resources/treasury/financial_account_features.rbi +263 -0
  523. data/rbi/stripe/resources/treasury/inbound_transfer.rbi +302 -0
  524. data/rbi/stripe/resources/treasury/outbound_payment.rbi +589 -0
  525. data/rbi/stripe/resources/treasury/outbound_transfer.rbi +473 -0
  526. data/rbi/stripe/resources/treasury/received_credit.rbi +348 -0
  527. data/rbi/stripe/resources/treasury/received_debit.rbi +305 -0
  528. data/rbi/stripe/resources/treasury/transaction.rbi +216 -0
  529. data/rbi/stripe/resources/treasury/transaction_entry.rbi +193 -0
  530. data/rbi/stripe/resources/usage_record.rbi +32 -0
  531. data/rbi/stripe/resources/usage_record_summary.rbi +38 -0
  532. data/rbi/stripe/resources/v2/amount.rbi +14 -0
  533. data/rbi/stripe/resources/v2/billing/meter_event.rbi +37 -0
  534. data/rbi/stripe/resources/v2/billing/meter_event_adjustment.rbi +41 -0
  535. data/rbi/stripe/resources/v2/billing/meter_event_session.rbi +31 -0
  536. data/rbi/stripe/resources/v2/event.rbi +47 -0
  537. data/rbi/stripe/resources/v2/event_destination.rbi +90 -0
  538. data/rbi/stripe/resources/webhook_endpoint.rbi +177 -0
  539. data/rbi/stripe/services/account_capability_service.rbi +51 -0
  540. data/rbi/stripe/services/account_external_account_service.rbi +306 -0
  541. data/rbi/stripe/services/account_link_service.rbi +58 -0
  542. data/rbi/stripe/services/account_login_link_service.rbi +22 -0
  543. data/rbi/stripe/services/account_notice_service.rbi +90 -0
  544. data/rbi/stripe/services/account_person_service.rbi +903 -0
  545. data/rbi/stripe/services/account_service.rbi +4185 -0
  546. data/rbi/stripe/services/account_session_service.rbi +757 -0
  547. data/rbi/stripe/services/apple_pay_domain_service.rbi +78 -0
  548. data/rbi/stripe/services/application_fee_refund_service.rbi +91 -0
  549. data/rbi/stripe/services/application_fee_service.rbi +74 -0
  550. data/rbi/stripe/services/apps/secret_service.rbi +151 -0
  551. data/rbi/stripe/services/apps_service.rbi +9 -0
  552. data/rbi/stripe/services/balance_service.rbi +21 -0
  553. data/rbi/stripe/services/balance_transaction_service.rbi +89 -0
  554. data/rbi/stripe/services/billing/alert_service.rbi +152 -0
  555. data/rbi/stripe/services/billing/credit_balance_summary_service.rbi +54 -0
  556. data/rbi/stripe/services/billing/credit_balance_transaction_service.rbi +59 -0
  557. data/rbi/stripe/services/billing/credit_grant_service.rbi +191 -0
  558. data/rbi/stripe/services/billing/meter_event_adjustment_service.rbi +40 -0
  559. data/rbi/stripe/services/billing/meter_event_service.rbi +42 -0
  560. data/rbi/stripe/services/billing/meter_event_summary_service.rbi +54 -0
  561. data/rbi/stripe/services/billing/meter_service.rbi +163 -0
  562. data/rbi/stripe/services/billing_portal/configuration_service.rbi +497 -0
  563. data/rbi/stripe/services/billing_portal/session_service.rbi +202 -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 +95 -0
  567. data/rbi/stripe/services/capital/financing_summary_service.rbi +22 -0
  568. data/rbi/stripe/services/capital/financing_transaction_service.rbi +68 -0
  569. data/rbi/stripe/services/capital_service.rbi +11 -0
  570. data/rbi/stripe/services/charge_service.rbi +1816 -0
  571. data/rbi/stripe/services/checkout/session_line_item_service.rbi +33 -0
  572. data/rbi/stripe/services/checkout/session_service.rbi +2582 -0
  573. data/rbi/stripe/services/checkout_service.rbi +9 -0
  574. data/rbi/stripe/services/climate/order_service.rbi +140 -0
  575. data/rbi/stripe/services/climate/product_service.rbi +46 -0
  576. data/rbi/stripe/services/climate/supplier_service.rbi +46 -0
  577. data/rbi/stripe/services/climate_service.rbi +11 -0
  578. data/rbi/stripe/services/confirmation_token_service.rbi +20 -0
  579. data/rbi/stripe/services/country_spec_service.rbi +44 -0
  580. data/rbi/stripe/services/coupon_service.rbi +190 -0
  581. data/rbi/stripe/services/credit_note_line_item_service.rbi +31 -0
  582. data/rbi/stripe/services/credit_note_preview_lines_service.rbi +167 -0
  583. data/rbi/stripe/services/credit_note_service.rbi +420 -0
  584. data/rbi/stripe/services/customer_balance_transaction_service.rbi +92 -0
  585. data/rbi/stripe/services/customer_cash_balance_service.rbi +45 -0
  586. data/rbi/stripe/services/customer_cash_balance_transaction_service.rbi +44 -0
  587. data/rbi/stripe/services/customer_funding_instructions_service.rbi +59 -0
  588. data/rbi/stripe/services/customer_payment_method_service.rbi +57 -0
  589. data/rbi/stripe/services/customer_payment_source_service.rbi +228 -0
  590. data/rbi/stripe/services/customer_service.rbi +647 -0
  591. data/rbi/stripe/services/customer_session_service.rbi +110 -0
  592. data/rbi/stripe/services/customer_tax_id_service.rbi +72 -0
  593. data/rbi/stripe/services/dispute_service.rbi +422 -0
  594. data/rbi/stripe/services/entitlements/active_entitlement_service.rbi +55 -0
  595. data/rbi/stripe/services/entitlements/feature_service.rbi +107 -0
  596. data/rbi/stripe/services/entitlements_service.rbi +10 -0
  597. data/rbi/stripe/services/ephemeral_key_service.rbi +53 -0
  598. data/rbi/stripe/services/event_service.rbi +81 -0
  599. data/rbi/stripe/services/exchange_rate_service.rbi +44 -0
  600. data/rbi/stripe/services/file_link_service.rbi +122 -0
  601. data/rbi/stripe/services/file_service.rbi +114 -0
  602. data/rbi/stripe/services/financial_connections/account_inferred_balance_service.rbi +33 -0
  603. data/rbi/stripe/services/financial_connections/account_owner_service.rbi +42 -0
  604. data/rbi/stripe/services/financial_connections/account_service.rbi +132 -0
  605. data/rbi/stripe/services/financial_connections/institution_service.rbi +46 -0
  606. data/rbi/stripe/services/financial_connections/session_service.rbi +111 -0
  607. data/rbi/stripe/services/financial_connections/transaction_service.rbi +90 -0
  608. data/rbi/stripe/services/financial_connections_service.rbi +12 -0
  609. data/rbi/stripe/services/forwarding/request_service.rbi +132 -0
  610. data/rbi/stripe/services/forwarding_service.rbi +9 -0
  611. data/rbi/stripe/services/gift_cards/card_service.rbi +142 -0
  612. data/rbi/stripe/services/gift_cards/transaction_service.rbi +174 -0
  613. data/rbi/stripe/services/gift_cards_service.rbi +10 -0
  614. data/rbi/stripe/services/identity/verification_report_service.rbi +85 -0
  615. data/rbi/stripe/services/identity/verification_session_service.rbi +317 -0
  616. data/rbi/stripe/services/identity_service.rbi +10 -0
  617. data/rbi/stripe/services/invoice_item_service.rbi +424 -0
  618. data/rbi/stripe/services/invoice_line_item_service.rbi +270 -0
  619. data/rbi/stripe/services/invoice_payment_service.rbi +44 -0
  620. data/rbi/stripe/services/invoice_rendering_template_service.rbi +82 -0
  621. data/rbi/stripe/services/invoice_service.rbi +6040 -0
  622. data/rbi/stripe/services/invoice_upcoming_lines_service.rbi +2023 -0
  623. data/rbi/stripe/services/issuing/authorization_service.rbi +140 -0
  624. data/rbi/stripe/services/issuing/card_service.rbi +479 -0
  625. data/rbi/stripe/services/issuing/cardholder_service.rbi +568 -0
  626. data/rbi/stripe/services/issuing/credit_underwriting_record_service.rbi +498 -0
  627. data/rbi/stripe/services/issuing/dispute_service.rbi +701 -0
  628. data/rbi/stripe/services/issuing/dispute_settlement_detail_service.rbi +55 -0
  629. data/rbi/stripe/services/issuing/fraud_liability_debit_service.rbi +73 -0
  630. data/rbi/stripe/services/issuing/personalization_design_service.rbi +233 -0
  631. data/rbi/stripe/services/issuing/physical_bundle_service.rbi +59 -0
  632. data/rbi/stripe/services/issuing/token_service.rbi +95 -0
  633. data/rbi/stripe/services/issuing/transaction_service.rbi +103 -0
  634. data/rbi/stripe/services/issuing_service.rbi +19 -0
  635. data/rbi/stripe/services/mandate_service.rbi +20 -0
  636. data/rbi/stripe/services/margin_service.rbi +104 -0
  637. data/rbi/stripe/services/order_line_item_service.rbi +31 -0
  638. data/rbi/stripe/services/order_service.rbi +2306 -0
  639. data/rbi/stripe/services/payment_attempt_record_service.rbi +36 -0
  640. data/rbi/stripe/services/payment_intent_service.rbi +11429 -0
  641. data/rbi/stripe/services/payment_link_line_item_service.rbi +31 -0
  642. data/rbi/stripe/services/payment_link_service.rbi +1250 -0
  643. data/rbi/stripe/services/payment_method_configuration_service.rbi +2171 -0
  644. data/rbi/stripe/services/payment_method_domain_service.rbi +110 -0
  645. data/rbi/stripe/services/payment_method_service.rbi +883 -0
  646. data/rbi/stripe/services/payment_record_service.rbi +521 -0
  647. data/rbi/stripe/services/payout_service.rbi +197 -0
  648. data/rbi/stripe/services/plan_service.rbi +286 -0
  649. data/rbi/stripe/services/price_service.rbi +551 -0
  650. data/rbi/stripe/services/product_feature_service.rbi +69 -0
  651. data/rbi/stripe/services/product_service.rbi +503 -0
  652. data/rbi/stripe/services/promotion_code_service.rbi +210 -0
  653. data/rbi/stripe/services/quote_computed_upfront_line_items_service.rbi +31 -0
  654. data/rbi/stripe/services/quote_line_item_service.rbi +31 -0
  655. data/rbi/stripe/services/quote_line_service.rbi +31 -0
  656. data/rbi/stripe/services/quote_preview_invoice_service.rbi +31 -0
  657. data/rbi/stripe/services/quote_preview_subscription_schedule_service.rbi +31 -0
  658. data/rbi/stripe/services/quote_service.rbi +2390 -0
  659. data/rbi/stripe/services/radar/early_fraud_warning_service.rbi +83 -0
  660. data/rbi/stripe/services/radar/value_list_item_service.rbi +107 -0
  661. data/rbi/stripe/services/radar/value_list_service.rbi +139 -0
  662. data/rbi/stripe/services/radar_service.rbi +11 -0
  663. data/rbi/stripe/services/refund_service.rbi +181 -0
  664. data/rbi/stripe/services/reporting/report_run_service.rbi +131 -0
  665. data/rbi/stripe/services/reporting/report_type_service.rbi +35 -0
  666. data/rbi/stripe/services/reporting_service.rbi +10 -0
  667. data/rbi/stripe/services/review_service.rbi +82 -0
  668. data/rbi/stripe/services/setup_attempt_service.rbi +63 -0
  669. data/rbi/stripe/services/setup_intent_service.rbi +3609 -0
  670. data/rbi/stripe/services/shipping_rate_service.rbi +235 -0
  671. data/rbi/stripe/services/sigma/scheduled_query_run_service.rbi +46 -0
  672. data/rbi/stripe/services/sigma_service.rbi +9 -0
  673. data/rbi/stripe/services/source_service.rbi +647 -0
  674. data/rbi/stripe/services/source_transaction_service.rbi +31 -0
  675. data/rbi/stripe/services/subscription_item_service.rbi +422 -0
  676. data/rbi/stripe/services/subscription_item_usage_record_service.rbi +37 -0
  677. data/rbi/stripe/services/subscription_item_usage_record_summary_service.rbi +33 -0
  678. data/rbi/stripe/services/subscription_schedule_service.rbi +2208 -0
  679. data/rbi/stripe/services/subscription_service.rbi +1870 -0
  680. data/rbi/stripe/services/tax/association_service.rbi +25 -0
  681. data/rbi/stripe/services/tax/calculation_line_item_service.rbi +33 -0
  682. data/rbi/stripe/services/tax/calculation_service.rbi +228 -0
  683. data/rbi/stripe/services/tax/form_service.rbi +85 -0
  684. data/rbi/stripe/services/tax/registration_service.rbi +1517 -0
  685. data/rbi/stripe/services/tax/settings_service.rbi +93 -0
  686. data/rbi/stripe/services/tax/transaction_line_item_service.rbi +33 -0
  687. data/rbi/stripe/services/tax/transaction_service.rbi +142 -0
  688. data/rbi/stripe/services/tax_code_service.rbi +44 -0
  689. data/rbi/stripe/services/tax_id_service.rbi +112 -0
  690. data/rbi/stripe/services/tax_rate_service.rbi +183 -0
  691. data/rbi/stripe/services/tax_service.rbi +14 -0
  692. data/rbi/stripe/services/terminal/configuration_service.rbi +822 -0
  693. data/rbi/stripe/services/terminal/connection_token_service.rbi +25 -0
  694. data/rbi/stripe/services/terminal/location_service.rbi +184 -0
  695. data/rbi/stripe/services/terminal/reader_collected_data_service.rbi +22 -0
  696. data/rbi/stripe/services/terminal/reader_service.rbi +513 -0
  697. data/rbi/stripe/services/terminal_service.rbi +13 -0
  698. data/rbi/stripe/services/test_helpers/confirmation_token_service.rbi +778 -0
  699. data/rbi/stripe/services/test_helpers/customer_service.rbi +33 -0
  700. data/rbi/stripe/services/test_helpers/issuing/authorization_service.rbi +836 -0
  701. data/rbi/stripe/services/test_helpers/issuing/card_service.rbi +76 -0
  702. data/rbi/stripe/services/test_helpers/issuing/personalization_design_service.rbi +67 -0
  703. data/rbi/stripe/services/test_helpers/issuing/transaction_service.rbi +705 -0
  704. data/rbi/stripe/services/test_helpers/issuing_service.rbi +14 -0
  705. data/rbi/stripe/services/test_helpers/refund_service.rbi +22 -0
  706. data/rbi/stripe/services/test_helpers/terminal/reader_service.rbi +62 -0
  707. data/rbi/stripe/services/test_helpers/terminal_service.rbi +11 -0
  708. data/rbi/stripe/services/test_helpers/test_clock_service.rbi +90 -0
  709. data/rbi/stripe/services/test_helpers/treasury/inbound_transfer_service.rbi +64 -0
  710. data/rbi/stripe/services/test_helpers/treasury/outbound_payment_service.rbi +123 -0
  711. data/rbi/stripe/services/test_helpers/treasury/outbound_transfer_service.rbi +123 -0
  712. data/rbi/stripe/services/test_helpers/treasury/received_credit_service.rbi +114 -0
  713. data/rbi/stripe/services/test_helpers/treasury/received_debit_service.rbi +114 -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 +1136 -0
  717. data/rbi/stripe/services/topup_service.rbi +172 -0
  718. data/rbi/stripe/services/transfer_reversal_service.rbi +99 -0
  719. data/rbi/stripe/services/transfer_service.rbi +150 -0
  720. data/rbi/stripe/services/treasury/credit_reversal_service.rbi +84 -0
  721. data/rbi/stripe/services/treasury/debit_reversal_service.rbi +88 -0
  722. data/rbi/stripe/services/treasury/financial_account_features_service.rbi +201 -0
  723. data/rbi/stripe/services/treasury/financial_account_service.rbi +566 -0
  724. data/rbi/stripe/services/treasury/inbound_transfer_service.rbi +117 -0
  725. data/rbi/stripe/services/treasury/outbound_payment_service.rbi +300 -0
  726. data/rbi/stripe/services/treasury/outbound_transfer_service.rbi +182 -0
  727. data/rbi/stripe/services/treasury/received_credit_service.rbi +70 -0
  728. data/rbi/stripe/services/treasury/received_debit_service.rbi +59 -0
  729. data/rbi/stripe/services/treasury/transaction_entry_service.rbi +107 -0
  730. data/rbi/stripe/services/treasury/transaction_service.rbi +114 -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 +39 -0
  734. data/rbi/stripe/services/v2/billing/meter_event_service.rbi +42 -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 +55 -0
  737. data/rbi/stripe/services/v2/billing_service.rbi +14 -0
  738. data/rbi/stripe/services/v2/core/event_destination_service.rbi +203 -0
  739. data/rbi/stripe/services/v2/core/event_service.rbi +39 -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 +131 -0
  743. metadata +435 -4
@@ -10,6 +10,1229 @@ module Stripe
10
10
  @line_items = Stripe::PaymentLinkLineItemService.new(@requestor)
11
11
  end
12
12
 
13
+ class ListParams < Stripe::RequestParams
14
+ # Only return payment links that are active or inactive (e.g., pass `false` to list all inactive payment links).
15
+ attr_accessor :active
16
+ # 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.
17
+ attr_accessor :ending_before
18
+ # Specifies which fields in the response should be expanded.
19
+ attr_accessor :expand
20
+ # A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
21
+ attr_accessor :limit
22
+ # 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.
23
+ attr_accessor :starting_after
24
+
25
+ def initialize(active: nil, ending_before: nil, expand: nil, limit: nil, starting_after: nil)
26
+ @active = active
27
+ @ending_before = ending_before
28
+ @expand = expand
29
+ @limit = limit
30
+ @starting_after = starting_after
31
+ end
32
+ end
33
+
34
+ class CreateParams < Stripe::RequestParams
35
+ class AfterCompletion < Stripe::RequestParams
36
+ class HostedConfirmation < Stripe::RequestParams
37
+ # A custom message to display to the customer after the purchase is complete.
38
+ attr_accessor :custom_message
39
+
40
+ def initialize(custom_message: nil)
41
+ @custom_message = custom_message
42
+ end
43
+ end
44
+
45
+ class Redirect < Stripe::RequestParams
46
+ # 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.
47
+ attr_accessor :url
48
+
49
+ def initialize(url: nil)
50
+ @url = url
51
+ end
52
+ end
53
+ # Configuration when `type=hosted_confirmation`.
54
+ attr_accessor :hosted_confirmation
55
+ # Configuration when `type=redirect`.
56
+ attr_accessor :redirect
57
+ # The specified behavior after the purchase is complete. Either `redirect` or `hosted_confirmation`.
58
+ attr_accessor :type
59
+
60
+ def initialize(hosted_confirmation: nil, redirect: nil, type: nil)
61
+ @hosted_confirmation = hosted_confirmation
62
+ @redirect = redirect
63
+ @type = type
64
+ end
65
+ end
66
+
67
+ class AutomaticTax < Stripe::RequestParams
68
+ class Liability < Stripe::RequestParams
69
+ # The connected account being referenced when `type` is `account`.
70
+ attr_accessor :account
71
+ # Type of the account referenced in the request.
72
+ attr_accessor :type
73
+
74
+ def initialize(account: nil, type: nil)
75
+ @account = account
76
+ @type = type
77
+ end
78
+ end
79
+ # Set to `true` to [calculate tax automatically](https://docs.stripe.com/tax) using the customer's location.
80
+ #
81
+ # Enabling this parameter causes the payment link to collect any billing address information necessary for tax calculation.
82
+ attr_accessor :enabled
83
+ # 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.
84
+ attr_accessor :liability
85
+
86
+ def initialize(enabled: nil, liability: nil)
87
+ @enabled = enabled
88
+ @liability = liability
89
+ end
90
+ end
91
+
92
+ class ConsentCollection < Stripe::RequestParams
93
+ class PaymentMethodReuseAgreement < Stripe::RequestParams
94
+ # Determines the position and visibility of the payment method reuse agreement in the UI. When set to `auto`, Stripe's
95
+ # defaults will be used. When set to `hidden`, the payment method reuse agreement text will always be hidden in the UI.
96
+ attr_accessor :position
97
+
98
+ def initialize(position: nil)
99
+ @position = position
100
+ end
101
+ end
102
+ # 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.
103
+ attr_accessor :payment_method_reuse_agreement
104
+ # If set to `auto`, enables the collection of customer consent for promotional communications. The Checkout
105
+ # Session will determine whether to display an option to opt into promotional communication
106
+ # from the merchant depending on the customer's locale. Only available to US merchants.
107
+ attr_accessor :promotions
108
+ # If set to `required`, it requires customers to check a terms of service checkbox before being able to pay.
109
+ # There must be a valid terms of service URL set in your [Dashboard settings](https://dashboard.stripe.com/settings/public).
110
+ attr_accessor :terms_of_service
111
+
112
+ def initialize(payment_method_reuse_agreement: nil, promotions: nil, terms_of_service: nil)
113
+ @payment_method_reuse_agreement = payment_method_reuse_agreement
114
+ @promotions = promotions
115
+ @terms_of_service = terms_of_service
116
+ end
117
+ end
118
+
119
+ class CustomField < Stripe::RequestParams
120
+ class Dropdown < Stripe::RequestParams
121
+ class Option < Stripe::RequestParams
122
+ # The label for the option, displayed to the customer. Up to 100 characters.
123
+ attr_accessor :label
124
+ # 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.
125
+ attr_accessor :value
126
+
127
+ def initialize(label: nil, value: nil)
128
+ @label = label
129
+ @value = value
130
+ end
131
+ end
132
+ # The options available for the customer to select. Up to 200 options allowed.
133
+ attr_accessor :options
134
+
135
+ def initialize(options: nil)
136
+ @options = options
137
+ end
138
+ end
139
+
140
+ class Label < Stripe::RequestParams
141
+ # Custom text for the label, displayed to the customer. Up to 50 characters.
142
+ attr_accessor :custom
143
+ # The type of the label.
144
+ attr_accessor :type
145
+
146
+ def initialize(custom: nil, type: nil)
147
+ @custom = custom
148
+ @type = type
149
+ end
150
+ end
151
+
152
+ class Numeric < Stripe::RequestParams
153
+ # The maximum character length constraint for the customer's input.
154
+ attr_accessor :maximum_length
155
+ # The minimum character length requirement for the customer's input.
156
+ attr_accessor :minimum_length
157
+
158
+ def initialize(maximum_length: nil, minimum_length: nil)
159
+ @maximum_length = maximum_length
160
+ @minimum_length = minimum_length
161
+ end
162
+ end
163
+
164
+ class Text < Stripe::RequestParams
165
+ # The maximum character length constraint for the customer's input.
166
+ attr_accessor :maximum_length
167
+ # The minimum character length requirement for the customer's input.
168
+ attr_accessor :minimum_length
169
+
170
+ def initialize(maximum_length: nil, minimum_length: nil)
171
+ @maximum_length = maximum_length
172
+ @minimum_length = minimum_length
173
+ end
174
+ end
175
+ # Configuration for `type=dropdown` fields.
176
+ attr_accessor :dropdown
177
+ # 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.
178
+ attr_accessor :key
179
+ # The label for the field, displayed to the customer.
180
+ attr_accessor :label
181
+ # Configuration for `type=numeric` fields.
182
+ attr_accessor :numeric
183
+ # Whether the customer is required to complete the field before completing the Checkout Session. Defaults to `false`.
184
+ attr_accessor :optional
185
+ # Configuration for `type=text` fields.
186
+ attr_accessor :text
187
+ # The type of the field.
188
+ attr_accessor :type
189
+
190
+ def initialize(
191
+ dropdown: nil,
192
+ key: nil,
193
+ label: nil,
194
+ numeric: nil,
195
+ optional: nil,
196
+ text: nil,
197
+ type: nil
198
+ )
199
+ @dropdown = dropdown
200
+ @key = key
201
+ @label = label
202
+ @numeric = numeric
203
+ @optional = optional
204
+ @text = text
205
+ @type = type
206
+ end
207
+ end
208
+
209
+ class CustomText < Stripe::RequestParams
210
+ class AfterSubmit < Stripe::RequestParams
211
+ # Text may be up to 1200 characters in length.
212
+ attr_accessor :message
213
+
214
+ def initialize(message: nil)
215
+ @message = message
216
+ end
217
+ end
218
+
219
+ class ShippingAddress < Stripe::RequestParams
220
+ # Text may be up to 1200 characters in length.
221
+ attr_accessor :message
222
+
223
+ def initialize(message: nil)
224
+ @message = message
225
+ end
226
+ end
227
+
228
+ class Submit < Stripe::RequestParams
229
+ # Text may be up to 1200 characters in length.
230
+ attr_accessor :message
231
+
232
+ def initialize(message: nil)
233
+ @message = message
234
+ end
235
+ end
236
+
237
+ class TermsOfServiceAcceptance < Stripe::RequestParams
238
+ # Text may be up to 1200 characters in length.
239
+ attr_accessor :message
240
+
241
+ def initialize(message: nil)
242
+ @message = message
243
+ end
244
+ end
245
+ # Custom text that should be displayed after the payment confirmation button.
246
+ attr_accessor :after_submit
247
+ # Custom text that should be displayed alongside shipping address collection.
248
+ attr_accessor :shipping_address
249
+ # Custom text that should be displayed alongside the payment confirmation button.
250
+ attr_accessor :submit
251
+ # Custom text that should be displayed in place of the default terms of service agreement text.
252
+ attr_accessor :terms_of_service_acceptance
253
+
254
+ def initialize(
255
+ after_submit: nil,
256
+ shipping_address: nil,
257
+ submit: nil,
258
+ terms_of_service_acceptance: nil
259
+ )
260
+ @after_submit = after_submit
261
+ @shipping_address = shipping_address
262
+ @submit = submit
263
+ @terms_of_service_acceptance = terms_of_service_acceptance
264
+ end
265
+ end
266
+
267
+ class InvoiceCreation < Stripe::RequestParams
268
+ class InvoiceData < Stripe::RequestParams
269
+ class CustomField < Stripe::RequestParams
270
+ # The name of the custom field. This may be up to 40 characters.
271
+ attr_accessor :name
272
+ # The value of the custom field. This may be up to 140 characters.
273
+ attr_accessor :value
274
+
275
+ def initialize(name: nil, value: nil)
276
+ @name = name
277
+ @value = value
278
+ end
279
+ end
280
+
281
+ class Issuer < Stripe::RequestParams
282
+ # The connected account being referenced when `type` is `account`.
283
+ attr_accessor :account
284
+ # Type of the account referenced in the request.
285
+ attr_accessor :type
286
+
287
+ def initialize(account: nil, type: nil)
288
+ @account = account
289
+ @type = type
290
+ end
291
+ end
292
+
293
+ class RenderingOptions < Stripe::RequestParams
294
+ # 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.
295
+ attr_accessor :amount_tax_display
296
+
297
+ def initialize(amount_tax_display: nil)
298
+ @amount_tax_display = amount_tax_display
299
+ end
300
+ end
301
+ # The account tax IDs associated with the invoice.
302
+ attr_accessor :account_tax_ids
303
+ # Default custom fields to be displayed on invoices for this customer.
304
+ attr_accessor :custom_fields
305
+ # An arbitrary string attached to the object. Often useful for displaying to users.
306
+ attr_accessor :description
307
+ # Default footer to be displayed on invoices for this customer.
308
+ attr_accessor :footer
309
+ # The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account.
310
+ attr_accessor :issuer
311
+ # 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`.
312
+ attr_accessor :metadata
313
+ # Default options for invoice PDF rendering for this customer.
314
+ attr_accessor :rendering_options
315
+
316
+ def initialize(
317
+ account_tax_ids: nil,
318
+ custom_fields: nil,
319
+ description: nil,
320
+ footer: nil,
321
+ issuer: nil,
322
+ metadata: nil,
323
+ rendering_options: nil
324
+ )
325
+ @account_tax_ids = account_tax_ids
326
+ @custom_fields = custom_fields
327
+ @description = description
328
+ @footer = footer
329
+ @issuer = issuer
330
+ @metadata = metadata
331
+ @rendering_options = rendering_options
332
+ end
333
+ end
334
+ # Whether the feature is enabled
335
+ attr_accessor :enabled
336
+ # Invoice PDF configuration.
337
+ attr_accessor :invoice_data
338
+
339
+ def initialize(enabled: nil, invoice_data: nil)
340
+ @enabled = enabled
341
+ @invoice_data = invoice_data
342
+ end
343
+ end
344
+
345
+ class LineItem < Stripe::RequestParams
346
+ class AdjustableQuantity < Stripe::RequestParams
347
+ # Set to true if the quantity can be adjusted to any non-negative Integer.
348
+ attr_accessor :enabled
349
+ # The maximum quantity the customer can purchase. By default this value is 99. You can specify a value up to 999.
350
+ attr_accessor :maximum
351
+ # 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.
352
+ attr_accessor :minimum
353
+
354
+ def initialize(enabled: nil, maximum: nil, minimum: nil)
355
+ @enabled = enabled
356
+ @maximum = maximum
357
+ @minimum = minimum
358
+ end
359
+ end
360
+ # When set, provides configuration for this item’s quantity to be adjusted by the customer during checkout.
361
+ attr_accessor :adjustable_quantity
362
+ # The ID of the [Price](https://stripe.com/docs/api/prices) or [Plan](https://stripe.com/docs/api/plans) object.
363
+ attr_accessor :price
364
+ # The quantity of the line item being purchased.
365
+ attr_accessor :quantity
366
+
367
+ def initialize(adjustable_quantity: nil, price: nil, quantity: nil)
368
+ @adjustable_quantity = adjustable_quantity
369
+ @price = price
370
+ @quantity = quantity
371
+ end
372
+ end
373
+
374
+ class PaymentIntentData < Stripe::RequestParams
375
+ # Controls when the funds will be captured from the customer's account.
376
+ attr_accessor :capture_method
377
+ # An arbitrary string attached to the object. Often useful for displaying to users.
378
+ attr_accessor :description
379
+ # 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.
380
+ attr_accessor :metadata
381
+ # 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.
382
+ #
383
+ # When setting this to `on_session`, Checkout will show a notice to the customer that their payment details will be saved.
384
+ #
385
+ # 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.
386
+ #
387
+ # If a Customer has been provided or Checkout creates a new Customer,Checkout will attach the payment method to the Customer.
388
+ #
389
+ # 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.
390
+ #
391
+ # 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.
392
+ attr_accessor :setup_future_usage
393
+ # 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).
394
+ #
395
+ # 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.
396
+ attr_accessor :statement_descriptor
397
+ # 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.
398
+ attr_accessor :statement_descriptor_suffix
399
+ # 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.
400
+ attr_accessor :transfer_group
401
+
402
+ def initialize(
403
+ capture_method: nil,
404
+ description: nil,
405
+ metadata: nil,
406
+ setup_future_usage: nil,
407
+ statement_descriptor: nil,
408
+ statement_descriptor_suffix: nil,
409
+ transfer_group: nil
410
+ )
411
+ @capture_method = capture_method
412
+ @description = description
413
+ @metadata = metadata
414
+ @setup_future_usage = setup_future_usage
415
+ @statement_descriptor = statement_descriptor
416
+ @statement_descriptor_suffix = statement_descriptor_suffix
417
+ @transfer_group = transfer_group
418
+ end
419
+ end
420
+
421
+ class PhoneNumberCollection < Stripe::RequestParams
422
+ # Set to `true` to enable phone number collection.
423
+ attr_accessor :enabled
424
+
425
+ def initialize(enabled: nil)
426
+ @enabled = enabled
427
+ end
428
+ end
429
+
430
+ class Restrictions < Stripe::RequestParams
431
+ class CompletedSessions < Stripe::RequestParams
432
+ # The maximum number of checkout sessions that can be completed for the `completed_sessions` restriction to be met.
433
+ attr_accessor :limit
434
+
435
+ def initialize(limit: nil)
436
+ @limit = limit
437
+ end
438
+ end
439
+ # Configuration for the `completed_sessions` restriction type.
440
+ attr_accessor :completed_sessions
441
+
442
+ def initialize(completed_sessions: nil)
443
+ @completed_sessions = completed_sessions
444
+ end
445
+ end
446
+
447
+ class ShippingAddressCollection < Stripe::RequestParams
448
+ # An array of two-letter ISO country codes representing which countries Checkout should provide as options for
449
+ # shipping locations.
450
+ attr_accessor :allowed_countries
451
+
452
+ def initialize(allowed_countries: nil)
453
+ @allowed_countries = allowed_countries
454
+ end
455
+ end
456
+
457
+ class ShippingOption < Stripe::RequestParams
458
+ # The ID of the Shipping Rate to use for this shipping option.
459
+ attr_accessor :shipping_rate
460
+
461
+ def initialize(shipping_rate: nil)
462
+ @shipping_rate = shipping_rate
463
+ end
464
+ end
465
+
466
+ class SubscriptionData < Stripe::RequestParams
467
+ class InvoiceSettings < Stripe::RequestParams
468
+ class Issuer < Stripe::RequestParams
469
+ # The connected account being referenced when `type` is `account`.
470
+ attr_accessor :account
471
+ # Type of the account referenced in the request.
472
+ attr_accessor :type
473
+
474
+ def initialize(account: nil, type: nil)
475
+ @account = account
476
+ @type = type
477
+ end
478
+ end
479
+ # The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account.
480
+ attr_accessor :issuer
481
+
482
+ def initialize(issuer: nil)
483
+ @issuer = issuer
484
+ end
485
+ end
486
+
487
+ class TrialSettings < Stripe::RequestParams
488
+ class EndBehavior < Stripe::RequestParams
489
+ # Indicates how the subscription should change when the trial ends if the user did not provide a payment method.
490
+ attr_accessor :missing_payment_method
491
+
492
+ def initialize(missing_payment_method: nil)
493
+ @missing_payment_method = missing_payment_method
494
+ end
495
+ end
496
+ # Defines how the subscription should behave when the user's free trial ends.
497
+ attr_accessor :end_behavior
498
+
499
+ def initialize(end_behavior: nil)
500
+ @end_behavior = end_behavior
501
+ end
502
+ end
503
+ # 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.
504
+ attr_accessor :description
505
+ # All invoices will be billed using the specified settings.
506
+ attr_accessor :invoice_settings
507
+ # 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.
508
+ attr_accessor :metadata
509
+ # Integer representing the number of trial period days before the customer is charged for the first time. Has to be at least 1.
510
+ attr_accessor :trial_period_days
511
+ # Settings related to subscription trials.
512
+ attr_accessor :trial_settings
513
+
514
+ def initialize(
515
+ description: nil,
516
+ invoice_settings: nil,
517
+ metadata: nil,
518
+ trial_period_days: nil,
519
+ trial_settings: nil
520
+ )
521
+ @description = description
522
+ @invoice_settings = invoice_settings
523
+ @metadata = metadata
524
+ @trial_period_days = trial_period_days
525
+ @trial_settings = trial_settings
526
+ end
527
+ end
528
+
529
+ class TaxIdCollection < Stripe::RequestParams
530
+ # Enable tax ID collection during checkout. Defaults to `false`.
531
+ attr_accessor :enabled
532
+ # Describes whether a tax ID is required during checkout. Defaults to `never`.
533
+ attr_accessor :required
534
+
535
+ def initialize(enabled: nil, required: nil)
536
+ @enabled = enabled
537
+ @required = required
538
+ end
539
+ end
540
+
541
+ class TransferData < Stripe::RequestParams
542
+ # The amount that will be transferred automatically when a charge succeeds.
543
+ attr_accessor :amount
544
+ # If specified, successful charges will be attributed to the destination
545
+ # account for tax reporting, and the funds from charges will be transferred
546
+ # to the destination account. The ID of the resulting transfer will be
547
+ # returned on the successful charge's `transfer` field.
548
+ attr_accessor :destination
549
+
550
+ def initialize(amount: nil, destination: nil)
551
+ @amount = amount
552
+ @destination = destination
553
+ end
554
+ end
555
+ # Behavior after the purchase is complete.
556
+ attr_accessor :after_completion
557
+ # Enables user redeemable promotion codes.
558
+ attr_accessor :allow_promotion_codes
559
+ # 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.
560
+ attr_accessor :application_fee_amount
561
+ # 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.
562
+ attr_accessor :application_fee_percent
563
+ # Configuration for automatic tax collection.
564
+ attr_accessor :automatic_tax
565
+ # Configuration for collecting the customer's billing address. Defaults to `auto`.
566
+ attr_accessor :billing_address_collection
567
+ # Configure fields to gather active consent from customers.
568
+ attr_accessor :consent_collection
569
+ # 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.
570
+ attr_accessor :currency
571
+ # Collect additional information from your customer using custom fields. Up to 3 fields are supported.
572
+ attr_accessor :custom_fields
573
+ # Display additional text for your customers using custom text.
574
+ attr_accessor :custom_text
575
+ # 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).
576
+ attr_accessor :customer_creation
577
+ # Specifies which fields in the response should be expanded.
578
+ attr_accessor :expand
579
+ # The custom message to be displayed to a customer when a payment link is no longer active.
580
+ attr_accessor :inactive_message
581
+ # Generate a post-purchase Invoice for one-time payments.
582
+ attr_accessor :invoice_creation
583
+ # The line items representing what is being sold. Each line item represents an item being sold. Up to 20 line items are supported.
584
+ attr_accessor :line_items
585
+ # 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.
586
+ attr_accessor :metadata
587
+ # The account on behalf of which to charge.
588
+ attr_accessor :on_behalf_of
589
+ # A subset of parameters to be passed to PaymentIntent creation for Checkout Sessions in `payment` mode.
590
+ attr_accessor :payment_intent_data
591
+ # 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.
592
+ #
593
+ # Can only be set in `subscription` mode. Defaults to `always`.
594
+ #
595
+ # 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).
596
+ attr_accessor :payment_method_collection
597
+ # 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)).
598
+ attr_accessor :payment_method_types
599
+ # Controls phone number collection settings during checkout.
600
+ #
601
+ # We recommend that you review your privacy policy and check with your legal contacts.
602
+ attr_accessor :phone_number_collection
603
+ # Settings that restrict the usage of a payment link.
604
+ attr_accessor :restrictions
605
+ # Configuration for collecting the customer's shipping address.
606
+ attr_accessor :shipping_address_collection
607
+ # The shipping rate options to apply to [checkout sessions](https://stripe.com/docs/api/checkout/sessions) created by this payment link.
608
+ attr_accessor :shipping_options
609
+ # 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`).
610
+ attr_accessor :submit_type
611
+ # 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`.
612
+ attr_accessor :subscription_data
613
+ # Controls tax ID collection during checkout.
614
+ attr_accessor :tax_id_collection
615
+ # The account (if any) the payments will be attributed to for tax reporting, and where funds from each payment will be transferred to.
616
+ attr_accessor :transfer_data
617
+
618
+ def initialize(
619
+ after_completion: nil,
620
+ allow_promotion_codes: nil,
621
+ application_fee_amount: nil,
622
+ application_fee_percent: nil,
623
+ automatic_tax: nil,
624
+ billing_address_collection: nil,
625
+ consent_collection: nil,
626
+ currency: nil,
627
+ custom_fields: nil,
628
+ custom_text: nil,
629
+ customer_creation: nil,
630
+ expand: nil,
631
+ inactive_message: nil,
632
+ invoice_creation: nil,
633
+ line_items: nil,
634
+ metadata: nil,
635
+ on_behalf_of: nil,
636
+ payment_intent_data: nil,
637
+ payment_method_collection: nil,
638
+ payment_method_types: nil,
639
+ phone_number_collection: nil,
640
+ restrictions: nil,
641
+ shipping_address_collection: nil,
642
+ shipping_options: nil,
643
+ submit_type: nil,
644
+ subscription_data: nil,
645
+ tax_id_collection: nil,
646
+ transfer_data: nil
647
+ )
648
+ @after_completion = after_completion
649
+ @allow_promotion_codes = allow_promotion_codes
650
+ @application_fee_amount = application_fee_amount
651
+ @application_fee_percent = application_fee_percent
652
+ @automatic_tax = automatic_tax
653
+ @billing_address_collection = billing_address_collection
654
+ @consent_collection = consent_collection
655
+ @currency = currency
656
+ @custom_fields = custom_fields
657
+ @custom_text = custom_text
658
+ @customer_creation = customer_creation
659
+ @expand = expand
660
+ @inactive_message = inactive_message
661
+ @invoice_creation = invoice_creation
662
+ @line_items = line_items
663
+ @metadata = metadata
664
+ @on_behalf_of = on_behalf_of
665
+ @payment_intent_data = payment_intent_data
666
+ @payment_method_collection = payment_method_collection
667
+ @payment_method_types = payment_method_types
668
+ @phone_number_collection = phone_number_collection
669
+ @restrictions = restrictions
670
+ @shipping_address_collection = shipping_address_collection
671
+ @shipping_options = shipping_options
672
+ @submit_type = submit_type
673
+ @subscription_data = subscription_data
674
+ @tax_id_collection = tax_id_collection
675
+ @transfer_data = transfer_data
676
+ end
677
+ end
678
+
679
+ class RetrieveParams < Stripe::RequestParams
680
+ # Specifies which fields in the response should be expanded.
681
+ attr_accessor :expand
682
+
683
+ def initialize(expand: nil)
684
+ @expand = expand
685
+ end
686
+ end
687
+
688
+ class UpdateParams < Stripe::RequestParams
689
+ class AfterCompletion < Stripe::RequestParams
690
+ class HostedConfirmation < Stripe::RequestParams
691
+ # A custom message to display to the customer after the purchase is complete.
692
+ attr_accessor :custom_message
693
+
694
+ def initialize(custom_message: nil)
695
+ @custom_message = custom_message
696
+ end
697
+ end
698
+
699
+ class Redirect < Stripe::RequestParams
700
+ # 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.
701
+ attr_accessor :url
702
+
703
+ def initialize(url: nil)
704
+ @url = url
705
+ end
706
+ end
707
+ # Configuration when `type=hosted_confirmation`.
708
+ attr_accessor :hosted_confirmation
709
+ # Configuration when `type=redirect`.
710
+ attr_accessor :redirect
711
+ # The specified behavior after the purchase is complete. Either `redirect` or `hosted_confirmation`.
712
+ attr_accessor :type
713
+
714
+ def initialize(hosted_confirmation: nil, redirect: nil, type: nil)
715
+ @hosted_confirmation = hosted_confirmation
716
+ @redirect = redirect
717
+ @type = type
718
+ end
719
+ end
720
+
721
+ class AutomaticTax < Stripe::RequestParams
722
+ class Liability < Stripe::RequestParams
723
+ # The connected account being referenced when `type` is `account`.
724
+ attr_accessor :account
725
+ # Type of the account referenced in the request.
726
+ attr_accessor :type
727
+
728
+ def initialize(account: nil, type: nil)
729
+ @account = account
730
+ @type = type
731
+ end
732
+ end
733
+ # Set to `true` to [calculate tax automatically](https://docs.stripe.com/tax) using the customer's location.
734
+ #
735
+ # Enabling this parameter causes the payment link to collect any billing address information necessary for tax calculation.
736
+ attr_accessor :enabled
737
+ # 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.
738
+ attr_accessor :liability
739
+
740
+ def initialize(enabled: nil, liability: nil)
741
+ @enabled = enabled
742
+ @liability = liability
743
+ end
744
+ end
745
+
746
+ class CustomField < Stripe::RequestParams
747
+ class Dropdown < Stripe::RequestParams
748
+ class Option < Stripe::RequestParams
749
+ # The label for the option, displayed to the customer. Up to 100 characters.
750
+ attr_accessor :label
751
+ # 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.
752
+ attr_accessor :value
753
+
754
+ def initialize(label: nil, value: nil)
755
+ @label = label
756
+ @value = value
757
+ end
758
+ end
759
+ # The options available for the customer to select. Up to 200 options allowed.
760
+ attr_accessor :options
761
+
762
+ def initialize(options: nil)
763
+ @options = options
764
+ end
765
+ end
766
+
767
+ class Label < Stripe::RequestParams
768
+ # Custom text for the label, displayed to the customer. Up to 50 characters.
769
+ attr_accessor :custom
770
+ # The type of the label.
771
+ attr_accessor :type
772
+
773
+ def initialize(custom: nil, type: nil)
774
+ @custom = custom
775
+ @type = type
776
+ end
777
+ end
778
+
779
+ class Numeric < Stripe::RequestParams
780
+ # The maximum character length constraint for the customer's input.
781
+ attr_accessor :maximum_length
782
+ # The minimum character length requirement for the customer's input.
783
+ attr_accessor :minimum_length
784
+
785
+ def initialize(maximum_length: nil, minimum_length: nil)
786
+ @maximum_length = maximum_length
787
+ @minimum_length = minimum_length
788
+ end
789
+ end
790
+
791
+ class Text < Stripe::RequestParams
792
+ # The maximum character length constraint for the customer's input.
793
+ attr_accessor :maximum_length
794
+ # The minimum character length requirement for the customer's input.
795
+ attr_accessor :minimum_length
796
+
797
+ def initialize(maximum_length: nil, minimum_length: nil)
798
+ @maximum_length = maximum_length
799
+ @minimum_length = minimum_length
800
+ end
801
+ end
802
+ # Configuration for `type=dropdown` fields.
803
+ attr_accessor :dropdown
804
+ # 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.
805
+ attr_accessor :key
806
+ # The label for the field, displayed to the customer.
807
+ attr_accessor :label
808
+ # Configuration for `type=numeric` fields.
809
+ attr_accessor :numeric
810
+ # Whether the customer is required to complete the field before completing the Checkout Session. Defaults to `false`.
811
+ attr_accessor :optional
812
+ # Configuration for `type=text` fields.
813
+ attr_accessor :text
814
+ # The type of the field.
815
+ attr_accessor :type
816
+
817
+ def initialize(
818
+ dropdown: nil,
819
+ key: nil,
820
+ label: nil,
821
+ numeric: nil,
822
+ optional: nil,
823
+ text: nil,
824
+ type: nil
825
+ )
826
+ @dropdown = dropdown
827
+ @key = key
828
+ @label = label
829
+ @numeric = numeric
830
+ @optional = optional
831
+ @text = text
832
+ @type = type
833
+ end
834
+ end
835
+
836
+ class CustomText < Stripe::RequestParams
837
+ class AfterSubmit < Stripe::RequestParams
838
+ # Text may be up to 1200 characters in length.
839
+ attr_accessor :message
840
+
841
+ def initialize(message: nil)
842
+ @message = message
843
+ end
844
+ end
845
+
846
+ class ShippingAddress < Stripe::RequestParams
847
+ # Text may be up to 1200 characters in length.
848
+ attr_accessor :message
849
+
850
+ def initialize(message: nil)
851
+ @message = message
852
+ end
853
+ end
854
+
855
+ class Submit < Stripe::RequestParams
856
+ # Text may be up to 1200 characters in length.
857
+ attr_accessor :message
858
+
859
+ def initialize(message: nil)
860
+ @message = message
861
+ end
862
+ end
863
+
864
+ class TermsOfServiceAcceptance < Stripe::RequestParams
865
+ # Text may be up to 1200 characters in length.
866
+ attr_accessor :message
867
+
868
+ def initialize(message: nil)
869
+ @message = message
870
+ end
871
+ end
872
+ # Custom text that should be displayed after the payment confirmation button.
873
+ attr_accessor :after_submit
874
+ # Custom text that should be displayed alongside shipping address collection.
875
+ attr_accessor :shipping_address
876
+ # Custom text that should be displayed alongside the payment confirmation button.
877
+ attr_accessor :submit
878
+ # Custom text that should be displayed in place of the default terms of service agreement text.
879
+ attr_accessor :terms_of_service_acceptance
880
+
881
+ def initialize(
882
+ after_submit: nil,
883
+ shipping_address: nil,
884
+ submit: nil,
885
+ terms_of_service_acceptance: nil
886
+ )
887
+ @after_submit = after_submit
888
+ @shipping_address = shipping_address
889
+ @submit = submit
890
+ @terms_of_service_acceptance = terms_of_service_acceptance
891
+ end
892
+ end
893
+
894
+ class InvoiceCreation < Stripe::RequestParams
895
+ class InvoiceData < Stripe::RequestParams
896
+ class CustomField < Stripe::RequestParams
897
+ # The name of the custom field. This may be up to 40 characters.
898
+ attr_accessor :name
899
+ # The value of the custom field. This may be up to 140 characters.
900
+ attr_accessor :value
901
+
902
+ def initialize(name: nil, value: nil)
903
+ @name = name
904
+ @value = value
905
+ end
906
+ end
907
+
908
+ class Issuer < Stripe::RequestParams
909
+ # The connected account being referenced when `type` is `account`.
910
+ attr_accessor :account
911
+ # Type of the account referenced in the request.
912
+ attr_accessor :type
913
+
914
+ def initialize(account: nil, type: nil)
915
+ @account = account
916
+ @type = type
917
+ end
918
+ end
919
+
920
+ class RenderingOptions < Stripe::RequestParams
921
+ # 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.
922
+ attr_accessor :amount_tax_display
923
+
924
+ def initialize(amount_tax_display: nil)
925
+ @amount_tax_display = amount_tax_display
926
+ end
927
+ end
928
+ # The account tax IDs associated with the invoice.
929
+ attr_accessor :account_tax_ids
930
+ # Default custom fields to be displayed on invoices for this customer.
931
+ attr_accessor :custom_fields
932
+ # An arbitrary string attached to the object. Often useful for displaying to users.
933
+ attr_accessor :description
934
+ # Default footer to be displayed on invoices for this customer.
935
+ attr_accessor :footer
936
+ # The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account.
937
+ attr_accessor :issuer
938
+ # 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`.
939
+ attr_accessor :metadata
940
+ # Default options for invoice PDF rendering for this customer.
941
+ attr_accessor :rendering_options
942
+
943
+ def initialize(
944
+ account_tax_ids: nil,
945
+ custom_fields: nil,
946
+ description: nil,
947
+ footer: nil,
948
+ issuer: nil,
949
+ metadata: nil,
950
+ rendering_options: nil
951
+ )
952
+ @account_tax_ids = account_tax_ids
953
+ @custom_fields = custom_fields
954
+ @description = description
955
+ @footer = footer
956
+ @issuer = issuer
957
+ @metadata = metadata
958
+ @rendering_options = rendering_options
959
+ end
960
+ end
961
+ # Whether the feature is enabled
962
+ attr_accessor :enabled
963
+ # Invoice PDF configuration.
964
+ attr_accessor :invoice_data
965
+
966
+ def initialize(enabled: nil, invoice_data: nil)
967
+ @enabled = enabled
968
+ @invoice_data = invoice_data
969
+ end
970
+ end
971
+
972
+ class LineItem < Stripe::RequestParams
973
+ class AdjustableQuantity < Stripe::RequestParams
974
+ # Set to true if the quantity can be adjusted to any non-negative Integer.
975
+ attr_accessor :enabled
976
+ # The maximum quantity the customer can purchase. By default this value is 99. You can specify a value up to 999.
977
+ attr_accessor :maximum
978
+ # 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.
979
+ attr_accessor :minimum
980
+
981
+ def initialize(enabled: nil, maximum: nil, minimum: nil)
982
+ @enabled = enabled
983
+ @maximum = maximum
984
+ @minimum = minimum
985
+ end
986
+ end
987
+ # When set, provides configuration for this item’s quantity to be adjusted by the customer during checkout.
988
+ attr_accessor :adjustable_quantity
989
+ # The ID of an existing line item on the payment link.
990
+ attr_accessor :id
991
+ # The quantity of the line item being purchased.
992
+ attr_accessor :quantity
993
+
994
+ def initialize(adjustable_quantity: nil, id: nil, quantity: nil)
995
+ @adjustable_quantity = adjustable_quantity
996
+ @id = id
997
+ @quantity = quantity
998
+ end
999
+ end
1000
+
1001
+ class PaymentIntentData < Stripe::RequestParams
1002
+ # An arbitrary string attached to the object. Often useful for displaying to users.
1003
+ attr_accessor :description
1004
+ # 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.
1005
+ attr_accessor :metadata
1006
+ # 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).
1007
+ #
1008
+ # 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.
1009
+ attr_accessor :statement_descriptor
1010
+ # 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.
1011
+ attr_accessor :statement_descriptor_suffix
1012
+ # 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.
1013
+ attr_accessor :transfer_group
1014
+
1015
+ def initialize(
1016
+ description: nil,
1017
+ metadata: nil,
1018
+ statement_descriptor: nil,
1019
+ statement_descriptor_suffix: nil,
1020
+ transfer_group: nil
1021
+ )
1022
+ @description = description
1023
+ @metadata = metadata
1024
+ @statement_descriptor = statement_descriptor
1025
+ @statement_descriptor_suffix = statement_descriptor_suffix
1026
+ @transfer_group = transfer_group
1027
+ end
1028
+ end
1029
+
1030
+ class PhoneNumberCollection < Stripe::RequestParams
1031
+ # Set to `true` to enable phone number collection.
1032
+ attr_accessor :enabled
1033
+
1034
+ def initialize(enabled: nil)
1035
+ @enabled = enabled
1036
+ end
1037
+ end
1038
+
1039
+ class Restrictions < Stripe::RequestParams
1040
+ class CompletedSessions < Stripe::RequestParams
1041
+ # The maximum number of checkout sessions that can be completed for the `completed_sessions` restriction to be met.
1042
+ attr_accessor :limit
1043
+
1044
+ def initialize(limit: nil)
1045
+ @limit = limit
1046
+ end
1047
+ end
1048
+ # Configuration for the `completed_sessions` restriction type.
1049
+ attr_accessor :completed_sessions
1050
+
1051
+ def initialize(completed_sessions: nil)
1052
+ @completed_sessions = completed_sessions
1053
+ end
1054
+ end
1055
+
1056
+ class ShippingAddressCollection < Stripe::RequestParams
1057
+ # An array of two-letter ISO country codes representing which countries Checkout should provide as options for
1058
+ # shipping locations.
1059
+ attr_accessor :allowed_countries
1060
+
1061
+ def initialize(allowed_countries: nil)
1062
+ @allowed_countries = allowed_countries
1063
+ end
1064
+ end
1065
+
1066
+ class SubscriptionData < Stripe::RequestParams
1067
+ class InvoiceSettings < Stripe::RequestParams
1068
+ class Issuer < Stripe::RequestParams
1069
+ # The connected account being referenced when `type` is `account`.
1070
+ attr_accessor :account
1071
+ # Type of the account referenced in the request.
1072
+ attr_accessor :type
1073
+
1074
+ def initialize(account: nil, type: nil)
1075
+ @account = account
1076
+ @type = type
1077
+ end
1078
+ end
1079
+ # The connected account that issues the invoice. The invoice is presented with the branding and support information of the specified account.
1080
+ attr_accessor :issuer
1081
+
1082
+ def initialize(issuer: nil)
1083
+ @issuer = issuer
1084
+ end
1085
+ end
1086
+
1087
+ class TrialSettings < Stripe::RequestParams
1088
+ class EndBehavior < Stripe::RequestParams
1089
+ # Indicates how the subscription should change when the trial ends if the user did not provide a payment method.
1090
+ attr_accessor :missing_payment_method
1091
+
1092
+ def initialize(missing_payment_method: nil)
1093
+ @missing_payment_method = missing_payment_method
1094
+ end
1095
+ end
1096
+ # Defines how the subscription should behave when the user's free trial ends.
1097
+ attr_accessor :end_behavior
1098
+
1099
+ def initialize(end_behavior: nil)
1100
+ @end_behavior = end_behavior
1101
+ end
1102
+ end
1103
+ # All invoices will be billed using the specified settings.
1104
+ attr_accessor :invoice_settings
1105
+ # 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.
1106
+ attr_accessor :metadata
1107
+ # Integer representing the number of trial period days before the customer is charged for the first time. Has to be at least 1.
1108
+ attr_accessor :trial_period_days
1109
+ # Settings related to subscription trials.
1110
+ attr_accessor :trial_settings
1111
+
1112
+ def initialize(
1113
+ invoice_settings: nil,
1114
+ metadata: nil,
1115
+ trial_period_days: nil,
1116
+ trial_settings: nil
1117
+ )
1118
+ @invoice_settings = invoice_settings
1119
+ @metadata = metadata
1120
+ @trial_period_days = trial_period_days
1121
+ @trial_settings = trial_settings
1122
+ end
1123
+ end
1124
+
1125
+ class TaxIdCollection < Stripe::RequestParams
1126
+ # Enable tax ID collection during checkout. Defaults to `false`.
1127
+ attr_accessor :enabled
1128
+ # Describes whether a tax ID is required during checkout. Defaults to `never`.
1129
+ attr_accessor :required
1130
+
1131
+ def initialize(enabled: nil, required: nil)
1132
+ @enabled = enabled
1133
+ @required = required
1134
+ end
1135
+ end
1136
+ # 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.
1137
+ attr_accessor :active
1138
+ # Behavior after the purchase is complete.
1139
+ attr_accessor :after_completion
1140
+ # Enables user redeemable promotion codes.
1141
+ attr_accessor :allow_promotion_codes
1142
+ # Configuration for automatic tax collection.
1143
+ attr_accessor :automatic_tax
1144
+ # Configuration for collecting the customer's billing address. Defaults to `auto`.
1145
+ attr_accessor :billing_address_collection
1146
+ # Collect additional information from your customer using custom fields. Up to 3 fields are supported.
1147
+ attr_accessor :custom_fields
1148
+ # Display additional text for your customers using custom text.
1149
+ attr_accessor :custom_text
1150
+ # 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).
1151
+ attr_accessor :customer_creation
1152
+ # Specifies which fields in the response should be expanded.
1153
+ attr_accessor :expand
1154
+ # The custom message to be displayed to a customer when a payment link is no longer active.
1155
+ attr_accessor :inactive_message
1156
+ # Generate a post-purchase Invoice for one-time payments.
1157
+ attr_accessor :invoice_creation
1158
+ # The line items representing what is being sold. Each line item represents an item being sold. Up to 20 line items are supported.
1159
+ attr_accessor :line_items
1160
+ # 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.
1161
+ attr_accessor :metadata
1162
+ # A subset of parameters to be passed to PaymentIntent creation for Checkout Sessions in `payment` mode.
1163
+ attr_accessor :payment_intent_data
1164
+ # 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.
1165
+ #
1166
+ # Can only be set in `subscription` mode. Defaults to `always`.
1167
+ #
1168
+ # 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).
1169
+ attr_accessor :payment_method_collection
1170
+ # 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).
1171
+ attr_accessor :payment_method_types
1172
+ # Controls phone number collection settings during checkout.
1173
+ #
1174
+ # We recommend that you review your privacy policy and check with your legal contacts.
1175
+ attr_accessor :phone_number_collection
1176
+ # Settings that restrict the usage of a payment link.
1177
+ attr_accessor :restrictions
1178
+ # Configuration for collecting the customer's shipping address.
1179
+ attr_accessor :shipping_address_collection
1180
+ # 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`).
1181
+ attr_accessor :submit_type
1182
+ # 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`.
1183
+ attr_accessor :subscription_data
1184
+ # Controls tax ID collection during checkout.
1185
+ attr_accessor :tax_id_collection
1186
+
1187
+ def initialize(
1188
+ active: nil,
1189
+ after_completion: nil,
1190
+ allow_promotion_codes: nil,
1191
+ automatic_tax: nil,
1192
+ billing_address_collection: nil,
1193
+ custom_fields: nil,
1194
+ custom_text: nil,
1195
+ customer_creation: nil,
1196
+ expand: nil,
1197
+ inactive_message: nil,
1198
+ invoice_creation: nil,
1199
+ line_items: nil,
1200
+ metadata: nil,
1201
+ payment_intent_data: nil,
1202
+ payment_method_collection: nil,
1203
+ payment_method_types: nil,
1204
+ phone_number_collection: nil,
1205
+ restrictions: nil,
1206
+ shipping_address_collection: nil,
1207
+ submit_type: nil,
1208
+ subscription_data: nil,
1209
+ tax_id_collection: nil
1210
+ )
1211
+ @active = active
1212
+ @after_completion = after_completion
1213
+ @allow_promotion_codes = allow_promotion_codes
1214
+ @automatic_tax = automatic_tax
1215
+ @billing_address_collection = billing_address_collection
1216
+ @custom_fields = custom_fields
1217
+ @custom_text = custom_text
1218
+ @customer_creation = customer_creation
1219
+ @expand = expand
1220
+ @inactive_message = inactive_message
1221
+ @invoice_creation = invoice_creation
1222
+ @line_items = line_items
1223
+ @metadata = metadata
1224
+ @payment_intent_data = payment_intent_data
1225
+ @payment_method_collection = payment_method_collection
1226
+ @payment_method_types = payment_method_types
1227
+ @phone_number_collection = phone_number_collection
1228
+ @restrictions = restrictions
1229
+ @shipping_address_collection = shipping_address_collection
1230
+ @submit_type = submit_type
1231
+ @subscription_data = subscription_data
1232
+ @tax_id_collection = tax_id_collection
1233
+ end
1234
+ end
1235
+
13
1236
  # Creates a payment link.
14
1237
  def create(params = {}, opts = {})
15
1238
  request(