stripe 5.38.0 → 15.2.1

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 (708) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +742 -0
  3. data/CONTRIBUTING.md +25 -0
  4. data/Gemfile +12 -4
  5. data/Makefile +22 -0
  6. data/OPENAPI_VERSION +1 -0
  7. data/README.md +137 -27
  8. data/Rakefile +3 -6
  9. data/VERSION +1 -1
  10. data/examples/README.md +16 -0
  11. data/examples/example_template.rb +36 -0
  12. data/examples/meter_event_stream.rb +57 -0
  13. data/examples/thinevent_webhook_handler.rb +39 -0
  14. data/{bin → exe}/stripe-console +1 -1
  15. data/justfile +43 -0
  16. data/lib/data/ca-certificates.crt +1241 -1937
  17. data/lib/stripe/api_operations/create.rb +6 -2
  18. data/lib/stripe/api_operations/delete.rb +12 -7
  19. data/lib/stripe/api_operations/list.rb +6 -9
  20. data/lib/stripe/api_operations/nested_resource.rb +59 -31
  21. data/lib/stripe/api_operations/request.rb +30 -65
  22. data/lib/stripe/api_operations/save.rb +20 -10
  23. data/lib/stripe/api_operations/search.rb +21 -0
  24. data/lib/stripe/api_operations/singleton_save.rb +90 -0
  25. data/lib/stripe/api_requestor.rb +1136 -0
  26. data/lib/stripe/api_resource.rb +49 -34
  27. data/lib/stripe/api_resource_test_helpers.rb +53 -0
  28. data/lib/stripe/{resources/usage_record.rb → api_version.rb} +2 -2
  29. data/lib/stripe/connection_manager.rb +28 -11
  30. data/lib/stripe/errors.rb +11 -20
  31. data/lib/stripe/event_types.rb +15 -0
  32. data/lib/stripe/events/v1_billing_meter_error_report_triggered_event.rb +23 -0
  33. data/lib/stripe/events/v1_billing_meter_no_meter_found_event.rb +13 -0
  34. data/lib/stripe/events/v2_core_event_destination_ping_event.rb +21 -0
  35. data/lib/stripe/instrumentation.rb +37 -15
  36. data/lib/stripe/list_object.rb +5 -3
  37. data/lib/stripe/multipart_encoder.rb +7 -7
  38. data/lib/stripe/oauth.rb +14 -21
  39. data/lib/stripe/object_types.rb +157 -91
  40. data/lib/stripe/request_options.rb +129 -0
  41. data/lib/stripe/request_params.rb +24 -0
  42. data/lib/stripe/resources/account.rb +4854 -30
  43. data/lib/stripe/resources/account_link.rb +66 -0
  44. data/lib/stripe/resources/account_session.rb +868 -0
  45. data/lib/stripe/resources/alipay_account.rb +1 -1
  46. data/lib/stripe/resources/apple_pay_domain.rb +91 -0
  47. data/lib/stripe/resources/application.rb +20 -0
  48. data/lib/stripe/resources/application_fee.rb +96 -2
  49. data/lib/stripe/resources/application_fee_refund.rb +26 -2
  50. data/lib/stripe/resources/apps/secret.rb +196 -0
  51. data/lib/stripe/resources/balance.rb +178 -0
  52. data/lib/stripe/resources/balance_transaction.rb +124 -0
  53. data/lib/stripe/resources/bank_account.rb +137 -6
  54. data/lib/stripe/resources/billing/alert.rb +222 -0
  55. data/lib/stripe/resources/billing/alert_triggered.rb +26 -0
  56. data/lib/stripe/resources/billing/credit_balance_summary.rb +54 -0
  57. data/lib/stripe/resources/billing/credit_balance_transaction.rb +133 -0
  58. data/lib/stripe/resources/billing/credit_grant.rb +307 -0
  59. data/lib/stripe/resources/billing/meter.rb +254 -0
  60. data/lib/stripe/resources/billing/meter_event.rb +61 -0
  61. data/lib/stripe/resources/billing/meter_event_adjustment.rb +69 -0
  62. data/lib/stripe/resources/billing/meter_event_summary.rb +32 -0
  63. data/lib/stripe/resources/billing_portal/configuration.rb +587 -0
  64. data/lib/stripe/resources/billing_portal/session.rb +298 -0
  65. data/lib/stripe/resources/capability.rb +91 -2
  66. data/lib/stripe/resources/card.rb +111 -3
  67. data/lib/stripe/resources/cash_balance.rb +43 -0
  68. data/lib/stripe/resources/charge.rb +1682 -2
  69. data/lib/stripe/resources/checkout/session.rb +3666 -2
  70. data/lib/stripe/resources/climate/order.rb +234 -0
  71. data/lib/stripe/resources/climate/product.rb +74 -0
  72. data/lib/stripe/resources/climate/supplier.rb +71 -0
  73. data/lib/stripe/resources/confirmation_token.rb +1498 -0
  74. data/lib/stripe/resources/connect_collection_transfer.rb +24 -0
  75. data/lib/stripe/resources/country_spec.rb +68 -0
  76. data/lib/stripe/resources/coupon.rb +236 -0
  77. data/lib/stripe/resources/credit_note.rb +709 -9
  78. data/lib/stripe/resources/credit_note_line_item.rb +71 -0
  79. data/lib/stripe/resources/customer.rb +1015 -16
  80. data/lib/stripe/resources/customer_balance_transaction.rb +38 -1
  81. data/lib/stripe/resources/customer_cash_balance_transaction.rb +124 -0
  82. data/lib/stripe/resources/customer_session.rb +188 -0
  83. data/lib/stripe/resources/discount.rb +37 -0
  84. data/lib/stripe/resources/dispute.rb +650 -2
  85. data/lib/stripe/resources/entitlements/active_entitlement.rb +63 -0
  86. data/lib/stripe/resources/entitlements/active_entitlement_summary.rb +23 -0
  87. data/lib/stripe/resources/entitlements/feature.rb +130 -0
  88. data/lib/stripe/resources/ephemeral_key.rb +44 -0
  89. data/lib/stripe/resources/event.rb +130 -0
  90. data/lib/stripe/resources/exchange_rate.rb +58 -0
  91. data/lib/stripe/resources/file.rb +139 -15
  92. data/lib/stripe/resources/file_link.rb +129 -0
  93. data/lib/stripe/resources/financial_connections/account.rb +363 -0
  94. data/lib/stripe/resources/financial_connections/account_owner.rb +31 -0
  95. data/lib/stripe/resources/financial_connections/account_ownership.rb +23 -0
  96. data/lib/stripe/resources/financial_connections/session.rb +121 -0
  97. data/lib/stripe/resources/financial_connections/transaction.rb +118 -0
  98. data/lib/stripe/resources/forwarding/request.rb +208 -0
  99. data/lib/stripe/resources/funding_instructions.rb +332 -0
  100. data/lib/stripe/resources/identity/verification_report.rb +287 -0
  101. data/lib/stripe/resources/identity/verification_session.rb +474 -4
  102. data/lib/stripe/resources/invoice.rb +3525 -17
  103. data/lib/stripe/resources/invoice_item.rb +453 -0
  104. data/lib/stripe/resources/invoice_line_item.rb +372 -1
  105. data/lib/stripe/resources/invoice_payment.rb +112 -0
  106. data/lib/stripe/resources/invoice_rendering_template.rb +120 -0
  107. data/lib/stripe/resources/issuing/authorization.rb +1313 -4
  108. data/lib/stripe/resources/issuing/card.rb +785 -4
  109. data/lib/stripe/resources/issuing/cardholder.rb +684 -0
  110. data/lib/stripe/resources/issuing/dispute.rb +828 -2
  111. data/lib/stripe/resources/issuing/personalization_design.rb +395 -0
  112. data/lib/stripe/resources/issuing/physical_bundle.rb +80 -0
  113. data/lib/stripe/resources/issuing/token.rb +198 -0
  114. data/lib/stripe/resources/issuing/transaction.rb +991 -0
  115. data/lib/stripe/resources/line_item.rb +51 -0
  116. data/lib/stripe/resources/login_link.rb +12 -0
  117. data/lib/stripe/resources/mandate.rb +146 -0
  118. data/lib/stripe/resources/payment_intent.rb +8876 -6
  119. data/lib/stripe/resources/payment_link.rb +1692 -0
  120. data/lib/stripe/resources/payment_method.rb +1570 -4
  121. data/lib/stripe/resources/payment_method_configuration.rb +3189 -0
  122. data/lib/stripe/resources/payment_method_domain.rb +236 -0
  123. data/lib/stripe/resources/payout.rb +271 -4
  124. data/lib/stripe/resources/person.rb +295 -1
  125. data/lib/stripe/resources/plan.rb +352 -0
  126. data/lib/stripe/resources/price.rb +642 -0
  127. data/lib/stripe/resources/product.rb +534 -0
  128. data/lib/stripe/resources/product_feature.rb +25 -0
  129. data/lib/stripe/resources/promotion_code.rb +237 -0
  130. data/lib/stripe/resources/quote.rb +1015 -38
  131. data/lib/stripe/resources/radar/early_fraud_warning.rb +85 -0
  132. data/lib/stripe/resources/radar/value_list.rb +171 -0
  133. data/lib/stripe/resources/radar/value_list_item.rb +131 -0
  134. data/lib/stripe/resources/refund.rb +494 -0
  135. data/lib/stripe/resources/reporting/report_run.rb +172 -0
  136. data/lib/stripe/resources/reporting/report_type.rb +48 -1
  137. data/lib/stripe/resources/reserve_transaction.rb +22 -0
  138. data/lib/stripe/resources/reversal.rb +38 -2
  139. data/lib/stripe/resources/review.rb +122 -2
  140. data/lib/stripe/resources/setup_attempt.rb +380 -0
  141. data/lib/stripe/resources/setup_intent.rb +3432 -4
  142. data/lib/stripe/resources/shipping_rate.rb +287 -0
  143. data/lib/stripe/resources/sigma/scheduled_query_run.rb +62 -0
  144. data/lib/stripe/resources/source.rb +1250 -10
  145. data/lib/stripe/resources/source_mandate_notification.rb +66 -0
  146. data/lib/stripe/resources/source_transaction.rb +93 -0
  147. data/lib/stripe/resources/subscription.rb +1871 -3
  148. data/lib/stripe/resources/subscription_item.rb +399 -10
  149. data/lib/stripe/resources/subscription_schedule.rb +1455 -4
  150. data/lib/stripe/resources/tax/calculation.rb +430 -0
  151. data/lib/stripe/resources/tax/calculation_line_item.rb +71 -0
  152. data/lib/stripe/resources/tax/registration.rb +2667 -0
  153. data/lib/stripe/resources/tax/settings.rb +134 -0
  154. data/lib/stripe/resources/tax/transaction.rb +314 -0
  155. data/lib/stripe/resources/tax/transaction_line_item.rb +44 -0
  156. data/lib/stripe/resources/tax_code.rb +35 -0
  157. data/lib/stripe/resources/tax_deducted_at_source.rb +22 -0
  158. data/lib/stripe/resources/tax_id.rb +144 -11
  159. data/lib/stripe/resources/tax_rate.rb +217 -0
  160. data/lib/stripe/resources/terminal/configuration.rb +1328 -0
  161. data/lib/stripe/resources/terminal/connection_token.rb +34 -0
  162. data/lib/stripe/resources/terminal/location.rb +222 -0
  163. data/lib/stripe/resources/terminal/reader.rb +886 -0
  164. data/lib/stripe/resources/test_helpers/test_clock.rb +156 -0
  165. data/lib/stripe/resources/token.rb +1249 -0
  166. data/lib/stripe/resources/topup.rb +204 -2
  167. data/lib/stripe/resources/transfer.rb +173 -6
  168. data/lib/stripe/resources/treasury/credit_reversal.rb +120 -0
  169. data/lib/stripe/resources/treasury/debit_reversal.rb +131 -0
  170. data/lib/stripe/resources/treasury/financial_account.rb +833 -0
  171. data/lib/stripe/resources/treasury/financial_account_features.rb +204 -0
  172. data/lib/stripe/resources/treasury/inbound_transfer.rb +356 -0
  173. data/lib/stripe/resources/treasury/outbound_payment.rb +638 -0
  174. data/lib/stripe/resources/treasury/outbound_transfer.rb +493 -0
  175. data/lib/stripe/resources/treasury/received_credit.rb +284 -0
  176. data/lib/stripe/resources/treasury/received_debit.rb +243 -0
  177. data/lib/stripe/resources/treasury/transaction.rb +193 -0
  178. data/lib/stripe/resources/treasury/transaction_entry.rb +178 -0
  179. data/lib/stripe/resources/v2/amount.rb +9 -0
  180. data/lib/stripe/resources/v2/billing/meter_event.rb +34 -0
  181. data/lib/stripe/resources/v2/billing/meter_event_adjustment.rb +36 -0
  182. data/lib/stripe/resources/v2/billing/meter_event_session.rb +29 -0
  183. data/lib/stripe/resources/v2/event.rb +41 -0
  184. data/lib/stripe/resources/v2/event_destination.rb +73 -0
  185. data/lib/stripe/resources/webhook_endpoint.rb +167 -0
  186. data/lib/stripe/resources.rb +70 -12
  187. data/lib/stripe/search_result_object.rb +89 -0
  188. data/lib/stripe/services/account_capability_service.rb +71 -0
  189. data/lib/stripe/services/account_external_account_service.rb +317 -0
  190. data/lib/stripe/services/account_link_service.rb +63 -0
  191. data/lib/stripe/services/account_login_link_service.rb +28 -0
  192. data/lib/stripe/services/account_person_service.rb +1019 -0
  193. data/lib/stripe/services/account_service.rb +4171 -0
  194. data/lib/stripe/services/account_session_service.rb +569 -0
  195. data/lib/stripe/services/apple_pay_domain_service.rb +100 -0
  196. data/lib/stripe/services/application_fee_refund_service.rb +114 -0
  197. data/lib/stripe/services/application_fee_service.rb +92 -0
  198. data/lib/stripe/services/apps/secret_service.rb +168 -0
  199. data/lib/stripe/services/apps_service.rb +13 -0
  200. data/lib/stripe/services/balance_service.rb +21 -0
  201. data/lib/stripe/services/balance_transaction_service.rb +101 -0
  202. data/lib/stripe/services/billing/alert_service.rb +187 -0
  203. data/lib/stripe/services/billing/credit_balance_summary_service.rb +67 -0
  204. data/lib/stripe/services/billing/credit_balance_transaction_service.rb +70 -0
  205. data/lib/stripe/services/billing/credit_grant_service.rb +240 -0
  206. data/lib/stripe/services/billing/meter_event_adjustment_service.rb +45 -0
  207. data/lib/stripe/services/billing/meter_event_service.rb +40 -0
  208. data/lib/stripe/services/billing/meter_event_summary_service.rb +58 -0
  209. data/lib/stripe/services/billing/meter_service.rb +211 -0
  210. data/lib/stripe/services/billing_portal/configuration_service.rb +496 -0
  211. data/lib/stripe/services/billing_portal/session_service.rb +192 -0
  212. data/lib/stripe/services/billing_portal_service.rb +14 -0
  213. data/lib/stripe/services/billing_service.rb +20 -0
  214. data/lib/stripe/services/charge_service.rb +471 -0
  215. data/lib/stripe/services/checkout/session_line_item_service.rb +37 -0
  216. data/lib/stripe/services/checkout/session_service.rb +2495 -0
  217. data/lib/stripe/services/checkout_service.rb +13 -0
  218. data/lib/stripe/services/climate/order_service.rb +170 -0
  219. data/lib/stripe/services/climate/product_service.rb +57 -0
  220. data/lib/stripe/services/climate/supplier_service.rb +57 -0
  221. data/lib/stripe/services/climate_service.rb +15 -0
  222. data/lib/stripe/services/confirmation_token_service.rb +26 -0
  223. data/lib/stripe/services/country_spec_service.rb +55 -0
  224. data/lib/stripe/services/coupon_service.rb +202 -0
  225. data/lib/stripe/services/credit_note_line_item_service.rb +35 -0
  226. data/lib/stripe/services/credit_note_preview_lines_service.rb +169 -0
  227. data/lib/stripe/services/credit_note_service.rb +457 -0
  228. data/lib/stripe/services/customer_balance_transaction_service.rb +113 -0
  229. data/lib/stripe/services/customer_cash_balance_service.rb +57 -0
  230. data/lib/stripe/services/customer_cash_balance_transaction_service.rb +55 -0
  231. data/lib/stripe/services/customer_funding_instructions_service.rb +61 -0
  232. data/lib/stripe/services/customer_payment_method_service.rb +68 -0
  233. data/lib/stripe/services/customer_payment_source_service.rb +255 -0
  234. data/lib/stripe/services/customer_service.rb +664 -0
  235. data/lib/stripe/services/customer_session_service.rb +113 -0
  236. data/lib/stripe/services/customer_tax_id_service.rb +94 -0
  237. data/lib/stripe/services/dispute_service.rb +422 -0
  238. data/lib/stripe/services/entitlements/active_entitlement_service.rb +66 -0
  239. data/lib/stripe/services/entitlements/feature_service.rb +128 -0
  240. data/lib/stripe/services/entitlements_service.rb +14 -0
  241. data/lib/stripe/services/ephemeral_key_service.rb +64 -0
  242. data/lib/stripe/services/event_service.rb +87 -0
  243. data/lib/stripe/services/exchange_rate_service.rb +55 -0
  244. data/lib/stripe/services/file_link_service.rb +132 -0
  245. data/lib/stripe/services/file_service.rb +124 -0
  246. data/lib/stripe/services/financial_connections/account_owner_service.rb +46 -0
  247. data/lib/stripe/services/financial_connections/account_service.rb +177 -0
  248. data/lib/stripe/services/financial_connections/session_service.rb +98 -0
  249. data/lib/stripe/services/financial_connections/transaction_service.rb +100 -0
  250. data/lib/stripe/services/financial_connections_service.rb +15 -0
  251. data/lib/stripe/services/forwarding/request_service.rb +147 -0
  252. data/lib/stripe/services/forwarding_service.rb +13 -0
  253. data/lib/stripe/services/identity/verification_report_service.rb +95 -0
  254. data/lib/stripe/services/identity/verification_session_service.rb +337 -0
  255. data/lib/stripe/services/identity_service.rb +14 -0
  256. data/lib/stripe/services/invoice_item_service.rb +394 -0
  257. data/lib/stripe/services/invoice_line_item_service.rb +252 -0
  258. data/lib/stripe/services/invoice_payment_service.rb +83 -0
  259. data/lib/stripe/services/invoice_rendering_template_service.rb +101 -0
  260. data/lib/stripe/services/invoice_service.rb +2900 -0
  261. data/lib/stripe/services/issuing/authorization_service.rb +169 -0
  262. data/lib/stripe/services/issuing/card_service.rb +507 -0
  263. data/lib/stripe/services/issuing/cardholder_service.rb +577 -0
  264. data/lib/stripe/services/issuing/dispute_service.rb +696 -0
  265. data/lib/stripe/services/issuing/personalization_design_service.rb +245 -0
  266. data/lib/stripe/services/issuing/physical_bundle_service.rb +70 -0
  267. data/lib/stripe/services/issuing/token_service.rb +114 -0
  268. data/lib/stripe/services/issuing/transaction_service.rb +118 -0
  269. data/lib/stripe/services/issuing_service.rb +20 -0
  270. data/lib/stripe/services/mandate_service.rb +26 -0
  271. data/lib/stripe/services/oauth_service.rb +63 -0
  272. data/lib/stripe/services/payment_intent_service.rb +7202 -0
  273. data/lib/stripe/services/payment_link_line_item_service.rb +35 -0
  274. data/lib/stripe/services/payment_link_service.rb +1333 -0
  275. data/lib/stripe/services/payment_method_configuration_service.rb +2306 -0
  276. data/lib/stripe/services/payment_method_domain_service.rb +142 -0
  277. data/lib/stripe/services/payment_method_service.rb +843 -0
  278. data/lib/stripe/services/payout_service.rb +225 -0
  279. data/lib/stripe/services/plan_service.rb +297 -0
  280. data/lib/stripe/services/price_service.rb +545 -0
  281. data/lib/stripe/services/product_feature_service.rb +91 -0
  282. data/lib/stripe/services/product_service.rb +494 -0
  283. data/lib/stripe/services/promotion_code_service.rb +228 -0
  284. data/lib/stripe/services/quote_computed_upfront_line_items_service.rb +35 -0
  285. data/lib/stripe/services/quote_line_item_service.rb +35 -0
  286. data/lib/stripe/services/quote_service.rb +703 -0
  287. data/lib/stripe/services/radar/early_fraud_warning_service.rb +93 -0
  288. data/lib/stripe/services/radar/value_list_item_service.rb +130 -0
  289. data/lib/stripe/services/radar/value_list_service.rb +165 -0
  290. data/lib/stripe/services/radar_service.rb +15 -0
  291. data/lib/stripe/services/refund_service.rb +200 -0
  292. data/lib/stripe/services/reporting/report_run_service.rb +147 -0
  293. data/lib/stripe/services/reporting/report_type_service.rb +48 -0
  294. data/lib/stripe/services/reporting_service.rb +14 -0
  295. data/lib/stripe/services/review_service.rb +89 -0
  296. data/lib/stripe/services/setup_attempt_service.rb +68 -0
  297. data/lib/stripe/services/setup_intent_service.rb +3107 -0
  298. data/lib/stripe/services/shipping_rate_service.rb +250 -0
  299. data/lib/stripe/services/sigma/scheduled_query_run_service.rb +57 -0
  300. data/lib/stripe/services/sigma_service.rb +13 -0
  301. data/lib/stripe/services/source_service.rb +665 -0
  302. data/lib/stripe/services/source_transaction_service.rb +35 -0
  303. data/lib/stripe/services/subscription_item_service.rb +372 -0
  304. data/lib/stripe/services/subscription_schedule_service.rb +1224 -0
  305. data/lib/stripe/services/subscription_service.rb +1590 -0
  306. data/lib/stripe/services/tax/calculation_line_item_service.rb +37 -0
  307. data/lib/stripe/services/tax/calculation_service.rb +246 -0
  308. data/lib/stripe/services/tax/registration_service.rb +1774 -0
  309. data/lib/stripe/services/tax/settings_service.rb +104 -0
  310. data/lib/stripe/services/tax/transaction_line_item_service.rb +37 -0
  311. data/lib/stripe/services/tax/transaction_service.rb +159 -0
  312. data/lib/stripe/services/tax_code_service.rb +49 -0
  313. data/lib/stripe/services/tax_id_service.rb +116 -0
  314. data/lib/stripe/services/tax_rate_service.rb +193 -0
  315. data/lib/stripe/services/tax_service.rb +16 -0
  316. data/lib/stripe/services/terminal/configuration_service.rb +1059 -0
  317. data/lib/stripe/services/terminal/connection_token_service.rb +31 -0
  318. data/lib/stripe/services/terminal/location_service.rb +207 -0
  319. data/lib/stripe/services/terminal/reader_service.rb +488 -0
  320. data/lib/stripe/services/terminal_service.rb +16 -0
  321. data/lib/stripe/services/test_helpers/confirmation_token_service.rb +655 -0
  322. data/lib/stripe/services/test_helpers/customer_service.rb +37 -0
  323. data/lib/stripe/services/test_helpers/issuing/authorization_service.rb +832 -0
  324. data/lib/stripe/services/test_helpers/issuing/card_service.rb +110 -0
  325. data/lib/stripe/services/test_helpers/issuing/personalization_design_service.rb +84 -0
  326. data/lib/stripe/services/test_helpers/issuing/transaction_service.rb +675 -0
  327. data/lib/stripe/services/test_helpers/issuing_service.rb +19 -0
  328. data/lib/stripe/services/test_helpers/refund_service.rb +28 -0
  329. data/lib/stripe/services/test_helpers/terminal/reader_service.rb +108 -0
  330. data/lib/stripe/services/test_helpers/terminal_service.rb +15 -0
  331. data/lib/stripe/services/test_helpers/test_clock_service.rb +119 -0
  332. data/lib/stripe/services/test_helpers/treasury/inbound_transfer_service.rb +81 -0
  333. data/lib/stripe/services/test_helpers/treasury/outbound_payment_service.rb +141 -0
  334. data/lib/stripe/services/test_helpers/treasury/outbound_transfer_service.rb +141 -0
  335. data/lib/stripe/services/test_helpers/treasury/received_credit_service.rb +81 -0
  336. data/lib/stripe/services/test_helpers/treasury/received_debit_service.rb +81 -0
  337. data/lib/stripe/services/test_helpers/treasury_service.rb +19 -0
  338. data/lib/stripe/services/test_helpers_service.rb +19 -0
  339. data/lib/stripe/services/token_service.rb +1224 -0
  340. data/lib/stripe/services/topup_service.rb +191 -0
  341. data/lib/stripe/services/transfer_reversal_service.rb +122 -0
  342. data/lib/stripe/services/transfer_service.rb +166 -0
  343. data/lib/stripe/services/treasury/credit_reversal_service.rb +100 -0
  344. data/lib/stripe/services/treasury/debit_reversal_service.rb +104 -0
  345. data/lib/stripe/services/treasury/financial_account_features_service.rb +196 -0
  346. data/lib/stripe/services/treasury/financial_account_service.rb +554 -0
  347. data/lib/stripe/services/treasury/inbound_transfer_service.rb +140 -0
  348. data/lib/stripe/services/treasury/outbound_payment_service.rb +310 -0
  349. data/lib/stripe/services/treasury/outbound_transfer_service.rb +176 -0
  350. data/lib/stripe/services/treasury/received_credit_service.rb +82 -0
  351. data/lib/stripe/services/treasury/received_debit_service.rb +70 -0
  352. data/lib/stripe/services/treasury/transaction_entry_service.rb +117 -0
  353. data/lib/stripe/services/treasury/transaction_service.rb +125 -0
  354. data/lib/stripe/services/treasury_service.rb +22 -0
  355. data/lib/stripe/services/v1_services.rb +90 -0
  356. data/lib/stripe/services/v2/billing/meter_event_adjustment_service.rb +44 -0
  357. data/lib/stripe/services/v2/billing/meter_event_service.rb +46 -0
  358. data/lib/stripe/services/v2/billing/meter_event_session_service.rb +23 -0
  359. data/lib/stripe/services/v2/billing/meter_event_stream_service.rb +56 -0
  360. data/lib/stripe/services/v2/billing_service.rb +18 -0
  361. data/lib/stripe/services/v2/core/event_destination_service.rb +235 -0
  362. data/lib/stripe/services/v2/core/event_service.rb +48 -0
  363. data/lib/stripe/services/v2/core_service.rb +16 -0
  364. data/lib/stripe/services/v2_services.rb +14 -0
  365. data/lib/stripe/services/webhook_endpoint_service.rb +156 -0
  366. data/lib/stripe/services.rb +180 -0
  367. data/lib/stripe/singleton_api_resource.rb +3 -3
  368. data/lib/stripe/stripe_client.rb +56 -1021
  369. data/lib/stripe/stripe_configuration.rb +63 -42
  370. data/lib/stripe/stripe_object.rb +75 -39
  371. data/lib/stripe/stripe_response.rb +1 -3
  372. data/lib/stripe/stripe_service.rb +32 -0
  373. data/lib/stripe/thin_event.rb +37 -0
  374. data/lib/stripe/util.rb +161 -39
  375. data/lib/stripe/v2_list_object.rb +84 -0
  376. data/lib/stripe/version.rb +1 -1
  377. data/lib/stripe/webhook.rb +3 -2
  378. data/lib/stripe.rb +44 -1
  379. data/rbi/stripe/resources/account.rbi +4926 -0
  380. data/rbi/stripe/resources/account_link.rbi +74 -0
  381. data/rbi/stripe/resources/account_session.rbi +1013 -0
  382. data/rbi/stripe/resources/apple_pay_domain.rbi +88 -0
  383. data/rbi/stripe/resources/application.rbi +20 -0
  384. data/rbi/stripe/resources/application_fee.rbi +118 -0
  385. data/rbi/stripe/resources/application_fee_refund.rbi +37 -0
  386. data/rbi/stripe/resources/apps/secret.rbi +195 -0
  387. data/rbi/stripe/resources/balance.rbi +235 -0
  388. data/rbi/stripe/resources/balance_transaction.rbi +147 -0
  389. data/rbi/stripe/resources/bank_account.rbi +127 -0
  390. data/rbi/stripe/resources/billing/alert.rbi +201 -0
  391. data/rbi/stripe/resources/billing/alert_triggered.rbi +28 -0
  392. data/rbi/stripe/resources/billing/credit_balance_summary.rbi +63 -0
  393. data/rbi/stripe/resources/billing/credit_balance_transaction.rbi +147 -0
  394. data/rbi/stripe/resources/billing/credit_grant.rbi +291 -0
  395. data/rbi/stripe/resources/billing/meter.rbi +226 -0
  396. data/rbi/stripe/resources/billing/meter_event.rbi +64 -0
  397. data/rbi/stripe/resources/billing/meter_event_adjustment.rbi +64 -0
  398. data/rbi/stripe/resources/billing/meter_event_summary.rbi +35 -0
  399. data/rbi/stripe/resources/billing_portal/configuration.rbi +645 -0
  400. data/rbi/stripe/resources/billing_portal/session.rbi +345 -0
  401. data/rbi/stripe/resources/capability.rbi +125 -0
  402. data/rbi/stripe/resources/card.rbi +125 -0
  403. data/rbi/stripe/resources/cash_balance.rbi +32 -0
  404. data/rbi/stripe/resources/charge.rbi +2069 -0
  405. data/rbi/stripe/resources/checkout/session.rbi +4004 -0
  406. data/rbi/stripe/resources/climate/order.rbi +245 -0
  407. data/rbi/stripe/resources/climate/product.rbi +75 -0
  408. data/rbi/stripe/resources/climate/supplier.rbi +72 -0
  409. data/rbi/stripe/resources/confirmation_token.rbi +1807 -0
  410. data/rbi/stripe/resources/connect_collection_transfer.rbi +26 -0
  411. data/rbi/stripe/resources/country_spec.rbi +85 -0
  412. data/rbi/stripe/resources/coupon.rbi +250 -0
  413. data/rbi/stripe/resources/credit_note.rbi +752 -0
  414. data/rbi/stripe/resources/credit_note_line_item.rbi +101 -0
  415. data/rbi/stripe/resources/customer.rbi +1005 -0
  416. data/rbi/stripe/resources/customer_balance_transaction.rbi +56 -0
  417. data/rbi/stripe/resources/customer_cash_balance_transaction.rbi +151 -0
  418. data/rbi/stripe/resources/customer_session.rbi +200 -0
  419. data/rbi/stripe/resources/discount.rbi +53 -0
  420. data/rbi/stripe/resources/dispute.rbi +761 -0
  421. data/rbi/stripe/resources/entitlements/active_entitlement.rbi +58 -0
  422. data/rbi/stripe/resources/entitlements/active_entitlement_summary.rbi +23 -0
  423. data/rbi/stripe/resources/entitlements/feature.rbi +117 -0
  424. data/rbi/stripe/resources/ephemeral_key.rbi +44 -0
  425. data/rbi/stripe/resources/event.rbi +149 -0
  426. data/rbi/stripe/resources/exchange_rate.rbi +66 -0
  427. data/rbi/stripe/resources/file.rbi +143 -0
  428. data/rbi/stripe/resources/file_link.rbi +141 -0
  429. data/rbi/stripe/resources/financial_connections/account.rbi +339 -0
  430. data/rbi/stripe/resources/financial_connections/account_owner.rbi +35 -0
  431. data/rbi/stripe/resources/financial_connections/account_ownership.rbi +23 -0
  432. data/rbi/stripe/resources/financial_connections/session.rbi +123 -0
  433. data/rbi/stripe/resources/financial_connections/transaction.rbi +124 -0
  434. data/rbi/stripe/resources/forwarding/request.rbi +216 -0
  435. data/rbi/stripe/resources/funding_instructions.rbi +437 -0
  436. data/rbi/stripe/resources/identity/verification_report.rbi +360 -0
  437. data/rbi/stripe/resources/identity/verification_session.rbi +526 -0
  438. data/rbi/stripe/resources/invoice.rbi +3812 -0
  439. data/rbi/stripe/resources/invoice_item.rbi +473 -0
  440. data/rbi/stripe/resources/invoice_line_item.rbi +432 -0
  441. data/rbi/stripe/resources/invoice_payment.rbi +121 -0
  442. data/rbi/stripe/resources/invoice_rendering_template.rbi +104 -0
  443. data/rbi/stripe/resources/issuing/authorization.rbi +1283 -0
  444. data/rbi/stripe/resources/issuing/card.rbi +741 -0
  445. data/rbi/stripe/resources/issuing/cardholder.rbi +744 -0
  446. data/rbi/stripe/resources/issuing/dispute.rbi +913 -0
  447. data/rbi/stripe/resources/issuing/personalization_design.rbi +338 -0
  448. data/rbi/stripe/resources/issuing/physical_bundle.rbi +79 -0
  449. data/rbi/stripe/resources/issuing/token.rbi +226 -0
  450. data/rbi/stripe/resources/issuing/transaction.rbi +1061 -0
  451. data/rbi/stripe/resources/line_item.rbi +72 -0
  452. data/rbi/stripe/resources/login_link.rbi +19 -0
  453. data/rbi/stripe/resources/mandate.rbi +187 -0
  454. data/rbi/stripe/resources/payment_intent.rbi +9647 -0
  455. data/rbi/stripe/resources/payment_link.rbi +1801 -0
  456. data/rbi/stripe/resources/payment_method.rbi +1761 -0
  457. data/rbi/stripe/resources/payment_method_configuration.rbi +3550 -0
  458. data/rbi/stripe/resources/payment_method_domain.rbi +228 -0
  459. data/rbi/stripe/resources/payout.rbi +300 -0
  460. data/rbi/stripe/resources/person.rbi +401 -0
  461. data/rbi/stripe/resources/plan.rbi +371 -0
  462. data/rbi/stripe/resources/price.rbi +694 -0
  463. data/rbi/stripe/resources/product.rbi +555 -0
  464. data/rbi/stripe/resources/product_feature.rbi +26 -0
  465. data/rbi/stripe/resources/promotion_code.rbi +261 -0
  466. data/rbi/stripe/resources/quote.rbi +1126 -0
  467. data/rbi/stripe/resources/radar/early_fraud_warning.rbi +98 -0
  468. data/rbi/stripe/resources/radar/value_list.rbi +168 -0
  469. data/rbi/stripe/resources/radar/value_list_item.rbi +129 -0
  470. data/rbi/stripe/resources/refund.rbi +523 -0
  471. data/rbi/stripe/resources/reporting/report_run.rbi +191 -0
  472. data/rbi/stripe/resources/reporting/report_type.rbi +57 -0
  473. data/rbi/stripe/resources/reserve_transaction.rbi +23 -0
  474. data/rbi/stripe/resources/reversal.rbi +51 -0
  475. data/rbi/stripe/resources/review.rbi +154 -0
  476. data/rbi/stripe/resources/setup_attempt.rbi +477 -0
  477. data/rbi/stripe/resources/setup_intent.rbi +3655 -0
  478. data/rbi/stripe/resources/shipping_rate.rbi +305 -0
  479. data/rbi/stripe/resources/sigma/scheduled_query_run.rbi +75 -0
  480. data/rbi/stripe/resources/source.rbi +1496 -0
  481. data/rbi/stripe/resources/source_mandate_notification.rbi +77 -0
  482. data/rbi/stripe/resources/source_transaction.rbi +127 -0
  483. data/rbi/stripe/resources/subscription.rbi +2027 -0
  484. data/rbi/stripe/resources/subscription_item.rbi +404 -0
  485. data/rbi/stripe/resources/subscription_schedule.rbi +1623 -0
  486. data/rbi/stripe/resources/tax/calculation.rbi +478 -0
  487. data/rbi/stripe/resources/tax/calculation_line_item.rbi +91 -0
  488. data/rbi/stripe/resources/tax/registration.rbi +2713 -0
  489. data/rbi/stripe/resources/tax/settings.rbi +141 -0
  490. data/rbi/stripe/resources/tax/transaction.rbi +351 -0
  491. data/rbi/stripe/resources/tax/transaction_line_item.rbi +54 -0
  492. data/rbi/stripe/resources/tax_code.rbi +44 -0
  493. data/rbi/stripe/resources/tax_deducted_at_source.rbi +23 -0
  494. data/rbi/stripe/resources/tax_id.rbi +165 -0
  495. data/rbi/stripe/resources/tax_rate.rbi +239 -0
  496. data/rbi/stripe/resources/terminal/configuration.rbi +1386 -0
  497. data/rbi/stripe/resources/terminal/connection_token.rbi +37 -0
  498. data/rbi/stripe/resources/terminal/location.rbi +222 -0
  499. data/rbi/stripe/resources/terminal/reader.rbi +847 -0
  500. data/rbi/stripe/resources/test_helpers/test_clock.rbi +132 -0
  501. data/rbi/stripe/resources/token.rbi +1283 -0
  502. data/rbi/stripe/resources/topup.rbi +222 -0
  503. data/rbi/stripe/resources/transfer.rbi +199 -0
  504. data/rbi/stripe/resources/treasury/credit_reversal.rbi +119 -0
  505. data/rbi/stripe/resources/treasury/debit_reversal.rbi +131 -0
  506. data/rbi/stripe/resources/treasury/financial_account.rbi +865 -0
  507. data/rbi/stripe/resources/treasury/financial_account_features.rbi +260 -0
  508. data/rbi/stripe/resources/treasury/inbound_transfer.rbi +295 -0
  509. data/rbi/stripe/resources/treasury/outbound_payment.rbi +592 -0
  510. data/rbi/stripe/resources/treasury/outbound_transfer.rbi +431 -0
  511. data/rbi/stripe/resources/treasury/received_credit.rbi +302 -0
  512. data/rbi/stripe/resources/treasury/received_debit.rbi +256 -0
  513. data/rbi/stripe/resources/treasury/transaction.rbi +215 -0
  514. data/rbi/stripe/resources/treasury/transaction_entry.rbi +192 -0
  515. data/rbi/stripe/resources/v2/amount.rbi +14 -0
  516. data/rbi/stripe/resources/v2/billing/meter_event.rbi +37 -0
  517. data/rbi/stripe/resources/v2/billing/meter_event_adjustment.rbi +41 -0
  518. data/rbi/stripe/resources/v2/billing/meter_event_session.rbi +31 -0
  519. data/rbi/stripe/resources/v2/event.rbi +48 -0
  520. data/rbi/stripe/resources/v2/event_destination.rbi +91 -0
  521. data/rbi/stripe/resources/webhook_endpoint.rbi +168 -0
  522. data/rbi/stripe/services/account_capability_service.rbi +51 -0
  523. data/rbi/stripe/services/account_external_account_service.rbi +304 -0
  524. data/rbi/stripe/services/account_link_service.rbi +58 -0
  525. data/rbi/stripe/services/account_login_link_service.rbi +22 -0
  526. data/rbi/stripe/services/account_person_service.rbi +1011 -0
  527. data/rbi/stripe/services/account_service.rbi +4213 -0
  528. data/rbi/stripe/services/account_session_service.rbi +646 -0
  529. data/rbi/stripe/services/apple_pay_domain_service.rbi +76 -0
  530. data/rbi/stripe/services/application_fee_refund_service.rbi +93 -0
  531. data/rbi/stripe/services/application_fee_service.rbi +78 -0
  532. data/rbi/stripe/services/apps/secret_service.rbi +151 -0
  533. data/{lib/stripe/resources/usage_record_summary.rb → rbi/stripe/services/apps_service.rbi} +4 -3
  534. data/rbi/stripe/services/balance_service.rbi +21 -0
  535. data/rbi/stripe/services/balance_transaction_service.rbi +93 -0
  536. data/rbi/stripe/services/billing/alert_service.rbi +152 -0
  537. data/rbi/stripe/services/billing/credit_balance_summary_service.rbi +68 -0
  538. data/rbi/stripe/services/billing/credit_balance_transaction_service.rbi +59 -0
  539. data/rbi/stripe/services/billing/credit_grant_service.rbi +211 -0
  540. data/rbi/stripe/services/billing/meter_event_adjustment_service.rbi +42 -0
  541. data/rbi/stripe/services/billing/meter_event_service.rbi +42 -0
  542. data/rbi/stripe/services/billing/meter_event_summary_service.rbi +54 -0
  543. data/rbi/stripe/services/billing/meter_service.rbi +163 -0
  544. data/rbi/stripe/services/billing_portal/configuration_service.rbi +511 -0
  545. data/rbi/stripe/services/billing_portal/session_service.rbi +204 -0
  546. data/rbi/stripe/services/billing_portal_service.rbi +10 -0
  547. data/rbi/stripe/services/billing_service.rbi +15 -0
  548. data/rbi/stripe/services/charge_service.rbi +448 -0
  549. data/rbi/stripe/services/checkout/session_line_item_service.rbi +33 -0
  550. data/rbi/stripe/services/checkout/session_service.rbi +2614 -0
  551. data/rbi/stripe/services/checkout_service.rbi +9 -0
  552. data/rbi/stripe/services/climate/order_service.rbi +142 -0
  553. data/rbi/stripe/services/climate/product_service.rbi +46 -0
  554. data/rbi/stripe/services/climate/supplier_service.rbi +46 -0
  555. data/rbi/stripe/services/climate_service.rbi +11 -0
  556. data/rbi/stripe/services/confirmation_token_service.rbi +20 -0
  557. data/rbi/stripe/services/country_spec_service.rbi +44 -0
  558. data/rbi/stripe/services/coupon_service.rbi +194 -0
  559. data/rbi/stripe/services/credit_note_line_item_service.rbi +31 -0
  560. data/rbi/stripe/services/credit_note_preview_lines_service.rbi +167 -0
  561. data/rbi/stripe/services/credit_note_service.rbi +415 -0
  562. data/rbi/stripe/services/customer_balance_transaction_service.rbi +92 -0
  563. data/rbi/stripe/services/customer_cash_balance_service.rbi +45 -0
  564. data/rbi/stripe/services/customer_cash_balance_transaction_service.rbi +44 -0
  565. data/rbi/stripe/services/customer_funding_instructions_service.rbi +59 -0
  566. data/rbi/stripe/services/customer_payment_method_service.rbi +57 -0
  567. data/rbi/stripe/services/customer_payment_source_service.rbi +232 -0
  568. data/rbi/stripe/services/customer_service.rbi +647 -0
  569. data/rbi/stripe/services/customer_session_service.rbi +116 -0
  570. data/rbi/stripe/services/customer_tax_id_service.rbi +70 -0
  571. data/rbi/stripe/services/dispute_service.rbi +424 -0
  572. data/rbi/stripe/services/entitlements/active_entitlement_service.rbi +55 -0
  573. data/rbi/stripe/services/entitlements/feature_service.rbi +107 -0
  574. data/rbi/stripe/services/entitlements_service.rbi +10 -0
  575. data/rbi/stripe/services/ephemeral_key_service.rbi +53 -0
  576. data/rbi/stripe/services/event_service.rbi +83 -0
  577. data/rbi/stripe/services/exchange_rate_service.rbi +44 -0
  578. data/rbi/stripe/services/file_link_service.rbi +124 -0
  579. data/rbi/stripe/services/file_service.rbi +116 -0
  580. data/rbi/stripe/services/financial_connections/account_owner_service.rbi +42 -0
  581. data/rbi/stripe/services/financial_connections/account_service.rbi +133 -0
  582. data/rbi/stripe/services/financial_connections/session_service.rbi +88 -0
  583. data/rbi/stripe/services/financial_connections/transaction_service.rbi +92 -0
  584. data/rbi/stripe/services/financial_connections_service.rbi +11 -0
  585. data/rbi/stripe/services/forwarding/request_service.rbi +134 -0
  586. data/rbi/stripe/services/forwarding_service.rbi +9 -0
  587. data/rbi/stripe/services/identity/verification_report_service.rbi +87 -0
  588. data/rbi/stripe/services/identity/verification_session_service.rbi +323 -0
  589. data/rbi/stripe/services/identity_service.rbi +10 -0
  590. data/rbi/stripe/services/invoice_item_service.rbi +366 -0
  591. data/rbi/stripe/services/invoice_line_item_service.rbi +259 -0
  592. data/rbi/stripe/services/invoice_payment_service.rbi +71 -0
  593. data/rbi/stripe/services/invoice_rendering_template_service.rbi +82 -0
  594. data/rbi/stripe/services/invoice_service.rbi +2981 -0
  595. data/rbi/stripe/services/issuing/authorization_service.rbi +146 -0
  596. data/rbi/stripe/services/issuing/card_service.rbi +495 -0
  597. data/rbi/stripe/services/issuing/cardholder_service.rbi +587 -0
  598. data/rbi/stripe/services/issuing/dispute_service.rbi +707 -0
  599. data/rbi/stripe/services/issuing/personalization_design_service.rbi +243 -0
  600. data/rbi/stripe/services/issuing/physical_bundle_service.rbi +59 -0
  601. data/rbi/stripe/services/issuing/token_service.rbi +99 -0
  602. data/rbi/stripe/services/issuing/transaction_service.rbi +105 -0
  603. data/rbi/stripe/services/issuing_service.rbi +16 -0
  604. data/rbi/stripe/services/mandate_service.rbi +20 -0
  605. data/rbi/stripe/services/payment_intent_service.rbi +7659 -0
  606. data/rbi/stripe/services/payment_link_line_item_service.rbi +31 -0
  607. data/rbi/stripe/services/payment_link_service.rbi +1352 -0
  608. data/rbi/stripe/services/payment_method_configuration_service.rbi +2487 -0
  609. data/rbi/stripe/services/payment_method_domain_service.rbi +112 -0
  610. data/rbi/stripe/services/payment_method_service.rbi +776 -0
  611. data/rbi/stripe/services/payout_service.rbi +205 -0
  612. data/rbi/stripe/services/plan_service.rbi +282 -0
  613. data/rbi/stripe/services/price_service.rbi +546 -0
  614. data/rbi/stripe/services/product_feature_service.rbi +67 -0
  615. data/rbi/stripe/services/product_service.rbi +477 -0
  616. data/rbi/stripe/services/promotion_code_service.rbi +214 -0
  617. data/rbi/stripe/services/quote_computed_upfront_line_items_service.rbi +31 -0
  618. data/rbi/stripe/services/quote_line_item_service.rbi +31 -0
  619. data/rbi/stripe/services/quote_service.rbi +686 -0
  620. data/rbi/stripe/services/radar/early_fraud_warning_service.rbi +85 -0
  621. data/rbi/stripe/services/radar/value_list_item_service.rbi +109 -0
  622. data/rbi/stripe/services/radar/value_list_service.rbi +141 -0
  623. data/rbi/stripe/services/radar_service.rbi +11 -0
  624. data/rbi/stripe/services/refund_service.rbi +185 -0
  625. data/rbi/stripe/services/reporting/report_run_service.rbi +135 -0
  626. data/rbi/stripe/services/reporting/report_type_service.rbi +35 -0
  627. data/rbi/stripe/services/reporting_service.rbi +10 -0
  628. data/rbi/stripe/services/review_service.rbi +84 -0
  629. data/rbi/stripe/services/setup_attempt_service.rbi +65 -0
  630. data/rbi/stripe/services/setup_intent_service.rbi +3391 -0
  631. data/rbi/stripe/services/shipping_rate_service.rbi +241 -0
  632. data/rbi/stripe/services/sigma/scheduled_query_run_service.rbi +46 -0
  633. data/rbi/stripe/services/sigma_service.rbi +9 -0
  634. data/rbi/stripe/services/source_service.rbi +663 -0
  635. data/rbi/stripe/services/source_transaction_service.rbi +31 -0
  636. data/rbi/stripe/services/subscription_item_service.rbi +350 -0
  637. data/rbi/stripe/services/subscription_schedule_service.rbi +1290 -0
  638. data/rbi/stripe/services/subscription_service.rbi +1648 -0
  639. data/rbi/stripe/services/tax/calculation_line_item_service.rbi +33 -0
  640. data/rbi/stripe/services/tax/calculation_service.rbi +234 -0
  641. data/rbi/stripe/services/tax/registration_service.rbi +1845 -0
  642. data/rbi/stripe/services/tax/settings_service.rbi +93 -0
  643. data/rbi/stripe/services/tax/transaction_line_item_service.rbi +33 -0
  644. data/rbi/stripe/services/tax/transaction_service.rbi +146 -0
  645. data/rbi/stripe/services/tax_code_service.rbi +44 -0
  646. data/rbi/stripe/services/tax_id_service.rbi +110 -0
  647. data/rbi/stripe/services/tax_rate_service.rbi +185 -0
  648. data/rbi/stripe/services/tax_service.rbi +12 -0
  649. data/rbi/stripe/services/terminal/configuration_service.rbi +1118 -0
  650. data/rbi/stripe/services/terminal/connection_token_service.rbi +25 -0
  651. data/rbi/stripe/services/terminal/location_service.rbi +182 -0
  652. data/rbi/stripe/services/terminal/reader_service.rbi +455 -0
  653. data/rbi/stripe/services/terminal_service.rbi +12 -0
  654. data/rbi/stripe/services/test_helpers/confirmation_token_service.rbi +739 -0
  655. data/rbi/stripe/services/test_helpers/customer_service.rbi +33 -0
  656. data/rbi/stripe/services/test_helpers/issuing/authorization_service.rbi +848 -0
  657. data/rbi/stripe/services/test_helpers/issuing/card_service.rbi +76 -0
  658. data/rbi/stripe/services/test_helpers/issuing/personalization_design_service.rbi +69 -0
  659. data/rbi/stripe/services/test_helpers/issuing/transaction_service.rbi +711 -0
  660. data/rbi/stripe/services/test_helpers/issuing_service.rbi +14 -0
  661. data/rbi/stripe/services/test_helpers/refund_service.rbi +22 -0
  662. data/rbi/stripe/services/test_helpers/terminal/reader_service.rbi +93 -0
  663. data/rbi/stripe/services/test_helpers/terminal_service.rbi +11 -0
  664. data/rbi/stripe/services/test_helpers/test_clock_service.rbi +90 -0
  665. data/rbi/stripe/services/test_helpers/treasury/inbound_transfer_service.rbi +64 -0
  666. data/rbi/stripe/services/test_helpers/treasury/outbound_payment_service.rbi +125 -0
  667. data/rbi/stripe/services/test_helpers/treasury/outbound_transfer_service.rbi +125 -0
  668. data/rbi/stripe/services/test_helpers/treasury/received_credit_service.rbi +87 -0
  669. data/rbi/stripe/services/test_helpers/treasury/received_debit_service.rbi +87 -0
  670. data/rbi/stripe/services/test_helpers/treasury_service.rbi +15 -0
  671. data/rbi/stripe/services/test_helpers_service.rbi +15 -0
  672. data/rbi/stripe/services/token_service.rbi +1257 -0
  673. data/rbi/stripe/services/topup_service.rbi +176 -0
  674. data/rbi/stripe/services/transfer_reversal_service.rbi +101 -0
  675. data/rbi/stripe/services/transfer_service.rbi +152 -0
  676. data/rbi/stripe/services/treasury/credit_reversal_service.rbi +84 -0
  677. data/rbi/stripe/services/treasury/debit_reversal_service.rbi +88 -0
  678. data/rbi/stripe/services/treasury/financial_account_features_service.rbi +198 -0
  679. data/rbi/stripe/services/treasury/financial_account_service.rbi +562 -0
  680. data/rbi/stripe/services/treasury/inbound_transfer_service.rbi +117 -0
  681. data/rbi/stripe/services/treasury/outbound_payment_service.rbi +304 -0
  682. data/rbi/stripe/services/treasury/outbound_transfer_service.rbi +157 -0
  683. data/rbi/stripe/services/treasury/received_credit_service.rbi +72 -0
  684. data/rbi/stripe/services/treasury/received_debit_service.rbi +59 -0
  685. data/rbi/stripe/services/treasury/transaction_entry_service.rbi +111 -0
  686. data/rbi/stripe/services/treasury/transaction_service.rbi +122 -0
  687. data/rbi/stripe/services/treasury_service.rbi +18 -0
  688. data/rbi/stripe/services/v1_services.rbi +77 -0
  689. data/rbi/stripe/services/v2/billing/meter_event_adjustment_service.rbi +39 -0
  690. data/rbi/stripe/services/v2/billing/meter_event_service.rbi +42 -0
  691. data/rbi/stripe/services/v2/billing/meter_event_session_service.rbi +18 -0
  692. data/rbi/stripe/services/v2/billing/meter_event_stream_service.rbi +55 -0
  693. data/rbi/stripe/services/v2/billing_service.rbi +14 -0
  694. data/rbi/stripe/services/v2/core/event_destination_service.rbi +192 -0
  695. data/rbi/stripe/services/v2/core/event_service.rbi +36 -0
  696. data/rbi/stripe/services/v2/core_service.rbi +12 -0
  697. data/rbi/stripe/services/v2_services.rbi +10 -0
  698. data/rbi/stripe/services/webhook_endpoint_service.rbi +129 -0
  699. data/stripe.gemspec +10 -7
  700. metadata +599 -18
  701. data/lib/stripe/resources/bitcoin_receiver.rb +0 -24
  702. data/lib/stripe/resources/bitcoin_transaction.rb +0 -16
  703. data/lib/stripe/resources/issuing/card_details.rb +0 -9
  704. data/lib/stripe/resources/order.rb +0 -33
  705. data/lib/stripe/resources/order_return.rb +0 -10
  706. data/lib/stripe/resources/recipient.rb +0 -14
  707. data/lib/stripe/resources/sku.rb +0 -13
  708. data/lib/stripe/resources/three_d_secure.rb +0 -14
