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
@@ -3,6 +3,9 @@
3
3
 
4
4
  module Stripe
5
5
  module Terminal
6
+ # A Reader represents a physical device for accepting payment details.
7
+ #
8
+ # Related guide: [Connecting to a reader](https://stripe.com/docs/terminal/payments/connect-reader)
6
9
  class Reader < APIResource
7
10
  extend Stripe::APIOperations::Create
8
11
  include Stripe::APIOperations::Delete
@@ -10,6 +13,889 @@ module Stripe
10
13
  include Stripe::APIOperations::Save
11
14
 
12
15
  OBJECT_NAME = "terminal.reader"
16
+ def self.object_name
17
+ "terminal.reader"
18
+ end
19
+
20
+ class Action < Stripe::StripeObject
21
+ class CollectInputs < Stripe::StripeObject
22
+ class Input < Stripe::StripeObject
23
+ class CustomText < Stripe::StripeObject
24
+ # Customize the default description for this input
25
+ attr_reader :description
26
+ # Customize the default label for this input's skip button
27
+ attr_reader :skip_button
28
+ # Customize the default label for this input's submit button
29
+ attr_reader :submit_button
30
+ # Customize the default title for this input
31
+ attr_reader :title
32
+ end
33
+
34
+ class Email < Stripe::StripeObject
35
+ # The collected email address
36
+ attr_reader :value
37
+ end
38
+
39
+ class Numeric < Stripe::StripeObject
40
+ # The collected number
41
+ attr_reader :value
42
+ end
43
+
44
+ class Phone < Stripe::StripeObject
45
+ # The collected phone number
46
+ attr_reader :value
47
+ end
48
+
49
+ class Selection < Stripe::StripeObject
50
+ class Choice < Stripe::StripeObject
51
+ # The id to be selected
52
+ attr_reader :id
53
+ # The button style for the choice
54
+ attr_reader :style
55
+ # The text to be selected
56
+ attr_reader :text
57
+ end
58
+ # List of possible choices to be selected
59
+ attr_reader :choices
60
+ # The id of the selected choice
61
+ attr_reader :id
62
+ # The text of the selected choice
63
+ attr_reader :text
64
+ end
65
+
66
+ class Signature < Stripe::StripeObject
67
+ # The File ID of a collected signature image
68
+ attr_reader :value
69
+ end
70
+
71
+ class Text < Stripe::StripeObject
72
+ # The collected text value
73
+ attr_reader :value
74
+ end
75
+
76
+ class Toggle < Stripe::StripeObject
77
+ # The toggle's default value
78
+ attr_reader :default_value
79
+ # The toggle's description text
80
+ attr_reader :description
81
+ # The toggle's title text
82
+ attr_reader :title
83
+ # The toggle's collected value
84
+ attr_reader :value
85
+ end
86
+ # Default text of input being collected.
87
+ attr_reader :custom_text
88
+ # Information about a email being collected using a reader
89
+ attr_reader :email
90
+ # Information about a number being collected using a reader
91
+ attr_reader :numeric
92
+ # Information about a phone number being collected using a reader
93
+ attr_reader :phone
94
+ # Indicate that this input is required, disabling the skip button.
95
+ attr_reader :required
96
+ # Information about a selection being collected using a reader
97
+ attr_reader :selection
98
+ # Information about a signature being collected using a reader
99
+ attr_reader :signature
100
+ # Indicate that this input was skipped by the user.
101
+ attr_reader :skipped
102
+ # Information about text being collected using a reader
103
+ attr_reader :text
104
+ # List of toggles being collected. Values are present if collection is complete.
105
+ attr_reader :toggles
106
+ # Type of input being collected.
107
+ attr_reader :type
108
+ end
109
+ # List of inputs to be collected.
110
+ attr_reader :inputs
111
+ # 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.
112
+ attr_reader :metadata
113
+ end
114
+
115
+ class ProcessPaymentIntent < Stripe::StripeObject
116
+ class ProcessConfig < Stripe::StripeObject
117
+ class Tipping < Stripe::StripeObject
118
+ # Amount used to calculate tip suggestions on tipping selection screen for this transaction. Must be a positive integer in the smallest currency unit (e.g., 100 cents to represent $1.00 or 100 to represent ¥100, a zero-decimal currency).
119
+ attr_reader :amount_eligible
120
+ end
121
+ # Enable customer initiated cancellation when processing this payment.
122
+ attr_reader :enable_customer_cancellation
123
+ # If the customer does not abandon authenticating the payment, they will be redirected to this specified URL after completion.
124
+ attr_reader :return_url
125
+ # Override showing a tipping selection screen on this transaction.
126
+ attr_reader :skip_tipping
127
+ # Represents a per-transaction tipping configuration
128
+ attr_reader :tipping
129
+ end
130
+ # Most recent PaymentIntent processed by the reader.
131
+ attr_reader :payment_intent
132
+ # Represents a per-transaction override of a reader configuration
133
+ attr_reader :process_config
134
+ end
135
+
136
+ class ProcessSetupIntent < Stripe::StripeObject
137
+ class ProcessConfig < Stripe::StripeObject
138
+ # Enable customer initiated cancellation when processing this SetupIntent.
139
+ attr_reader :enable_customer_cancellation
140
+ end
141
+ # ID of a card PaymentMethod generated from the card_present PaymentMethod that may be attached to a Customer for future transactions. Only present if it was possible to generate a card PaymentMethod.
142
+ attr_reader :generated_card
143
+ # Represents a per-setup override of a reader configuration
144
+ attr_reader :process_config
145
+ # Most recent SetupIntent processed by the reader.
146
+ attr_reader :setup_intent
147
+ end
148
+
149
+ class RefundPayment < Stripe::StripeObject
150
+ class RefundPaymentConfig < Stripe::StripeObject
151
+ # Enable customer initiated cancellation when refunding this payment.
152
+ attr_reader :enable_customer_cancellation
153
+ end
154
+ # The amount being refunded.
155
+ attr_reader :amount
156
+ # Charge that is being refunded.
157
+ attr_reader :charge
158
+ # 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.
159
+ attr_reader :metadata
160
+ # Payment intent that is being refunded.
161
+ attr_reader :payment_intent
162
+ # The reason for the refund.
163
+ attr_reader :reason
164
+ # Unique identifier for the refund object.
165
+ attr_reader :refund
166
+ # Boolean indicating whether the application fee should be refunded when refunding this charge. If a full charge refund is given, the full application fee will be refunded. Otherwise, the application fee will be refunded in an amount proportional to the amount of the charge refunded. An application fee can be refunded only by the application that created the charge.
167
+ attr_reader :refund_application_fee
168
+ # Represents a per-transaction override of a reader configuration
169
+ attr_reader :refund_payment_config
170
+ # Boolean indicating whether the transfer should be reversed when refunding this charge. The transfer will be reversed proportionally to the amount being refunded (either the entire or partial amount). A transfer can be reversed only by the application that created the charge.
171
+ attr_reader :reverse_transfer
172
+ end
173
+
174
+ class SetReaderDisplay < Stripe::StripeObject
175
+ class Cart < Stripe::StripeObject
176
+ class LineItem < Stripe::StripeObject
177
+ # The amount of the line item. A positive integer in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal).
178
+ attr_reader :amount
179
+ # Description of the line item.
180
+ attr_reader :description
181
+ # The quantity of the line item.
182
+ attr_reader :quantity
183
+ end
184
+ # 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).
185
+ attr_reader :currency
186
+ # List of line items in the cart.
187
+ attr_reader :line_items
188
+ # Tax amount for the entire cart. A positive integer in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal).
189
+ attr_reader :tax
190
+ # Total amount for the entire cart, including tax. A positive integer in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal).
191
+ attr_reader :total
192
+ end
193
+ # Cart object to be displayed by the reader.
194
+ attr_reader :cart
195
+ # Type of information to be displayed by the reader.
196
+ attr_reader :type
197
+ end
198
+ # Represents a reader action to collect customer inputs
199
+ attr_reader :collect_inputs
200
+ # Failure code, only set if status is `failed`.
201
+ attr_reader :failure_code
202
+ # Detailed failure message, only set if status is `failed`.
203
+ attr_reader :failure_message
204
+ # Represents a reader action to process a payment intent
205
+ attr_reader :process_payment_intent
206
+ # Represents a reader action to process a setup intent
207
+ attr_reader :process_setup_intent
208
+ # Represents a reader action to refund a payment
209
+ attr_reader :refund_payment
210
+ # Represents a reader action to set the reader display
211
+ attr_reader :set_reader_display
212
+ # Status of the action performed by the reader.
213
+ attr_reader :status
214
+ # Type of action performed by the reader.
215
+ attr_reader :type
216
+ end
217
+
218
+ class DeleteParams < Stripe::RequestParams; end
219
+
220
+ class UpdateParams < Stripe::RequestParams
221
+ # Specifies which fields in the response should be expanded.
222
+ attr_accessor :expand
223
+ # The new label of the reader.
224
+ attr_accessor :label
225
+ # Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
226
+ attr_accessor :metadata
227
+
228
+ def initialize(expand: nil, label: nil, metadata: nil)
229
+ @expand = expand
230
+ @label = label
231
+ @metadata = metadata
232
+ end
233
+ end
234
+
235
+ class ListParams < Stripe::RequestParams
236
+ # Filters readers by device type
237
+ attr_accessor :device_type
238
+ # 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.
239
+ attr_accessor :ending_before
240
+ # Specifies which fields in the response should be expanded.
241
+ attr_accessor :expand
242
+ # A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
243
+ attr_accessor :limit
244
+ # A location ID to filter the response list to only readers at the specific location
245
+ attr_accessor :location
246
+ # Filters readers by serial number
247
+ attr_accessor :serial_number
248
+ # 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.
249
+ attr_accessor :starting_after
250
+ # A status filter to filter readers to only offline or online readers
251
+ attr_accessor :status
252
+
253
+ def initialize(
254
+ device_type: nil,
255
+ ending_before: nil,
256
+ expand: nil,
257
+ limit: nil,
258
+ location: nil,
259
+ serial_number: nil,
260
+ starting_after: nil,
261
+ status: nil
262
+ )
263
+ @device_type = device_type
264
+ @ending_before = ending_before
265
+ @expand = expand
266
+ @limit = limit
267
+ @location = location
268
+ @serial_number = serial_number
269
+ @starting_after = starting_after
270
+ @status = status
271
+ end
272
+ end
273
+
274
+ class CreateParams < Stripe::RequestParams
275
+ # Specifies which fields in the response should be expanded.
276
+ attr_accessor :expand
277
+ # Custom label given to the reader for easier identification. If no label is specified, the registration code will be used.
278
+ attr_accessor :label
279
+ # The location to assign the reader to.
280
+ attr_accessor :location
281
+ # 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`.
282
+ attr_accessor :metadata
283
+ # A code generated by the reader used for registering to an account.
284
+ attr_accessor :registration_code
285
+
286
+ def initialize(
287
+ expand: nil,
288
+ label: nil,
289
+ location: nil,
290
+ metadata: nil,
291
+ registration_code: nil
292
+ )
293
+ @expand = expand
294
+ @label = label
295
+ @location = location
296
+ @metadata = metadata
297
+ @registration_code = registration_code
298
+ end
299
+ end
300
+
301
+ class CancelActionParams < Stripe::RequestParams
302
+ # Specifies which fields in the response should be expanded.
303
+ attr_accessor :expand
304
+
305
+ def initialize(expand: nil)
306
+ @expand = expand
307
+ end
308
+ end
309
+
310
+ class CollectInputsParams < Stripe::RequestParams
311
+ class Input < Stripe::RequestParams
312
+ class CustomText < Stripe::RequestParams
313
+ # The description which will be displayed when collecting this input
314
+ attr_accessor :description
315
+ # The skip button text
316
+ attr_accessor :skip_button
317
+ # The submit button text
318
+ attr_accessor :submit_button
319
+ # The title which will be displayed when collecting this input
320
+ attr_accessor :title
321
+
322
+ def initialize(description: nil, skip_button: nil, submit_button: nil, title: nil)
323
+ @description = description
324
+ @skip_button = skip_button
325
+ @submit_button = submit_button
326
+ @title = title
327
+ end
328
+ end
329
+
330
+ class Selection < Stripe::RequestParams
331
+ class Choice < Stripe::RequestParams
332
+ # The unique identifier for this choice
333
+ attr_accessor :id
334
+ # The style of the button which will be shown for this choice
335
+ attr_accessor :style
336
+ # The text which will be shown on the button for this choice
337
+ attr_accessor :text
338
+
339
+ def initialize(id: nil, style: nil, text: nil)
340
+ @id = id
341
+ @style = style
342
+ @text = text
343
+ end
344
+ end
345
+ # List of choices for the `selection` input
346
+ attr_accessor :choices
347
+
348
+ def initialize(choices: nil)
349
+ @choices = choices
350
+ end
351
+ end
352
+
353
+ class Toggle < Stripe::RequestParams
354
+ # The default value of the toggle
355
+ attr_accessor :default_value
356
+ # The description which will be displayed for the toggle
357
+ attr_accessor :description
358
+ # The title which will be displayed for the toggle
359
+ attr_accessor :title
360
+
361
+ def initialize(default_value: nil, description: nil, title: nil)
362
+ @default_value = default_value
363
+ @description = description
364
+ @title = title
365
+ end
366
+ end
367
+ # Customize the text which will be displayed while collecting this input
368
+ attr_accessor :custom_text
369
+ # Indicate that this input is required, disabling the skip button
370
+ attr_accessor :required
371
+ # Options for the `selection` input
372
+ attr_accessor :selection
373
+ # List of toggles to be displayed and customization for the toggles
374
+ attr_accessor :toggles
375
+ # The type of input to collect
376
+ attr_accessor :type
377
+
378
+ def initialize(custom_text: nil, required: nil, selection: nil, toggles: nil, type: nil)
379
+ @custom_text = custom_text
380
+ @required = required
381
+ @selection = selection
382
+ @toggles = toggles
383
+ @type = type
384
+ end
385
+ end
386
+ # Specifies which fields in the response should be expanded.
387
+ attr_accessor :expand
388
+ # List of inputs to be collected using the Reader
389
+ attr_accessor :inputs
390
+ # 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`.
391
+ attr_accessor :metadata
392
+
393
+ def initialize(expand: nil, inputs: nil, metadata: nil)
394
+ @expand = expand
395
+ @inputs = inputs
396
+ @metadata = metadata
397
+ end
398
+ end
399
+
400
+ class ProcessPaymentIntentParams < Stripe::RequestParams
401
+ class ProcessConfig < Stripe::RequestParams
402
+ class Tipping < Stripe::RequestParams
403
+ # Amount used to calculate tip suggestions on tipping selection screen for this transaction. Must be a positive integer in the smallest currency unit (e.g., 100 cents to represent $1.00 or 100 to represent ¥100, a zero-decimal currency).
404
+ attr_accessor :amount_eligible
405
+
406
+ def initialize(amount_eligible: nil)
407
+ @amount_eligible = amount_eligible
408
+ end
409
+ end
410
+ # 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.
411
+ attr_accessor :allow_redisplay
412
+ # Enables cancel button on transaction screens.
413
+ attr_accessor :enable_customer_cancellation
414
+ # The URL to redirect your customer back to after they authenticate or cancel their payment on the payment method's app or site. If you'd prefer to redirect to a mobile application, you can alternatively supply an application URI scheme.
415
+ attr_accessor :return_url
416
+ # Override showing a tipping selection screen on this transaction.
417
+ attr_accessor :skip_tipping
418
+ # Tipping configuration for this transaction.
419
+ attr_accessor :tipping
420
+
421
+ def initialize(
422
+ allow_redisplay: nil,
423
+ enable_customer_cancellation: nil,
424
+ return_url: nil,
425
+ skip_tipping: nil,
426
+ tipping: nil
427
+ )
428
+ @allow_redisplay = allow_redisplay
429
+ @enable_customer_cancellation = enable_customer_cancellation
430
+ @return_url = return_url
431
+ @skip_tipping = skip_tipping
432
+ @tipping = tipping
433
+ end
434
+ end
435
+ # Specifies which fields in the response should be expanded.
436
+ attr_accessor :expand
437
+ # PaymentIntent ID
438
+ attr_accessor :payment_intent
439
+ # Configuration overrides
440
+ attr_accessor :process_config
441
+
442
+ def initialize(expand: nil, payment_intent: nil, process_config: nil)
443
+ @expand = expand
444
+ @payment_intent = payment_intent
445
+ @process_config = process_config
446
+ end
447
+ end
448
+
449
+ class ProcessSetupIntentParams < Stripe::RequestParams
450
+ class ProcessConfig < Stripe::RequestParams
451
+ # Enables cancel button on transaction screens.
452
+ attr_accessor :enable_customer_cancellation
453
+
454
+ def initialize(enable_customer_cancellation: nil)
455
+ @enable_customer_cancellation = enable_customer_cancellation
456
+ end
457
+ end
458
+ # 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.
459
+ attr_accessor :allow_redisplay
460
+ # Specifies which fields in the response should be expanded.
461
+ attr_accessor :expand
462
+ # Configuration overrides
463
+ attr_accessor :process_config
464
+ # SetupIntent ID
465
+ attr_accessor :setup_intent
466
+
467
+ def initialize(allow_redisplay: nil, expand: nil, process_config: nil, setup_intent: nil)
468
+ @allow_redisplay = allow_redisplay
469
+ @expand = expand
470
+ @process_config = process_config
471
+ @setup_intent = setup_intent
472
+ end
473
+ end
474
+
475
+ class RefundPaymentParams < Stripe::RequestParams
476
+ class RefundPaymentConfig < Stripe::RequestParams
477
+ # Enables cancel button on transaction screens.
478
+ attr_accessor :enable_customer_cancellation
479
+
480
+ def initialize(enable_customer_cancellation: nil)
481
+ @enable_customer_cancellation = enable_customer_cancellation
482
+ end
483
+ end
484
+ # A positive integer in __cents__ representing how much of this charge to refund.
485
+ attr_accessor :amount
486
+ # ID of the Charge to refund.
487
+ attr_accessor :charge
488
+ # Specifies which fields in the response should be expanded.
489
+ attr_accessor :expand
490
+ # 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`.
491
+ attr_accessor :metadata
492
+ # ID of the PaymentIntent to refund.
493
+ attr_accessor :payment_intent
494
+ # Boolean indicating whether the application fee should be refunded when refunding this charge. If a full charge refund is given, the full application fee will be refunded. Otherwise, the application fee will be refunded in an amount proportional to the amount of the charge refunded. An application fee can be refunded only by the application that created the charge.
495
+ attr_accessor :refund_application_fee
496
+ # Configuration overrides
497
+ attr_accessor :refund_payment_config
498
+ # Boolean indicating whether the transfer should be reversed when refunding this charge. The transfer will be reversed proportionally to the amount being refunded (either the entire or partial amount). A transfer can be reversed only by the application that created the charge.
499
+ attr_accessor :reverse_transfer
500
+
501
+ def initialize(
502
+ amount: nil,
503
+ charge: nil,
504
+ expand: nil,
505
+ metadata: nil,
506
+ payment_intent: nil,
507
+ refund_application_fee: nil,
508
+ refund_payment_config: nil,
509
+ reverse_transfer: nil
510
+ )
511
+ @amount = amount
512
+ @charge = charge
513
+ @expand = expand
514
+ @metadata = metadata
515
+ @payment_intent = payment_intent
516
+ @refund_application_fee = refund_application_fee
517
+ @refund_payment_config = refund_payment_config
518
+ @reverse_transfer = reverse_transfer
519
+ end
520
+ end
521
+
522
+ class SetReaderDisplayParams < Stripe::RequestParams
523
+ class Cart < Stripe::RequestParams
524
+ class LineItem < Stripe::RequestParams
525
+ # The price of the item in cents.
526
+ attr_accessor :amount
527
+ # The description or name of the item.
528
+ attr_accessor :description
529
+ # The quantity of the line item being purchased.
530
+ attr_accessor :quantity
531
+
532
+ def initialize(amount: nil, description: nil, quantity: nil)
533
+ @amount = amount
534
+ @description = description
535
+ @quantity = quantity
536
+ end
537
+ end
538
+ # 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).
539
+ attr_accessor :currency
540
+ # Array of line items that were purchased.
541
+ attr_accessor :line_items
542
+ # The amount of tax in cents.
543
+ attr_accessor :tax
544
+ # Total balance of cart due in cents.
545
+ attr_accessor :total
546
+
547
+ def initialize(currency: nil, line_items: nil, tax: nil, total: nil)
548
+ @currency = currency
549
+ @line_items = line_items
550
+ @tax = tax
551
+ @total = total
552
+ end
553
+ end
554
+ # Cart
555
+ attr_accessor :cart
556
+ # Specifies which fields in the response should be expanded.
557
+ attr_accessor :expand
558
+ # Type
559
+ attr_accessor :type
560
+
561
+ def initialize(cart: nil, expand: nil, type: nil)
562
+ @cart = cart
563
+ @expand = expand
564
+ @type = type
565
+ end
566
+ end
567
+
568
+ class PresentPaymentMethodParams < Stripe::RequestParams
569
+ class CardPresent < Stripe::RequestParams
570
+ # The card number, as a string without any separators.
571
+ attr_accessor :number
572
+
573
+ def initialize(number: nil)
574
+ @number = number
575
+ end
576
+ end
577
+
578
+ class InteracPresent < Stripe::RequestParams
579
+ # Card Number
580
+ attr_accessor :number
581
+
582
+ def initialize(number: nil)
583
+ @number = number
584
+ end
585
+ end
586
+ # Simulated on-reader tip amount.
587
+ attr_accessor :amount_tip
588
+ # Simulated data for the card_present payment method.
589
+ attr_accessor :card_present
590
+ # Specifies which fields in the response should be expanded.
591
+ attr_accessor :expand
592
+ # Simulated data for the interac_present payment method.
593
+ attr_accessor :interac_present
594
+ # Simulated payment type.
595
+ attr_accessor :type
596
+
597
+ def initialize(
598
+ amount_tip: nil,
599
+ card_present: nil,
600
+ expand: nil,
601
+ interac_present: nil,
602
+ type: nil
603
+ )
604
+ @amount_tip = amount_tip
605
+ @card_present = card_present
606
+ @expand = expand
607
+ @interac_present = interac_present
608
+ @type = type
609
+ end
610
+ end
611
+
612
+ class SucceedInputCollectionParams < Stripe::RequestParams
613
+ # Specifies which fields in the response should be expanded.
614
+ attr_accessor :expand
615
+ # This parameter defines the skip behavior for input collection.
616
+ attr_accessor :skip_non_required_inputs
617
+
618
+ def initialize(expand: nil, skip_non_required_inputs: nil)
619
+ @expand = expand
620
+ @skip_non_required_inputs = skip_non_required_inputs
621
+ end
622
+ end
623
+
624
+ class TimeoutInputCollectionParams < Stripe::RequestParams
625
+ # Specifies which fields in the response should be expanded.
626
+ attr_accessor :expand
627
+
628
+ def initialize(expand: nil)
629
+ @expand = expand
630
+ end
631
+ end
632
+ # The most recent action performed by the reader.
633
+ attr_reader :action
634
+ # The current software version of the reader.
635
+ attr_reader :device_sw_version
636
+ # Device type of the reader.
637
+ attr_reader :device_type
638
+ # Unique identifier for the object.
639
+ attr_reader :id
640
+ # The local IP address of the reader.
641
+ attr_reader :ip_address
642
+ # Custom label given to the reader for easier identification.
643
+ attr_reader :label
644
+ # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
645
+ attr_reader :livemode
646
+ # The location identifier of the reader.
647
+ attr_reader :location
648
+ # 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.
649
+ attr_reader :metadata
650
+ # String representing the object's type. Objects of the same type share the same value.
651
+ attr_reader :object
652
+ # Serial number of the reader.
653
+ attr_reader :serial_number
654
+ # The networking status of the reader. We do not recommend using this field in flows that may block taking payments.
655
+ attr_reader :status
656
+ # Always true for a deleted object
657
+ attr_reader :deleted
658
+
659
+ # Cancels the current reader action.
660
+ def cancel_action(params = {}, opts = {})
661
+ request_stripe_object(
662
+ method: :post,
663
+ path: format("/v1/terminal/readers/%<reader>s/cancel_action", { reader: CGI.escape(self["id"]) }),
664
+ params: params,
665
+ opts: opts
666
+ )
667
+ end
668
+
669
+ # Cancels the current reader action.
670
+ def self.cancel_action(reader, params = {}, opts = {})
671
+ request_stripe_object(
672
+ method: :post,
673
+ path: format("/v1/terminal/readers/%<reader>s/cancel_action", { reader: CGI.escape(reader) }),
674
+ params: params,
675
+ opts: opts
676
+ )
677
+ end
678
+
679
+ # Initiates an input collection flow on a Reader.
680
+ def collect_inputs(params = {}, opts = {})
681
+ request_stripe_object(
682
+ method: :post,
683
+ path: format("/v1/terminal/readers/%<reader>s/collect_inputs", { reader: CGI.escape(self["id"]) }),
684
+ params: params,
685
+ opts: opts
686
+ )
687
+ end
688
+
689
+ # Initiates an input collection flow on a Reader.
690
+ def self.collect_inputs(reader, params = {}, opts = {})
691
+ request_stripe_object(
692
+ method: :post,
693
+ path: format("/v1/terminal/readers/%<reader>s/collect_inputs", { reader: CGI.escape(reader) }),
694
+ params: params,
695
+ opts: opts
696
+ )
697
+ end
698
+
699
+ # Creates a new Reader object.
700
+ def self.create(params = {}, opts = {})
701
+ request_stripe_object(
702
+ method: :post,
703
+ path: "/v1/terminal/readers",
704
+ params: params,
705
+ opts: opts
706
+ )
707
+ end
708
+
709
+ # Deletes a Reader object.
710
+ def self.delete(reader, params = {}, opts = {})
711
+ request_stripe_object(
712
+ method: :delete,
713
+ path: format("/v1/terminal/readers/%<reader>s", { reader: CGI.escape(reader) }),
714
+ params: params,
715
+ opts: opts
716
+ )
717
+ end
718
+
719
+ # Deletes a Reader object.
720
+ def delete(params = {}, opts = {})
721
+ request_stripe_object(
722
+ method: :delete,
723
+ path: format("/v1/terminal/readers/%<reader>s", { reader: CGI.escape(self["id"]) }),
724
+ params: params,
725
+ opts: opts
726
+ )
727
+ end
728
+
729
+ # Returns a list of Reader objects.
730
+ def self.list(params = {}, opts = {})
731
+ request_stripe_object(
732
+ method: :get,
733
+ path: "/v1/terminal/readers",
734
+ params: params,
735
+ opts: opts
736
+ )
737
+ end
738
+
739
+ # Initiates a payment flow on a Reader.
740
+ def process_payment_intent(params = {}, opts = {})
741
+ request_stripe_object(
742
+ method: :post,
743
+ path: format("/v1/terminal/readers/%<reader>s/process_payment_intent", { reader: CGI.escape(self["id"]) }),
744
+ params: params,
745
+ opts: opts
746
+ )
747
+ end
748
+
749
+ # Initiates a payment flow on a Reader.
750
+ def self.process_payment_intent(reader, params = {}, opts = {})
751
+ request_stripe_object(
752
+ method: :post,
753
+ path: format("/v1/terminal/readers/%<reader>s/process_payment_intent", { reader: CGI.escape(reader) }),
754
+ params: params,
755
+ opts: opts
756
+ )
757
+ end
758
+
759
+ # Initiates a setup intent flow on a Reader.
760
+ def process_setup_intent(params = {}, opts = {})
761
+ request_stripe_object(
762
+ method: :post,
763
+ path: format("/v1/terminal/readers/%<reader>s/process_setup_intent", { reader: CGI.escape(self["id"]) }),
764
+ params: params,
765
+ opts: opts
766
+ )
767
+ end
768
+
769
+ # Initiates a setup intent flow on a Reader.
770
+ def self.process_setup_intent(reader, params = {}, opts = {})
771
+ request_stripe_object(
772
+ method: :post,
773
+ path: format("/v1/terminal/readers/%<reader>s/process_setup_intent", { reader: CGI.escape(reader) }),
774
+ params: params,
775
+ opts: opts
776
+ )
777
+ end
778
+
779
+ # Initiates a refund on a Reader
780
+ def refund_payment(params = {}, opts = {})
781
+ request_stripe_object(
782
+ method: :post,
783
+ path: format("/v1/terminal/readers/%<reader>s/refund_payment", { reader: CGI.escape(self["id"]) }),
784
+ params: params,
785
+ opts: opts
786
+ )
787
+ end
788
+
789
+ # Initiates a refund on a Reader
790
+ def self.refund_payment(reader, params = {}, opts = {})
791
+ request_stripe_object(
792
+ method: :post,
793
+ path: format("/v1/terminal/readers/%<reader>s/refund_payment", { reader: CGI.escape(reader) }),
794
+ params: params,
795
+ opts: opts
796
+ )
797
+ end
798
+
799
+ # Sets reader display to show cart details.
800
+ def set_reader_display(params = {}, opts = {})
801
+ request_stripe_object(
802
+ method: :post,
803
+ path: format("/v1/terminal/readers/%<reader>s/set_reader_display", { reader: CGI.escape(self["id"]) }),
804
+ params: params,
805
+ opts: opts
806
+ )
807
+ end
808
+
809
+ # Sets reader display to show cart details.
810
+ def self.set_reader_display(reader, params = {}, opts = {})
811
+ request_stripe_object(
812
+ method: :post,
813
+ path: format("/v1/terminal/readers/%<reader>s/set_reader_display", { reader: CGI.escape(reader) }),
814
+ params: params,
815
+ opts: opts
816
+ )
817
+ end
818
+
819
+ # Updates a Reader object by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
820
+ def self.update(reader, params = {}, opts = {})
821
+ request_stripe_object(
822
+ method: :post,
823
+ path: format("/v1/terminal/readers/%<reader>s", { reader: CGI.escape(reader) }),
824
+ params: params,
825
+ opts: opts
826
+ )
827
+ end
828
+
829
+ def test_helpers
830
+ TestHelpers.new(self)
831
+ end
832
+
833
+ class TestHelpers < APIResourceTestHelpers
834
+ RESOURCE_CLASS = Reader
835
+ def self.resource_class
836
+ "Reader"
837
+ end
838
+
839
+ # Presents a payment method on a simulated reader. Can be used to simulate accepting a payment, saving a card or refunding a transaction.
840
+ def self.present_payment_method(reader, params = {}, opts = {})
841
+ request_stripe_object(
842
+ method: :post,
843
+ path: format("/v1/test_helpers/terminal/readers/%<reader>s/present_payment_method", { reader: CGI.escape(reader) }),
844
+ params: params,
845
+ opts: opts
846
+ )
847
+ end
848
+
849
+ # Presents a payment method on a simulated reader. Can be used to simulate accepting a payment, saving a card or refunding a transaction.
850
+ def present_payment_method(params = {}, opts = {})
851
+ @resource.request_stripe_object(
852
+ method: :post,
853
+ path: format("/v1/test_helpers/terminal/readers/%<reader>s/present_payment_method", { reader: CGI.escape(@resource["id"]) }),
854
+ params: params,
855
+ opts: opts
856
+ )
857
+ end
858
+
859
+ # Use this endpoint to trigger a successful input collection on a simulated reader.
860
+ def self.succeed_input_collection(reader, params = {}, opts = {})
861
+ request_stripe_object(
862
+ method: :post,
863
+ path: format("/v1/test_helpers/terminal/readers/%<reader>s/succeed_input_collection", { reader: CGI.escape(reader) }),
864
+ params: params,
865
+ opts: opts
866
+ )
867
+ end
868
+
869
+ # Use this endpoint to trigger a successful input collection on a simulated reader.
870
+ def succeed_input_collection(params = {}, opts = {})
871
+ @resource.request_stripe_object(
872
+ method: :post,
873
+ path: format("/v1/test_helpers/terminal/readers/%<reader>s/succeed_input_collection", { reader: CGI.escape(@resource["id"]) }),
874
+ params: params,
875
+ opts: opts
876
+ )
877
+ end
878
+
879
+ # Use this endpoint to complete an input collection with a timeout error on a simulated reader.
880
+ def self.timeout_input_collection(reader, params = {}, opts = {})
881
+ request_stripe_object(
882
+ method: :post,
883
+ path: format("/v1/test_helpers/terminal/readers/%<reader>s/timeout_input_collection", { reader: CGI.escape(reader) }),
884
+ params: params,
885
+ opts: opts
886
+ )
887
+ end
888
+
889
+ # Use this endpoint to complete an input collection with a timeout error on a simulated reader.
890
+ def timeout_input_collection(params = {}, opts = {})
891
+ @resource.request_stripe_object(
892
+ method: :post,
893
+ path: format("/v1/test_helpers/terminal/readers/%<reader>s/timeout_input_collection", { reader: CGI.escape(@resource["id"]) }),
894
+ params: params,
895
+ opts: opts
896
+ )
897
+ end
898
+ end
13
899
  end
14
900
  end
15
901
  end