stripe 14.1.0.pre.beta.1 → 15.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (574) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +689 -1512
  3. data/OPENAPI_VERSION +1 -1
  4. data/README.md +3 -3
  5. data/VERSION +1 -1
  6. data/lib/stripe/api_operations/save.rb +2 -1
  7. data/lib/stripe/api_operations/singleton_save.rb +2 -1
  8. data/lib/stripe/api_requestor.rb +3 -29
  9. data/lib/stripe/api_resource.rb +10 -3
  10. data/lib/stripe/api_version.rb +1 -1
  11. data/lib/stripe/errors.rb +0 -54
  12. data/lib/stripe/event_types.rb +0 -75
  13. data/lib/stripe/object_types.rb +0 -48
  14. data/lib/stripe/request_options.rb +2 -1
  15. data/lib/stripe/resources/account.rb +1 -653
  16. data/lib/stripe/resources/account_session.rb +1 -247
  17. data/lib/stripe/resources/billing/credit_balance_summary.rb +0 -2
  18. data/lib/stripe/resources/billing/credit_balance_transaction.rb +0 -4
  19. data/lib/stripe/resources/billing/credit_grant.rb +0 -10
  20. data/lib/stripe/resources/billing_portal/session.rb +0 -6
  21. data/lib/stripe/resources/card.rb +0 -2
  22. data/lib/stripe/resources/cash_balance.rb +0 -2
  23. data/lib/stripe/resources/charge.rb +0 -1454
  24. data/lib/stripe/resources/checkout/session.rb +4 -260
  25. data/lib/stripe/resources/confirmation_token.rb +0 -234
  26. data/lib/stripe/resources/coupon.rb +1 -1
  27. data/lib/stripe/resources/credit_note.rb +0 -10
  28. data/lib/stripe/resources/credit_note_line_item.rb +0 -9
  29. data/lib/stripe/resources/customer.rb +0 -2
  30. data/lib/stripe/resources/customer_balance_transaction.rb +0 -2
  31. data/lib/stripe/resources/customer_cash_balance_transaction.rb +0 -2
  32. data/lib/stripe/resources/customer_session.rb +1 -6
  33. data/lib/stripe/resources/discount.rb +0 -2
  34. data/lib/stripe/resources/event.rb +0 -33
  35. data/lib/stripe/resources/financial_connections/account.rb +1 -20
  36. data/lib/stripe/resources/financial_connections/session.rb +2 -62
  37. data/lib/stripe/resources/identity/verification_session.rb +0 -10
  38. data/lib/stripe/resources/invoice.rb +16 -1176
  39. data/lib/stripe/resources/invoice_item.rb +2 -78
  40. data/lib/stripe/resources/invoice_line_item.rb +1 -55
  41. data/lib/stripe/resources/invoice_payment.rb +53 -2
  42. data/lib/stripe/resources/issuing/cardholder.rb +1 -2
  43. data/lib/stripe/resources/issuing/transaction.rb +0 -6
  44. data/lib/stripe/resources/line_item.rb +0 -37
  45. data/lib/stripe/resources/mandate.rb +0 -24
  46. data/lib/stripe/resources/payment_intent.rb +307 -5109
  47. data/lib/stripe/resources/payment_method.rb +1 -196
  48. data/lib/stripe/resources/payment_method_configuration.rb +0 -295
  49. data/lib/stripe/resources/payout.rb +0 -6
  50. data/lib/stripe/resources/price.rb +0 -30
  51. data/lib/stripe/resources/product.rb +0 -59
  52. data/lib/stripe/resources/promotion_code.rb +0 -10
  53. data/lib/stripe/resources/quote.rb +6 -2042
  54. data/lib/stripe/resources/refund.rb +0 -9
  55. data/lib/stripe/resources/setup_attempt.rb +0 -21
  56. data/lib/stripe/resources/setup_intent.rb +9 -596
  57. data/lib/stripe/resources/source.rb +1 -30
  58. data/lib/stripe/resources/subscription.rb +9 -292
  59. data/lib/stripe/resources/subscription_item.rb +3 -84
  60. data/lib/stripe/resources/subscription_schedule.rb +10 -1007
  61. data/lib/stripe/resources/tax_id.rb +2 -12
  62. data/lib/stripe/resources/terminal/reader.rb +0 -406
  63. data/lib/stripe/resources/treasury/financial_account.rb +3 -22
  64. data/lib/stripe/resources/treasury/financial_account_features.rb +0 -2
  65. data/lib/stripe/resources/treasury/outbound_transfer.rb +0 -37
  66. data/lib/stripe/resources/treasury/received_credit.rb +1 -38
  67. data/lib/stripe/resources/treasury/received_debit.rb +1 -40
  68. data/lib/stripe/resources.rb +0 -85
  69. data/lib/stripe/services/account_service.rb +1 -562
  70. data/lib/stripe/services/account_session_service.rb +1 -217
  71. data/lib/stripe/services/billing/credit_balance_summary_service.rb +1 -4
  72. data/lib/stripe/services/billing/credit_balance_transaction_service.rb +0 -4
  73. data/lib/stripe/services/billing/credit_grant_service.rb +0 -8
  74. data/lib/stripe/services/billing_portal/session_service.rb +0 -4
  75. data/lib/stripe/services/charge_service.rb +0 -1334
  76. data/lib/stripe/services/checkout/session_service.rb +2 -172
  77. data/lib/stripe/services/credit_note_service.rb +0 -4
  78. data/lib/stripe/services/customer_session_service.rb +1 -4
  79. data/lib/stripe/services/financial_connections/account_service.rb +2 -7
  80. data/lib/stripe/services/financial_connections/session_service.rb +2 -34
  81. data/lib/stripe/services/financial_connections_service.rb +1 -2
  82. data/lib/stripe/services/identity/verification_session_service.rb +0 -8
  83. data/lib/stripe/services/invoice_item_service.rb +2 -74
  84. data/lib/stripe/services/invoice_line_item_service.rb +1 -33
  85. data/lib/stripe/services/invoice_payment_service.rb +33 -5
  86. data/lib/stripe/services/invoice_service.rb +17 -1088
  87. data/lib/stripe/services/issuing/cardholder_service.rb +1 -2
  88. data/lib/stripe/services/issuing/transaction_service.rb +0 -4
  89. data/lib/stripe/services/issuing_service.rb +1 -5
  90. data/lib/stripe/services/payment_intent_service.rb +264 -4637
  91. data/lib/stripe/services/payment_method_configuration_service.rb +0 -210
  92. data/lib/stripe/services/payment_method_service.rb +1 -126
  93. data/lib/stripe/services/payout_service.rb +0 -4
  94. data/lib/stripe/services/price_service.rb +0 -19
  95. data/lib/stripe/services/product_service.rb +0 -38
  96. data/lib/stripe/services/promotion_code_service.rb +0 -8
  97. data/lib/stripe/services/quote_service.rb +7 -1726
  98. data/lib/stripe/services/setup_intent_service.rb +9 -556
  99. data/lib/stripe/services/subscription_item_service.rb +3 -75
  100. data/lib/stripe/services/subscription_schedule_service.rb +10 -911
  101. data/lib/stripe/services/subscription_service.rb +9 -253
  102. data/lib/stripe/services/tax_id_service.rb +2 -8
  103. data/lib/stripe/services/tax_service.rb +1 -3
  104. data/lib/stripe/services/terminal/reader_service.rb +0 -180
  105. data/lib/stripe/services/terminal_service.rb +1 -2
  106. data/lib/stripe/services/test_helpers/confirmation_token_service.rb +0 -148
  107. data/lib/stripe/services/test_helpers/terminal/reader_service.rb +0 -43
  108. data/lib/stripe/services/test_helpers/treasury/received_credit_service.rb +1 -25
  109. data/lib/stripe/services/test_helpers/treasury/received_debit_service.rb +1 -25
  110. data/lib/stripe/services/treasury/financial_account_features_service.rb +1 -4
  111. data/lib/stripe/services/treasury/financial_account_service.rb +2 -16
  112. data/lib/stripe/services/treasury/outbound_transfer_service.rb +0 -24
  113. data/lib/stripe/services/v1_services.rb +2 -10
  114. data/lib/stripe/services/v2/core/event_service.rb +5 -3
  115. data/lib/stripe/services/v2/core_service.rb +1 -4
  116. data/lib/stripe/services/v2_services.rb +2 -4
  117. data/lib/stripe/services.rb +0 -49
  118. data/lib/stripe/stripe_configuration.rb +1 -3
  119. data/lib/stripe/stripe_object.rb +14 -4
  120. data/lib/stripe/util.rb +12 -7
  121. data/lib/stripe/version.rb +1 -1
  122. data/lib/stripe.rb +0 -55
  123. data/rbi/stripe/resources/account.rbi +4840 -0
  124. data/rbi/stripe/resources/account_link.rbi +74 -0
  125. data/rbi/stripe/resources/account_session.rbi +894 -0
  126. data/rbi/stripe/resources/apple_pay_domain.rbi +90 -0
  127. data/rbi/stripe/resources/application.rbi +20 -0
  128. data/rbi/stripe/resources/application_fee.rbi +118 -0
  129. data/rbi/stripe/resources/application_fee_refund.rbi +37 -0
  130. data/rbi/stripe/resources/apps/secret.rbi +195 -0
  131. data/rbi/stripe/resources/balance.rbi +180 -0
  132. data/rbi/stripe/resources/balance_transaction.rbi +144 -0
  133. data/rbi/stripe/resources/bank_account.rbi +127 -0
  134. data/rbi/stripe/resources/billing/alert.rbi +201 -0
  135. data/rbi/stripe/resources/billing/alert_triggered.rbi +28 -0
  136. data/rbi/stripe/resources/billing/credit_balance_summary.rbi +63 -0
  137. data/rbi/stripe/resources/billing/credit_balance_transaction.rbi +147 -0
  138. data/rbi/stripe/resources/billing/credit_grant.rbi +291 -0
  139. data/rbi/stripe/resources/billing/meter.rbi +226 -0
  140. data/rbi/stripe/resources/billing/meter_event.rbi +64 -0
  141. data/rbi/stripe/resources/billing/meter_event_adjustment.rbi +64 -0
  142. data/rbi/stripe/resources/billing/meter_event_summary.rbi +35 -0
  143. data/rbi/stripe/resources/billing_portal/configuration.rbi +645 -0
  144. data/rbi/stripe/resources/billing_portal/session.rbi +345 -0
  145. data/rbi/stripe/resources/capability.rbi +125 -0
  146. data/rbi/stripe/resources/card.rbi +125 -0
  147. data/rbi/stripe/resources/cash_balance.rbi +32 -0
  148. data/rbi/stripe/resources/charge.rbi +2054 -0
  149. data/rbi/stripe/resources/checkout/session.rbi +3951 -0
  150. data/rbi/stripe/resources/climate/order.rbi +245 -0
  151. data/rbi/stripe/resources/climate/product.rbi +75 -0
  152. data/rbi/stripe/resources/climate/supplier.rbi +72 -0
  153. data/rbi/stripe/resources/confirmation_token.rbi +1793 -0
  154. data/rbi/stripe/resources/connect_collection_transfer.rbi +26 -0
  155. data/rbi/stripe/resources/country_spec.rbi +85 -0
  156. data/rbi/stripe/resources/coupon.rbi +252 -0
  157. data/rbi/stripe/resources/credit_note.rbi +747 -0
  158. data/rbi/stripe/resources/credit_note_line_item.rbi +101 -0
  159. data/rbi/stripe/resources/customer.rbi +1009 -0
  160. data/rbi/stripe/resources/customer_balance_transaction.rbi +56 -0
  161. data/rbi/stripe/resources/customer_cash_balance_transaction.rbi +151 -0
  162. data/rbi/stripe/resources/customer_session.rbi +200 -0
  163. data/rbi/stripe/resources/discount.rbi +53 -0
  164. data/rbi/stripe/resources/dispute.rbi +761 -0
  165. data/rbi/stripe/resources/entitlements/active_entitlement.rbi +58 -0
  166. data/rbi/stripe/resources/entitlements/active_entitlement_summary.rbi +23 -0
  167. data/rbi/stripe/resources/entitlements/feature.rbi +117 -0
  168. data/rbi/stripe/resources/ephemeral_key.rbi +44 -0
  169. data/rbi/stripe/resources/event.rbi +146 -0
  170. data/rbi/stripe/resources/exchange_rate.rbi +66 -0
  171. data/rbi/stripe/resources/file.rbi +143 -0
  172. data/rbi/stripe/resources/file_link.rbi +141 -0
  173. data/rbi/stripe/resources/financial_connections/account.rbi +339 -0
  174. data/rbi/stripe/resources/financial_connections/account_owner.rbi +35 -0
  175. data/rbi/stripe/resources/financial_connections/account_ownership.rbi +23 -0
  176. data/rbi/stripe/resources/financial_connections/session.rbi +123 -0
  177. data/rbi/stripe/resources/financial_connections/transaction.rbi +124 -0
  178. data/rbi/stripe/resources/forwarding/request.rbi +216 -0
  179. data/rbi/stripe/resources/funding_instructions.rbi +437 -0
  180. data/rbi/stripe/resources/identity/verification_report.rbi +351 -0
  181. data/rbi/stripe/resources/identity/verification_session.rbi +517 -0
  182. data/rbi/stripe/resources/invoice.rbi +3733 -0
  183. data/rbi/stripe/resources/invoice_item.rbi +475 -0
  184. data/rbi/stripe/resources/invoice_line_item.rbi +432 -0
  185. data/rbi/stripe/resources/invoice_payment.rbi +114 -0
  186. data/rbi/stripe/resources/invoice_rendering_template.rbi +104 -0
  187. data/rbi/stripe/resources/issuing/authorization.rbi +1283 -0
  188. data/rbi/stripe/resources/issuing/card.rbi +741 -0
  189. data/rbi/stripe/resources/issuing/cardholder.rbi +744 -0
  190. data/rbi/stripe/resources/issuing/dispute.rbi +913 -0
  191. data/rbi/stripe/resources/issuing/personalization_design.rbi +338 -0
  192. data/rbi/stripe/resources/issuing/physical_bundle.rbi +79 -0
  193. data/rbi/stripe/resources/issuing/token.rbi +226 -0
  194. data/rbi/stripe/resources/issuing/transaction.rbi +1061 -0
  195. data/rbi/stripe/resources/line_item.rbi +72 -0
  196. data/rbi/stripe/resources/login_link.rbi +18 -0
  197. data/rbi/stripe/resources/mandate.rbi +187 -0
  198. data/rbi/stripe/resources/payment_intent.rbi +9731 -0
  199. data/rbi/stripe/resources/payment_link.rbi +1801 -0
  200. data/rbi/stripe/resources/payment_method.rbi +1822 -0
  201. data/rbi/stripe/resources/payment_method_configuration.rbi +3154 -0
  202. data/rbi/stripe/resources/payment_method_domain.rbi +212 -0
  203. data/rbi/stripe/resources/payout.rbi +300 -0
  204. data/rbi/stripe/resources/person.rbi +371 -0
  205. data/rbi/stripe/resources/plan.rbi +373 -0
  206. data/rbi/stripe/resources/price.rbi +694 -0
  207. data/rbi/stripe/resources/product.rbi +557 -0
  208. data/rbi/stripe/resources/product_feature.rbi +26 -0
  209. data/rbi/stripe/resources/promotion_code.rbi +261 -0
  210. data/rbi/stripe/resources/quote.rbi +1123 -0
  211. data/rbi/stripe/resources/radar/early_fraud_warning.rbi +98 -0
  212. data/rbi/stripe/resources/radar/value_list.rbi +170 -0
  213. data/rbi/stripe/resources/radar/value_list_item.rbi +131 -0
  214. data/rbi/stripe/resources/refund.rbi +516 -0
  215. data/rbi/stripe/resources/reporting/report_run.rbi +191 -0
  216. data/rbi/stripe/resources/reporting/report_type.rbi +57 -0
  217. data/rbi/stripe/resources/reserve_transaction.rbi +23 -0
  218. data/rbi/stripe/resources/reversal.rbi +51 -0
  219. data/rbi/stripe/resources/review.rbi +154 -0
  220. data/rbi/stripe/resources/setup_attempt.rbi +477 -0
  221. data/rbi/stripe/resources/setup_intent.rbi +3860 -0
  222. data/rbi/stripe/resources/shipping_rate.rbi +305 -0
  223. data/rbi/stripe/resources/sigma/scheduled_query_run.rbi +75 -0
  224. data/rbi/stripe/resources/source.rbi +1496 -0
  225. data/rbi/stripe/resources/source_mandate_notification.rbi +77 -0
  226. data/rbi/stripe/resources/source_transaction.rbi +127 -0
  227. data/rbi/stripe/resources/subscription.rbi +1964 -0
  228. data/rbi/stripe/resources/subscription_item.rbi +370 -0
  229. data/rbi/stripe/resources/subscription_schedule.rbi +1495 -0
  230. data/rbi/stripe/resources/tax/calculation.rbi +474 -0
  231. data/rbi/stripe/resources/tax/calculation_line_item.rbi +88 -0
  232. data/rbi/stripe/resources/tax/registration.rbi +2485 -0
  233. data/rbi/stripe/resources/tax/settings.rbi +141 -0
  234. data/rbi/stripe/resources/tax/transaction.rbi +351 -0
  235. data/rbi/stripe/resources/tax/transaction_line_item.rbi +54 -0
  236. data/rbi/stripe/resources/tax_code.rbi +44 -0
  237. data/rbi/stripe/resources/tax_deducted_at_source.rbi +23 -0
  238. data/rbi/stripe/resources/tax_id.rbi +167 -0
  239. data/rbi/stripe/resources/tax_rate.rbi +239 -0
  240. data/rbi/stripe/resources/terminal/configuration.rbi +1388 -0
  241. data/rbi/stripe/resources/terminal/connection_token.rbi +37 -0
  242. data/rbi/stripe/resources/terminal/location.rbi +224 -0
  243. data/rbi/stripe/resources/terminal/reader.rbi +587 -0
  244. data/rbi/stripe/resources/test_helpers/test_clock.rbi +134 -0
  245. data/rbi/stripe/resources/token.rbi +1217 -0
  246. data/rbi/stripe/resources/topup.rbi +222 -0
  247. data/rbi/stripe/resources/transfer.rbi +199 -0
  248. data/rbi/stripe/resources/treasury/credit_reversal.rbi +119 -0
  249. data/rbi/stripe/resources/treasury/debit_reversal.rbi +131 -0
  250. data/rbi/stripe/resources/treasury/financial_account.rbi +865 -0
  251. data/rbi/stripe/resources/treasury/financial_account_features.rbi +260 -0
  252. data/rbi/stripe/resources/treasury/inbound_transfer.rbi +295 -0
  253. data/rbi/stripe/resources/treasury/outbound_payment.rbi +592 -0
  254. data/rbi/stripe/resources/treasury/outbound_transfer.rbi +431 -0
  255. data/rbi/stripe/resources/treasury/received_credit.rbi +302 -0
  256. data/rbi/stripe/resources/treasury/received_debit.rbi +256 -0
  257. data/rbi/stripe/resources/treasury/transaction.rbi +215 -0
  258. data/rbi/stripe/resources/treasury/transaction_entry.rbi +192 -0
  259. data/rbi/stripe/resources/v2/amount.rbi +14 -0
  260. data/rbi/stripe/resources/v2/billing/meter_event.rbi +37 -0
  261. data/rbi/stripe/resources/v2/billing/meter_event_adjustment.rbi +41 -0
  262. data/rbi/stripe/resources/v2/billing/meter_event_session.rbi +31 -0
  263. data/rbi/stripe/resources/v2/event.rbi +48 -0
  264. data/rbi/stripe/resources/v2/event_destination.rbi +91 -0
  265. data/rbi/stripe/resources/webhook_endpoint.rbi +170 -0
  266. data/rbi/stripe/services/account_capability_service.rbi +51 -0
  267. data/rbi/stripe/services/account_external_account_service.rbi +306 -0
  268. data/rbi/stripe/services/account_link_service.rbi +58 -0
  269. data/rbi/stripe/services/account_login_link_service.rbi +22 -0
  270. data/rbi/stripe/services/account_person_service.rbi +923 -0
  271. data/rbi/stripe/services/account_service.rbi +4143 -0
  272. data/rbi/stripe/services/account_session_service.rbi +572 -0
  273. data/rbi/stripe/services/apple_pay_domain_service.rbi +78 -0
  274. data/rbi/stripe/services/application_fee_refund_service.rbi +93 -0
  275. data/rbi/stripe/services/application_fee_service.rbi +78 -0
  276. data/rbi/stripe/services/apps/secret_service.rbi +151 -0
  277. data/rbi/stripe/services/apps_service.rbi +9 -0
  278. data/rbi/stripe/services/balance_service.rbi +21 -0
  279. data/rbi/stripe/services/balance_transaction_service.rbi +93 -0
  280. data/rbi/stripe/services/billing/alert_service.rbi +152 -0
  281. data/rbi/stripe/services/billing/credit_balance_summary_service.rbi +68 -0
  282. data/rbi/stripe/services/billing/credit_balance_transaction_service.rbi +59 -0
  283. data/rbi/stripe/services/billing/credit_grant_service.rbi +211 -0
  284. data/rbi/stripe/services/billing/meter_event_adjustment_service.rbi +42 -0
  285. data/rbi/stripe/services/billing/meter_event_service.rbi +42 -0
  286. data/rbi/stripe/services/billing/meter_event_summary_service.rbi +54 -0
  287. data/rbi/stripe/services/billing/meter_service.rbi +163 -0
  288. data/rbi/stripe/services/billing_portal/configuration_service.rbi +511 -0
  289. data/rbi/stripe/services/billing_portal/session_service.rbi +204 -0
  290. data/rbi/stripe/services/billing_portal_service.rbi +10 -0
  291. data/rbi/stripe/services/billing_service.rbi +15 -0
  292. data/rbi/stripe/services/charge_service.rbi +448 -0
  293. data/rbi/stripe/services/checkout/session_line_item_service.rbi +33 -0
  294. data/rbi/stripe/services/checkout/session_service.rbi +2585 -0
  295. data/rbi/stripe/services/checkout_service.rbi +9 -0
  296. data/rbi/stripe/services/climate/order_service.rbi +142 -0
  297. data/rbi/stripe/services/climate/product_service.rbi +46 -0
  298. data/{lib/stripe/services/financial_connections/institution_service.rb → rbi/stripe/services/climate/supplier_service.rbi} +25 -36
  299. data/rbi/stripe/services/climate_service.rbi +11 -0
  300. data/rbi/stripe/services/confirmation_token_service.rbi +20 -0
  301. data/rbi/stripe/services/country_spec_service.rbi +44 -0
  302. data/rbi/stripe/services/coupon_service.rbi +196 -0
  303. data/{lib/stripe/services/quote_preview_subscription_schedule_service.rb → rbi/stripe/services/credit_note_line_item_service.rbi} +16 -20
  304. data/rbi/stripe/services/credit_note_preview_lines_service.rbi +167 -0
  305. data/rbi/stripe/services/credit_note_service.rbi +416 -0
  306. data/rbi/stripe/services/customer_balance_transaction_service.rbi +92 -0
  307. data/rbi/stripe/services/customer_cash_balance_service.rbi +45 -0
  308. data/rbi/stripe/services/customer_cash_balance_transaction_service.rbi +44 -0
  309. data/rbi/stripe/services/customer_funding_instructions_service.rbi +59 -0
  310. data/rbi/stripe/services/customer_payment_method_service.rbi +57 -0
  311. data/rbi/stripe/services/customer_payment_source_service.rbi +232 -0
  312. data/rbi/stripe/services/customer_service.rbi +651 -0
  313. data/rbi/stripe/services/customer_session_service.rbi +116 -0
  314. data/rbi/stripe/services/customer_tax_id_service.rbi +72 -0
  315. data/rbi/stripe/services/dispute_service.rbi +424 -0
  316. data/rbi/stripe/services/entitlements/active_entitlement_service.rbi +55 -0
  317. data/rbi/stripe/services/entitlements/feature_service.rbi +107 -0
  318. data/rbi/stripe/services/entitlements_service.rbi +10 -0
  319. data/rbi/stripe/services/ephemeral_key_service.rbi +53 -0
  320. data/rbi/stripe/services/event_service.rbi +83 -0
  321. data/rbi/stripe/services/exchange_rate_service.rbi +44 -0
  322. data/rbi/stripe/services/file_link_service.rbi +124 -0
  323. data/rbi/stripe/services/file_service.rbi +116 -0
  324. data/rbi/stripe/services/financial_connections/account_owner_service.rbi +42 -0
  325. data/rbi/stripe/services/financial_connections/account_service.rbi +133 -0
  326. data/rbi/stripe/services/financial_connections/session_service.rbi +88 -0
  327. data/rbi/stripe/services/financial_connections/transaction_service.rbi +92 -0
  328. data/rbi/stripe/services/financial_connections_service.rbi +11 -0
  329. data/rbi/stripe/services/forwarding/request_service.rbi +134 -0
  330. data/rbi/stripe/services/forwarding_service.rbi +9 -0
  331. data/rbi/stripe/services/identity/verification_report_service.rbi +87 -0
  332. data/rbi/stripe/services/identity/verification_session_service.rbi +323 -0
  333. data/rbi/stripe/services/identity_service.rbi +10 -0
  334. data/rbi/stripe/services/invoice_item_service.rbi +368 -0
  335. data/rbi/stripe/services/invoice_line_item_service.rbi +259 -0
  336. data/rbi/stripe/services/invoice_payment_service.rbi +71 -0
  337. data/rbi/stripe/services/invoice_rendering_template_service.rbi +82 -0
  338. data/rbi/stripe/services/invoice_service.rbi +2920 -0
  339. data/rbi/stripe/services/issuing/authorization_service.rbi +146 -0
  340. data/rbi/stripe/services/issuing/card_service.rbi +495 -0
  341. data/rbi/stripe/services/issuing/cardholder_service.rbi +587 -0
  342. data/rbi/stripe/services/issuing/dispute_service.rbi +707 -0
  343. data/rbi/stripe/services/issuing/personalization_design_service.rbi +243 -0
  344. data/rbi/stripe/services/issuing/physical_bundle_service.rbi +59 -0
  345. data/rbi/stripe/services/issuing/token_service.rbi +99 -0
  346. data/rbi/stripe/services/issuing/transaction_service.rbi +105 -0
  347. data/rbi/stripe/services/issuing_service.rbi +16 -0
  348. data/rbi/stripe/services/mandate_service.rbi +20 -0
  349. data/rbi/stripe/services/payment_intent_service.rbi +7759 -0
  350. data/{lib/stripe/services/quote_line_service.rb → rbi/stripe/services/payment_link_line_item_service.rbi} +16 -20
  351. data/rbi/stripe/services/payment_link_service.rbi +1352 -0
  352. data/rbi/stripe/services/payment_method_configuration_service.rbi +2211 -0
  353. data/rbi/stripe/services/payment_method_domain_service.rbi +112 -0
  354. data/rbi/stripe/services/payment_method_service.rbi +840 -0
  355. data/rbi/stripe/services/payout_service.rbi +205 -0
  356. data/rbi/stripe/services/plan_service.rbi +284 -0
  357. data/rbi/stripe/services/price_service.rbi +546 -0
  358. data/rbi/stripe/services/product_feature_service.rbi +69 -0
  359. data/rbi/stripe/services/product_service.rbi +479 -0
  360. data/rbi/stripe/services/promotion_code_service.rbi +214 -0
  361. data/rbi/stripe/services/quote_computed_upfront_line_items_service.rbi +31 -0
  362. data/{lib/stripe/services/order_line_item_service.rb → rbi/stripe/services/quote_line_item_service.rbi} +16 -20
  363. data/rbi/stripe/services/quote_service.rbi +686 -0
  364. data/rbi/stripe/services/radar/early_fraud_warning_service.rbi +85 -0
  365. data/rbi/stripe/services/radar/value_list_item_service.rbi +111 -0
  366. data/rbi/stripe/services/radar/value_list_service.rbi +143 -0
  367. data/rbi/stripe/services/radar_service.rbi +11 -0
  368. data/rbi/stripe/services/refund_service.rbi +185 -0
  369. data/rbi/stripe/services/reporting/report_run_service.rbi +135 -0
  370. data/rbi/stripe/services/reporting/report_type_service.rbi +35 -0
  371. data/rbi/stripe/services/reporting_service.rbi +10 -0
  372. data/rbi/stripe/services/review_service.rbi +84 -0
  373. data/rbi/stripe/services/setup_attempt_service.rbi +65 -0
  374. data/rbi/stripe/services/setup_intent_service.rbi +3596 -0
  375. data/rbi/stripe/services/shipping_rate_service.rbi +241 -0
  376. data/rbi/stripe/services/sigma/scheduled_query_run_service.rbi +46 -0
  377. data/rbi/stripe/services/sigma_service.rbi +9 -0
  378. data/rbi/stripe/services/source_service.rbi +663 -0
  379. data/{lib/stripe/services/quote_preview_invoice_service.rb → rbi/stripe/services/source_transaction_service.rbi} +16 -20
  380. data/rbi/stripe/services/subscription_item_service.rbi +324 -0
  381. data/rbi/stripe/services/subscription_schedule_service.rbi +1192 -0
  382. data/rbi/stripe/services/subscription_service.rbi +1596 -0
  383. data/rbi/stripe/services/tax/calculation_line_item_service.rbi +33 -0
  384. data/rbi/stripe/services/tax/calculation_service.rbi +230 -0
  385. data/rbi/stripe/services/tax/registration_service.rbi +1689 -0
  386. data/rbi/stripe/services/tax/settings_service.rbi +93 -0
  387. data/{lib/stripe/services/financial_connections/account_inferred_balance_service.rb → rbi/stripe/services/tax/transaction_line_item_service.rbi} +17 -21
  388. data/rbi/stripe/services/tax/transaction_service.rbi +146 -0
  389. data/rbi/stripe/services/tax_code_service.rbi +44 -0
  390. data/rbi/stripe/services/tax_id_service.rbi +112 -0
  391. data/rbi/stripe/services/tax_rate_service.rbi +185 -0
  392. data/rbi/stripe/services/tax_service.rbi +12 -0
  393. data/rbi/stripe/services/terminal/configuration_service.rbi +1120 -0
  394. data/rbi/stripe/services/terminal/connection_token_service.rbi +25 -0
  395. data/rbi/stripe/services/terminal/location_service.rbi +184 -0
  396. data/rbi/stripe/services/terminal/reader_service.rbi +344 -0
  397. data/rbi/stripe/services/terminal_service.rbi +12 -0
  398. data/rbi/stripe/services/test_helpers/confirmation_token_service.rbi +746 -0
  399. data/rbi/stripe/services/test_helpers/customer_service.rbi +33 -0
  400. data/rbi/stripe/services/test_helpers/issuing/authorization_service.rbi +848 -0
  401. data/rbi/stripe/services/test_helpers/issuing/card_service.rbi +76 -0
  402. data/rbi/stripe/services/test_helpers/issuing/personalization_design_service.rbi +69 -0
  403. data/rbi/stripe/services/test_helpers/issuing/transaction_service.rbi +711 -0
  404. data/rbi/stripe/services/test_helpers/issuing_service.rbi +14 -0
  405. data/rbi/stripe/services/test_helpers/refund_service.rbi +22 -0
  406. data/rbi/stripe/services/test_helpers/terminal/reader_service.rbi +62 -0
  407. data/rbi/stripe/services/test_helpers/terminal_service.rbi +11 -0
  408. data/rbi/stripe/services/test_helpers/test_clock_service.rbi +92 -0
  409. data/rbi/stripe/services/test_helpers/treasury/inbound_transfer_service.rbi +64 -0
  410. data/rbi/stripe/services/test_helpers/treasury/outbound_payment_service.rbi +125 -0
  411. data/rbi/stripe/services/test_helpers/treasury/outbound_transfer_service.rbi +125 -0
  412. data/rbi/stripe/services/test_helpers/treasury/received_credit_service.rbi +87 -0
  413. data/rbi/stripe/services/test_helpers/treasury/received_debit_service.rbi +87 -0
  414. data/rbi/stripe/services/test_helpers/treasury_service.rbi +15 -0
  415. data/rbi/stripe/services/test_helpers_service.rbi +15 -0
  416. data/rbi/stripe/services/token_service.rbi +1189 -0
  417. data/rbi/stripe/services/topup_service.rbi +176 -0
  418. data/rbi/stripe/services/transfer_reversal_service.rbi +101 -0
  419. data/rbi/stripe/services/transfer_service.rbi +152 -0
  420. data/rbi/stripe/services/treasury/credit_reversal_service.rbi +84 -0
  421. data/rbi/stripe/services/treasury/debit_reversal_service.rbi +88 -0
  422. data/rbi/stripe/services/treasury/financial_account_features_service.rbi +198 -0
  423. data/rbi/stripe/services/treasury/financial_account_service.rbi +562 -0
  424. data/rbi/stripe/services/treasury/inbound_transfer_service.rbi +117 -0
  425. data/rbi/stripe/services/treasury/outbound_payment_service.rbi +304 -0
  426. data/rbi/stripe/services/treasury/outbound_transfer_service.rbi +157 -0
  427. data/rbi/stripe/services/treasury/received_credit_service.rbi +72 -0
  428. data/rbi/stripe/services/treasury/received_debit_service.rbi +59 -0
  429. data/rbi/stripe/services/treasury/transaction_entry_service.rbi +111 -0
  430. data/rbi/stripe/services/treasury/transaction_service.rbi +122 -0
  431. data/rbi/stripe/services/treasury_service.rbi +18 -0
  432. data/rbi/stripe/services/v1_services.rbi +77 -0
  433. data/rbi/stripe/services/v2/billing/meter_event_adjustment_service.rbi +39 -0
  434. data/rbi/stripe/services/v2/billing/meter_event_service.rbi +42 -0
  435. data/rbi/stripe/services/v2/billing/meter_event_session_service.rbi +20 -0
  436. data/rbi/stripe/services/v2/billing/meter_event_stream_service.rbi +55 -0
  437. data/rbi/stripe/services/v2/billing_service.rbi +14 -0
  438. data/rbi/stripe/services/v2/core/event_destination_service.rbi +200 -0
  439. data/rbi/stripe/services/v2/core/event_service.rbi +38 -0
  440. data/rbi/stripe/services/v2/core_service.rbi +12 -0
  441. data/rbi/stripe/services/v2_services.rbi +10 -0
  442. data/rbi/stripe/services/webhook_endpoint_service.rbi +131 -0
  443. data/stripe.gemspec +1 -4
  444. metadata +324 -140
  445. data/lib/stripe/events/v2_core_account_including_configuration_customer_capability_status_updated_event.rb +0 -23
  446. data/lib/stripe/events/v2_core_account_including_configuration_customer_updated_event.rb +0 -21
  447. data/lib/stripe/events/v2_core_account_including_configuration_merchant_capability_status_updated_event.rb +0 -23
  448. data/lib/stripe/events/v2_core_account_including_configuration_merchant_updated_event.rb +0 -21
  449. data/lib/stripe/events/v2_core_account_including_configuration_recipient_capability_status_updated_event.rb +0 -23
  450. data/lib/stripe/events/v2_core_account_including_configuration_recipient_updated_event.rb +0 -21
  451. data/lib/stripe/events/v2_core_account_including_identity_updated_event.rb +0 -21
  452. data/lib/stripe/events/v2_core_account_including_requirements_updated_event.rb +0 -21
  453. data/lib/stripe/events/v2_core_account_link_completed_event.rb +0 -13
  454. data/lib/stripe/events/v2_core_account_person_created_event.rb +0 -23
  455. data/lib/stripe/events/v2_core_account_person_deleted_event.rb +0 -23
  456. data/lib/stripe/events/v2_core_account_person_updated_event.rb +0 -23
  457. data/lib/stripe/events/v2_money_management_financial_account_created_event.rb +0 -21
  458. data/lib/stripe/events/v2_money_management_financial_address_activated_event.rb +0 -21
  459. data/lib/stripe/events/v2_money_management_financial_address_failed_event.rb +0 -21
  460. data/lib/stripe/events/v2_money_management_inbound_transfer_available_event.rb +0 -23
  461. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_failed_event.rb +0 -21
  462. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_processing_event.rb +0 -21
  463. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_queued_event.rb +0 -21
  464. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_returned_event.rb +0 -21
  465. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_succeeded_event.rb +0 -21
  466. data/lib/stripe/events/v2_money_management_outbound_payment_canceled_event.rb +0 -21
  467. data/lib/stripe/events/v2_money_management_outbound_payment_created_event.rb +0 -21
  468. data/lib/stripe/events/v2_money_management_outbound_payment_failed_event.rb +0 -21
  469. data/lib/stripe/events/v2_money_management_outbound_payment_posted_event.rb +0 -21
  470. data/lib/stripe/events/v2_money_management_outbound_payment_returned_event.rb +0 -21
  471. data/lib/stripe/events/v2_money_management_outbound_transfer_canceled_event.rb +0 -21
  472. data/lib/stripe/events/v2_money_management_outbound_transfer_created_event.rb +0 -21
  473. data/lib/stripe/events/v2_money_management_outbound_transfer_failed_event.rb +0 -21
  474. data/lib/stripe/events/v2_money_management_outbound_transfer_posted_event.rb +0 -21
  475. data/lib/stripe/events/v2_money_management_outbound_transfer_returned_event.rb +0 -21
  476. data/lib/stripe/events/v2_money_management_received_credit_available_event.rb +0 -23
  477. data/lib/stripe/events/v2_money_management_received_credit_failed_event.rb +0 -21
  478. data/lib/stripe/events/v2_money_management_received_credit_returned_event.rb +0 -21
  479. data/lib/stripe/events/v2_money_management_received_credit_succeeded_event.rb +0 -21
  480. data/lib/stripe/events/v2_money_management_received_debit_canceled_event.rb +0 -21
  481. data/lib/stripe/events/v2_money_management_received_debit_failed_event.rb +0 -21
  482. data/lib/stripe/events/v2_money_management_received_debit_pending_event.rb +0 -21
  483. data/lib/stripe/events/v2_money_management_received_debit_succeeded_event.rb +0 -21
  484. data/lib/stripe/events/v2_money_management_received_debit_updated_event.rb +0 -21
  485. data/lib/stripe/request_signing_authenticator.rb +0 -79
  486. data/lib/stripe/resources/account_notice.rb +0 -123
  487. data/lib/stripe/resources/balance_settings.rb +0 -101
  488. data/lib/stripe/resources/billing/meter_error_report.rb +0 -59
  489. data/lib/stripe/resources/capital/financing_offer.rb +0 -179
  490. data/lib/stripe/resources/capital/financing_summary.rb +0 -55
  491. data/lib/stripe/resources/capital/financing_transaction.rb +0 -114
  492. data/lib/stripe/resources/financial_connections/account_inferred_balance.rb +0 -27
  493. data/lib/stripe/resources/financial_connections/institution.rb +0 -90
  494. data/lib/stripe/resources/gift_cards/card.rb +0 -208
  495. data/lib/stripe/resources/gift_cards/transaction.rb +0 -272
  496. data/lib/stripe/resources/issuing/credit_underwriting_record.rb +0 -602
  497. data/lib/stripe/resources/issuing/dispute_settlement_detail.rb +0 -82
  498. data/lib/stripe/resources/issuing/fraud_liability_debit.rb +0 -86
  499. data/lib/stripe/resources/issuing/settlement.rb +0 -53
  500. data/lib/stripe/resources/margin.rb +0 -115
  501. data/lib/stripe/resources/order.rb +0 -2859
  502. data/lib/stripe/resources/payment_attempt_record.rb +0 -1078
  503. data/lib/stripe/resources/payment_record.rb +0 -1607
  504. data/lib/stripe/resources/quote_line.rb +0 -274
  505. data/lib/stripe/resources/quote_preview_invoice.rb +0 -663
  506. data/lib/stripe/resources/quote_preview_subscription_schedule.rb +0 -337
  507. data/lib/stripe/resources/tax/association.rb +0 -89
  508. data/lib/stripe/resources/tax/form.rb +0 -211
  509. data/lib/stripe/resources/terminal/reader_collected_data.rb +0 -31
  510. data/lib/stripe/resources/v2/core/account.rb +0 -1715
  511. data/lib/stripe/resources/v2/core/account_link.rb +0 -54
  512. data/lib/stripe/resources/v2/core/person.rb +0 -272
  513. data/lib/stripe/resources/v2/core/vault/gb_bank_account.rb +0 -72
  514. data/lib/stripe/resources/v2/core/vault/us_bank_account.rb +0 -37
  515. data/lib/stripe/resources/v2/financial_address_credit_simulation.rb +0 -18
  516. data/lib/stripe/resources/v2/financial_address_generated_microdeposits.rb +0 -20
  517. data/lib/stripe/resources/v2/money_management/adjustment.rb +0 -49
  518. data/lib/stripe/resources/v2/money_management/financial_account.rb +0 -56
  519. data/lib/stripe/resources/v2/money_management/financial_address.rb +0 -66
  520. data/lib/stripe/resources/v2/money_management/inbound_transfer.rb +0 -92
  521. data/lib/stripe/resources/v2/money_management/outbound_payment.rb +0 -127
  522. data/lib/stripe/resources/v2/money_management/outbound_payment_quote.rb +0 -74
  523. data/lib/stripe/resources/v2/money_management/outbound_setup_intent.rb +0 -43
  524. data/lib/stripe/resources/v2/money_management/outbound_transfer.rb +0 -115
  525. data/lib/stripe/resources/v2/money_management/payout_method.rb +0 -73
  526. data/lib/stripe/resources/v2/money_management/payout_methods_bank_account_spec.rb +0 -47
  527. data/lib/stripe/resources/v2/money_management/received_credit.rb +0 -134
  528. data/lib/stripe/resources/v2/money_management/received_debit.rb +0 -106
  529. data/lib/stripe/resources/v2/money_management/transaction.rb +0 -76
  530. data/lib/stripe/resources/v2/money_management/transaction_entry.rb +0 -66
  531. data/lib/stripe/services/account_notice_service.rb +0 -101
  532. data/lib/stripe/services/balance_settings_service.rb +0 -96
  533. data/lib/stripe/services/capital/financing_offer_service.rb +0 -112
  534. data/lib/stripe/services/capital/financing_summary_service.rb +0 -28
  535. data/lib/stripe/services/capital/financing_transaction_service.rb +0 -79
  536. data/lib/stripe/services/capital_service.rb +0 -15
  537. data/lib/stripe/services/external_account_service.rb +0 -206
  538. data/lib/stripe/services/gift_cards/card_service.rb +0 -170
  539. data/lib/stripe/services/gift_cards/transaction_service.rb +0 -209
  540. data/lib/stripe/services/gift_cards_service.rb +0 -14
  541. data/lib/stripe/services/issuing/credit_underwriting_record_service.rb +0 -504
  542. data/lib/stripe/services/issuing/dispute_settlement_detail_service.rb +0 -66
  543. data/lib/stripe/services/issuing/fraud_liability_debit_service.rb +0 -83
  544. data/lib/stripe/services/margin_service.rb +0 -119
  545. data/lib/stripe/services/order_service.rb +0 -2268
  546. data/lib/stripe/services/payment_attempt_record_service.rb +0 -49
  547. data/lib/stripe/services/payment_record_service.rb +0 -542
  548. data/lib/stripe/services/tax/association_service.rb +0 -31
  549. data/lib/stripe/services/tax/form_service.rb +0 -100
  550. data/lib/stripe/services/terminal/reader_collected_data_service.rb +0 -28
  551. data/lib/stripe/services/v2/core/account_link_service.rb +0 -76
  552. data/lib/stripe/services/v2/core/account_service.rb +0 -4130
  553. data/lib/stripe/services/v2/core/accounts/person_service.rb +0 -1040
  554. data/lib/stripe/services/v2/core/vault/gb_bank_account_service.rb +0 -135
  555. data/lib/stripe/services/v2/core/vault/us_bank_account_service.rb +0 -109
  556. data/lib/stripe/services/v2/core/vault_service.rb +0 -18
  557. data/lib/stripe/services/v2/money_management/adjustment_service.rb +0 -75
  558. data/lib/stripe/services/v2/money_management/financial_account_service.rb +0 -44
  559. data/lib/stripe/services/v2/money_management/financial_address_service.rb +0 -81
  560. data/lib/stripe/services/v2/money_management/inbound_transfer_service.rb +0 -126
  561. data/lib/stripe/services/v2/money_management/outbound_payment_quote_service.rb +0 -80
  562. data/lib/stripe/services/v2/money_management/outbound_payment_service.rb +0 -202
  563. data/lib/stripe/services/v2/money_management/outbound_setup_intent_service.rb +0 -237
  564. data/lib/stripe/services/v2/money_management/outbound_transfer_service.rb +0 -174
  565. data/lib/stripe/services/v2/money_management/payout_method_service.rb +0 -95
  566. data/lib/stripe/services/v2/money_management/payout_methods_bank_account_spec_service.rb +0 -32
  567. data/lib/stripe/services/v2/money_management/received_credit_service.rb +0 -71
  568. data/lib/stripe/services/v2/money_management/received_debit_service.rb +0 -44
  569. data/lib/stripe/services/v2/money_management/transaction_entry_service.rb +0 -70
  570. data/lib/stripe/services/v2/money_management/transaction_service.rb +0 -74
  571. data/lib/stripe/services/v2/money_management_service.rb +0 -31
  572. data/lib/stripe/services/v2/test_helper_service.rb +0 -15
  573. data/lib/stripe/services/v2/test_helpers/financial_address_service.rb +0 -50
  574. data/rbi/stripe.rbi +0 -189274