@@ -0,0 +1,843 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ module Stripe
5
+ class PaymentMethodService < StripeService
6
+ class ListParams < Stripe::RequestParams
7
+ # The ID of the customer whose PaymentMethods will be retrieved.
8
+ attr_accessor :customer
9
+ # 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.
10
+ attr_accessor :ending_before
11
+ # Specifies which fields in the response should be expanded.
12
+ attr_accessor :expand
13
+ # A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
14
+ attr_accessor :limit
15
+ # 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.
16
+ attr_accessor :starting_after
17
+ # 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.
18
+ attr_accessor :type
19
+
20
+ def initialize(
21
+ customer: nil,
22
+ ending_before: nil,
23
+ expand: nil,
24
+ limit: nil,
25
+ starting_after: nil,
26
+ type: nil
27
+ )
28
+ @customer = customer
29
+ @ending_before = ending_before
30
+ @expand = expand
31
+ @limit = limit
32
+ @starting_after = starting_after
33
+ @type = type
34
+ end
35
+ end
36
+
37
+ class CreateParams < Stripe::RequestParams
38
+ class AcssDebit < Stripe::RequestParams
39
+ # Customer's bank account number.
40
+ attr_accessor :account_number
41
+ # Institution number of the customer's bank.
42
+ attr_accessor :institution_number
43
+ # Transit number of the customer's bank.
44
+ attr_accessor :transit_number
45
+
46
+ def initialize(account_number: nil, institution_number: nil, transit_number: nil)
47
+ @account_number = account_number
48
+ @institution_number = institution_number
49
+ @transit_number = transit_number
50
+ end
51
+ end
52
+
53
+ class Affirm < Stripe::RequestParams; end
54
+ class AfterpayClearpay < Stripe::RequestParams; end
55
+ class Alipay < Stripe::RequestParams; end
56
+ class Alma < Stripe::RequestParams; end
57
+ class AmazonPay < Stripe::RequestParams; end
58
+
59
+ class AuBecsDebit < Stripe::RequestParams
60
+ # The account number for the bank account.
61
+ attr_accessor :account_number
62
+ # Bank-State-Branch number of the bank account.
63
+ attr_accessor :bsb_number
64
+
65
+ def initialize(account_number: nil, bsb_number: nil)
66
+ @account_number = account_number
67
+ @bsb_number = bsb_number
68
+ end
69
+ end
70
+
71
+ class BacsDebit < Stripe::RequestParams
72
+ # Account number of the bank account that the funds will be debited from.
73
+ attr_accessor :account_number
74
+ # Sort code of the bank account. (e.g., `10-20-30`)
75
+ attr_accessor :sort_code
76
+
77
+ def initialize(account_number: nil, sort_code: nil)
78
+ @account_number = account_number
79
+ @sort_code = sort_code
80
+ end
81
+ end
82
+
83
+ class Bancontact < Stripe::RequestParams; end
84
+ class Billie < Stripe::RequestParams; end
85
+
86
+ class BillingDetails < Stripe::RequestParams
87
+ class Address < Stripe::RequestParams
88
+ # City, district, suburb, town, or village.
89
+ attr_accessor :city
90
+ # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
91
+ attr_accessor :country
92
+ # Address line 1 (e.g., street, PO Box, or company name).
93
+ attr_accessor :line1
94
+ # Address line 2 (e.g., apartment, suite, unit, or building).
95
+ attr_accessor :line2
96
+ # ZIP or postal code.
97
+ attr_accessor :postal_code
98
+ # State, county, province, or region.
99
+ attr_accessor :state
100
+
101
+ def initialize(
102
+ city: nil,
103
+ country: nil,
104
+ line1: nil,
105
+ line2: nil,
106
+ postal_code: nil,
107
+ state: nil
108
+ )
109
+ @city = city
110
+ @country = country
111
+ @line1 = line1
112
+ @line2 = line2
113
+ @postal_code = postal_code
114
+ @state = state
115
+ end
116
+ end
117
+ # Billing address.
118
+ attr_accessor :address
119
+ # Email address.
120
+ attr_accessor :email
121
+ # Full name.
122
+ attr_accessor :name
123
+ # Billing phone number (including extension).
124
+ attr_accessor :phone
125
+ # Taxpayer identification number. Used only for transactions between LATAM buyers and non-LATAM sellers.
126
+ attr_accessor :tax_id
127
+
128
+ def initialize(address: nil, email: nil, name: nil, phone: nil, tax_id: nil)
129
+ @address = address
130
+ @email = email
131
+ @name = name
132
+ @phone = phone
133
+ @tax_id = tax_id
134
+ end
135
+ end
136
+
137
+ class Blik < Stripe::RequestParams; end
138
+
139
+ class Boleto < Stripe::RequestParams
140
+ # The tax ID of the customer (CPF for individual consumers or CNPJ for businesses consumers)
141
+ attr_accessor :tax_id
142
+
143
+ def initialize(tax_id: nil)
144
+ @tax_id = tax_id
145
+ end
146
+ end
147
+
148
+ class Card < Stripe::RequestParams
149
+ class Networks < Stripe::RequestParams
150
+ # The customer's preferred card network for co-branded cards. Supports `cartes_bancaires`, `mastercard`, or `visa`. Selection of a network that does not apply to the card will be stored as `invalid_preference` on the card.
151
+ attr_accessor :preferred
152
+
153
+ def initialize(preferred: nil)
154
+ @preferred = preferred
155
+ end
156
+ end
157
+ # The card's CVC. It is highly recommended to always include this value.
158
+ attr_accessor :cvc
159
+ # Two-digit number representing the card's expiration month.
160
+ attr_accessor :exp_month
161
+ # Four-digit number representing the card's expiration year.
162
+ attr_accessor :exp_year
163
+ # Contains information about card networks used to process the payment.
164
+ attr_accessor :networks
165
+ # The card number, as a string without any separators.
166
+ attr_accessor :number
167
+ # For backwards compatibility, you can alternatively provide a Stripe token (e.g., for Apple Pay, Amex Express Checkout, or legacy Checkout) into the card hash with format card: {token: "tok_visa"}.
168
+ attr_accessor :token
169
+
170
+ def initialize(
171
+ cvc: nil,
172
+ exp_month: nil,
173
+ exp_year: nil,
174
+ networks: nil,
175
+ number: nil,
176
+ token: nil
177
+ )
178
+ @cvc = cvc
179
+ @exp_month = exp_month
180
+ @exp_year = exp_year
181
+ @networks = networks
182
+ @number = number
183
+ @token = token
184
+ end
185
+ end
186
+
187
+ class Cashapp < Stripe::RequestParams; end
188
+ class CustomerBalance < Stripe::RequestParams; end
189
+
190
+ class Eps < Stripe::RequestParams
191
+ # The customer's bank.
192
+ attr_accessor :bank
193
+
194
+ def initialize(bank: nil)
195
+ @bank = bank
196
+ end
197
+ end
198
+
199
+ class Fpx < Stripe::RequestParams
200
+ # Account holder type for FPX transaction
201
+ attr_accessor :account_holder_type
202
+ # The customer's bank.
203
+ attr_accessor :bank
204
+
205
+ def initialize(account_holder_type: nil, bank: nil)
206
+ @account_holder_type = account_holder_type
207
+ @bank = bank
208
+ end
209
+ end
210
+
211
+ class Giropay < Stripe::RequestParams; end
212
+ class Grabpay < Stripe::RequestParams; end
213
+
214
+ class Ideal < Stripe::RequestParams
215
+ # The customer's bank. Only use this parameter for existing customers. Don't use it for new customers.
216
+ attr_accessor :bank
217
+
218
+ def initialize(bank: nil)
219
+ @bank = bank
220
+ end
221
+ end
222
+
223
+ class InteracPresent < Stripe::RequestParams; end
224
+ class KakaoPay < Stripe::RequestParams; end
225
+
226
+ class Klarna < Stripe::RequestParams
227
+ class Dob < Stripe::RequestParams
228
+ # The day of birth, between 1 and 31.
229
+ attr_accessor :day
230
+ # The month of birth, between 1 and 12.
231
+ attr_accessor :month
232
+ # The four-digit year of birth.
233
+ attr_accessor :year
234
+
235
+ def initialize(day: nil, month: nil, year: nil)
236
+ @day = day
237
+ @month = month
238
+ @year = year
239
+ end
240
+ end
241
+ # Customer's date of birth
242
+ attr_accessor :dob
243
+
244
+ def initialize(dob: nil)
245
+ @dob = dob
246
+ end
247
+ end
248
+
249
+ class Konbini < Stripe::RequestParams; end
250
+ class KrCard < Stripe::RequestParams; end
251
+ class Link < Stripe::RequestParams; end
252
+ class Mobilepay < Stripe::RequestParams; end
253
+ class Multibanco < Stripe::RequestParams; end
254
+
255
+ class NaverPay < Stripe::RequestParams
256
+ # Whether to use Naver Pay points or a card to fund this transaction. If not provided, this defaults to `card`.
257
+ attr_accessor :funding
258
+
259
+ def initialize(funding: nil)
260
+ @funding = funding
261
+ end
262
+ end
263
+
264
+ class NzBankAccount < Stripe::RequestParams
265
+ # The name on the bank account. Only required if the account holder name is different from the name of the authorized signatory collected in the PaymentMethod’s billing details.
266
+ attr_accessor :account_holder_name
267
+ # The account number for the bank account.
268
+ attr_accessor :account_number
269
+ # The numeric code for the bank account's bank.
270
+ attr_accessor :bank_code
271
+ # The numeric code for the bank account's bank branch.
272
+ attr_accessor :branch_code
273
+ # Attribute for param field reference
274
+ attr_accessor :reference
275
+ # The suffix of the bank account number.
276
+ attr_accessor :suffix
277
+
278
+ def initialize(
279
+ account_holder_name: nil,
280
+ account_number: nil,
281
+ bank_code: nil,
282
+ branch_code: nil,
283
+ reference: nil,
284
+ suffix: nil
285
+ )
286
+ @account_holder_name = account_holder_name
287
+ @account_number = account_number
288
+ @bank_code = bank_code
289
+ @branch_code = branch_code
290
+ @reference = reference
291
+ @suffix = suffix
292
+ end
293
+ end
294
+
295
+ class Oxxo < Stripe::RequestParams; end
296
+
297
+ class P24 < Stripe::RequestParams
298
+ # The customer's bank.
299
+ attr_accessor :bank
300
+
301
+ def initialize(bank: nil)
302
+ @bank = bank
303
+ end
304
+ end
305
+
306
+ class PayByBank < Stripe::RequestParams; end
307
+ class Payco < Stripe::RequestParams; end
308
+ class Paynow < Stripe::RequestParams; end
309
+ class Paypal < Stripe::RequestParams; end
310
+ class Pix < Stripe::RequestParams; end
311
+ class Promptpay < Stripe::RequestParams; end
312
+
313
+ class RadarOptions < Stripe::RequestParams
314
+ # A [Radar Session](https://stripe.com/docs/radar/radar-session) is a snapshot of the browser metadata and device details that help Radar make more accurate predictions on your payments.
315
+ attr_accessor :session
316
+
317
+ def initialize(session: nil)
318
+ @session = session
319
+ end
320
+ end
321
+
322
+ class RevolutPay < Stripe::RequestParams; end
323
+ class SamsungPay < Stripe::RequestParams; end
324
+ class Satispay < Stripe::RequestParams; end
325
+
326
+ class SepaDebit < Stripe::RequestParams
327
+ # IBAN of the bank account.
328
+ attr_accessor :iban
329
+
330
+ def initialize(iban: nil)
331
+ @iban = iban
332
+ end
333
+ end
334
+
335
+ class Sofort < Stripe::RequestParams
336
+ # Two-letter ISO code representing the country the bank account is located in.
337
+ attr_accessor :country
338
+
339
+ def initialize(country: nil)
340
+ @country = country
341
+ end
342
+ end
343
+
344
+ class Swish < Stripe::RequestParams; end
345
+ class Twint < Stripe::RequestParams; end
346
+
347
+ class UsBankAccount < Stripe::RequestParams
348
+ # Account holder type: individual or company.
349
+ attr_accessor :account_holder_type
350
+ # Account number of the bank account.
351
+ attr_accessor :account_number
352
+ # Account type: checkings or savings. Defaults to checking if omitted.
353
+ attr_accessor :account_type
354
+ # The ID of a Financial Connections Account to use as a payment method.
355
+ attr_accessor :financial_connections_account
356
+ # Routing number of the bank account.
357
+ attr_accessor :routing_number
358
+
359
+ def initialize(
360
+ account_holder_type: nil,
361
+ account_number: nil,
362
+ account_type: nil,
363
+ financial_connections_account: nil,
364
+ routing_number: nil
365
+ )
366
+ @account_holder_type = account_holder_type
367
+ @account_number = account_number
368
+ @account_type = account_type
369
+ @financial_connections_account = financial_connections_account
370
+ @routing_number = routing_number
371
+ end
372
+ end
373
+
374
+ class WechatPay < Stripe::RequestParams; end
375
+ class Zip < Stripe::RequestParams; end
376
+ # If this is an `acss_debit` PaymentMethod, this hash contains details about the ACSS Debit payment method.
377
+ attr_accessor :acss_debit
378
+ # If this is an `affirm` PaymentMethod, this hash contains details about the Affirm payment method.
379
+ attr_accessor :affirm
380
+ # If this is an `AfterpayClearpay` PaymentMethod, this hash contains details about the AfterpayClearpay payment method.
381
+ attr_accessor :afterpay_clearpay
382
+ # If this is an `Alipay` PaymentMethod, this hash contains details about the Alipay payment method.
383
+ attr_accessor :alipay
384
+ # 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`.
385
+ attr_accessor :allow_redisplay
386
+ # If this is a Alma PaymentMethod, this hash contains details about the Alma payment method.
387
+ attr_accessor :alma
388
+ # If this is a AmazonPay PaymentMethod, this hash contains details about the AmazonPay payment method.
389
+ attr_accessor :amazon_pay
390
+ # If this is an `au_becs_debit` PaymentMethod, this hash contains details about the bank account.
391
+ attr_accessor :au_becs_debit
392
+ # If this is a `bacs_debit` PaymentMethod, this hash contains details about the Bacs Direct Debit bank account.
393
+ attr_accessor :bacs_debit
394
+ # If this is a `bancontact` PaymentMethod, this hash contains details about the Bancontact payment method.
395
+ attr_accessor :bancontact
396
+ # If this is a `billie` PaymentMethod, this hash contains details about the Billie payment method.
397
+ attr_accessor :billie
398
+ # Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods.
399
+ attr_accessor :billing_details
400
+ # If this is a `blik` PaymentMethod, this hash contains details about the BLIK payment method.
401
+ attr_accessor :blik
402
+ # If this is a `boleto` PaymentMethod, this hash contains details about the Boleto payment method.
403
+ attr_accessor :boleto
404
+ # If this is a `card` PaymentMethod, this hash contains the user's card details. For backwards compatibility, you can alternatively provide a Stripe token (e.g., for Apple Pay, Amex Express Checkout, or legacy Checkout) into the card hash with format `card: {token: "tok_visa"}`. When providing a card number, you must meet the requirements for [PCI compliance](https://stripe.com/docs/security#validating-pci-compliance). We strongly recommend using Stripe.js instead of interacting with this API directly.
405
+ attr_accessor :card
406
+ # If this is a `cashapp` PaymentMethod, this hash contains details about the Cash App Pay payment method.
407
+ attr_accessor :cashapp
408
+ # The `Customer` to whom the original PaymentMethod is attached.
409
+ attr_accessor :customer
410
+ # If this is a `customer_balance` PaymentMethod, this hash contains details about the CustomerBalance payment method.
411
+ attr_accessor :customer_balance
412
+ # If this is an `eps` PaymentMethod, this hash contains details about the EPS payment method.
413
+ attr_accessor :eps
414
+ # Specifies which fields in the response should be expanded.
415
+ attr_accessor :expand
416
+ # If this is an `fpx` PaymentMethod, this hash contains details about the FPX payment method.
417
+ attr_accessor :fpx
418
+ # If this is a `giropay` PaymentMethod, this hash contains details about the Giropay payment method.
419
+ attr_accessor :giropay
420
+ # If this is a `grabpay` PaymentMethod, this hash contains details about the GrabPay payment method.
421
+ attr_accessor :grabpay
422
+ # If this is an `ideal` PaymentMethod, this hash contains details about the iDEAL payment method.
423
+ attr_accessor :ideal
424
+ # If this is an `interac_present` PaymentMethod, this hash contains details about the Interac Present payment method.
425
+ attr_accessor :interac_present
426
+ # If this is a `kakao_pay` PaymentMethod, this hash contains details about the Kakao Pay payment method.
427
+ attr_accessor :kakao_pay
428
+ # If this is a `klarna` PaymentMethod, this hash contains details about the Klarna payment method.
429
+ attr_accessor :klarna
430
+ # If this is a `konbini` PaymentMethod, this hash contains details about the Konbini payment method.
431
+ attr_accessor :konbini
432
+ # If this is a `kr_card` PaymentMethod, this hash contains details about the Korean Card payment method.
433
+ attr_accessor :kr_card
434
+ # If this is an `Link` PaymentMethod, this hash contains details about the Link payment method.
435
+ attr_accessor :link
436
+ # 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`.
437
+ attr_accessor :metadata
438
+ # If this is a `mobilepay` PaymentMethod, this hash contains details about the MobilePay payment method.
439
+ attr_accessor :mobilepay
440
+ # If this is a `multibanco` PaymentMethod, this hash contains details about the Multibanco payment method.
441
+ attr_accessor :multibanco
442
+ # If this is a `naver_pay` PaymentMethod, this hash contains details about the Naver Pay payment method.
443
+ attr_accessor :naver_pay
444
+ # If this is an nz_bank_account PaymentMethod, this hash contains details about the nz_bank_account payment method.
445
+ attr_accessor :nz_bank_account
446
+ # If this is an `oxxo` PaymentMethod, this hash contains details about the OXXO payment method.
447
+ attr_accessor :oxxo
448
+ # If this is a `p24` PaymentMethod, this hash contains details about the P24 payment method.
449
+ attr_accessor :p24
450
+ # If this is a `pay_by_bank` PaymentMethod, this hash contains details about the PayByBank payment method.
451
+ attr_accessor :pay_by_bank
452
+ # If this is a `payco` PaymentMethod, this hash contains details about the PAYCO payment method.
453
+ attr_accessor :payco
454
+ # The PaymentMethod to share.
455
+ attr_accessor :payment_method
456
+ # If this is a `paynow` PaymentMethod, this hash contains details about the PayNow payment method.
457
+ attr_accessor :paynow
458
+ # If this is a `paypal` PaymentMethod, this hash contains details about the PayPal payment method.
459
+ attr_accessor :paypal
460
+ # If this is a `pix` PaymentMethod, this hash contains details about the Pix payment method.
461
+ attr_accessor :pix
462
+ # If this is a `promptpay` PaymentMethod, this hash contains details about the PromptPay payment method.
463
+ attr_accessor :promptpay
464
+ # Options to configure Radar. See [Radar Session](https://stripe.com/docs/radar/radar-session) for more information.
465
+ attr_accessor :radar_options
466
+ # If this is a `revolut_pay` PaymentMethod, this hash contains details about the Revolut Pay payment method.
467
+ attr_accessor :revolut_pay
468
+ # If this is a `samsung_pay` PaymentMethod, this hash contains details about the SamsungPay payment method.
469
+ attr_accessor :samsung_pay
470
+ # If this is a `satispay` PaymentMethod, this hash contains details about the Satispay payment method.
471
+ attr_accessor :satispay
472
+ # If this is a `sepa_debit` PaymentMethod, this hash contains details about the SEPA debit bank account.
473
+ attr_accessor :sepa_debit
474
+ # If this is a `sofort` PaymentMethod, this hash contains details about the SOFORT payment method.
475
+ attr_accessor :sofort
476
+ # If this is a `swish` PaymentMethod, this hash contains details about the Swish payment method.
477
+ attr_accessor :swish
478
+ # If this is a TWINT PaymentMethod, this hash contains details about the TWINT payment method.
479
+ attr_accessor :twint
480
+ # The type of the PaymentMethod. An additional hash is included on the PaymentMethod with a name matching this value. It contains additional information specific to the PaymentMethod type.
481
+ attr_accessor :type
482
+ # If this is an `us_bank_account` PaymentMethod, this hash contains details about the US bank account payment method.
483
+ attr_accessor :us_bank_account
484
+ # If this is an `wechat_pay` PaymentMethod, this hash contains details about the wechat_pay payment method.
485
+ attr_accessor :wechat_pay
486
+ # If this is a `zip` PaymentMethod, this hash contains details about the Zip payment method.
487
+ attr_accessor :zip
488
+
489
+ def initialize(
490
+ acss_debit: nil,
491
+ affirm: nil,
492
+ afterpay_clearpay: nil,
493
+ alipay: nil,
494
+ allow_redisplay: nil,
495
+ alma: nil,
496
+ amazon_pay: nil,
497
+ au_becs_debit: nil,
498
+ bacs_debit: nil,
499
+ bancontact: nil,
500
+ billie: nil,
501
+ billing_details: nil,
502
+ blik: nil,
503
+ boleto: nil,
504
+ card: nil,
505
+ cashapp: nil,
506
+ customer: nil,
507
+ customer_balance: nil,
508
+ eps: nil,
509
+ expand: nil,
510
+ fpx: nil,
511
+ giropay: nil,
512
+ grabpay: nil,
513
+ ideal: nil,
514
+ interac_present: nil,
515
+ kakao_pay: nil,
516
+ klarna: nil,
517
+ konbini: nil,
518
+ kr_card: nil,
519
+ link: nil,
520
+ metadata: nil,
521
+ mobilepay: nil,
522
+ multibanco: nil,
523
+ naver_pay: nil,
524
+ nz_bank_account: nil,
525
+ oxxo: nil,
526
+ p24: nil,
527
+ pay_by_bank: nil,
528
+ payco: nil,
529
+ payment_method: nil,
530
+ paynow: nil,
531
+ paypal: nil,
532
+ pix: nil,
533
+ promptpay: nil,
534
+ radar_options: nil,
535
+ revolut_pay: nil,
536
+ samsung_pay: nil,
537
+ satispay: nil,
538
+ sepa_debit: nil,
539
+ sofort: nil,
540
+ swish: nil,
541
+ twint: nil,
542
+ type: nil,
543
+ us_bank_account: nil,
544
+ wechat_pay: nil,
545
+ zip: nil
546
+ )
547
+ @acss_debit = acss_debit
548
+ @affirm = affirm
549
+ @afterpay_clearpay = afterpay_clearpay
550
+ @alipay = alipay
551
+ @allow_redisplay = allow_redisplay
552
+ @alma = alma
553
+ @amazon_pay = amazon_pay
554
+ @au_becs_debit = au_becs_debit
555
+ @bacs_debit = bacs_debit
556
+ @bancontact = bancontact
557
+ @billie = billie
558
+ @billing_details = billing_details
559
+ @blik = blik
560
+ @boleto = boleto
561
+ @card = card
562
+ @cashapp = cashapp
563
+ @customer = customer
564
+ @customer_balance = customer_balance
565
+ @eps = eps
566
+ @expand = expand
567
+ @fpx = fpx
568
+ @giropay = giropay
569
+ @grabpay = grabpay
570
+ @ideal = ideal
571
+ @interac_present = interac_present
572
+ @kakao_pay = kakao_pay
573
+ @klarna = klarna
574
+ @konbini = konbini
575
+ @kr_card = kr_card
576
+ @link = link
577
+ @metadata = metadata
578
+ @mobilepay = mobilepay
579
+ @multibanco = multibanco
580
+ @naver_pay = naver_pay
581
+ @nz_bank_account = nz_bank_account
582
+ @oxxo = oxxo
583
+ @p24 = p24
584
+ @pay_by_bank = pay_by_bank
585
+ @payco = payco
586
+ @payment_method = payment_method
587
+ @paynow = paynow
588
+ @paypal = paypal
589
+ @pix = pix
590
+ @promptpay = promptpay
591
+ @radar_options = radar_options
592
+ @revolut_pay = revolut_pay
593
+ @samsung_pay = samsung_pay
594
+ @satispay = satispay
595
+ @sepa_debit = sepa_debit
596
+ @sofort = sofort
597
+ @swish = swish
598
+ @twint = twint
599
+ @type = type
600
+ @us_bank_account = us_bank_account
601
+ @wechat_pay = wechat_pay
602
+ @zip = zip
603
+ end
604
+ end
605
+
606
+ class RetrieveParams < Stripe::RequestParams
607
+ # Specifies which fields in the response should be expanded.
608
+ attr_accessor :expand
609
+
610
+ def initialize(expand: nil)
611
+ @expand = expand
612
+ end
613
+ end
614
+
615
+ class UpdateParams < Stripe::RequestParams
616
+ class BillingDetails < Stripe::RequestParams
617
+ class Address < Stripe::RequestParams
618
+ # City, district, suburb, town, or village.
619
+ attr_accessor :city
620
+ # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
621
+ attr_accessor :country
622
+ # Address line 1 (e.g., street, PO Box, or company name).
623
+ attr_accessor :line1
624
+ # Address line 2 (e.g., apartment, suite, unit, or building).
625
+ attr_accessor :line2
626
+ # ZIP or postal code.
627
+ attr_accessor :postal_code
628
+ # State, county, province, or region.
629
+ attr_accessor :state
630
+
631
+ def initialize(
632
+ city: nil,
633
+ country: nil,
634
+ line1: nil,
635
+ line2: nil,
636
+ postal_code: nil,
637
+ state: nil
638
+ )
639
+ @city = city
640
+ @country = country
641
+ @line1 = line1
642
+ @line2 = line2
643
+ @postal_code = postal_code
644
+ @state = state
645
+ end
646
+ end
647
+ # Billing address.
648
+ attr_accessor :address
649
+ # Email address.
650
+ attr_accessor :email
651
+ # Full name.
652
+ attr_accessor :name
653
+ # Billing phone number (including extension).
654
+ attr_accessor :phone
655
+ # Taxpayer identification number. Used only for transactions between LATAM buyers and non-LATAM sellers.
656
+ attr_accessor :tax_id
657
+
658
+ def initialize(address: nil, email: nil, name: nil, phone: nil, tax_id: nil)
659
+ @address = address
660
+ @email = email
661
+ @name = name
662
+ @phone = phone
663
+ @tax_id = tax_id
664
+ end
665
+ end
666
+
667
+ class Card < Stripe::RequestParams
668
+ class Networks < Stripe::RequestParams
669
+ # The customer's preferred card network for co-branded cards. Supports `cartes_bancaires`, `mastercard`, or `visa`. Selection of a network that does not apply to the card will be stored as `invalid_preference` on the card.
670
+ attr_accessor :preferred
671
+
672
+ def initialize(preferred: nil)
673
+ @preferred = preferred
674
+ end
675
+ end
676
+ # Two-digit number representing the card's expiration month.
677
+ attr_accessor :exp_month
678
+ # Four-digit number representing the card's expiration year.
679
+ attr_accessor :exp_year
680
+ # Contains information about card networks used to process the payment.
681
+ attr_accessor :networks
682
+
683
+ def initialize(exp_month: nil, exp_year: nil, networks: nil)
684
+ @exp_month = exp_month
685
+ @exp_year = exp_year
686
+ @networks = networks
687
+ end
688
+ end
689
+
690
+ class Link < Stripe::RequestParams; end
691
+ class PayByBank < Stripe::RequestParams; end
692
+
693
+ class UsBankAccount < Stripe::RequestParams
694
+ # Bank account holder type.
695
+ attr_accessor :account_holder_type
696
+ # Bank account type.
697
+ attr_accessor :account_type
698
+
699
+ def initialize(account_holder_type: nil, account_type: nil)
700
+ @account_holder_type = account_holder_type
701
+ @account_type = account_type
702
+ end
703
+ end
704
+ # 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`.
705
+ attr_accessor :allow_redisplay
706
+ # Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods.
707
+ attr_accessor :billing_details
708
+ # If this is a `card` PaymentMethod, this hash contains the user's card details.
709
+ attr_accessor :card
710
+ # Specifies which fields in the response should be expanded.
711
+ attr_accessor :expand
712
+ # If this is an `Link` PaymentMethod, this hash contains details about the Link payment method.
713
+ attr_accessor :link
714
+ # 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`.
715
+ attr_accessor :metadata
716
+ # If this is a `pay_by_bank` PaymentMethod, this hash contains details about the PayByBank payment method.
717
+ attr_accessor :pay_by_bank
718
+ # If this is an `us_bank_account` PaymentMethod, this hash contains details about the US bank account payment method.
719
+ attr_accessor :us_bank_account
720
+
721
+ def initialize(
722
+ allow_redisplay: nil,
723
+ billing_details: nil,
724
+ card: nil,
725
+ expand: nil,
726
+ link: nil,
727
+ metadata: nil,
728
+ pay_by_bank: nil,
729
+ us_bank_account: nil
730
+ )
731
+ @allow_redisplay = allow_redisplay
732
+ @billing_details = billing_details
733
+ @card = card
734
+ @expand = expand
735
+ @link = link
736
+ @metadata = metadata
737
+ @pay_by_bank = pay_by_bank
738
+ @us_bank_account = us_bank_account
739
+ end
740
+ end
741
+
742
+ class AttachParams < Stripe::RequestParams
743
+ # The ID of the customer to which to attach the PaymentMethod.
744
+ attr_accessor :customer
745
+ # Specifies which fields in the response should be expanded.
746
+ attr_accessor :expand
747
+
748
+ def initialize(customer: nil, expand: nil)
749
+ @customer = customer
750
+ @expand = expand
751
+ end
752
+ end
753
+
754
+ class DetachParams < Stripe::RequestParams
755
+ # Specifies which fields in the response should be expanded.
756
+ attr_accessor :expand
757
+
758
+ def initialize(expand: nil)
759
+ @expand = expand
760
+ end
761
+ end
762
+
763
+ # Attaches a PaymentMethod object to a Customer.
764
+ #
765
+ # To attach a new PaymentMethod to a customer for future payments, we recommend you use a [SetupIntent](https://docs.stripe.com/docs/api/setup_intents)
766
+ # or a PaymentIntent with [setup_future_usage](https://docs.stripe.com/docs/api/payment_intents/create#create_payment_intent-setup_future_usage).
767
+ # These approaches will perform any necessary steps to set up the PaymentMethod for future payments. Using the /v1/payment_methods/:id/attach
768
+ # endpoint without first using a SetupIntent or PaymentIntent with setup_future_usage does not optimize the PaymentMethod for
769
+ # future use, which makes later declines and payment friction more likely.
770
+ # See [Optimizing cards for future payments](https://docs.stripe.com/docs/payments/payment-intents#future-usage) for more information about setting up
771
+ # future payments.
772
+ #
773
+ # To use this PaymentMethod as the default for invoice or subscription payments,
774
+ # set [invoice_settings.default_payment_method](https://docs.stripe.com/docs/api/customers/update#update_customer-invoice_settings-default_payment_method),
775
+ # on the Customer to the PaymentMethod's ID.
776
+ def attach(payment_method, params = {}, opts = {})
777
+ request(
778
+ method: :post,
779
+ path: format("/v1/payment_methods/%<payment_method>s/attach", { payment_method: CGI.escape(payment_method) }),
780
+ params: params,
781
+ opts: opts,
782
+ base_address: :api
783
+ )
784
+ end
785
+
786
+ # Creates a PaymentMethod object. Read the [Stripe.js reference](https://docs.stripe.com/docs/stripe-js/reference#stripe-create-payment-method) to learn how to create PaymentMethods via Stripe.js.
787
+ #
788
+ # Instead of creating a PaymentMethod directly, we recommend using the [PaymentIntents API to accept a payment immediately or the <a href="/docs/payments/save-and-reuse">SetupIntent](https://docs.stripe.com/docs/payments/accept-a-payment) API to collect payment method details ahead of a future payment.
789
+ def create(params = {}, opts = {})
790
+ request(
791
+ method: :post,
792
+ path: "/v1/payment_methods",
793
+ params: params,
794
+ opts: opts,
795
+ base_address: :api
796
+ )
797
+ end
798
+
799
+ # Detaches a PaymentMethod object from a Customer. After a PaymentMethod is detached, it can no longer be used for a payment or re-attached to a Customer.
800
+ def detach(payment_method, params = {}, opts = {})
801
+ request(
802
+ method: :post,
803
+ path: format("/v1/payment_methods/%<payment_method>s/detach", { payment_method: CGI.escape(payment_method) }),
804
+ params: params,
805
+ opts: opts,
806
+ base_address: :api
807
+ )
808
+ end
809
+
810
+ # Returns a list of PaymentMethods for Treasury flows. If you want to list the PaymentMethods attached to a Customer for payments, you should use the [List a Customer's PaymentMethods](https://docs.stripe.com/docs/api/payment_methods/customer_list) API instead.
811
+ def list(params = {}, opts = {})
812
+ request(
813
+ method: :get,
814
+ path: "/v1/payment_methods",
815
+ params: params,
816
+ opts: opts,
817
+ base_address: :api
818
+ )
819
+ end
820
+
821
+ # Retrieves a PaymentMethod object attached to the StripeAccount. To retrieve a payment method attached to a Customer, you should use [Retrieve a Customer's PaymentMethods](https://docs.stripe.com/docs/api/payment_methods/customer)
822
+ def retrieve(payment_method, params = {}, opts = {})
823
+ request(
824
+ method: :get,
825
+ path: format("/v1/payment_methods/%<payment_method>s", { payment_method: CGI.escape(payment_method) }),
826
+ params: params,
827
+ opts: opts,
828
+ base_address: :api
829
+ )
830
+ end
831
+
832
+ # Updates a PaymentMethod object. A PaymentMethod must be attached a customer to be updated.
833
+ def update(payment_method, params = {}, opts = {})
834
+ request(
835
+ method: :post,
836
+ path: format("/v1/payment_methods/%<payment_method>s", { payment_method: CGI.escape(payment_method) }),
837
+ params: params,
838
+ opts: opts,
839
+ base_address: :api
840
+ )
841
+ end
842
+ end
843
+ end