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,1009 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ # typed: true
5
+ module Stripe
6
+ # This object represents a customer of your business. Use it to [create recurring charges](https://stripe.com/docs/invoicing/customer), [save payment](https://stripe.com/docs/payments/save-during-payment) and contact information,
7
+ # and track payments that belong to the same customer.
8
+ class Customer < APIResource
9
+ class Address < Stripe::StripeObject
10
+ # City, district, suburb, town, or village.
11
+ sig { returns(T.nilable(String)) }
12
+ attr_reader :city
13
+ # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
14
+ sig { returns(T.nilable(String)) }
15
+ attr_reader :country
16
+ # Address line 1 (e.g., street, PO Box, or company name).
17
+ sig { returns(T.nilable(String)) }
18
+ attr_reader :line1
19
+ # Address line 2 (e.g., apartment, suite, unit, or building).
20
+ sig { returns(T.nilable(String)) }
21
+ attr_reader :line2
22
+ # ZIP or postal code.
23
+ sig { returns(T.nilable(String)) }
24
+ attr_reader :postal_code
25
+ # State, county, province, or region.
26
+ sig { returns(T.nilable(String)) }
27
+ attr_reader :state
28
+ end
29
+ class InvoiceSettings < Stripe::StripeObject
30
+ class CustomField < Stripe::StripeObject
31
+ # The name of the custom field.
32
+ sig { returns(String) }
33
+ attr_reader :name
34
+ # The value of the custom field.
35
+ sig { returns(String) }
36
+ attr_reader :value
37
+ end
38
+ class RenderingOptions < Stripe::StripeObject
39
+ # How line-item prices and amounts will be displayed with respect to tax on invoice PDFs.
40
+ sig { returns(T.nilable(String)) }
41
+ attr_reader :amount_tax_display
42
+ # ID of the invoice rendering template to be used for this customer's invoices. If set, the template will be used on all invoices for this customer unless a template is set directly on the invoice.
43
+ sig { returns(T.nilable(String)) }
44
+ attr_reader :template
45
+ end
46
+ # Default custom fields to be displayed on invoices for this customer.
47
+ sig { returns(T.nilable(T::Array[CustomField])) }
48
+ attr_reader :custom_fields
49
+ # ID of a payment method that's attached to the customer, to be used as the customer's default payment method for subscriptions and invoices.
50
+ sig { returns(T.nilable(T.any(String, Stripe::PaymentMethod))) }
51
+ attr_reader :default_payment_method
52
+ # Default footer to be displayed on invoices for this customer.
53
+ sig { returns(T.nilable(String)) }
54
+ attr_reader :footer
55
+ # Default options for invoice PDF rendering for this customer.
56
+ sig { returns(T.nilable(RenderingOptions)) }
57
+ attr_reader :rendering_options
58
+ end
59
+ class Shipping < Stripe::StripeObject
60
+ class Address < Stripe::StripeObject
61
+ # City, district, suburb, town, or village.
62
+ sig { returns(T.nilable(String)) }
63
+ attr_reader :city
64
+ # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
65
+ sig { returns(T.nilable(String)) }
66
+ attr_reader :country
67
+ # Address line 1 (e.g., street, PO Box, or company name).
68
+ sig { returns(T.nilable(String)) }
69
+ attr_reader :line1
70
+ # Address line 2 (e.g., apartment, suite, unit, or building).
71
+ sig { returns(T.nilable(String)) }
72
+ attr_reader :line2
73
+ # ZIP or postal code.
74
+ sig { returns(T.nilable(String)) }
75
+ attr_reader :postal_code
76
+ # State, county, province, or region.
77
+ sig { returns(T.nilable(String)) }
78
+ attr_reader :state
79
+ end
80
+ # Attribute for field address
81
+ sig { returns(Address) }
82
+ attr_reader :address
83
+ # The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc.
84
+ sig { returns(T.nilable(String)) }
85
+ attr_reader :carrier
86
+ # Recipient name.
87
+ sig { returns(String) }
88
+ attr_reader :name
89
+ # Recipient phone (including extension).
90
+ sig { returns(T.nilable(String)) }
91
+ attr_reader :phone
92
+ # The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas.
93
+ sig { returns(T.nilable(String)) }
94
+ attr_reader :tracking_number
95
+ end
96
+ class Tax < Stripe::StripeObject
97
+ class Location < Stripe::StripeObject
98
+ # The identified tax country of the customer.
99
+ sig { returns(String) }
100
+ attr_reader :country
101
+ # The data source used to infer the customer's location.
102
+ sig { returns(String) }
103
+ attr_reader :source
104
+ # The identified tax state, county, province, or region of the customer.
105
+ sig { returns(T.nilable(String)) }
106
+ attr_reader :state
107
+ end
108
+ # Surfaces if automatic tax computation is possible given the current customer location information.
109
+ sig { returns(String) }
110
+ attr_reader :automatic_tax
111
+ # A recent IP address of the customer used for tax reporting and tax location inference.
112
+ sig { returns(T.nilable(String)) }
113
+ attr_reader :ip_address
114
+ # The identified tax location of the customer.
115
+ sig { returns(T.nilable(Location)) }
116
+ attr_reader :location
117
+ end
118
+ # The customer's address.
119
+ sig { returns(T.nilable(Address)) }
120
+ attr_reader :address
121
+ # The current balance, if any, that's stored on the customer. If negative, the customer has credit to apply to their next invoice. If positive, the customer has an amount owed that's added to their next invoice. The balance only considers amounts that Stripe hasn't successfully applied to any invoice. It doesn't reflect unpaid invoices. This balance is only taken into account after invoices finalize.
122
+ sig { returns(Integer) }
123
+ attr_reader :balance
124
+ # The current funds being held by Stripe on behalf of the customer. You can apply these funds towards payment intents when the source is "cash_balance". The `settings[reconciliation_mode]` field describes if these funds apply to these payment intents manually or automatically.
125
+ sig { returns(T.nilable(Stripe::CashBalance)) }
126
+ attr_reader :cash_balance
127
+ # Time at which the object was created. Measured in seconds since the Unix epoch.
128
+ sig { returns(Integer) }
129
+ attr_reader :created
130
+ # Three-letter [ISO code for the currency](https://stripe.com/docs/currencies) the customer can be charged in for recurring billing purposes.
131
+ sig { returns(T.nilable(String)) }
132
+ attr_reader :currency
133
+ # ID of the default payment source for the customer.
134
+ #
135
+ # If you use payment methods created through the PaymentMethods API, see the [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/object#customer_object-invoice_settings-default_payment_method) field instead.
136
+ sig {
137
+ returns(T.nilable(T.any(String, T.any(Stripe::Account, Stripe::BankAccount, Stripe::Card, Stripe::Source))))
138
+ }
139
+ attr_reader :default_source
140
+ # Tracks the most recent state change on any invoice belonging to the customer. Paying an invoice or marking it uncollectible via the API will set this field to false. An automatic payment failure or passing the `invoice.due_date` will set this field to `true`.
141
+ #
142
+ # If an invoice becomes uncollectible by [dunning](https://stripe.com/docs/billing/automatic-collection), `delinquent` doesn't reset to `false`.
143
+ #
144
+ # If you care whether the customer has paid their most recent subscription invoice, use `subscription.status` instead. Paying or marking uncollectible any customer invoice regardless of whether it is the latest invoice for a subscription will always set this field to `false`.
145
+ sig { returns(T.nilable(T::Boolean)) }
146
+ attr_reader :delinquent
147
+ # An arbitrary string attached to the object. Often useful for displaying to users.
148
+ sig { returns(T.nilable(String)) }
149
+ attr_reader :description
150
+ # Describes the current discount active on the customer, if there is one.
151
+ sig { returns(T.nilable(Stripe::Discount)) }
152
+ attr_reader :discount
153
+ # The customer's email address.
154
+ sig { returns(T.nilable(String)) }
155
+ attr_reader :email
156
+ # Unique identifier for the object.
157
+ sig { returns(String) }
158
+ attr_reader :id
159
+ # The current multi-currency balances, if any, that's stored on the customer. If positive in a currency, the customer has a credit to apply to their next invoice denominated in that currency. If negative, the customer has an amount owed that's added to their next invoice denominated in that currency. These balances don't apply to unpaid invoices. They solely track amounts that Stripe hasn't successfully applied to any invoice. Stripe only applies a balance in a specific currency to an invoice after that invoice (which is in the same currency) finalizes.
160
+ sig { returns(T::Hash[String, Integer]) }
161
+ attr_reader :invoice_credit_balance
162
+ # The prefix for the customer used to generate unique invoice numbers.
163
+ sig { returns(T.nilable(String)) }
164
+ attr_reader :invoice_prefix
165
+ # Attribute for field invoice_settings
166
+ sig { returns(InvoiceSettings) }
167
+ attr_reader :invoice_settings
168
+ # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
169
+ sig { returns(T::Boolean) }
170
+ attr_reader :livemode
171
+ # 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.
172
+ sig { returns(T::Hash[String, String]) }
173
+ attr_reader :metadata
174
+ # The customer's full name or business name.
175
+ sig { returns(T.nilable(String)) }
176
+ attr_reader :name
177
+ # The suffix of the customer's next invoice number (for example, 0001). When the account uses account level sequencing, this parameter is ignored in API requests and the field omitted in API responses.
178
+ sig { returns(Integer) }
179
+ attr_reader :next_invoice_sequence
180
+ # String representing the object's type. Objects of the same type share the same value.
181
+ sig { returns(String) }
182
+ attr_reader :object
183
+ # The customer's phone number.
184
+ sig { returns(T.nilable(String)) }
185
+ attr_reader :phone
186
+ # The customer's preferred locales (languages), ordered by preference.
187
+ sig { returns(T.nilable(T::Array[String])) }
188
+ attr_reader :preferred_locales
189
+ # Mailing and shipping address for the customer. Appears on invoices emailed to this customer.
190
+ sig { returns(T.nilable(Shipping)) }
191
+ attr_reader :shipping
192
+ # The customer's payment sources, if any.
193
+ sig { returns(Stripe::ListObject) }
194
+ attr_reader :sources
195
+ # The customer's current subscriptions, if any.
196
+ sig { returns(Stripe::ListObject) }
197
+ attr_reader :subscriptions
198
+ # Attribute for field tax
199
+ sig { returns(Tax) }
200
+ attr_reader :tax
201
+ # Describes the customer's tax exemption status, which is `none`, `exempt`, or `reverse`. When set to `reverse`, invoice and receipt PDFs include the following text: **"Reverse charge"**.
202
+ sig { returns(T.nilable(String)) }
203
+ attr_reader :tax_exempt
204
+ # The customer's tax IDs.
205
+ sig { returns(Stripe::ListObject) }
206
+ attr_reader :tax_ids
207
+ # ID of the test clock that this customer belongs to.
208
+ sig { returns(T.nilable(T.any(String, Stripe::TestHelpers::TestClock))) }
209
+ attr_reader :test_clock
210
+ # Always true for a deleted object
211
+ sig { returns(T::Boolean) }
212
+ attr_reader :deleted
213
+ class DeleteParams < Stripe::RequestParams
214
+
215
+ end
216
+ class UpdateParams < Stripe::RequestParams
217
+ class Address < Stripe::RequestParams
218
+ # City, district, suburb, town, or village.
219
+ sig { returns(T.nilable(String)) }
220
+ attr_accessor :city
221
+ # A freeform text field for the country. However, in order to activate some tax features, the format should be a two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
222
+ sig { returns(T.nilable(String)) }
223
+ attr_accessor :country
224
+ # Address line 1 (e.g., street, PO Box, or company name).
225
+ sig { returns(T.nilable(String)) }
226
+ attr_accessor :line1
227
+ # Address line 2 (e.g., apartment, suite, unit, or building).
228
+ sig { returns(T.nilable(String)) }
229
+ attr_accessor :line2
230
+ # ZIP or postal code.
231
+ sig { returns(T.nilable(String)) }
232
+ attr_accessor :postal_code
233
+ # State, county, province, or region.
234
+ sig { returns(T.nilable(String)) }
235
+ attr_accessor :state
236
+ sig {
237
+ params(city: T.nilable(String), country: T.nilable(String), line1: T.nilable(String), line2: T.nilable(String), postal_code: T.nilable(String), state: T.nilable(String)).void
238
+ }
239
+ def initialize(
240
+ city: nil,
241
+ country: nil,
242
+ line1: nil,
243
+ line2: nil,
244
+ postal_code: nil,
245
+ state: nil
246
+ ); end
247
+ end
248
+ class CashBalance < Stripe::RequestParams
249
+ class Settings < Stripe::RequestParams
250
+ # Controls how funds transferred by the customer are applied to payment intents and invoices. Valid options are `automatic`, `manual`, or `merchant_default`. For more information about these reconciliation modes, see [Reconciliation](https://stripe.com/docs/payments/customer-balance/reconciliation).
251
+ sig { returns(T.nilable(String)) }
252
+ attr_accessor :reconciliation_mode
253
+ sig { params(reconciliation_mode: T.nilable(String)).void }
254
+ def initialize(reconciliation_mode: nil); end
255
+ end
256
+ # Settings controlling the behavior of the customer's cash balance,
257
+ # such as reconciliation of funds received.
258
+ sig { returns(T.nilable(::Stripe::Customer::UpdateParams::CashBalance::Settings)) }
259
+ attr_accessor :settings
260
+ sig {
261
+ params(settings: T.nilable(::Stripe::Customer::UpdateParams::CashBalance::Settings)).void
262
+ }
263
+ def initialize(settings: nil); end
264
+ end
265
+ class InvoiceSettings < Stripe::RequestParams
266
+ class CustomField < Stripe::RequestParams
267
+ # The name of the custom field. This may be up to 40 characters.
268
+ sig { returns(String) }
269
+ attr_accessor :name
270
+ # The value of the custom field. This may be up to 140 characters.
271
+ sig { returns(String) }
272
+ attr_accessor :value
273
+ sig { params(name: String, value: String).void }
274
+ def initialize(name: nil, value: nil); end
275
+ end
276
+ class RenderingOptions < Stripe::RequestParams
277
+ # 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.
278
+ sig { returns(T.nilable(T.nilable(T.any(String, String)))) }
279
+ attr_accessor :amount_tax_display
280
+ # ID of the invoice rendering template to use for future invoices.
281
+ sig { returns(T.nilable(String)) }
282
+ attr_accessor :template
283
+ sig {
284
+ params(amount_tax_display: T.nilable(T.nilable(T.any(String, String))), template: T.nilable(String)).void
285
+ }
286
+ def initialize(amount_tax_display: nil, template: nil); end
287
+ end
288
+ # The list of up to 4 default custom fields to be displayed on invoices for this customer. When updating, pass an empty string to remove previously-defined fields.
289
+ sig {
290
+ returns(T.nilable(T.nilable(T.any(String, T::Array[::Stripe::Customer::UpdateParams::InvoiceSettings::CustomField]))))
291
+ }
292
+ attr_accessor :custom_fields
293
+ # ID of a payment method that's attached to the customer, to be used as the customer's default payment method for subscriptions and invoices.
294
+ sig { returns(T.nilable(String)) }
295
+ attr_accessor :default_payment_method
296
+ # Default footer to be displayed on invoices for this customer.
297
+ sig { returns(T.nilable(String)) }
298
+ attr_accessor :footer
299
+ # Default options for invoice PDF rendering for this customer.
300
+ sig {
301
+ returns(T.nilable(T.nilable(T.any(String, ::Stripe::Customer::UpdateParams::InvoiceSettings::RenderingOptions))))
302
+ }
303
+ attr_accessor :rendering_options
304
+ sig {
305
+ params(custom_fields: T.nilable(T.nilable(T.any(String, T::Array[::Stripe::Customer::UpdateParams::InvoiceSettings::CustomField]))), default_payment_method: T.nilable(String), footer: T.nilable(String), rendering_options: T.nilable(T.nilable(T.any(String, ::Stripe::Customer::UpdateParams::InvoiceSettings::RenderingOptions)))).void
306
+ }
307
+ def initialize(
308
+ custom_fields: nil,
309
+ default_payment_method: nil,
310
+ footer: nil,
311
+ rendering_options: nil
312
+ ); end
313
+ end
314
+ class Shipping < Stripe::RequestParams
315
+ class Address < Stripe::RequestParams
316
+ # City, district, suburb, town, or village.
317
+ sig { returns(T.nilable(String)) }
318
+ attr_accessor :city
319
+ # A freeform text field for the country. However, in order to activate some tax features, the format should be a two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
320
+ sig { returns(T.nilable(String)) }
321
+ attr_accessor :country
322
+ # Address line 1 (e.g., street, PO Box, or company name).
323
+ sig { returns(T.nilable(String)) }
324
+ attr_accessor :line1
325
+ # Address line 2 (e.g., apartment, suite, unit, or building).
326
+ sig { returns(T.nilable(String)) }
327
+ attr_accessor :line2
328
+ # ZIP or postal code.
329
+ sig { returns(T.nilable(String)) }
330
+ attr_accessor :postal_code
331
+ # State, county, province, or region.
332
+ sig { returns(T.nilable(String)) }
333
+ attr_accessor :state
334
+ sig {
335
+ params(city: T.nilable(String), country: T.nilable(String), line1: T.nilable(String), line2: T.nilable(String), postal_code: T.nilable(String), state: T.nilable(String)).void
336
+ }
337
+ def initialize(
338
+ city: nil,
339
+ country: nil,
340
+ line1: nil,
341
+ line2: nil,
342
+ postal_code: nil,
343
+ state: nil
344
+ ); end
345
+ end
346
+ # Customer shipping address.
347
+ sig { returns(::Stripe::Customer::UpdateParams::Shipping::Address) }
348
+ attr_accessor :address
349
+ # Customer name.
350
+ sig { returns(String) }
351
+ attr_accessor :name
352
+ # Customer phone (including extension).
353
+ sig { returns(T.nilable(String)) }
354
+ attr_accessor :phone
355
+ sig {
356
+ params(address: ::Stripe::Customer::UpdateParams::Shipping::Address, name: String, phone: T.nilable(String)).void
357
+ }
358
+ def initialize(address: nil, name: nil, phone: nil); end
359
+ end
360
+ class Tax < Stripe::RequestParams
361
+ # A recent IP address of the customer used for tax reporting and tax location inference. Stripe recommends updating the IP address when a new PaymentMethod is attached or the address field on the customer is updated. We recommend against updating this field more frequently since it could result in unexpected tax location/reporting outcomes.
362
+ sig { returns(T.nilable(T.nilable(String))) }
363
+ attr_accessor :ip_address
364
+ # A flag that indicates when Stripe should validate the customer tax location. Defaults to `auto`.
365
+ sig { returns(T.nilable(String)) }
366
+ attr_accessor :validate_location
367
+ sig {
368
+ params(ip_address: T.nilable(T.nilable(String)), validate_location: T.nilable(String)).void
369
+ }
370
+ def initialize(ip_address: nil, validate_location: nil); end
371
+ end
372
+ # The customer's address.
373
+ sig {
374
+ returns(T.nilable(T.nilable(T.any(String, ::Stripe::Customer::UpdateParams::Address))))
375
+ }
376
+ attr_accessor :address
377
+ # An integer amount in cents (or local equivalent) that represents the customer's current balance, which affect the customer's future invoices. A negative amount represents a credit that decreases the amount due on an invoice; a positive amount increases the amount due on an invoice.
378
+ sig { returns(T.nilable(Integer)) }
379
+ attr_accessor :balance
380
+ # Balance information and default balance settings for this customer.
381
+ sig { returns(T.nilable(::Stripe::Customer::UpdateParams::CashBalance)) }
382
+ attr_accessor :cash_balance
383
+ # If you are using payment methods created via the PaymentMethods API, see the [invoice_settings.default_payment_method](https://stripe.com/docs/api/customers/update#update_customer-invoice_settings-default_payment_method) parameter.
384
+ #
385
+ # Provide the ID of a payment source already attached to this customer to make it this customer's default payment source.
386
+ #
387
+ # If you want to add a new payment source and make it the default, see the [source](https://stripe.com/docs/api/customers/update#update_customer-source) property.
388
+ sig { returns(T.nilable(String)) }
389
+ attr_accessor :default_source
390
+ # An arbitrary string that you can attach to a customer object. It is displayed alongside the customer in the dashboard.
391
+ sig { returns(T.nilable(String)) }
392
+ attr_accessor :description
393
+ # Customer's email address. It's displayed alongside the customer in your dashboard and can be useful for searching and tracking. This may be up to *512 characters*.
394
+ sig { returns(T.nilable(String)) }
395
+ attr_accessor :email
396
+ # Specifies which fields in the response should be expanded.
397
+ sig { returns(T.nilable(T::Array[String])) }
398
+ attr_accessor :expand
399
+ # The prefix for the customer used to generate unique invoice numbers. Must be 3–12 uppercase letters or numbers.
400
+ sig { returns(T.nilable(String)) }
401
+ attr_accessor :invoice_prefix
402
+ # Default invoice settings for this customer.
403
+ sig { returns(T.nilable(::Stripe::Customer::UpdateParams::InvoiceSettings)) }
404
+ attr_accessor :invoice_settings
405
+ # 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`.
406
+ sig { returns(T.nilable(T.nilable(T.any(String, T::Hash[String, String])))) }
407
+ attr_accessor :metadata
408
+ # The customer's full name or business name.
409
+ sig { returns(T.nilable(String)) }
410
+ attr_accessor :name
411
+ # The sequence to be used on the customer's next invoice. Defaults to 1.
412
+ sig { returns(T.nilable(Integer)) }
413
+ attr_accessor :next_invoice_sequence
414
+ # The customer's phone number.
415
+ sig { returns(T.nilable(String)) }
416
+ attr_accessor :phone
417
+ # Customer's preferred languages, ordered by preference.
418
+ sig { returns(T.nilable(T::Array[String])) }
419
+ attr_accessor :preferred_locales
420
+ # The customer's shipping information. Appears on invoices emailed to this customer.
421
+ sig {
422
+ returns(T.nilable(T.nilable(T.any(String, ::Stripe::Customer::UpdateParams::Shipping))))
423
+ }
424
+ attr_accessor :shipping
425
+ # Attribute for param field source
426
+ sig { returns(T.nilable(String)) }
427
+ attr_accessor :source
428
+ # Tax details about the customer.
429
+ sig { returns(T.nilable(::Stripe::Customer::UpdateParams::Tax)) }
430
+ attr_accessor :tax
431
+ # The customer's tax exemption. One of `none`, `exempt`, or `reverse`.
432
+ sig { returns(T.nilable(T.nilable(T.any(String, String)))) }
433
+ attr_accessor :tax_exempt
434
+ # Attribute for param field validate
435
+ sig { returns(T.nilable(T::Boolean)) }
436
+ attr_accessor :validate
437
+ sig {
438
+ params(address: T.nilable(T.nilable(T.any(String, ::Stripe::Customer::UpdateParams::Address))), balance: T.nilable(Integer), cash_balance: T.nilable(::Stripe::Customer::UpdateParams::CashBalance), default_source: T.nilable(String), description: T.nilable(String), email: T.nilable(String), expand: T.nilable(T::Array[String]), invoice_prefix: T.nilable(String), invoice_settings: T.nilable(::Stripe::Customer::UpdateParams::InvoiceSettings), metadata: T.nilable(T.nilable(T.any(String, T::Hash[String, String]))), name: T.nilable(String), next_invoice_sequence: T.nilable(Integer), phone: T.nilable(String), preferred_locales: T.nilable(T::Array[String]), shipping: T.nilable(T.nilable(T.any(String, ::Stripe::Customer::UpdateParams::Shipping))), source: T.nilable(String), tax: T.nilable(::Stripe::Customer::UpdateParams::Tax), tax_exempt: T.nilable(T.nilable(T.any(String, String))), validate: T.nilable(T::Boolean)).void
439
+ }
440
+ def initialize(
441
+ address: nil,
442
+ balance: nil,
443
+ cash_balance: nil,
444
+ default_source: nil,
445
+ description: nil,
446
+ email: nil,
447
+ expand: nil,
448
+ invoice_prefix: nil,
449
+ invoice_settings: nil,
450
+ metadata: nil,
451
+ name: nil,
452
+ next_invoice_sequence: nil,
453
+ phone: nil,
454
+ preferred_locales: nil,
455
+ shipping: nil,
456
+ source: nil,
457
+ tax: nil,
458
+ tax_exempt: nil,
459
+ validate: nil
460
+ ); end
461
+ end
462
+ class DeleteDiscountParams < Stripe::RequestParams
463
+
464
+ end
465
+ class ListParams < Stripe::RequestParams
466
+ class Created < Stripe::RequestParams
467
+ # Minimum value to filter by (exclusive)
468
+ sig { returns(T.nilable(Integer)) }
469
+ attr_accessor :gt
470
+ # Minimum value to filter by (inclusive)
471
+ sig { returns(T.nilable(Integer)) }
472
+ attr_accessor :gte
473
+ # Maximum value to filter by (exclusive)
474
+ sig { returns(T.nilable(Integer)) }
475
+ attr_accessor :lt
476
+ # Maximum value to filter by (inclusive)
477
+ sig { returns(T.nilable(Integer)) }
478
+ attr_accessor :lte
479
+ sig {
480
+ params(gt: T.nilable(Integer), gte: T.nilable(Integer), lt: T.nilable(Integer), lte: T.nilable(Integer)).void
481
+ }
482
+ def initialize(gt: nil, gte: nil, lt: nil, lte: nil); end
483
+ end
484
+ # Only return customers that were created during the given date interval.
485
+ sig { returns(T.nilable(T.any(::Stripe::Customer::ListParams::Created, Integer))) }
486
+ attr_accessor :created
487
+ # A case-sensitive filter on the list based on the customer's `email` field. The value must be a string.
488
+ sig { returns(T.nilable(String)) }
489
+ attr_accessor :email
490
+ # 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.
491
+ sig { returns(T.nilable(String)) }
492
+ attr_accessor :ending_before
493
+ # Specifies which fields in the response should be expanded.
494
+ sig { returns(T.nilable(T::Array[String])) }
495
+ attr_accessor :expand
496
+ # A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
497
+ sig { returns(T.nilable(Integer)) }
498
+ attr_accessor :limit
499
+ # 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.
500
+ sig { returns(T.nilable(String)) }
501
+ attr_accessor :starting_after
502
+ # Provides a list of customers that are associated with the specified test clock. The response will not include customers with test clocks if this parameter is not set.
503
+ sig { returns(T.nilable(String)) }
504
+ attr_accessor :test_clock
505
+ sig {
506
+ params(created: T.nilable(T.any(::Stripe::Customer::ListParams::Created, Integer)), email: T.nilable(String), ending_before: T.nilable(String), expand: T.nilable(T::Array[String]), limit: T.nilable(Integer), starting_after: T.nilable(String), test_clock: T.nilable(String)).void
507
+ }
508
+ def initialize(
509
+ created: nil,
510
+ email: nil,
511
+ ending_before: nil,
512
+ expand: nil,
513
+ limit: nil,
514
+ starting_after: nil,
515
+ test_clock: nil
516
+ ); end
517
+ end
518
+ class CreateParams < Stripe::RequestParams
519
+ class Address < Stripe::RequestParams
520
+ # City, district, suburb, town, or village.
521
+ sig { returns(T.nilable(String)) }
522
+ attr_accessor :city
523
+ # A freeform text field for the country. However, in order to activate some tax features, the format should be a two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
524
+ sig { returns(T.nilable(String)) }
525
+ attr_accessor :country
526
+ # Address line 1 (e.g., street, PO Box, or company name).
527
+ sig { returns(T.nilable(String)) }
528
+ attr_accessor :line1
529
+ # Address line 2 (e.g., apartment, suite, unit, or building).
530
+ sig { returns(T.nilable(String)) }
531
+ attr_accessor :line2
532
+ # ZIP or postal code.
533
+ sig { returns(T.nilable(String)) }
534
+ attr_accessor :postal_code
535
+ # State, county, province, or region.
536
+ sig { returns(T.nilable(String)) }
537
+ attr_accessor :state
538
+ sig {
539
+ params(city: T.nilable(String), country: T.nilable(String), line1: T.nilable(String), line2: T.nilable(String), postal_code: T.nilable(String), state: T.nilable(String)).void
540
+ }
541
+ def initialize(
542
+ city: nil,
543
+ country: nil,
544
+ line1: nil,
545
+ line2: nil,
546
+ postal_code: nil,
547
+ state: nil
548
+ ); end
549
+ end
550
+ class CashBalance < Stripe::RequestParams
551
+ class Settings < Stripe::RequestParams
552
+ # Controls how funds transferred by the customer are applied to payment intents and invoices. Valid options are `automatic`, `manual`, or `merchant_default`. For more information about these reconciliation modes, see [Reconciliation](https://stripe.com/docs/payments/customer-balance/reconciliation).
553
+ sig { returns(T.nilable(String)) }
554
+ attr_accessor :reconciliation_mode
555
+ sig { params(reconciliation_mode: T.nilable(String)).void }
556
+ def initialize(reconciliation_mode: nil); end
557
+ end
558
+ # Settings controlling the behavior of the customer's cash balance,
559
+ # such as reconciliation of funds received.
560
+ sig { returns(T.nilable(::Stripe::Customer::CreateParams::CashBalance::Settings)) }
561
+ attr_accessor :settings
562
+ sig {
563
+ params(settings: T.nilable(::Stripe::Customer::CreateParams::CashBalance::Settings)).void
564
+ }
565
+ def initialize(settings: nil); end
566
+ end
567
+ class InvoiceSettings < Stripe::RequestParams
568
+ class CustomField < Stripe::RequestParams
569
+ # The name of the custom field. This may be up to 40 characters.
570
+ sig { returns(String) }
571
+ attr_accessor :name
572
+ # The value of the custom field. This may be up to 140 characters.
573
+ sig { returns(String) }
574
+ attr_accessor :value
575
+ sig { params(name: String, value: String).void }
576
+ def initialize(name: nil, value: nil); end
577
+ end
578
+ class RenderingOptions < Stripe::RequestParams
579
+ # 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.
580
+ sig { returns(T.nilable(T.nilable(T.any(String, String)))) }
581
+ attr_accessor :amount_tax_display
582
+ # ID of the invoice rendering template to use for future invoices.
583
+ sig { returns(T.nilable(String)) }
584
+ attr_accessor :template
585
+ sig {
586
+ params(amount_tax_display: T.nilable(T.nilable(T.any(String, String))), template: T.nilable(String)).void
587
+ }
588
+ def initialize(amount_tax_display: nil, template: nil); end
589
+ end
590
+ # The list of up to 4 default custom fields to be displayed on invoices for this customer. When updating, pass an empty string to remove previously-defined fields.
591
+ sig {
592
+ returns(T.nilable(T.nilable(T.any(String, T::Array[::Stripe::Customer::CreateParams::InvoiceSettings::CustomField]))))
593
+ }
594
+ attr_accessor :custom_fields
595
+ # ID of a payment method that's attached to the customer, to be used as the customer's default payment method for subscriptions and invoices.
596
+ sig { returns(T.nilable(String)) }
597
+ attr_accessor :default_payment_method
598
+ # Default footer to be displayed on invoices for this customer.
599
+ sig { returns(T.nilable(String)) }
600
+ attr_accessor :footer
601
+ # Default options for invoice PDF rendering for this customer.
602
+ sig {
603
+ returns(T.nilable(T.nilable(T.any(String, ::Stripe::Customer::CreateParams::InvoiceSettings::RenderingOptions))))
604
+ }
605
+ attr_accessor :rendering_options
606
+ sig {
607
+ params(custom_fields: T.nilable(T.nilable(T.any(String, T::Array[::Stripe::Customer::CreateParams::InvoiceSettings::CustomField]))), default_payment_method: T.nilable(String), footer: T.nilable(String), rendering_options: T.nilable(T.nilable(T.any(String, ::Stripe::Customer::CreateParams::InvoiceSettings::RenderingOptions)))).void
608
+ }
609
+ def initialize(
610
+ custom_fields: nil,
611
+ default_payment_method: nil,
612
+ footer: nil,
613
+ rendering_options: nil
614
+ ); end
615
+ end
616
+ class Shipping < Stripe::RequestParams
617
+ class Address < Stripe::RequestParams
618
+ # City, district, suburb, town, or village.
619
+ sig { returns(T.nilable(String)) }
620
+ attr_accessor :city
621
+ # A freeform text field for the country. However, in order to activate some tax features, the format should be a two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
622
+ sig { returns(T.nilable(String)) }
623
+ attr_accessor :country
624
+ # Address line 1 (e.g., street, PO Box, or company name).
625
+ sig { returns(T.nilable(String)) }
626
+ attr_accessor :line1
627
+ # Address line 2 (e.g., apartment, suite, unit, or building).
628
+ sig { returns(T.nilable(String)) }
629
+ attr_accessor :line2
630
+ # ZIP or postal code.
631
+ sig { returns(T.nilable(String)) }
632
+ attr_accessor :postal_code
633
+ # State, county, province, or region.
634
+ sig { returns(T.nilable(String)) }
635
+ attr_accessor :state
636
+ sig {
637
+ params(city: T.nilable(String), country: T.nilable(String), line1: T.nilable(String), line2: T.nilable(String), postal_code: T.nilable(String), state: T.nilable(String)).void
638
+ }
639
+ def initialize(
640
+ city: nil,
641
+ country: nil,
642
+ line1: nil,
643
+ line2: nil,
644
+ postal_code: nil,
645
+ state: nil
646
+ ); end
647
+ end
648
+ # Customer shipping address.
649
+ sig { returns(::Stripe::Customer::CreateParams::Shipping::Address) }
650
+ attr_accessor :address
651
+ # Customer name.
652
+ sig { returns(String) }
653
+ attr_accessor :name
654
+ # Customer phone (including extension).
655
+ sig { returns(T.nilable(String)) }
656
+ attr_accessor :phone
657
+ sig {
658
+ params(address: ::Stripe::Customer::CreateParams::Shipping::Address, name: String, phone: T.nilable(String)).void
659
+ }
660
+ def initialize(address: nil, name: nil, phone: nil); end
661
+ end
662
+ class Tax < Stripe::RequestParams
663
+ # A recent IP address of the customer used for tax reporting and tax location inference. Stripe recommends updating the IP address when a new PaymentMethod is attached or the address field on the customer is updated. We recommend against updating this field more frequently since it could result in unexpected tax location/reporting outcomes.
664
+ sig { returns(T.nilable(T.nilable(String))) }
665
+ attr_accessor :ip_address
666
+ # A flag that indicates when Stripe should validate the customer tax location. Defaults to `deferred`.
667
+ sig { returns(T.nilable(String)) }
668
+ attr_accessor :validate_location
669
+ sig {
670
+ params(ip_address: T.nilable(T.nilable(String)), validate_location: T.nilable(String)).void
671
+ }
672
+ def initialize(ip_address: nil, validate_location: nil); end
673
+ end
674
+ class TaxIdDatum < Stripe::RequestParams
675
+ # Type of the tax ID, one of `ad_nrt`, `ae_trn`, `al_tin`, `am_tin`, `ao_tin`, `ar_cuit`, `au_abn`, `au_arn`, `ba_tin`, `bb_tin`, `bg_uic`, `bh_vat`, `bo_tin`, `br_cnpj`, `br_cpf`, `bs_tin`, `by_tin`, `ca_bn`, `ca_gst_hst`, `ca_pst_bc`, `ca_pst_mb`, `ca_pst_sk`, `ca_qst`, `cd_nif`, `ch_uid`, `ch_vat`, `cl_tin`, `cn_tin`, `co_nit`, `cr_tin`, `de_stn`, `do_rcn`, `ec_ruc`, `eg_tin`, `es_cif`, `eu_oss_vat`, `eu_vat`, `gb_vat`, `ge_vat`, `gn_nif`, `hk_br`, `hr_oib`, `hu_tin`, `id_npwp`, `il_vat`, `in_gst`, `is_vat`, `jp_cn`, `jp_rn`, `jp_trn`, `ke_pin`, `kh_tin`, `kr_brn`, `kz_bin`, `li_uid`, `li_vat`, `ma_vat`, `md_vat`, `me_pib`, `mk_vat`, `mr_nif`, `mx_rfc`, `my_frp`, `my_itn`, `my_sst`, `ng_tin`, `no_vat`, `no_voec`, `np_pan`, `nz_gst`, `om_vat`, `pe_ruc`, `ph_tin`, `ro_tin`, `rs_pib`, `ru_inn`, `ru_kpp`, `sa_vat`, `sg_gst`, `sg_uen`, `si_tin`, `sn_ninea`, `sr_fin`, `sv_nit`, `th_vat`, `tj_tin`, `tr_tin`, `tw_vat`, `tz_vat`, `ua_vat`, `ug_tin`, `us_ein`, `uy_ruc`, `uz_tin`, `uz_vat`, `ve_rif`, `vn_tin`, `za_vat`, `zm_tin`, or `zw_tin`
676
+ sig { returns(String) }
677
+ attr_accessor :type
678
+ # Value of the tax ID.
679
+ sig { returns(String) }
680
+ attr_accessor :value
681
+ sig { params(type: String, value: String).void }
682
+ def initialize(type: nil, value: nil); end
683
+ end
684
+ # The customer's address.
685
+ sig {
686
+ returns(T.nilable(T.nilable(T.any(String, ::Stripe::Customer::CreateParams::Address))))
687
+ }
688
+ attr_accessor :address
689
+ # An integer amount in cents (or local equivalent) that represents the customer's current balance, which affect the customer's future invoices. A negative amount represents a credit that decreases the amount due on an invoice; a positive amount increases the amount due on an invoice.
690
+ sig { returns(T.nilable(Integer)) }
691
+ attr_accessor :balance
692
+ # Balance information and default balance settings for this customer.
693
+ sig { returns(T.nilable(::Stripe::Customer::CreateParams::CashBalance)) }
694
+ attr_accessor :cash_balance
695
+ # An arbitrary string that you can attach to a customer object. It is displayed alongside the customer in the dashboard.
696
+ sig { returns(T.nilable(String)) }
697
+ attr_accessor :description
698
+ # Customer's email address. It's displayed alongside the customer in your dashboard and can be useful for searching and tracking. This may be up to *512 characters*.
699
+ sig { returns(T.nilable(String)) }
700
+ attr_accessor :email
701
+ # Specifies which fields in the response should be expanded.
702
+ sig { returns(T.nilable(T::Array[String])) }
703
+ attr_accessor :expand
704
+ # The prefix for the customer used to generate unique invoice numbers. Must be 3–12 uppercase letters or numbers.
705
+ sig { returns(T.nilable(String)) }
706
+ attr_accessor :invoice_prefix
707
+ # Default invoice settings for this customer.
708
+ sig { returns(T.nilable(::Stripe::Customer::CreateParams::InvoiceSettings)) }
709
+ attr_accessor :invoice_settings
710
+ # 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`.
711
+ sig { returns(T.nilable(T.nilable(T.any(String, T::Hash[String, String])))) }
712
+ attr_accessor :metadata
713
+ # The customer's full name or business name.
714
+ sig { returns(T.nilable(String)) }
715
+ attr_accessor :name
716
+ # The sequence to be used on the customer's next invoice. Defaults to 1.
717
+ sig { returns(T.nilable(Integer)) }
718
+ attr_accessor :next_invoice_sequence
719
+ # Attribute for param field payment_method
720
+ sig { returns(T.nilable(String)) }
721
+ attr_accessor :payment_method
722
+ # The customer's phone number.
723
+ sig { returns(T.nilable(String)) }
724
+ attr_accessor :phone
725
+ # Customer's preferred languages, ordered by preference.
726
+ sig { returns(T.nilable(T::Array[String])) }
727
+ attr_accessor :preferred_locales
728
+ # The customer's shipping information. Appears on invoices emailed to this customer.
729
+ sig {
730
+ returns(T.nilable(T.nilable(T.any(String, ::Stripe::Customer::CreateParams::Shipping))))
731
+ }
732
+ attr_accessor :shipping
733
+ # Attribute for param field source
734
+ sig { returns(T.nilable(String)) }
735
+ attr_accessor :source
736
+ # Tax details about the customer.
737
+ sig { returns(T.nilable(::Stripe::Customer::CreateParams::Tax)) }
738
+ attr_accessor :tax
739
+ # The customer's tax exemption. One of `none`, `exempt`, or `reverse`.
740
+ sig { returns(T.nilable(T.nilable(T.any(String, String)))) }
741
+ attr_accessor :tax_exempt
742
+ # The customer's tax IDs.
743
+ sig { returns(T.nilable(T::Array[::Stripe::Customer::CreateParams::TaxIdDatum])) }
744
+ attr_accessor :tax_id_data
745
+ # ID of the test clock to attach to the customer.
746
+ sig { returns(T.nilable(String)) }
747
+ attr_accessor :test_clock
748
+ # Attribute for param field validate
749
+ sig { returns(T.nilable(T::Boolean)) }
750
+ attr_accessor :validate
751
+ sig {
752
+ params(address: T.nilable(T.nilable(T.any(String, ::Stripe::Customer::CreateParams::Address))), balance: T.nilable(Integer), cash_balance: T.nilable(::Stripe::Customer::CreateParams::CashBalance), description: T.nilable(String), email: T.nilable(String), expand: T.nilable(T::Array[String]), invoice_prefix: T.nilable(String), invoice_settings: T.nilable(::Stripe::Customer::CreateParams::InvoiceSettings), metadata: T.nilable(T.nilable(T.any(String, T::Hash[String, String]))), name: T.nilable(String), next_invoice_sequence: T.nilable(Integer), payment_method: T.nilable(String), phone: T.nilable(String), preferred_locales: T.nilable(T::Array[String]), shipping: T.nilable(T.nilable(T.any(String, ::Stripe::Customer::CreateParams::Shipping))), source: T.nilable(String), tax: T.nilable(::Stripe::Customer::CreateParams::Tax), tax_exempt: T.nilable(T.nilable(T.any(String, String))), tax_id_data: T.nilable(T::Array[::Stripe::Customer::CreateParams::TaxIdDatum]), test_clock: T.nilable(String), validate: T.nilable(T::Boolean)).void
753
+ }
754
+ def initialize(
755
+ address: nil,
756
+ balance: nil,
757
+ cash_balance: nil,
758
+ description: nil,
759
+ email: nil,
760
+ expand: nil,
761
+ invoice_prefix: nil,
762
+ invoice_settings: nil,
763
+ metadata: nil,
764
+ name: nil,
765
+ next_invoice_sequence: nil,
766
+ payment_method: nil,
767
+ phone: nil,
768
+ preferred_locales: nil,
769
+ shipping: nil,
770
+ source: nil,
771
+ tax: nil,
772
+ tax_exempt: nil,
773
+ tax_id_data: nil,
774
+ test_clock: nil,
775
+ validate: nil
776
+ ); end
777
+ end
778
+ class ListPaymentMethodsParams < Stripe::RequestParams
779
+ # This field indicates whether this payment method can be shown again to its customer in a checkout flow. Stripe products such as Checkout and Elements use this field to determine whether a payment method can be shown as a saved payment method in a checkout flow. The field defaults to `unspecified`.
780
+ sig { returns(T.nilable(String)) }
781
+ attr_accessor :allow_redisplay
782
+ # 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.
783
+ sig { returns(T.nilable(String)) }
784
+ attr_accessor :ending_before
785
+ # Specifies which fields in the response should be expanded.
786
+ sig { returns(T.nilable(T::Array[String])) }
787
+ attr_accessor :expand
788
+ # A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
789
+ sig { returns(T.nilable(Integer)) }
790
+ attr_accessor :limit
791
+ # 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.
792
+ sig { returns(T.nilable(String)) }
793
+ attr_accessor :starting_after
794
+ # An optional filter on the list, based on the object `type` field. Without the filter, the list includes all current and future payment method types. If your integration expects only one type of payment method in the response, make sure to provide a type value in the request.
795
+ sig { returns(T.nilable(String)) }
796
+ attr_accessor :type
797
+ sig {
798
+ params(allow_redisplay: T.nilable(String), ending_before: T.nilable(String), expand: T.nilable(T::Array[String]), limit: T.nilable(Integer), starting_after: T.nilable(String), type: T.nilable(String)).void
799
+ }
800
+ def initialize(
801
+ allow_redisplay: nil,
802
+ ending_before: nil,
803
+ expand: nil,
804
+ limit: nil,
805
+ starting_after: nil,
806
+ type: nil
807
+ ); end
808
+ end
809
+ class RetrievePaymentMethodParams < Stripe::RequestParams
810
+ # Specifies which fields in the response should be expanded.
811
+ sig { returns(T.nilable(T::Array[String])) }
812
+ attr_accessor :expand
813
+ sig { params(expand: T.nilable(T::Array[String])).void }
814
+ def initialize(expand: nil); end
815
+ end
816
+ class SearchParams < Stripe::RequestParams
817
+ # Specifies which fields in the response should be expanded.
818
+ sig { returns(T.nilable(T::Array[String])) }
819
+ attr_accessor :expand
820
+ # A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
821
+ sig { returns(T.nilable(Integer)) }
822
+ attr_accessor :limit
823
+ # A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results.
824
+ sig { returns(T.nilable(String)) }
825
+ attr_accessor :page
826
+ # The search query string. See [search query language](https://stripe.com/docs/search#search-query-language) and the list of supported [query fields for customers](https://stripe.com/docs/search#query-fields-for-customers).
827
+ sig { returns(String) }
828
+ attr_accessor :query
829
+ sig {
830
+ params(expand: T.nilable(T::Array[String]), limit: T.nilable(Integer), page: T.nilable(String), query: String).void
831
+ }
832
+ def initialize(expand: nil, limit: nil, page: nil, query: nil); end
833
+ end
834
+ class CreateFundingInstructionsParams < Stripe::RequestParams
835
+ class BankTransfer < Stripe::RequestParams
836
+ class EuBankTransfer < Stripe::RequestParams
837
+ # The desired country code of the bank account information. Permitted values include: `BE`, `DE`, `ES`, `FR`, `IE`, or `NL`.
838
+ sig { returns(String) }
839
+ attr_accessor :country
840
+ sig { params(country: String).void }
841
+ def initialize(country: nil); end
842
+ end
843
+ # Configuration for eu_bank_transfer funding type.
844
+ sig {
845
+ returns(T.nilable(::Stripe::Customer::CreateFundingInstructionsParams::BankTransfer::EuBankTransfer))
846
+ }
847
+ attr_accessor :eu_bank_transfer
848
+ # List of address types that should be returned in the financial_addresses response. If not specified, all valid types will be returned.
849
+ #
850
+ # Permitted values include: `sort_code`, `zengin`, `iban`, or `spei`.
851
+ sig { returns(T.nilable(T::Array[String])) }
852
+ attr_accessor :requested_address_types
853
+ # The type of the `bank_transfer`
854
+ sig { returns(String) }
855
+ attr_accessor :type
856
+ sig {
857
+ params(eu_bank_transfer: T.nilable(::Stripe::Customer::CreateFundingInstructionsParams::BankTransfer::EuBankTransfer), requested_address_types: T.nilable(T::Array[String]), type: String).void
858
+ }
859
+ def initialize(eu_bank_transfer: nil, requested_address_types: nil, type: nil); end
860
+ end
861
+ # Additional parameters for `bank_transfer` funding types
862
+ sig { returns(::Stripe::Customer::CreateFundingInstructionsParams::BankTransfer) }
863
+ attr_accessor :bank_transfer
864
+ # 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).
865
+ sig { returns(String) }
866
+ attr_accessor :currency
867
+ # Specifies which fields in the response should be expanded.
868
+ sig { returns(T.nilable(T::Array[String])) }
869
+ attr_accessor :expand
870
+ # The `funding_type` to get the instructions for.
871
+ sig { returns(String) }
872
+ attr_accessor :funding_type
873
+ sig {
874
+ params(bank_transfer: ::Stripe::Customer::CreateFundingInstructionsParams::BankTransfer, currency: String, expand: T.nilable(T::Array[String]), funding_type: String).void
875
+ }
876
+ def initialize(bank_transfer: nil, currency: nil, expand: nil, funding_type: nil); end
877
+ end
878
+ class RetrieveParams < Stripe::RequestParams
879
+ # Specifies which fields in the response should be expanded.
880
+ sig { returns(T.nilable(T::Array[String])) }
881
+ attr_accessor :expand
882
+ sig { params(expand: T.nilable(T::Array[String])).void }
883
+ def initialize(expand: nil); end
884
+ end
885
+ class FundCashBalanceParams < Stripe::RequestParams
886
+ # Amount to be used for this test cash balance transaction. A positive integer representing how much to fund in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to fund $1.00 or 100 to fund ¥100, a zero-decimal currency).
887
+ sig { returns(Integer) }
888
+ attr_accessor :amount
889
+ # 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).
890
+ sig { returns(String) }
891
+ attr_accessor :currency
892
+ # Specifies which fields in the response should be expanded.
893
+ sig { returns(T.nilable(T::Array[String])) }
894
+ attr_accessor :expand
895
+ # A description of the test funding. This simulates free-text references supplied by customers when making bank transfers to their cash balance. You can use this to test how Stripe's [reconciliation algorithm](https://stripe.com/docs/payments/customer-balance/reconciliation) applies to different user inputs.
896
+ sig { returns(T.nilable(String)) }
897
+ attr_accessor :reference
898
+ sig {
899
+ params(amount: Integer, currency: String, expand: T.nilable(T::Array[String]), reference: T.nilable(String)).void
900
+ }
901
+ def initialize(amount: nil, currency: nil, expand: nil, reference: nil); end
902
+ end
903
+ # Creates a new customer object.
904
+ sig {
905
+ params(params: T.any(::Stripe::Customer::CreateParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::Customer)
906
+ }
907
+ def self.create(params = {}, opts = {}); end
908
+
909
+ # Retrieve funding instructions for a customer cash balance. If funding instructions do not yet exist for the customer, new
910
+ # funding instructions will be created. If funding instructions have already been created for a given customer, the same
911
+ # funding instructions will be retrieved. In other words, we will return the same funding instructions each time.
912
+ sig {
913
+ params(params: T.any(::Stripe::Customer::CreateFundingInstructionsParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::FundingInstructions)
914
+ }
915
+ def create_funding_instructions(params = {}, opts = {}); end
916
+
917
+ # Retrieve funding instructions for a customer cash balance. If funding instructions do not yet exist for the customer, new
918
+ # funding instructions will be created. If funding instructions have already been created for a given customer, the same
919
+ # funding instructions will be retrieved. In other words, we will return the same funding instructions each time.
920
+ sig {
921
+ params(customer: String, params: T.any(::Stripe::Customer::CreateFundingInstructionsParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::FundingInstructions)
922
+ }
923
+ def self.create_funding_instructions(customer, params = {}, opts = {}); end
924
+
925
+ # Permanently deletes a customer. It cannot be undone. Also immediately cancels any active subscriptions on the customer.
926
+ sig {
927
+ params(customer: String, params: T.any(::Stripe::Customer::DeleteParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::Customer)
928
+ }
929
+ def self.delete(customer, params = {}, opts = {}); end
930
+
931
+ # Permanently deletes a customer. It cannot be undone. Also immediately cancels any active subscriptions on the customer.
932
+ sig {
933
+ params(params: T.any(::Stripe::Customer::DeleteParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::Customer)
934
+ }
935
+ def delete(params = {}, opts = {}); end
936
+
937
+ # Removes the currently applied discount on a customer.
938
+ sig {
939
+ params(params: T.any(::Stripe::Customer::DeleteDiscountParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::Discount)
940
+ }
941
+ def delete_discount(params = {}, opts = {}); end
942
+
943
+ # Removes the currently applied discount on a customer.
944
+ sig {
945
+ params(customer: String, params: T.any(::Stripe::Customer::DeleteDiscountParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::Discount)
946
+ }
947
+ def self.delete_discount(customer, params = {}, opts = {}); end
948
+
949
+ # Returns a list of your customers. The customers are returned sorted by creation date, with the most recent customers appearing first.
950
+ sig {
951
+ params(params: T.any(::Stripe::Customer::ListParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::ListObject)
952
+ }
953
+ def self.list(params = {}, opts = {}); end
954
+
955
+ # Returns a list of PaymentMethods for a given Customer
956
+ sig {
957
+ params(params: T.any(::Stripe::Customer::ListPaymentMethodsParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::ListObject)
958
+ }
959
+ def list_payment_methods(params = {}, opts = {}); end
960
+
961
+ # Returns a list of PaymentMethods for a given Customer
962
+ sig {
963
+ params(customer: String, params: T.any(::Stripe::Customer::ListPaymentMethodsParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::ListObject)
964
+ }
965
+ def self.list_payment_methods(customer, params = {}, opts = {}); end
966
+
967
+ # Retrieves a customer's cash balance.
968
+ sig {
969
+ params(customer: String, params: T.any(::Stripe::Customer::RetrieveParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(T.untyped)
970
+ }
971
+ def self.retrieve_cash_balance(customer, params = {}, opts = {}); end
972
+
973
+ # Retrieves a PaymentMethod object for a given Customer.
974
+ sig {
975
+ params(payment_method: String, params: T.any(::Stripe::Customer::RetrievePaymentMethodParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::PaymentMethod)
976
+ }
977
+ def retrieve_payment_method(payment_method, params = {}, opts = {}); end
978
+
979
+ # Retrieves a PaymentMethod object for a given Customer.
980
+ sig {
981
+ params(customer: String, payment_method: String, params: T.any(::Stripe::Customer::RetrievePaymentMethodParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::PaymentMethod)
982
+ }
983
+ def self.retrieve_payment_method(customer, payment_method, params = {}, opts = {}); end
984
+
985
+ sig {
986
+ params(params: T.any(::Stripe::Customer::SearchParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::SearchResultObject)
987
+ }
988
+ def self.search(params = {}, opts = {}); end
989
+
990
+ sig {
991
+ params(params: T.any(::Stripe::Customer::SearchParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped, blk: T.untyped).returns(Stripe::SearchResultObject)
992
+ }
993
+ def self.search_auto_paging_each(params = {}, opts = {}, &blk); end
994
+
995
+ # Updates the specified customer by setting the values of the parameters passed. Any parameters not provided will be left unchanged. For example, if you pass the source parameter, that becomes the customer's active source (e.g., a card) to be used for all charges in the future. When you update a customer to a new valid card source by passing the source parameter: for each of the customer's current subscriptions, if the subscription bills automatically and is in the past_due state, then the latest open invoice for the subscription with automatic collection enabled will be retried. This retry will not count as an automatic retry, and will not affect the next regularly scheduled payment for the invoice. Changing the default_source for a customer will not trigger this behavior.
996
+ #
997
+ # This request accepts mostly the same arguments as the customer creation call.
998
+ sig {
999
+ params(customer: String, params: T.any(::Stripe::Customer::UpdateParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::Customer)
1000
+ }
1001
+ def self.update(customer, params = {}, opts = {}); end
1002
+
1003
+ # Changes the settings on a customer's cash balance.
1004
+ sig {
1005
+ params(customer: String, params: T.any(::Stripe::Customer::UpdateParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(T.untyped)
1006
+ }
1007
+ def self.update_cash_balance(customer, params = {}, opts = {}); end
1008
+ end
1009
+ end