@@ -0,0 +1,747 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ # typed: true
5
+ module Stripe
6
+ # Issue a credit note to adjust an invoice's amount after the invoice is finalized.
7
+ #
8
+ # Related guide: [Credit notes](https://stripe.com/docs/billing/invoices/credit-notes)
9
+ class CreditNote < APIResource
10
+ class DiscountAmount < Stripe::StripeObject
11
+ # The amount, in cents (or local equivalent), of the discount.
12
+ sig { returns(Integer) }
13
+ attr_reader :amount
14
+ # The discount that was applied to get this discount amount.
15
+ sig { returns(T.any(String, Stripe::Discount)) }
16
+ attr_reader :discount
17
+ end
18
+ class PretaxCreditAmount < Stripe::StripeObject
19
+ # The amount, in cents (or local equivalent), of the pretax credit amount.
20
+ sig { returns(Integer) }
21
+ attr_reader :amount
22
+ # The credit balance transaction that was applied to get this pretax credit amount.
23
+ sig { returns(T.any(String, Stripe::Billing::CreditBalanceTransaction)) }
24
+ attr_reader :credit_balance_transaction
25
+ # The discount that was applied to get this pretax credit amount.
26
+ sig { returns(T.any(String, Stripe::Discount)) }
27
+ attr_reader :discount
28
+ # Type of the pretax credit amount referenced.
29
+ sig { returns(String) }
30
+ attr_reader :type
31
+ end
32
+ class Refund < Stripe::StripeObject
33
+ # Amount of the refund that applies to this credit note, in cents (or local equivalent).
34
+ sig { returns(Integer) }
35
+ attr_reader :amount_refunded
36
+ # ID of the refund.
37
+ sig { returns(T.any(String, Stripe::Refund)) }
38
+ attr_reader :refund
39
+ end
40
+ class ShippingCost < Stripe::StripeObject
41
+ class Tax < Stripe::StripeObject
42
+ # Amount of tax applied for this rate.
43
+ sig { returns(Integer) }
44
+ attr_reader :amount
45
+ # Tax rates can be applied to [invoices](/invoicing/taxes/tax-rates), [subscriptions](/billing/taxes/tax-rates) and [Checkout Sessions](/payments/checkout/use-manual-tax-rates) to collect tax.
46
+ #
47
+ # Related guide: [Tax rates](/billing/taxes/tax-rates)
48
+ sig { returns(Stripe::TaxRate) }
49
+ attr_reader :rate
50
+ # The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported.
51
+ sig { returns(T.nilable(String)) }
52
+ attr_reader :taxability_reason
53
+ # The amount on which tax is calculated, in cents (or local equivalent).
54
+ sig { returns(T.nilable(Integer)) }
55
+ attr_reader :taxable_amount
56
+ end
57
+ # Total shipping cost before any taxes are applied.
58
+ sig { returns(Integer) }
59
+ attr_reader :amount_subtotal
60
+ # Total tax amount applied due to shipping costs. If no tax was applied, defaults to 0.
61
+ sig { returns(Integer) }
62
+ attr_reader :amount_tax
63
+ # Total shipping cost after taxes are applied.
64
+ sig { returns(Integer) }
65
+ attr_reader :amount_total
66
+ # The ID of the ShippingRate for this invoice.
67
+ sig { returns(T.nilable(T.any(String, Stripe::ShippingRate))) }
68
+ attr_reader :shipping_rate
69
+ # The taxes applied to the shipping rate.
70
+ sig { returns(T::Array[Tax]) }
71
+ attr_reader :taxes
72
+ end
73
+ class TotalTax < Stripe::StripeObject
74
+ class TaxRateDetails < Stripe::StripeObject
75
+ # Attribute for field tax_rate
76
+ sig { returns(String) }
77
+ attr_reader :tax_rate
78
+ end
79
+ # The amount of the tax, in cents (or local equivalent).
80
+ sig { returns(Integer) }
81
+ attr_reader :amount
82
+ # Whether this tax is inclusive or exclusive.
83
+ sig { returns(String) }
84
+ attr_reader :tax_behavior
85
+ # Additional details about the tax rate. Only present when `type` is `tax_rate_details`.
86
+ sig { returns(T.nilable(TaxRateDetails)) }
87
+ attr_reader :tax_rate_details
88
+ # The reasoning behind this tax, for example, if the product is tax exempt. The possible values for this field may be extended as new tax rules are supported.
89
+ sig { returns(String) }
90
+ attr_reader :taxability_reason
91
+ # The amount on which tax is calculated, in cents (or local equivalent).
92
+ sig { returns(T.nilable(Integer)) }
93
+ attr_reader :taxable_amount
94
+ # The type of tax information.
95
+ sig { returns(String) }
96
+ attr_reader :type
97
+ end
98
+ # The integer amount in cents (or local equivalent) representing the total amount of the credit note, including tax.
99
+ sig { returns(Integer) }
100
+ attr_reader :amount
101
+ # This is the sum of all the shipping amounts.
102
+ sig { returns(Integer) }
103
+ attr_reader :amount_shipping
104
+ # Time at which the object was created. Measured in seconds since the Unix epoch.
105
+ sig { returns(Integer) }
106
+ attr_reader :created
107
+ # 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).
108
+ sig { returns(String) }
109
+ attr_reader :currency
110
+ # ID of the customer.
111
+ sig { returns(T.any(String, Stripe::Customer)) }
112
+ attr_reader :customer
113
+ # Customer balance transaction related to this credit note.
114
+ sig { returns(T.nilable(T.any(String, Stripe::CustomerBalanceTransaction))) }
115
+ attr_reader :customer_balance_transaction
116
+ # The integer amount in cents (or local equivalent) representing the total amount of discount that was credited.
117
+ sig { returns(Integer) }
118
+ attr_reader :discount_amount
119
+ # The aggregate amounts calculated per discount for all line items.
120
+ sig { returns(T::Array[DiscountAmount]) }
121
+ attr_reader :discount_amounts
122
+ # The date when this credit note is in effect. Same as `created` unless overwritten. When defined, this value replaces the system-generated 'Date of issue' printed on the credit note PDF.
123
+ sig { returns(T.nilable(Integer)) }
124
+ attr_reader :effective_at
125
+ # Unique identifier for the object.
126
+ sig { returns(String) }
127
+ attr_reader :id
128
+ # ID of the invoice.
129
+ sig { returns(T.any(String, Stripe::Invoice)) }
130
+ attr_reader :invoice
131
+ # Line items that make up the credit note
132
+ sig { returns(Stripe::ListObject) }
133
+ attr_reader :lines
134
+ # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
135
+ sig { returns(T::Boolean) }
136
+ attr_reader :livemode
137
+ # Customer-facing text that appears on the credit note PDF.
138
+ sig { returns(T.nilable(String)) }
139
+ attr_reader :memo
140
+ # 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.
141
+ sig { returns(T.nilable(T::Hash[String, String])) }
142
+ attr_reader :metadata
143
+ # A unique number that identifies this particular credit note and appears on the PDF of the credit note and its associated invoice.
144
+ sig { returns(String) }
145
+ attr_reader :number
146
+ # String representing the object's type. Objects of the same type share the same value.
147
+ sig { returns(String) }
148
+ attr_reader :object
149
+ # Amount that was credited outside of Stripe.
150
+ sig { returns(T.nilable(Integer)) }
151
+ attr_reader :out_of_band_amount
152
+ # The link to download the PDF of the credit note.
153
+ sig { returns(String) }
154
+ attr_reader :pdf
155
+ # The pretax credit amounts (ex: discount, credit grants, etc) for all line items.
156
+ sig { returns(T::Array[PretaxCreditAmount]) }
157
+ attr_reader :pretax_credit_amounts
158
+ # Reason for issuing this credit note, one of `duplicate`, `fraudulent`, `order_change`, or `product_unsatisfactory`
159
+ sig { returns(T.nilable(String)) }
160
+ attr_reader :reason
161
+ # Refunds related to this credit note.
162
+ sig { returns(T::Array[Refund]) }
163
+ attr_reader :refunds
164
+ # The details of the cost of shipping, including the ShippingRate applied to the invoice.
165
+ sig { returns(T.nilable(ShippingCost)) }
166
+ attr_reader :shipping_cost
167
+ # Status of this credit note, one of `issued` or `void`. Learn more about [voiding credit notes](https://stripe.com/docs/billing/invoices/credit-notes#voiding).
168
+ sig { returns(String) }
169
+ attr_reader :status
170
+ # The integer amount in cents (or local equivalent) representing the amount of the credit note, excluding exclusive tax and invoice level discounts.
171
+ sig { returns(Integer) }
172
+ attr_reader :subtotal
173
+ # The integer amount in cents (or local equivalent) representing the amount of the credit note, excluding all tax and invoice level discounts.
174
+ sig { returns(T.nilable(Integer)) }
175
+ attr_reader :subtotal_excluding_tax
176
+ # The integer amount in cents (or local equivalent) representing the total amount of the credit note, including tax and all discount.
177
+ sig { returns(Integer) }
178
+ attr_reader :total
179
+ # The integer amount in cents (or local equivalent) representing the total amount of the credit note, excluding tax, but including discounts.
180
+ sig { returns(T.nilable(Integer)) }
181
+ attr_reader :total_excluding_tax
182
+ # The aggregate tax information for all line items.
183
+ sig { returns(T.nilable(T::Array[TotalTax])) }
184
+ attr_reader :total_taxes
185
+ # Type of this credit note, one of `pre_payment` or `post_payment`. A `pre_payment` credit note means it was issued when the invoice was open. A `post_payment` credit note means it was issued when the invoice was paid.
186
+ sig { returns(String) }
187
+ attr_reader :type
188
+ # The time that the credit note was voided.
189
+ sig { returns(T.nilable(Integer)) }
190
+ attr_reader :voided_at
191
+ class ListParams < Stripe::RequestParams
192
+ class Created < Stripe::RequestParams
193
+ # Minimum value to filter by (exclusive)
194
+ sig { returns(T.nilable(Integer)) }
195
+ attr_accessor :gt
196
+ # Minimum value to filter by (inclusive)
197
+ sig { returns(T.nilable(Integer)) }
198
+ attr_accessor :gte
199
+ # Maximum value to filter by (exclusive)
200
+ sig { returns(T.nilable(Integer)) }
201
+ attr_accessor :lt
202
+ # Maximum value to filter by (inclusive)
203
+ sig { returns(T.nilable(Integer)) }
204
+ attr_accessor :lte
205
+ sig {
206
+ params(gt: T.nilable(Integer), gte: T.nilable(Integer), lt: T.nilable(Integer), lte: T.nilable(Integer)).void
207
+ }
208
+ def initialize(gt: nil, gte: nil, lt: nil, lte: nil); end
209
+ end
210
+ # Only return credit notes that were created during the given date interval.
211
+ sig { returns(T.nilable(T.any(::Stripe::CreditNote::ListParams::Created, Integer))) }
212
+ attr_accessor :created
213
+ # Only return credit notes for the customer specified by this customer ID.
214
+ sig { returns(T.nilable(String)) }
215
+ attr_accessor :customer
216
+ # 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.
217
+ sig { returns(T.nilable(String)) }
218
+ attr_accessor :ending_before
219
+ # Specifies which fields in the response should be expanded.
220
+ sig { returns(T.nilable(T::Array[String])) }
221
+ attr_accessor :expand
222
+ # Only return credit notes for the invoice specified by this invoice ID.
223
+ sig { returns(T.nilable(String)) }
224
+ attr_accessor :invoice
225
+ # A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
226
+ sig { returns(T.nilable(Integer)) }
227
+ attr_accessor :limit
228
+ # 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.
229
+ sig { returns(T.nilable(String)) }
230
+ attr_accessor :starting_after
231
+ sig {
232
+ params(created: T.nilable(T.any(::Stripe::CreditNote::ListParams::Created, Integer)), customer: T.nilable(String), ending_before: T.nilable(String), expand: T.nilable(T::Array[String]), invoice: T.nilable(String), limit: T.nilable(Integer), starting_after: T.nilable(String)).void
233
+ }
234
+ def initialize(
235
+ created: nil,
236
+ customer: nil,
237
+ ending_before: nil,
238
+ expand: nil,
239
+ invoice: nil,
240
+ limit: nil,
241
+ starting_after: nil
242
+ ); end
243
+ end
244
+ class CreateParams < Stripe::RequestParams
245
+ class Line < Stripe::RequestParams
246
+ class TaxAmount < Stripe::RequestParams
247
+ # The amount, in cents (or local equivalent), of the tax.
248
+ sig { returns(Integer) }
249
+ attr_accessor :amount
250
+ # The id of the tax rate for this tax amount. The tax rate must have been automatically created by Stripe.
251
+ sig { returns(String) }
252
+ attr_accessor :tax_rate
253
+ # The amount on which tax is calculated, in cents (or local equivalent).
254
+ sig { returns(Integer) }
255
+ attr_accessor :taxable_amount
256
+ sig { params(amount: Integer, tax_rate: String, taxable_amount: Integer).void }
257
+ def initialize(amount: nil, tax_rate: nil, taxable_amount: nil); end
258
+ end
259
+ # The line item amount to credit. Only valid when `type` is `invoice_line_item`. If invoice is set up with `automatic_tax[enabled]=true`, this amount is tax exclusive
260
+ sig { returns(T.nilable(Integer)) }
261
+ attr_accessor :amount
262
+ # The description of the credit note line item. Only valid when the `type` is `custom_line_item`.
263
+ sig { returns(T.nilable(String)) }
264
+ attr_accessor :description
265
+ # The invoice line item to credit. Only valid when the `type` is `invoice_line_item`.
266
+ sig { returns(T.nilable(String)) }
267
+ attr_accessor :invoice_line_item
268
+ # The line item quantity to credit.
269
+ sig { returns(T.nilable(Integer)) }
270
+ attr_accessor :quantity
271
+ # A list of up to 10 tax amounts for the credit note line item. Cannot be mixed with `tax_rates`.
272
+ sig {
273
+ returns(T.nilable(T.nilable(T.any(String, T::Array[::Stripe::CreditNote::CreateParams::Line::TaxAmount]))))
274
+ }
275
+ attr_accessor :tax_amounts
276
+ # The tax rates which apply to the credit note line item. Only valid when the `type` is `custom_line_item` and cannot be mixed with `tax_amounts`.
277
+ sig { returns(T.nilable(T.nilable(T.any(String, T::Array[String])))) }
278
+ attr_accessor :tax_rates
279
+ # Type of the credit note line item, one of `invoice_line_item` or `custom_line_item`
280
+ sig { returns(String) }
281
+ attr_accessor :type
282
+ # The integer unit amount in cents (or local equivalent) of the credit note line item. This `unit_amount` will be multiplied by the quantity to get the full amount to credit for this line item. Only valid when `type` is `custom_line_item`.
283
+ sig { returns(T.nilable(Integer)) }
284
+ attr_accessor :unit_amount
285
+ # Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set.
286
+ sig { returns(T.nilable(String)) }
287
+ attr_accessor :unit_amount_decimal
288
+ sig {
289
+ params(amount: T.nilable(Integer), description: T.nilable(String), invoice_line_item: T.nilable(String), quantity: T.nilable(Integer), tax_amounts: T.nilable(T.nilable(T.any(String, T::Array[::Stripe::CreditNote::CreateParams::Line::TaxAmount]))), tax_rates: T.nilable(T.nilable(T.any(String, T::Array[String]))), type: String, unit_amount: T.nilable(Integer), unit_amount_decimal: T.nilable(String)).void
290
+ }
291
+ def initialize(
292
+ amount: nil,
293
+ description: nil,
294
+ invoice_line_item: nil,
295
+ quantity: nil,
296
+ tax_amounts: nil,
297
+ tax_rates: nil,
298
+ type: nil,
299
+ unit_amount: nil,
300
+ unit_amount_decimal: nil
301
+ ); end
302
+ end
303
+ class Refund < Stripe::RequestParams
304
+ # Amount of the refund that applies to this credit note, in cents (or local equivalent). Defaults to the entire refund amount.
305
+ sig { returns(T.nilable(Integer)) }
306
+ attr_accessor :amount_refunded
307
+ # ID of an existing refund to link this credit note to.
308
+ sig { returns(T.nilable(String)) }
309
+ attr_accessor :refund
310
+ sig { params(amount_refunded: T.nilable(Integer), refund: T.nilable(String)).void }
311
+ def initialize(amount_refunded: nil, refund: nil); end
312
+ end
313
+ class ShippingCost < Stripe::RequestParams
314
+ # The ID of the shipping rate to use for this order.
315
+ sig { returns(T.nilable(String)) }
316
+ attr_accessor :shipping_rate
317
+ sig { params(shipping_rate: T.nilable(String)).void }
318
+ def initialize(shipping_rate: nil); end
319
+ end
320
+ # The integer amount in cents (or local equivalent) representing the total amount of the credit note.
321
+ sig { returns(T.nilable(Integer)) }
322
+ attr_accessor :amount
323
+ # The integer amount in cents (or local equivalent) representing the amount to credit the customer's balance, which will be automatically applied to their next invoice.
324
+ sig { returns(T.nilable(Integer)) }
325
+ attr_accessor :credit_amount
326
+ # The date when this credit note is in effect. Same as `created` unless overwritten. When defined, this value replaces the system-generated 'Date of issue' printed on the credit note PDF.
327
+ sig { returns(T.nilable(Integer)) }
328
+ attr_accessor :effective_at
329
+ # Type of email to send to the customer, one of `credit_note` or `none` and the default is `credit_note`.
330
+ sig { returns(T.nilable(String)) }
331
+ attr_accessor :email_type
332
+ # Specifies which fields in the response should be expanded.
333
+ sig { returns(T.nilable(T::Array[String])) }
334
+ attr_accessor :expand
335
+ # ID of the invoice.
336
+ sig { returns(String) }
337
+ attr_accessor :invoice
338
+ # Line items that make up the credit note.
339
+ sig { returns(T.nilable(T::Array[::Stripe::CreditNote::CreateParams::Line])) }
340
+ attr_accessor :lines
341
+ # The credit note's memo appears on the credit note PDF.
342
+ sig { returns(T.nilable(String)) }
343
+ attr_accessor :memo
344
+ # 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`.
345
+ sig { returns(T.nilable(T::Hash[String, String])) }
346
+ attr_accessor :metadata
347
+ # The integer amount in cents (or local equivalent) representing the amount that is credited outside of Stripe.
348
+ sig { returns(T.nilable(Integer)) }
349
+ attr_accessor :out_of_band_amount
350
+ # Reason for issuing this credit note, one of `duplicate`, `fraudulent`, `order_change`, or `product_unsatisfactory`
351
+ sig { returns(T.nilable(String)) }
352
+ attr_accessor :reason
353
+ # The integer amount in cents (or local equivalent) representing the amount to refund. If set, a refund will be created for the charge associated with the invoice.
354
+ sig { returns(T.nilable(Integer)) }
355
+ attr_accessor :refund_amount
356
+ # Refunds to link to this credit note.
357
+ sig { returns(T.nilable(T::Array[::Stripe::CreditNote::CreateParams::Refund])) }
358
+ attr_accessor :refunds
359
+ # When shipping_cost contains the shipping_rate from the invoice, the shipping_cost is included in the credit note.
360
+ sig { returns(T.nilable(::Stripe::CreditNote::CreateParams::ShippingCost)) }
361
+ attr_accessor :shipping_cost
362
+ sig {
363
+ params(amount: T.nilable(Integer), credit_amount: T.nilable(Integer), effective_at: T.nilable(Integer), email_type: T.nilable(String), expand: T.nilable(T::Array[String]), invoice: String, lines: T.nilable(T::Array[::Stripe::CreditNote::CreateParams::Line]), memo: T.nilable(String), metadata: T.nilable(T::Hash[String, String]), out_of_band_amount: T.nilable(Integer), reason: T.nilable(String), refund_amount: T.nilable(Integer), refunds: T.nilable(T::Array[::Stripe::CreditNote::CreateParams::Refund]), shipping_cost: T.nilable(::Stripe::CreditNote::CreateParams::ShippingCost)).void
364
+ }
365
+ def initialize(
366
+ amount: nil,
367
+ credit_amount: nil,
368
+ effective_at: nil,
369
+ email_type: nil,
370
+ expand: nil,
371
+ invoice: nil,
372
+ lines: nil,
373
+ memo: nil,
374
+ metadata: nil,
375
+ out_of_band_amount: nil,
376
+ reason: nil,
377
+ refund_amount: nil,
378
+ refunds: nil,
379
+ shipping_cost: nil
380
+ ); end
381
+ end
382
+ class UpdateParams < Stripe::RequestParams
383
+ # Specifies which fields in the response should be expanded.
384
+ sig { returns(T.nilable(T::Array[String])) }
385
+ attr_accessor :expand
386
+ # Credit note memo.
387
+ sig { returns(T.nilable(String)) }
388
+ attr_accessor :memo
389
+ # 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`.
390
+ sig { returns(T.nilable(T::Hash[String, String])) }
391
+ attr_accessor :metadata
392
+ sig {
393
+ params(expand: T.nilable(T::Array[String]), memo: T.nilable(String), metadata: T.nilable(T::Hash[String, String])).void
394
+ }
395
+ def initialize(expand: nil, memo: nil, metadata: nil); end
396
+ end
397
+ class PreviewParams < Stripe::RequestParams
398
+ class Line < Stripe::RequestParams
399
+ class TaxAmount < Stripe::RequestParams
400
+ # The amount, in cents (or local equivalent), of the tax.
401
+ sig { returns(Integer) }
402
+ attr_accessor :amount
403
+ # The id of the tax rate for this tax amount. The tax rate must have been automatically created by Stripe.
404
+ sig { returns(String) }
405
+ attr_accessor :tax_rate
406
+ # The amount on which tax is calculated, in cents (or local equivalent).
407
+ sig { returns(Integer) }
408
+ attr_accessor :taxable_amount
409
+ sig { params(amount: Integer, tax_rate: String, taxable_amount: Integer).void }
410
+ def initialize(amount: nil, tax_rate: nil, taxable_amount: nil); end
411
+ end
412
+ # The line item amount to credit. Only valid when `type` is `invoice_line_item`. If invoice is set up with `automatic_tax[enabled]=true`, this amount is tax exclusive
413
+ sig { returns(T.nilable(Integer)) }
414
+ attr_accessor :amount
415
+ # The description of the credit note line item. Only valid when the `type` is `custom_line_item`.
416
+ sig { returns(T.nilable(String)) }
417
+ attr_accessor :description
418
+ # The invoice line item to credit. Only valid when the `type` is `invoice_line_item`.
419
+ sig { returns(T.nilable(String)) }
420
+ attr_accessor :invoice_line_item
421
+ # The line item quantity to credit.
422
+ sig { returns(T.nilable(Integer)) }
423
+ attr_accessor :quantity
424
+ # A list of up to 10 tax amounts for the credit note line item. Cannot be mixed with `tax_rates`.
425
+ sig {
426
+ returns(T.nilable(T.nilable(T.any(String, T::Array[::Stripe::CreditNote::PreviewParams::Line::TaxAmount]))))
427
+ }
428
+ attr_accessor :tax_amounts
429
+ # The tax rates which apply to the credit note line item. Only valid when the `type` is `custom_line_item` and cannot be mixed with `tax_amounts`.
430
+ sig { returns(T.nilable(T.nilable(T.any(String, T::Array[String])))) }
431
+ attr_accessor :tax_rates
432
+ # Type of the credit note line item, one of `invoice_line_item` or `custom_line_item`
433
+ sig { returns(String) }
434
+ attr_accessor :type
435
+ # The integer unit amount in cents (or local equivalent) of the credit note line item. This `unit_amount` will be multiplied by the quantity to get the full amount to credit for this line item. Only valid when `type` is `custom_line_item`.
436
+ sig { returns(T.nilable(Integer)) }
437
+ attr_accessor :unit_amount
438
+ # Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set.
439
+ sig { returns(T.nilable(String)) }
440
+ attr_accessor :unit_amount_decimal
441
+ sig {
442
+ params(amount: T.nilable(Integer), description: T.nilable(String), invoice_line_item: T.nilable(String), quantity: T.nilable(Integer), tax_amounts: T.nilable(T.nilable(T.any(String, T::Array[::Stripe::CreditNote::PreviewParams::Line::TaxAmount]))), tax_rates: T.nilable(T.nilable(T.any(String, T::Array[String]))), type: String, unit_amount: T.nilable(Integer), unit_amount_decimal: T.nilable(String)).void
443
+ }
444
+ def initialize(
445
+ amount: nil,
446
+ description: nil,
447
+ invoice_line_item: nil,
448
+ quantity: nil,
449
+ tax_amounts: nil,
450
+ tax_rates: nil,
451
+ type: nil,
452
+ unit_amount: nil,
453
+ unit_amount_decimal: nil
454
+ ); end
455
+ end
456
+ class Refund < Stripe::RequestParams
457
+ # Amount of the refund that applies to this credit note, in cents (or local equivalent). Defaults to the entire refund amount.
458
+ sig { returns(T.nilable(Integer)) }
459
+ attr_accessor :amount_refunded
460
+ # ID of an existing refund to link this credit note to.
461
+ sig { returns(T.nilable(String)) }
462
+ attr_accessor :refund
463
+ sig { params(amount_refunded: T.nilable(Integer), refund: T.nilable(String)).void }
464
+ def initialize(amount_refunded: nil, refund: nil); end
465
+ end
466
+ class ShippingCost < Stripe::RequestParams
467
+ # The ID of the shipping rate to use for this order.
468
+ sig { returns(T.nilable(String)) }
469
+ attr_accessor :shipping_rate
470
+ sig { params(shipping_rate: T.nilable(String)).void }
471
+ def initialize(shipping_rate: nil); end
472
+ end
473
+ # The integer amount in cents (or local equivalent) representing the total amount of the credit note.
474
+ sig { returns(T.nilable(Integer)) }
475
+ attr_accessor :amount
476
+ # The integer amount in cents (or local equivalent) representing the amount to credit the customer's balance, which will be automatically applied to their next invoice.
477
+ sig { returns(T.nilable(Integer)) }
478
+ attr_accessor :credit_amount
479
+ # The date when this credit note is in effect. Same as `created` unless overwritten. When defined, this value replaces the system-generated 'Date of issue' printed on the credit note PDF.
480
+ sig { returns(T.nilable(Integer)) }
481
+ attr_accessor :effective_at
482
+ # Type of email to send to the customer, one of `credit_note` or `none` and the default is `credit_note`.
483
+ sig { returns(T.nilable(String)) }
484
+ attr_accessor :email_type
485
+ # Specifies which fields in the response should be expanded.
486
+ sig { returns(T.nilable(T::Array[String])) }
487
+ attr_accessor :expand
488
+ # ID of the invoice.
489
+ sig { returns(String) }
490
+ attr_accessor :invoice
491
+ # Line items that make up the credit note.
492
+ sig { returns(T.nilable(T::Array[::Stripe::CreditNote::PreviewParams::Line])) }
493
+ attr_accessor :lines
494
+ # The credit note's memo appears on the credit note PDF.
495
+ sig { returns(T.nilable(String)) }
496
+ attr_accessor :memo
497
+ # 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`.
498
+ sig { returns(T.nilable(T::Hash[String, String])) }
499
+ attr_accessor :metadata
500
+ # The integer amount in cents (or local equivalent) representing the amount that is credited outside of Stripe.
501
+ sig { returns(T.nilable(Integer)) }
502
+ attr_accessor :out_of_band_amount
503
+ # Reason for issuing this credit note, one of `duplicate`, `fraudulent`, `order_change`, or `product_unsatisfactory`
504
+ sig { returns(T.nilable(String)) }
505
+ attr_accessor :reason
506
+ # The integer amount in cents (or local equivalent) representing the amount to refund. If set, a refund will be created for the charge associated with the invoice.
507
+ sig { returns(T.nilable(Integer)) }
508
+ attr_accessor :refund_amount
509
+ # Refunds to link to this credit note.
510
+ sig { returns(T.nilable(T::Array[::Stripe::CreditNote::PreviewParams::Refund])) }
511
+ attr_accessor :refunds
512
+ # When shipping_cost contains the shipping_rate from the invoice, the shipping_cost is included in the credit note.
513
+ sig { returns(T.nilable(::Stripe::CreditNote::PreviewParams::ShippingCost)) }
514
+ attr_accessor :shipping_cost
515
+ sig {
516
+ params(amount: T.nilable(Integer), credit_amount: T.nilable(Integer), effective_at: T.nilable(Integer), email_type: T.nilable(String), expand: T.nilable(T::Array[String]), invoice: String, lines: T.nilable(T::Array[::Stripe::CreditNote::PreviewParams::Line]), memo: T.nilable(String), metadata: T.nilable(T::Hash[String, String]), out_of_band_amount: T.nilable(Integer), reason: T.nilable(String), refund_amount: T.nilable(Integer), refunds: T.nilable(T::Array[::Stripe::CreditNote::PreviewParams::Refund]), shipping_cost: T.nilable(::Stripe::CreditNote::PreviewParams::ShippingCost)).void
517
+ }
518
+ def initialize(
519
+ amount: nil,
520
+ credit_amount: nil,
521
+ effective_at: nil,
522
+ email_type: nil,
523
+ expand: nil,
524
+ invoice: nil,
525
+ lines: nil,
526
+ memo: nil,
527
+ metadata: nil,
528
+ out_of_band_amount: nil,
529
+ reason: nil,
530
+ refund_amount: nil,
531
+ refunds: nil,
532
+ shipping_cost: nil
533
+ ); end
534
+ end
535
+ class ListPreviewLineItemsParams < Stripe::RequestParams
536
+ class Line < Stripe::RequestParams
537
+ class TaxAmount < Stripe::RequestParams
538
+ # The amount, in cents (or local equivalent), of the tax.
539
+ sig { returns(Integer) }
540
+ attr_accessor :amount
541
+ # The id of the tax rate for this tax amount. The tax rate must have been automatically created by Stripe.
542
+ sig { returns(String) }
543
+ attr_accessor :tax_rate
544
+ # The amount on which tax is calculated, in cents (or local equivalent).
545
+ sig { returns(Integer) }
546
+ attr_accessor :taxable_amount
547
+ sig { params(amount: Integer, tax_rate: String, taxable_amount: Integer).void }
548
+ def initialize(amount: nil, tax_rate: nil, taxable_amount: nil); end
549
+ end
550
+ # The line item amount to credit. Only valid when `type` is `invoice_line_item`. If invoice is set up with `automatic_tax[enabled]=true`, this amount is tax exclusive
551
+ sig { returns(T.nilable(Integer)) }
552
+ attr_accessor :amount
553
+ # The description of the credit note line item. Only valid when the `type` is `custom_line_item`.
554
+ sig { returns(T.nilable(String)) }
555
+ attr_accessor :description
556
+ # The invoice line item to credit. Only valid when the `type` is `invoice_line_item`.
557
+ sig { returns(T.nilable(String)) }
558
+ attr_accessor :invoice_line_item
559
+ # The line item quantity to credit.
560
+ sig { returns(T.nilable(Integer)) }
561
+ attr_accessor :quantity
562
+ # A list of up to 10 tax amounts for the credit note line item. Cannot be mixed with `tax_rates`.
563
+ sig {
564
+ returns(T.nilable(T.nilable(T.any(String, T::Array[::Stripe::CreditNote::ListPreviewLineItemsParams::Line::TaxAmount]))))
565
+ }
566
+ attr_accessor :tax_amounts
567
+ # The tax rates which apply to the credit note line item. Only valid when the `type` is `custom_line_item` and cannot be mixed with `tax_amounts`.
568
+ sig { returns(T.nilable(T.nilable(T.any(String, T::Array[String])))) }
569
+ attr_accessor :tax_rates
570
+ # Type of the credit note line item, one of `invoice_line_item` or `custom_line_item`
571
+ sig { returns(String) }
572
+ attr_accessor :type
573
+ # The integer unit amount in cents (or local equivalent) of the credit note line item. This `unit_amount` will be multiplied by the quantity to get the full amount to credit for this line item. Only valid when `type` is `custom_line_item`.
574
+ sig { returns(T.nilable(Integer)) }
575
+ attr_accessor :unit_amount
576
+ # Same as `unit_amount`, but accepts a decimal value in cents (or local equivalent) with at most 12 decimal places. Only one of `unit_amount` and `unit_amount_decimal` can be set.
577
+ sig { returns(T.nilable(String)) }
578
+ attr_accessor :unit_amount_decimal
579
+ sig {
580
+ params(amount: T.nilable(Integer), description: T.nilable(String), invoice_line_item: T.nilable(String), quantity: T.nilable(Integer), tax_amounts: T.nilable(T.nilable(T.any(String, T::Array[::Stripe::CreditNote::ListPreviewLineItemsParams::Line::TaxAmount]))), tax_rates: T.nilable(T.nilable(T.any(String, T::Array[String]))), type: String, unit_amount: T.nilable(Integer), unit_amount_decimal: T.nilable(String)).void
581
+ }
582
+ def initialize(
583
+ amount: nil,
584
+ description: nil,
585
+ invoice_line_item: nil,
586
+ quantity: nil,
587
+ tax_amounts: nil,
588
+ tax_rates: nil,
589
+ type: nil,
590
+ unit_amount: nil,
591
+ unit_amount_decimal: nil
592
+ ); end
593
+ end
594
+ class Refund < Stripe::RequestParams
595
+ # Amount of the refund that applies to this credit note, in cents (or local equivalent). Defaults to the entire refund amount.
596
+ sig { returns(T.nilable(Integer)) }
597
+ attr_accessor :amount_refunded
598
+ # ID of an existing refund to link this credit note to.
599
+ sig { returns(T.nilable(String)) }
600
+ attr_accessor :refund
601
+ sig { params(amount_refunded: T.nilable(Integer), refund: T.nilable(String)).void }
602
+ def initialize(amount_refunded: nil, refund: nil); end
603
+ end
604
+ class ShippingCost < Stripe::RequestParams
605
+ # The ID of the shipping rate to use for this order.
606
+ sig { returns(T.nilable(String)) }
607
+ attr_accessor :shipping_rate
608
+ sig { params(shipping_rate: T.nilable(String)).void }
609
+ def initialize(shipping_rate: nil); end
610
+ end
611
+ # The integer amount in cents (or local equivalent) representing the total amount of the credit note.
612
+ sig { returns(T.nilable(Integer)) }
613
+ attr_accessor :amount
614
+ # The integer amount in cents (or local equivalent) representing the amount to credit the customer's balance, which will be automatically applied to their next invoice.
615
+ sig { returns(T.nilable(Integer)) }
616
+ attr_accessor :credit_amount
617
+ # The date when this credit note is in effect. Same as `created` unless overwritten. When defined, this value replaces the system-generated 'Date of issue' printed on the credit note PDF.
618
+ sig { returns(T.nilable(Integer)) }
619
+ attr_accessor :effective_at
620
+ # Type of email to send to the customer, one of `credit_note` or `none` and the default is `credit_note`.
621
+ sig { returns(T.nilable(String)) }
622
+ attr_accessor :email_type
623
+ # 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.
624
+ sig { returns(T.nilable(String)) }
625
+ attr_accessor :ending_before
626
+ # Specifies which fields in the response should be expanded.
627
+ sig { returns(T.nilable(T::Array[String])) }
628
+ attr_accessor :expand
629
+ # ID of the invoice.
630
+ sig { returns(String) }
631
+ attr_accessor :invoice
632
+ # A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
633
+ sig { returns(T.nilable(Integer)) }
634
+ attr_accessor :limit
635
+ # Line items that make up the credit note.
636
+ sig { returns(T.nilable(T::Array[::Stripe::CreditNote::ListPreviewLineItemsParams::Line])) }
637
+ attr_accessor :lines
638
+ # The credit note's memo appears on the credit note PDF.
639
+ sig { returns(T.nilable(String)) }
640
+ attr_accessor :memo
641
+ # 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`.
642
+ sig { returns(T.nilable(T::Hash[String, String])) }
643
+ attr_accessor :metadata
644
+ # The integer amount in cents (or local equivalent) representing the amount that is credited outside of Stripe.
645
+ sig { returns(T.nilable(Integer)) }
646
+ attr_accessor :out_of_band_amount
647
+ # Reason for issuing this credit note, one of `duplicate`, `fraudulent`, `order_change`, or `product_unsatisfactory`
648
+ sig { returns(T.nilable(String)) }
649
+ attr_accessor :reason
650
+ # The integer amount in cents (or local equivalent) representing the amount to refund. If set, a refund will be created for the charge associated with the invoice.
651
+ sig { returns(T.nilable(Integer)) }
652
+ attr_accessor :refund_amount
653
+ # Refunds to link to this credit note.
654
+ sig { returns(T.nilable(T::Array[::Stripe::CreditNote::ListPreviewLineItemsParams::Refund])) }
655
+ attr_accessor :refunds
656
+ # When shipping_cost contains the shipping_rate from the invoice, the shipping_cost is included in the credit note.
657
+ sig { returns(T.nilable(::Stripe::CreditNote::ListPreviewLineItemsParams::ShippingCost)) }
658
+ attr_accessor :shipping_cost
659
+ # 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.
660
+ sig { returns(T.nilable(String)) }
661
+ attr_accessor :starting_after
662
+ sig {
663
+ params(amount: T.nilable(Integer), credit_amount: T.nilable(Integer), effective_at: T.nilable(Integer), email_type: T.nilable(String), ending_before: T.nilable(String), expand: T.nilable(T::Array[String]), invoice: String, limit: T.nilable(Integer), lines: T.nilable(T::Array[::Stripe::CreditNote::ListPreviewLineItemsParams::Line]), memo: T.nilable(String), metadata: T.nilable(T::Hash[String, String]), out_of_band_amount: T.nilable(Integer), reason: T.nilable(String), refund_amount: T.nilable(Integer), refunds: T.nilable(T::Array[::Stripe::CreditNote::ListPreviewLineItemsParams::Refund]), shipping_cost: T.nilable(::Stripe::CreditNote::ListPreviewLineItemsParams::ShippingCost), starting_after: T.nilable(String)).void
664
+ }
665
+ def initialize(
666
+ amount: nil,
667
+ credit_amount: nil,
668
+ effective_at: nil,
669
+ email_type: nil,
670
+ ending_before: nil,
671
+ expand: nil,
672
+ invoice: nil,
673
+ limit: nil,
674
+ lines: nil,
675
+ memo: nil,
676
+ metadata: nil,
677
+ out_of_band_amount: nil,
678
+ reason: nil,
679
+ refund_amount: nil,
680
+ refunds: nil,
681
+ shipping_cost: nil,
682
+ starting_after: nil
683
+ ); end
684
+ end
685
+ class VoidCreditNoteParams < Stripe::RequestParams
686
+ # Specifies which fields in the response should be expanded.
687
+ sig { returns(T.nilable(T::Array[String])) }
688
+ attr_accessor :expand
689
+ sig { params(expand: T.nilable(T::Array[String])).void }
690
+ def initialize(expand: nil); end
691
+ end
692
+ # Issue a credit note to adjust the amount of a finalized invoice. For a status=open invoice, a credit note reduces
693
+ # its amount_due. For a status=paid invoice, a credit note does not affect its amount_due. Instead, it can result
694
+ # in any combination of the following:
695
+ #
696
+ #
697
+ # Refund: create a new refund (using refund_amount) or link an existing refund (using refund).
698
+ # Customer balance credit: credit the customer's balance (using credit_amount) which will be automatically applied to their next invoice when it's finalized.
699
+ # Outside of Stripe credit: record the amount that is or will be credited outside of Stripe (using out_of_band_amount).
700
+ #
701
+ #
702
+ # For post-payment credit notes the sum of the refund, credit and outside of Stripe amounts must equal the credit note total.
703
+ #
704
+ # You may issue multiple credit notes for an invoice. Each credit note will increment the invoice's pre_payment_credit_notes_amount
705
+ # or post_payment_credit_notes_amount depending on its status at the time of credit note creation.
706
+ sig {
707
+ params(params: T.any(::Stripe::CreditNote::CreateParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::CreditNote)
708
+ }
709
+ def self.create(params = {}, opts = {}); end
710
+
711
+ # Returns a list of credit notes.
712
+ sig {
713
+ params(params: T.any(::Stripe::CreditNote::ListParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::ListObject)
714
+ }
715
+ def self.list(params = {}, opts = {}); end
716
+
717
+ # When retrieving a credit note preview, you'll get a lines property containing the first handful of those items. This URL you can retrieve the full (paginated) list of line items.
718
+ sig {
719
+ params(params: T.any(::Stripe::CreditNote::ListPreviewLineItemsParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::ListObject)
720
+ }
721
+ def self.list_preview_line_items(params = {}, opts = {}); end
722
+
723
+ # Get a preview of a credit note without creating it.
724
+ sig {
725
+ params(params: T.any(::Stripe::CreditNote::PreviewParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::CreditNote)
726
+ }
727
+ def self.preview(params = {}, opts = {}); end
728
+
729
+ # Updates an existing credit note.
730
+ sig {
731
+ params(id: String, params: T.any(::Stripe::CreditNote::UpdateParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::CreditNote)
732
+ }
733
+ def self.update(id, params = {}, opts = {}); end
734
+
735
+ # Marks a credit note as void. Learn more about [voiding credit notes](https://stripe.com/docs/billing/invoices/credit-notes#voiding).
736
+ sig {
737
+ params(params: T.any(::Stripe::CreditNote::VoidCreditNoteParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::CreditNote)
738
+ }
739
+ def void_credit_note(params = {}, opts = {}); end
740
+
741
+ # Marks a credit note as void. Learn more about [voiding credit notes](https://stripe.com/docs/billing/invoices/credit-notes#voiding).
742
+ sig {
743
+ params(id: String, params: T.any(::Stripe::CreditNote::VoidCreditNoteParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::CreditNote)
744
+ }
745
+ def self.void_credit_note(id, params = {}, opts = {}); end
746
+ end
747
+ end