stripe 18.1.0 → 18.2.0.pre.beta.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 (446) hide show
  1. checksums.yaml +4 -4
  2. data/lib/stripe/api_requestor.rb +34 -0
  3. data/lib/stripe/api_version.rb +1 -2
  4. data/lib/stripe/errors.rb +63 -0
  5. data/lib/stripe/event_types.rb +213 -0
  6. data/lib/stripe/events/v2_core_account_closed_event.rb +44 -0
  7. data/lib/stripe/events/v2_core_account_created_event.rb +44 -0
  8. data/lib/stripe/events/v2_core_account_including_configuration_customer_capability_status_updated_event.rb +63 -0
  9. data/lib/stripe/events/v2_core_account_including_configuration_customer_updated_event.rb +44 -0
  10. data/lib/stripe/events/v2_core_account_including_configuration_merchant_capability_status_updated_event.rb +63 -0
  11. data/lib/stripe/events/v2_core_account_including_configuration_merchant_updated_event.rb +44 -0
  12. data/lib/stripe/events/v2_core_account_including_configuration_recipient_capability_status_updated_event.rb +63 -0
  13. data/lib/stripe/events/v2_core_account_including_configuration_recipient_updated_event.rb +44 -0
  14. data/lib/stripe/events/v2_core_account_including_configuration_storer_capability_status_updated_event.rb +63 -0
  15. data/lib/stripe/events/v2_core_account_including_configuration_storer_updated_event.rb +44 -0
  16. data/lib/stripe/events/v2_core_account_including_defaults_updated_event.rb +44 -0
  17. data/lib/stripe/events/v2_core_account_including_identity_updated_event.rb +44 -0
  18. data/lib/stripe/events/v2_core_account_including_requirements_updated_event.rb +44 -0
  19. data/lib/stripe/events/v2_core_account_link_returned_event.rb +42 -0
  20. data/lib/stripe/events/v2_core_account_person_created_event.rb +61 -0
  21. data/lib/stripe/events/v2_core_account_person_deleted_event.rb +61 -0
  22. data/lib/stripe/events/v2_core_account_person_updated_event.rb +61 -0
  23. data/lib/stripe/events/v2_core_account_updated_event.rb +44 -0
  24. data/lib/stripe/events/v2_core_health_event_generation_failure_resolved_event.rb +78 -0
  25. data/lib/stripe/events/v2_money_management_adjustment_created_event.rb +44 -0
  26. data/lib/stripe/events/v2_money_management_financial_account_created_event.rb +44 -0
  27. data/lib/stripe/events/v2_money_management_financial_account_updated_event.rb +44 -0
  28. data/lib/stripe/events/v2_money_management_financial_address_activated_event.rb +44 -0
  29. data/lib/stripe/events/v2_money_management_financial_address_failed_event.rb +44 -0
  30. data/lib/stripe/events/v2_money_management_inbound_transfer_available_event.rb +61 -0
  31. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_failed_event.rb +44 -0
  32. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_processing_event.rb +44 -0
  33. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_queued_event.rb +44 -0
  34. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_returned_event.rb +44 -0
  35. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_succeeded_event.rb +44 -0
  36. data/lib/stripe/events/v2_money_management_outbound_payment_canceled_event.rb +44 -0
  37. data/lib/stripe/events/v2_money_management_outbound_payment_created_event.rb +44 -0
  38. data/lib/stripe/events/v2_money_management_outbound_payment_failed_event.rb +44 -0
  39. data/lib/stripe/events/v2_money_management_outbound_payment_posted_event.rb +44 -0
  40. data/lib/stripe/events/v2_money_management_outbound_payment_returned_event.rb +44 -0
  41. data/lib/stripe/events/v2_money_management_outbound_payment_updated_event.rb +44 -0
  42. data/lib/stripe/events/v2_money_management_outbound_transfer_canceled_event.rb +44 -0
  43. data/lib/stripe/events/v2_money_management_outbound_transfer_created_event.rb +44 -0
  44. data/lib/stripe/events/v2_money_management_outbound_transfer_failed_event.rb +44 -0
  45. data/lib/stripe/events/v2_money_management_outbound_transfer_posted_event.rb +44 -0
  46. data/lib/stripe/events/v2_money_management_outbound_transfer_returned_event.rb +44 -0
  47. data/lib/stripe/events/v2_money_management_outbound_transfer_updated_event.rb +44 -0
  48. data/lib/stripe/events/v2_money_management_payout_method_created_event.rb +44 -0
  49. data/lib/stripe/events/v2_money_management_payout_method_updated_event.rb +44 -0
  50. data/lib/stripe/events/v2_money_management_received_credit_available_event.rb +61 -0
  51. data/lib/stripe/events/v2_money_management_received_credit_failed_event.rb +44 -0
  52. data/lib/stripe/events/v2_money_management_received_credit_returned_event.rb +44 -0
  53. data/lib/stripe/events/v2_money_management_received_credit_succeeded_event.rb +44 -0
  54. data/lib/stripe/events/v2_money_management_received_debit_canceled_event.rb +44 -0
  55. data/lib/stripe/events/v2_money_management_received_debit_failed_event.rb +44 -0
  56. data/lib/stripe/events/v2_money_management_received_debit_pending_event.rb +44 -0
  57. data/lib/stripe/events/v2_money_management_received_debit_succeeded_event.rb +44 -0
  58. data/lib/stripe/events/v2_money_management_received_debit_updated_event.rb +44 -0
  59. data/lib/stripe/events/v2_money_management_transaction_created_event.rb +61 -0
  60. data/lib/stripe/events/v2_money_management_transaction_updated_event.rb +44 -0
  61. data/lib/stripe/object_types.rb +52 -0
  62. data/lib/stripe/params/account_create_params.rb +304 -1
  63. data/lib/stripe/params/account_notice_list_params.rb +25 -0
  64. data/lib/stripe/params/account_notice_retrieve_params.rb +13 -0
  65. data/lib/stripe/params/account_notice_update_params.rb +36 -0
  66. data/lib/stripe/params/account_session_create_params.rb +226 -1
  67. data/lib/stripe/params/account_update_params.rb +266 -0
  68. data/lib/stripe/params/billing/analytics/meter_usage_retrieve_params.rb +65 -0
  69. data/lib/stripe/params/capital/financing_offer_list_params.rb +58 -0
  70. data/lib/stripe/params/capital/financing_offer_mark_delivered_params.rb +15 -0
  71. data/lib/stripe/params/capital/financing_offer_retrieve_params.rb +15 -0
  72. data/lib/stripe/params/capital/financing_summary_retrieve_params.rb +15 -0
  73. data/lib/stripe/params/capital/financing_transaction_list_params.rb +45 -0
  74. data/lib/stripe/params/capital/financing_transaction_retrieve_params.rb +15 -0
  75. data/lib/stripe/params/charge_capture_params.rb +1648 -0
  76. data/lib/stripe/params/charge_update_params.rb +1648 -0
  77. data/lib/stripe/params/checkout/session_create_params.rb +129 -3
  78. data/lib/stripe/params/checkout/session_update_params.rb +141 -1
  79. data/lib/stripe/params/confirmation_token_create_params.rb +77 -0
  80. data/lib/stripe/params/coupon_create_params.rb +17 -1
  81. data/lib/stripe/params/customer_session_create_params.rb +32 -1
  82. data/lib/stripe/params/dispute_update_params.rb +10 -1
  83. data/lib/stripe/params/external_account_create_params.rb +134 -0
  84. data/lib/stripe/params/external_account_delete_params.rb +6 -0
  85. data/lib/stripe/params/external_account_list_params.rb +25 -0
  86. data/lib/stripe/params/external_account_retrieve_params.rb +13 -0
  87. data/lib/stripe/params/external_account_update_params.rb +91 -0
  88. data/lib/stripe/params/financial_connections/account_inferred_balance_list_params.rb +24 -0
  89. data/lib/stripe/params/financial_connections/institution_list_params.rb +24 -0
  90. data/lib/stripe/params/financial_connections/institution_retrieve_params.rb +15 -0
  91. data/lib/stripe/params/financial_connections/session_create_params.rb +30 -1
  92. data/lib/stripe/params/fx_quote_create_params.rb +73 -0
  93. data/lib/stripe/params/fx_quote_list_params.rb +22 -0
  94. data/lib/stripe/params/fx_quote_retrieve_params.rb +13 -0
  95. data/lib/stripe/params/invoice_add_lines_params.rb +33 -1
  96. data/lib/stripe/params/invoice_attach_payment_params.rb +43 -1
  97. data/lib/stripe/params/invoice_create_params.rb +107 -2
  98. data/lib/stripe/params/invoice_create_preview_params.rb +822 -9
  99. data/lib/stripe/params/invoice_item_create_params.rb +33 -1
  100. data/lib/stripe/params/invoice_item_update_params.rb +33 -1
  101. data/lib/stripe/params/invoice_line_item_update_params.rb +33 -1
  102. data/lib/stripe/params/invoice_update_lines_params.rb +33 -1
  103. data/lib/stripe/params/invoice_update_params.rb +107 -2
  104. data/lib/stripe/params/issuing/cardholder_create_params.rb +2 -1
  105. data/lib/stripe/params/issuing/credit_underwriting_record_correct_params.rb +163 -0
  106. data/lib/stripe/params/issuing/credit_underwriting_record_create_from_application_params.rb +50 -0
  107. data/lib/stripe/params/issuing/credit_underwriting_record_create_from_proactive_review_params.rb +128 -0
  108. data/lib/stripe/params/issuing/credit_underwriting_record_list_params.rb +24 -0
  109. data/lib/stripe/params/issuing/credit_underwriting_record_report_decision_params.rb +86 -0
  110. data/lib/stripe/params/issuing/credit_underwriting_record_retrieve_params.rb +15 -0
  111. data/lib/stripe/params/issuing/dispute_settlement_detail_list_params.rb +33 -0
  112. data/lib/stripe/params/issuing/dispute_settlement_detail_retrieve_params.rb +15 -0
  113. data/lib/stripe/params/issuing/fraud_liability_debit_list_params.rb +44 -0
  114. data/lib/stripe/params/issuing/fraud_liability_debit_retrieve_params.rb +15 -0
  115. data/lib/stripe/params/issuing/transaction_list_params.rb +4 -0
  116. data/lib/stripe/params/mandate_list_params.rb +39 -0
  117. data/lib/stripe/params/margin_create_params.rb +25 -0
  118. data/lib/stripe/params/margin_list_params.rb +25 -0
  119. data/lib/stripe/params/margin_retrieve_params.rb +13 -0
  120. data/lib/stripe/params/margin_update_params.rb +22 -0
  121. data/lib/stripe/params/order_cancel_params.rb +13 -0
  122. data/lib/stripe/params/order_create_params.rb +2061 -0
  123. data/lib/stripe/params/order_line_item_list_params.rb +22 -0
  124. data/lib/stripe/params/order_list_line_items_params.rb +22 -0
  125. data/lib/stripe/params/order_list_params.rb +25 -0
  126. data/lib/stripe/params/order_reopen_params.rb +13 -0
  127. data/lib/stripe/params/order_retrieve_params.rb +13 -0
  128. data/lib/stripe/params/order_submit_params.rb +16 -0
  129. data/lib/stripe/params/order_update_params.rb +2065 -0
  130. data/lib/stripe/params/payment_intent_capture_params.rb +1627 -1
  131. data/lib/stripe/params/payment_intent_confirm_params.rb +2971 -11
  132. data/lib/stripe/params/payment_intent_create_params.rb +2971 -11
  133. data/lib/stripe/params/payment_intent_decrement_authorization_params.rb +73 -0
  134. data/lib/stripe/params/payment_intent_increment_authorization_params.rb +21 -0
  135. data/lib/stripe/params/payment_intent_trigger_action_params.rb +27 -0
  136. data/lib/stripe/params/payment_intent_update_params.rb +3003 -12
  137. data/lib/stripe/params/payment_method_configuration_create_params.rb +105 -0
  138. data/lib/stripe/params/payment_method_configuration_update_params.rb +105 -0
  139. data/lib/stripe/params/payment_method_create_params.rb +77 -0
  140. data/lib/stripe/params/price_update_params.rb +19 -0
  141. data/lib/stripe/params/privacy/redaction_job_cancel_params.rb +15 -0
  142. data/lib/stripe/params/privacy/redaction_job_create_params.rb +67 -0
  143. data/lib/stripe/params/privacy/redaction_job_list_params.rb +27 -0
  144. data/lib/stripe/params/privacy/redaction_job_retrieve_params.rb +15 -0
  145. data/lib/stripe/params/privacy/redaction_job_run_params.rb +15 -0
  146. data/lib/stripe/params/privacy/redaction_job_update_params.rb +18 -0
  147. data/lib/stripe/params/privacy/redaction_job_validate_params.rb +15 -0
  148. data/lib/stripe/params/privacy/redaction_job_validation_error_list_params.rb +24 -0
  149. data/lib/stripe/params/quote_create_params.rb +801 -3
  150. data/lib/stripe/params/quote_line_list_params.rb +22 -0
  151. data/lib/stripe/params/quote_list_lines_params.rb +22 -0
  152. data/lib/stripe/params/quote_list_params.rb +4 -0
  153. data/lib/stripe/params/quote_list_preview_invoice_lines_params.rb +22 -0
  154. data/lib/stripe/params/quote_mark_draft_params.rb +13 -0
  155. data/lib/stripe/params/quote_mark_stale_params.rb +16 -0
  156. data/lib/stripe/params/quote_preview_invoice_list_params.rb +22 -0
  157. data/lib/stripe/params/quote_preview_subscription_schedule_list_params.rb +22 -0
  158. data/lib/stripe/params/quote_reestimate_params.rb +13 -0
  159. data/lib/stripe/params/quote_update_params.rb +809 -4
  160. data/lib/stripe/params/reserve/hold_list_params.rb +53 -0
  161. data/lib/stripe/params/reserve/hold_retrieve_params.rb +15 -0
  162. data/lib/stripe/params/reserve/plan_retrieve_params.rb +15 -0
  163. data/lib/stripe/params/reserve/release_list_params.rb +41 -0
  164. data/lib/stripe/params/reserve/release_retrieve_params.rb +15 -0
  165. data/lib/stripe/params/setup_intent_confirm_params.rb +158 -3
  166. data/lib/stripe/params/setup_intent_create_params.rb +158 -3
  167. data/lib/stripe/params/setup_intent_update_params.rb +158 -3
  168. data/lib/stripe/params/subscription_attach_cadence_params.rb +16 -0
  169. data/lib/stripe/params/subscription_create_params.rb +254 -5
  170. data/lib/stripe/params/subscription_item_create_params.rb +46 -2
  171. data/lib/stripe/params/subscription_item_update_params.rb +29 -1
  172. data/lib/stripe/params/subscription_schedule_amend_params.rb +570 -0
  173. data/lib/stripe/params/subscription_schedule_create_params.rb +163 -5
  174. data/lib/stripe/params/subscription_schedule_update_params.rb +163 -5
  175. data/lib/stripe/params/subscription_update_params.rb +237 -4
  176. data/lib/stripe/params/tax/form_list_params.rb +51 -0
  177. data/lib/stripe/params/tax/form_pdf_params.rb +15 -0
  178. data/lib/stripe/params/tax/form_retrieve_params.rb +15 -0
  179. data/lib/stripe/params/terminal/configuration_create_params.rb +13 -0
  180. data/lib/stripe/params/terminal/configuration_update_params.rb +13 -0
  181. data/lib/stripe/params/terminal/reader_collected_data_retrieve_params.rb +15 -0
  182. data/lib/stripe/params/test_helpers/confirmation_token_create_params.rb +77 -0
  183. data/lib/stripe/params/test_helpers/treasury/received_credit_create_params.rb +25 -1
  184. data/lib/stripe/params/test_helpers/treasury/received_debit_create_params.rb +25 -1
  185. data/lib/stripe/params/transfer_create_params.rb +4 -0
  186. data/lib/stripe/params/treasury/financial_account_create_params.rb +8 -1
  187. data/lib/stripe/params/treasury/financial_account_features_update_params.rb +4 -1
  188. data/lib/stripe/params/treasury/financial_account_update_features_params.rb +4 -1
  189. data/lib/stripe/params/treasury/financial_account_update_params.rb +8 -1
  190. data/lib/stripe/params/treasury/outbound_transfer_create_params.rb +24 -0
  191. data/lib/stripe/params/treasury/received_credit_create_params.rb +25 -1
  192. data/lib/stripe/params/treasury/received_debit_create_params.rb +25 -1
  193. data/lib/stripe/params/v2/billing/bill_setting_create_params.rb +74 -0
  194. data/lib/stripe/params/v2/billing/bill_setting_list_params.rb +21 -0
  195. data/lib/stripe/params/v2/billing/bill_setting_retrieve_params.rb +10 -0
  196. data/lib/stripe/params/v2/billing/bill_setting_update_params.rb +80 -0
  197. data/lib/stripe/params/v2/billing/bill_settings/version_list_params.rb +19 -0
  198. data/lib/stripe/params/v2/billing/bill_settings/version_retrieve_params.rb +12 -0
  199. data/lib/stripe/params/v2/billing/cadence_cancel_params.rb +10 -0
  200. data/lib/stripe/params/v2/billing/cadence_create_params.rb +253 -0
  201. data/lib/stripe/params/v2/billing/cadence_list_params.rb +43 -0
  202. data/lib/stripe/params/v2/billing/cadence_retrieve_params.rb +17 -0
  203. data/lib/stripe/params/v2/billing/cadence_update_params.rb +75 -0
  204. data/lib/stripe/params/v2/billing/collection_setting_create_params.rb +223 -0
  205. data/lib/stripe/params/v2/billing/collection_setting_list_params.rb +21 -0
  206. data/lib/stripe/params/v2/billing/collection_setting_retrieve_params.rb +10 -0
  207. data/lib/stripe/params/v2/billing/collection_setting_update_params.rb +229 -0
  208. data/lib/stripe/params/v2/billing/collection_settings/version_list_params.rb +19 -0
  209. data/lib/stripe/params/v2/billing/collection_settings/version_retrieve_params.rb +12 -0
  210. data/lib/stripe/params/v2/billing/profile_create_params.rb +37 -0
  211. data/lib/stripe/params/v2/billing/profile_list_params.rb +40 -0
  212. data/lib/stripe/params/v2/billing/profile_retrieve_params.rb +10 -0
  213. data/lib/stripe/params/v2/billing/profile_update_params.rb +35 -0
  214. data/lib/stripe/params/v2/core/account_create_params.rb +251 -4
  215. data/lib/stripe/params/v2/core/account_token_create_params.rb +13 -1
  216. data/lib/stripe/params/v2/core/account_update_params.rb +243 -3
  217. data/lib/stripe/params/v2/core/vault/gb_bank_account_acknowledge_confirmation_of_payee_params.rb +12 -0
  218. data/lib/stripe/params/v2/core/vault/gb_bank_account_archive_params.rb +12 -0
  219. data/lib/stripe/params/v2/core/vault/gb_bank_account_create_params.rb +50 -0
  220. data/lib/stripe/params/v2/core/vault/gb_bank_account_initiate_confirmation_of_payee_params.rb +22 -0
  221. data/lib/stripe/params/v2/core/vault/gb_bank_account_list_params.rb +19 -0
  222. data/lib/stripe/params/v2/core/vault/gb_bank_account_retrieve_params.rb +12 -0
  223. data/lib/stripe/params/v2/core/vault/us_bank_account_archive_params.rb +12 -0
  224. data/lib/stripe/params/v2/core/vault/us_bank_account_confirm_microdeposits_params.rb +22 -0
  225. data/lib/stripe/params/v2/core/vault/us_bank_account_create_params.rb +33 -0
  226. data/lib/stripe/params/v2/core/vault/us_bank_account_list_params.rb +22 -0
  227. data/lib/stripe/params/v2/core/vault/us_bank_account_retrieve_params.rb +12 -0
  228. data/lib/stripe/params/v2/core/vault/us_bank_account_send_microdeposits_params.rb +12 -0
  229. data/lib/stripe/params/v2/core/vault/us_bank_account_update_params.rb +22 -0
  230. data/lib/stripe/params/v2/money_management/adjustment_list_params.rb +48 -0
  231. data/lib/stripe/params/v2/money_management/adjustment_retrieve_params.rb +10 -0
  232. data/lib/stripe/params/v2/money_management/financial_account_close_params.rb +28 -0
  233. data/lib/stripe/params/v2/money_management/financial_account_create_params.rb +34 -0
  234. data/lib/stripe/params/v2/money_management/financial_account_list_params.rb +20 -0
  235. data/lib/stripe/params/v2/money_management/financial_account_retrieve_params.rb +10 -0
  236. data/lib/stripe/params/v2/money_management/financial_account_update_params.rb +20 -0
  237. data/lib/stripe/params/v2/money_management/financial_address_create_params.rb +20 -0
  238. data/lib/stripe/params/v2/money_management/financial_address_list_params.rb +23 -0
  239. data/lib/stripe/params/v2/money_management/financial_address_retrieve_params.rb +17 -0
  240. data/lib/stripe/params/v2/money_management/inbound_transfer_create_params.rb +62 -0
  241. data/lib/stripe/params/v2/money_management/inbound_transfer_list_params.rb +44 -0
  242. data/lib/stripe/params/v2/money_management/inbound_transfer_retrieve_params.rb +10 -0
  243. data/lib/stripe/params/v2/money_management/outbound_payment_cancel_params.rb +10 -0
  244. data/lib/stripe/params/v2/money_management/outbound_payment_create_params.rb +110 -0
  245. data/lib/stripe/params/v2/money_management/outbound_payment_list_params.rb +52 -0
  246. data/lib/stripe/params/v2/money_management/outbound_payment_quote_create_params.rb +79 -0
  247. data/lib/stripe/params/v2/money_management/outbound_payment_quote_retrieve_params.rb +10 -0
  248. data/lib/stripe/params/v2/money_management/outbound_payment_retrieve_params.rb +10 -0
  249. data/lib/stripe/params/v2/money_management/outbound_setup_intent_cancel_params.rb +10 -0
  250. data/lib/stripe/params/v2/money_management/outbound_setup_intent_create_params.rb +85 -0
  251. data/lib/stripe/params/v2/money_management/outbound_setup_intent_list_params.rb +17 -0
  252. data/lib/stripe/params/v2/money_management/outbound_setup_intent_retrieve_params.rb +10 -0
  253. data/lib/stripe/params/v2/money_management/outbound_setup_intent_update_params.rb +80 -0
  254. data/lib/stripe/params/v2/money_management/outbound_transfer_cancel_params.rb +10 -0
  255. data/lib/stripe/params/v2/money_management/outbound_transfer_create_params.rb +89 -0
  256. data/lib/stripe/params/v2/money_management/outbound_transfer_list_params.rb +48 -0
  257. data/lib/stripe/params/v2/money_management/outbound_transfer_retrieve_params.rb +10 -0
  258. data/lib/stripe/params/v2/money_management/payout_method_archive_params.rb +10 -0
  259. data/lib/stripe/params/v2/money_management/payout_method_list_params.rb +31 -0
  260. data/lib/stripe/params/v2/money_management/payout_method_retrieve_params.rb +10 -0
  261. data/lib/stripe/params/v2/money_management/payout_method_unarchive_params.rb +10 -0
  262. data/lib/stripe/params/v2/money_management/payout_methods_bank_account_spec_retrieve_params.rb +17 -0
  263. data/lib/stripe/params/v2/money_management/received_credit_list_params.rb +44 -0
  264. data/lib/stripe/params/v2/money_management/received_credit_retrieve_params.rb +10 -0
  265. data/lib/stripe/params/v2/money_management/received_debit_list_params.rb +17 -0
  266. data/lib/stripe/params/v2/money_management/received_debit_retrieve_params.rb +10 -0
  267. data/lib/stripe/params/v2/money_management/transaction_entry_list_params.rb +43 -0
  268. data/lib/stripe/params/v2/money_management/transaction_entry_retrieve_params.rb +10 -0
  269. data/lib/stripe/params/v2/money_management/transaction_list_params.rb +47 -0
  270. data/lib/stripe/params/v2/money_management/transaction_retrieve_params.rb +10 -0
  271. data/lib/stripe/params/v2/test_helpers/financial_address_credit_params.rb +34 -0
  272. data/lib/stripe/params/v2/test_helpers/financial_address_generate_microdeposits_params.rb +10 -0
  273. data/lib/stripe/params.rb +151 -0
  274. data/lib/stripe/resources/account.rb +182 -1
  275. data/lib/stripe/resources/account_notice.rb +94 -0
  276. data/lib/stripe/resources/account_session.rb +81 -0
  277. data/lib/stripe/resources/billing/analytics/meter_usage.rb +33 -0
  278. data/lib/stripe/resources/billing/analytics/meter_usage_row.rb +38 -0
  279. data/lib/stripe/resources/capital/financing_offer.rb +142 -0
  280. data/lib/stripe/resources/capital/financing_summary.rb +82 -0
  281. data/lib/stripe/resources/capital/financing_transaction.rb +99 -0
  282. data/lib/stripe/resources/card.rb +2 -0
  283. data/lib/stripe/resources/charge.rb +215 -1
  284. data/lib/stripe/resources/checkout/session.rb +104 -4
  285. data/lib/stripe/resources/confirmation_token.rb +133 -0
  286. data/lib/stripe/resources/coupon.rb +26 -1
  287. data/lib/stripe/resources/credit_note_line_item.rb +18 -0
  288. data/lib/stripe/resources/customer_session.rb +36 -0
  289. data/lib/stripe/resources/dispute.rb +22 -0
  290. data/lib/stripe/resources/event.rb +64 -1
  291. data/lib/stripe/resources/financial_connections/account.rb +25 -0
  292. data/lib/stripe/resources/financial_connections/account_inferred_balance.rb +35 -0
  293. data/lib/stripe/resources/financial_connections/institution.rb +127 -0
  294. data/lib/stripe/resources/financial_connections/session.rb +65 -1
  295. data/lib/stripe/resources/fx_quote.rb +147 -0
  296. data/lib/stripe/resources/invoice.rb +150 -1
  297. data/lib/stripe/resources/invoice_item.rb +2 -0
  298. data/lib/stripe/resources/invoice_line_item.rb +40 -0
  299. data/lib/stripe/resources/issuing/credit_underwriting_record.rb +263 -0
  300. data/lib/stripe/resources/issuing/dispute_settlement_detail.rb +71 -0
  301. data/lib/stripe/resources/issuing/fraud_liability_debit.rb +51 -0
  302. data/lib/stripe/resources/issuing/settlement.rb +61 -0
  303. data/lib/stripe/resources/issuing/transaction.rb +2 -0
  304. data/lib/stripe/resources/line_item.rb +66 -1
  305. data/lib/stripe/resources/mandate.rb +43 -0
  306. data/lib/stripe/resources/margin.rb +64 -0
  307. data/lib/stripe/resources/order.rb +987 -0
  308. data/lib/stripe/resources/payment_attempt_record.rb +181 -1
  309. data/lib/stripe/resources/payment_intent.rb +737 -4
  310. data/lib/stripe/resources/payment_method.rb +135 -0
  311. data/lib/stripe/resources/payment_method_configuration.rb +170 -0
  312. data/lib/stripe/resources/payment_record.rb +181 -1
  313. data/lib/stripe/resources/price.rb +20 -0
  314. data/lib/stripe/resources/privacy/redaction_job.rb +187 -0
  315. data/lib/stripe/resources/privacy/redaction_job_validation_error.rb +49 -0
  316. data/lib/stripe/resources/quote.rb +569 -2
  317. data/lib/stripe/resources/quote_line.rb +521 -0
  318. data/lib/stripe/resources/quote_preview_invoice.rb +1182 -0
  319. data/lib/stripe/resources/quote_preview_subscription_schedule.rb +732 -0
  320. data/lib/stripe/resources/refund.rb +18 -0
  321. data/lib/stripe/resources/reserve/hold.rb +74 -0
  322. data/lib/stripe/resources/reserve/plan.rb +78 -0
  323. data/lib/stripe/resources/reserve/release.rb +77 -0
  324. data/lib/stripe/resources/setup_attempt.rb +48 -0
  325. data/lib/stripe/resources/setup_intent.rb +88 -1
  326. data/lib/stripe/resources/source.rb +38 -0
  327. data/lib/stripe/resources/subscription.rb +230 -0
  328. data/lib/stripe/resources/subscription_item.rb +20 -1
  329. data/lib/stripe/resources/subscription_schedule.rb +196 -3
  330. data/lib/stripe/resources/tax/form.rb +264 -0
  331. data/lib/stripe/resources/terminal/configuration.rb +16 -0
  332. data/lib/stripe/resources/terminal/reader.rb +8 -0
  333. data/lib/stripe/resources/terminal/reader_collected_data.rb +47 -0
  334. data/lib/stripe/resources/transfer.rb +2 -0
  335. data/lib/stripe/resources/treasury/financial_account.rb +2 -0
  336. data/lib/stripe/resources/treasury/financial_account_features.rb +2 -0
  337. data/lib/stripe/resources/treasury/outbound_transfer.rb +30 -0
  338. data/lib/stripe/resources/treasury/received_credit.rb +30 -0
  339. data/lib/stripe/resources/treasury/received_debit.rb +32 -0
  340. data/lib/stripe/resources/v2/billing/bill_setting.rb +102 -0
  341. data/lib/stripe/resources/v2/billing/bill_setting_version.rb +90 -0
  342. data/lib/stripe/resources/v2/billing/cadence.rb +609 -0
  343. data/lib/stripe/resources/v2/billing/collection_setting.rb +274 -0
  344. data/lib/stripe/resources/v2/billing/collection_setting_version.rb +262 -0
  345. data/lib/stripe/resources/v2/billing/profile.rb +46 -0
  346. data/lib/stripe/resources/v2/core/account.rb +565 -3
  347. data/lib/stripe/resources/v2/core/vault/gb_bank_account.rb +114 -0
  348. data/lib/stripe/resources/v2/core/vault/us_bank_account.rb +83 -0
  349. data/lib/stripe/resources/v2/financial_address_credit_simulation.rb +28 -0
  350. data/lib/stripe/resources/v2/financial_address_generated_microdeposits.rb +44 -0
  351. data/lib/stripe/resources/v2/money_management/adjustment.rb +82 -0
  352. data/lib/stripe/resources/v2/money_management/financial_account.rb +188 -0
  353. data/lib/stripe/resources/v2/money_management/financial_address.rb +132 -0
  354. data/lib/stripe/resources/v2/money_management/inbound_transfer.rb +197 -0
  355. data/lib/stripe/resources/v2/money_management/outbound_payment.rb +261 -0
  356. data/lib/stripe/resources/v2/money_management/outbound_payment_quote.rb +202 -0
  357. data/lib/stripe/resources/v2/money_management/outbound_setup_intent.rb +69 -0
  358. data/lib/stripe/resources/v2/money_management/outbound_transfer.rb +240 -0
  359. data/lib/stripe/resources/v2/money_management/payout_method.rb +111 -0
  360. data/lib/stripe/resources/v2/money_management/payout_methods_bank_account_spec.rb +81 -0
  361. data/lib/stripe/resources/v2/money_management/received_credit.rb +246 -0
  362. data/lib/stripe/resources/v2/money_management/received_debit.rb +152 -0
  363. data/lib/stripe/resources/v2/money_management/transaction.rb +180 -0
  364. data/lib/stripe/resources/v2/money_management/transaction_entry.rb +153 -0
  365. data/lib/stripe/resources.rb +104 -0
  366. data/lib/stripe/services/account_notice_service.rb +39 -0
  367. data/lib/stripe/services/billing/analytics/meter_usage_service.rb +21 -0
  368. data/lib/stripe/services/billing/analytics_service.rb +15 -0
  369. data/lib/stripe/services/billing_service.rb +2 -1
  370. data/lib/stripe/services/capital/financing_offer_service.rb +42 -0
  371. data/lib/stripe/services/capital/financing_summary_service.rb +19 -0
  372. data/lib/stripe/services/capital/financing_transaction_service.rb +31 -0
  373. data/lib/stripe/services/capital_service.rb +15 -0
  374. data/lib/stripe/services/external_account_service.rb +68 -0
  375. data/lib/stripe/services/financial_connections/account_inferred_balance_service.rb +19 -0
  376. data/lib/stripe/services/financial_connections/account_service.rb +3 -1
  377. data/lib/stripe/services/financial_connections/institution_service.rb +30 -0
  378. data/lib/stripe/services/financial_connections_service.rb +2 -1
  379. data/lib/stripe/services/fx_quote_service.rb +27 -0
  380. data/lib/stripe/services/issuing/credit_underwriting_record_service.rb +74 -0
  381. data/lib/stripe/services/issuing/dispute_settlement_detail_service.rb +30 -0
  382. data/lib/stripe/services/issuing/fraud_liability_debit_service.rb +30 -0
  383. data/lib/stripe/services/issuing_service.rb +5 -1
  384. data/lib/stripe/services/mandate_service.rb +5 -0
  385. data/lib/stripe/services/margin_service.rb +50 -0
  386. data/lib/stripe/services/order_line_item_service.rb +17 -0
  387. data/lib/stripe/services/order_service.rb +78 -0
  388. data/lib/stripe/services/payment_intent_service.rb +37 -0
  389. data/lib/stripe/services/privacy/redaction_job_service.rb +104 -0
  390. data/lib/stripe/services/privacy/redaction_job_validation_error_service.rb +19 -0
  391. data/lib/stripe/services/privacy_service.rb +13 -0
  392. data/lib/stripe/services/quote_line_service.rb +17 -0
  393. data/lib/stripe/services/quote_preview_invoice_service.rb +17 -0
  394. data/lib/stripe/services/quote_preview_subscription_schedule_service.rb +17 -0
  395. data/lib/stripe/services/quote_service.rb +49 -1
  396. data/lib/stripe/services/reserve/hold_service.rb +30 -0
  397. data/lib/stripe/services/reserve/plan_service.rb +19 -0
  398. data/lib/stripe/services/reserve/release_service.rb +30 -0
  399. data/lib/stripe/services/reserve_service.rb +15 -0
  400. data/lib/stripe/services/subscription_schedule_service.rb +11 -0
  401. data/lib/stripe/services/subscription_service.rb +11 -0
  402. data/lib/stripe/services/tax/form_service.rb +37 -0
  403. data/lib/stripe/services/tax_service.rb +2 -1
  404. data/lib/stripe/services/terminal/reader_collected_data_service.rb +19 -0
  405. data/lib/stripe/services/terminal_service.rb +2 -1
  406. data/lib/stripe/services/v1_services.rb +9 -1
  407. data/lib/stripe/services/v2/billing/bill_setting_service.rb +61 -0
  408. data/lib/stripe/services/v2/billing/bill_settings/version_service.rb +34 -0
  409. data/lib/stripe/services/v2/billing/cadence_service.rb +65 -0
  410. data/lib/stripe/services/v2/billing/collection_setting_service.rb +61 -0
  411. data/lib/stripe/services/v2/billing/collection_settings/version_service.rb +34 -0
  412. data/lib/stripe/services/v2/billing/profile_service.rb +54 -0
  413. data/lib/stripe/services/v2/billing_service.rb +5 -1
  414. data/lib/stripe/services/v2/core/vault/gb_bank_account_service.rb +85 -0
  415. data/lib/stripe/services/v2/core/vault/us_bank_account_service.rb +101 -0
  416. data/lib/stripe/services/v2/core/vault_service.rb +18 -0
  417. data/lib/stripe/services/v2/core_service.rb +2 -1
  418. data/lib/stripe/services/v2/money_management/adjustment_service.rb +32 -0
  419. data/lib/stripe/services/v2/money_management/financial_account_service.rb +70 -0
  420. data/lib/stripe/services/v2/money_management/financial_address_service.rb +46 -0
  421. data/lib/stripe/services/v2/money_management/inbound_transfer_service.rb +45 -0
  422. data/lib/stripe/services/v2/money_management/outbound_payment_quote_service.rb +34 -0
  423. data/lib/stripe/services/v2/money_management/outbound_payment_service.rb +62 -0
  424. data/lib/stripe/services/v2/money_management/outbound_setup_intent_service.rb +75 -0
  425. data/lib/stripe/services/v2/money_management/outbound_transfer_service.rb +60 -0
  426. data/lib/stripe/services/v2/money_management/payout_method_service.rb +65 -0
  427. data/lib/stripe/services/v2/money_management/payout_methods_bank_account_spec_service.rb +23 -0
  428. data/lib/stripe/services/v2/money_management/received_credit_service.rb +32 -0
  429. data/lib/stripe/services/v2/money_management/received_debit_service.rb +32 -0
  430. data/lib/stripe/services/v2/money_management/transaction_entry_service.rb +32 -0
  431. data/lib/stripe/services/v2/money_management/transaction_service.rb +32 -0
  432. data/lib/stripe/services/v2/money_management_service.rb +31 -0
  433. data/lib/stripe/services/v2/test_helper_service.rb +15 -0
  434. data/lib/stripe/services/v2/test_helpers/financial_address_service.rb +36 -0
  435. data/lib/stripe/services/v2_services.rb +3 -1
  436. data/lib/stripe/services.rb +55 -0
  437. data/lib/stripe/stripe_client.rb +8 -1
  438. data/lib/stripe/stripe_configuration.rb +3 -1
  439. data/lib/stripe/stripe_event_notification_handler.rb +425 -0
  440. data/lib/stripe/stripe_object.rb +1 -1
  441. data/lib/stripe/util.rb +7 -1
  442. data/lib/stripe/version.rb +1 -1
  443. data/lib/stripe.rb +54 -0
  444. data/rbi/stripe/stripe_client.rbi +13 -0
  445. data/rbi/stripe.rbi +93543 -33169
  446. metadata +314 -3
@@ -0,0 +1,425 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Stripe
4
+ class UnhandledNotificationDetails
5
+ attr_reader :is_known_event_type
6
+
7
+ def initialize(is_known_event_type)
8
+ @is_known_event_type = is_known_event_type
9
+ end
10
+ end
11
+
12
+ class StripeEventNotificationHandler
13
+ def initialize(client, webhook_secret, &fallback_callback)
14
+ raise ArgumentError, "You must pass a block to act as a fallback" if fallback_callback.nil?
15
+
16
+ @client = client
17
+ @webhook_secret = webhook_secret
18
+ @fallback_callback = fallback_callback
19
+
20
+ @registered_handlers = {}
21
+ @has_handled_events = false
22
+ end
23
+
24
+ def handle(webhook_body, sig_header)
25
+ # we're ok with this not being a thread-safe write since registering
26
+ # handlers should happen synchronously on startup before any multi-threaded reads happen
27
+ @has_handled_events = true
28
+
29
+ notif = @client.parse_event_notification(
30
+ webhook_body,
31
+ sig_header,
32
+ @webhook_secret
33
+ )
34
+
35
+ # Create a new client with the event's context to ensure thread-safety
36
+ event_client = new_client_with_context(notif.context)
37
+
38
+ handler = @registered_handlers[notif.type]
39
+ if handler
40
+ handler.call(notif, event_client)
41
+ else
42
+ @fallback_callback.call(notif, event_client,
43
+ UnhandledNotificationDetails.new(!notif.is_a?(Stripe::Events::UnknownEventNotification)))
44
+ end
45
+ end
46
+
47
+ def registered_event_types
48
+ @registered_handlers.keys.sort
49
+ end
50
+
51
+ private def register(event_type, &handler)
52
+ raise "Cannot register new event handlers after handling events" if @has_handled_events
53
+ if @registered_handlers.key?(event_type)
54
+ raise ArgumentError, "Handler already registered for event type: #{event_type}"
55
+ end
56
+
57
+ @registered_handlers[event_type] = handler
58
+ end
59
+
60
+ private def new_client_with_context(context)
61
+ config = @client.requestor.config
62
+ StripeClient.new(
63
+ config.api_key,
64
+ stripe_account: config.stripe_account,
65
+ stripe_context: context,
66
+ stripe_version: config.api_version,
67
+ api_base: config.api_base,
68
+ uploads_base: config.uploads_base,
69
+ connect_base: config.connect_base,
70
+ meter_events_base: config.meter_events_base,
71
+ client_id: config.client_id
72
+ )
73
+ end
74
+
75
+ # event-handler-methods: The beginning of the section generated from our OpenAPI spec
76
+ def on_v1_billing_meter_error_report_triggered(&handler)
77
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
78
+
79
+ register("v1.billing.meter.error_report_triggered", &handler)
80
+ end
81
+
82
+ def on_v1_billing_meter_no_meter_found(&handler)
83
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
84
+
85
+ register("v1.billing.meter.no_meter_found", &handler)
86
+ end
87
+
88
+ def on_v2_core_account_closed(&handler)
89
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
90
+
91
+ register("v2.core.account.closed", &handler)
92
+ end
93
+
94
+ def on_v2_core_account_created(&handler)
95
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
96
+
97
+ register("v2.core.account.created", &handler)
98
+ end
99
+
100
+ def on_v2_core_account_updated(&handler)
101
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
102
+
103
+ register("v2.core.account.updated", &handler)
104
+ end
105
+
106
+ def on_v2_core_account_including_configuration_customer_capability_status_updated(&handler)
107
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
108
+
109
+ register("v2.core.account[configuration.customer].capability_status_updated", &handler)
110
+ end
111
+
112
+ def on_v2_core_account_including_configuration_customer_updated(&handler)
113
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
114
+
115
+ register("v2.core.account[configuration.customer].updated", &handler)
116
+ end
117
+
118
+ def on_v2_core_account_including_configuration_merchant_capability_status_updated(&handler)
119
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
120
+
121
+ register("v2.core.account[configuration.merchant].capability_status_updated", &handler)
122
+ end
123
+
124
+ def on_v2_core_account_including_configuration_merchant_updated(&handler)
125
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
126
+
127
+ register("v2.core.account[configuration.merchant].updated", &handler)
128
+ end
129
+
130
+ def on_v2_core_account_including_configuration_recipient_capability_status_updated(&handler)
131
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
132
+
133
+ register("v2.core.account[configuration.recipient].capability_status_updated", &handler)
134
+ end
135
+
136
+ def on_v2_core_account_including_configuration_recipient_updated(&handler)
137
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
138
+
139
+ register("v2.core.account[configuration.recipient].updated", &handler)
140
+ end
141
+
142
+ def on_v2_core_account_including_configuration_storer_capability_status_updated(&handler)
143
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
144
+
145
+ register("v2.core.account[configuration.storer].capability_status_updated", &handler)
146
+ end
147
+
148
+ def on_v2_core_account_including_configuration_storer_updated(&handler)
149
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
150
+
151
+ register("v2.core.account[configuration.storer].updated", &handler)
152
+ end
153
+
154
+ def on_v2_core_account_including_defaults_updated(&handler)
155
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
156
+
157
+ register("v2.core.account[defaults].updated", &handler)
158
+ end
159
+
160
+ def on_v2_core_account_including_identity_updated(&handler)
161
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
162
+
163
+ register("v2.core.account[identity].updated", &handler)
164
+ end
165
+
166
+ def on_v2_core_account_including_requirements_updated(&handler)
167
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
168
+
169
+ register("v2.core.account[requirements].updated", &handler)
170
+ end
171
+
172
+ def on_v2_core_account_link_returned(&handler)
173
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
174
+
175
+ register("v2.core.account_link.returned", &handler)
176
+ end
177
+
178
+ def on_v2_core_account_person_created(&handler)
179
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
180
+
181
+ register("v2.core.account_person.created", &handler)
182
+ end
183
+
184
+ def on_v2_core_account_person_deleted(&handler)
185
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
186
+
187
+ register("v2.core.account_person.deleted", &handler)
188
+ end
189
+
190
+ def on_v2_core_account_person_updated(&handler)
191
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
192
+
193
+ register("v2.core.account_person.updated", &handler)
194
+ end
195
+
196
+ def on_v2_core_event_destination_ping(&handler)
197
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
198
+
199
+ register("v2.core.event_destination.ping", &handler)
200
+ end
201
+
202
+ def on_v2_core_health_event_generation_failure_resolved(&handler)
203
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
204
+
205
+ register("v2.core.health.event_generation_failure.resolved", &handler)
206
+ end
207
+
208
+ def on_v2_money_management_adjustment_created(&handler)
209
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
210
+
211
+ register("v2.money_management.adjustment.created", &handler)
212
+ end
213
+
214
+ def on_v2_money_management_financial_account_created(&handler)
215
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
216
+
217
+ register("v2.money_management.financial_account.created", &handler)
218
+ end
219
+
220
+ def on_v2_money_management_financial_account_updated(&handler)
221
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
222
+
223
+ register("v2.money_management.financial_account.updated", &handler)
224
+ end
225
+
226
+ def on_v2_money_management_financial_address_activated(&handler)
227
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
228
+
229
+ register("v2.money_management.financial_address.activated", &handler)
230
+ end
231
+
232
+ def on_v2_money_management_financial_address_failed(&handler)
233
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
234
+
235
+ register("v2.money_management.financial_address.failed", &handler)
236
+ end
237
+
238
+ def on_v2_money_management_inbound_transfer_available(&handler)
239
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
240
+
241
+ register("v2.money_management.inbound_transfer.available", &handler)
242
+ end
243
+
244
+ def on_v2_money_management_inbound_transfer_bank_debit_failed(&handler)
245
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
246
+
247
+ register("v2.money_management.inbound_transfer.bank_debit_failed", &handler)
248
+ end
249
+
250
+ def on_v2_money_management_inbound_transfer_bank_debit_processing(&handler)
251
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
252
+
253
+ register("v2.money_management.inbound_transfer.bank_debit_processing", &handler)
254
+ end
255
+
256
+ def on_v2_money_management_inbound_transfer_bank_debit_queued(&handler)
257
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
258
+
259
+ register("v2.money_management.inbound_transfer.bank_debit_queued", &handler)
260
+ end
261
+
262
+ def on_v2_money_management_inbound_transfer_bank_debit_returned(&handler)
263
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
264
+
265
+ register("v2.money_management.inbound_transfer.bank_debit_returned", &handler)
266
+ end
267
+
268
+ def on_v2_money_management_inbound_transfer_bank_debit_succeeded(&handler)
269
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
270
+
271
+ register("v2.money_management.inbound_transfer.bank_debit_succeeded", &handler)
272
+ end
273
+
274
+ def on_v2_money_management_outbound_payment_canceled(&handler)
275
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
276
+
277
+ register("v2.money_management.outbound_payment.canceled", &handler)
278
+ end
279
+
280
+ def on_v2_money_management_outbound_payment_created(&handler)
281
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
282
+
283
+ register("v2.money_management.outbound_payment.created", &handler)
284
+ end
285
+
286
+ def on_v2_money_management_outbound_payment_failed(&handler)
287
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
288
+
289
+ register("v2.money_management.outbound_payment.failed", &handler)
290
+ end
291
+
292
+ def on_v2_money_management_outbound_payment_posted(&handler)
293
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
294
+
295
+ register("v2.money_management.outbound_payment.posted", &handler)
296
+ end
297
+
298
+ def on_v2_money_management_outbound_payment_returned(&handler)
299
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
300
+
301
+ register("v2.money_management.outbound_payment.returned", &handler)
302
+ end
303
+
304
+ def on_v2_money_management_outbound_payment_updated(&handler)
305
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
306
+
307
+ register("v2.money_management.outbound_payment.updated", &handler)
308
+ end
309
+
310
+ def on_v2_money_management_outbound_transfer_canceled(&handler)
311
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
312
+
313
+ register("v2.money_management.outbound_transfer.canceled", &handler)
314
+ end
315
+
316
+ def on_v2_money_management_outbound_transfer_created(&handler)
317
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
318
+
319
+ register("v2.money_management.outbound_transfer.created", &handler)
320
+ end
321
+
322
+ def on_v2_money_management_outbound_transfer_failed(&handler)
323
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
324
+
325
+ register("v2.money_management.outbound_transfer.failed", &handler)
326
+ end
327
+
328
+ def on_v2_money_management_outbound_transfer_posted(&handler)
329
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
330
+
331
+ register("v2.money_management.outbound_transfer.posted", &handler)
332
+ end
333
+
334
+ def on_v2_money_management_outbound_transfer_returned(&handler)
335
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
336
+
337
+ register("v2.money_management.outbound_transfer.returned", &handler)
338
+ end
339
+
340
+ def on_v2_money_management_outbound_transfer_updated(&handler)
341
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
342
+
343
+ register("v2.money_management.outbound_transfer.updated", &handler)
344
+ end
345
+
346
+ def on_v2_money_management_payout_method_created(&handler)
347
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
348
+
349
+ register("v2.money_management.payout_method.created", &handler)
350
+ end
351
+
352
+ def on_v2_money_management_payout_method_updated(&handler)
353
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
354
+
355
+ register("v2.money_management.payout_method.updated", &handler)
356
+ end
357
+
358
+ def on_v2_money_management_received_credit_available(&handler)
359
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
360
+
361
+ register("v2.money_management.received_credit.available", &handler)
362
+ end
363
+
364
+ def on_v2_money_management_received_credit_failed(&handler)
365
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
366
+
367
+ register("v2.money_management.received_credit.failed", &handler)
368
+ end
369
+
370
+ def on_v2_money_management_received_credit_returned(&handler)
371
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
372
+
373
+ register("v2.money_management.received_credit.returned", &handler)
374
+ end
375
+
376
+ def on_v2_money_management_received_credit_succeeded(&handler)
377
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
378
+
379
+ register("v2.money_management.received_credit.succeeded", &handler)
380
+ end
381
+
382
+ def on_v2_money_management_received_debit_canceled(&handler)
383
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
384
+
385
+ register("v2.money_management.received_debit.canceled", &handler)
386
+ end
387
+
388
+ def on_v2_money_management_received_debit_failed(&handler)
389
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
390
+
391
+ register("v2.money_management.received_debit.failed", &handler)
392
+ end
393
+
394
+ def on_v2_money_management_received_debit_pending(&handler)
395
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
396
+
397
+ register("v2.money_management.received_debit.pending", &handler)
398
+ end
399
+
400
+ def on_v2_money_management_received_debit_succeeded(&handler)
401
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
402
+
403
+ register("v2.money_management.received_debit.succeeded", &handler)
404
+ end
405
+
406
+ def on_v2_money_management_received_debit_updated(&handler)
407
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
408
+
409
+ register("v2.money_management.received_debit.updated", &handler)
410
+ end
411
+
412
+ def on_v2_money_management_transaction_created(&handler)
413
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
414
+
415
+ register("v2.money_management.transaction.created", &handler)
416
+ end
417
+
418
+ def on_v2_money_management_transaction_updated(&handler)
419
+ raise ArgumentError, "Block required to register event handler" if handler.nil?
420
+
421
+ register("v2.money_management.transaction.updated", &handler)
422
+ end
423
+ # event-handler-methods: The end of the section generated from our OpenAPI spec
424
+ end
425
+ end
@@ -364,7 +364,7 @@ module Stripe
364
364
  end
365
365
  end
366
366
 
367
- protected def add_accessors(keys, values) # rubocop:todo Metrics/PerceivedComplexity
367
+ protected def add_accessors(keys, values)
368
368
  # not available in the #instance_eval below
369
369
  protected_fields = self.class.protected_fields
370
370
 
data/lib/stripe/util.rb CHANGED
@@ -311,7 +311,13 @@ module Stripe
311
311
  when String
312
312
  { api_key: opts }
313
313
  when Hash
314
- check_api_key!(opts.fetch(:api_key)) if opts.key?(:api_key)
314
+ # If the user is using request signing for authentication,
315
+ # no need to check the api_key per request.
316
+ if !(opts.key?(:client) &&
317
+ opts.fetch(:client).config.authenticator) &&
318
+ opts.key?(:api_key)
319
+ check_api_key!(opts.fetch(:api_key))
320
+ end
315
321
  # Explicitly use dup here instead of clone to avoid preserving freeze
316
322
  # state on input params.
317
323
  opts.dup
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Stripe
4
- VERSION = "18.1.0"
4
+ VERSION = "18.2.0-beta.1"
5
5
  end
data/lib/stripe.rb CHANGED
@@ -51,6 +51,7 @@ require "stripe/api_resource"
51
51
  require "stripe/api_resource_test_helpers"
52
52
  require "stripe/singleton_api_resource"
53
53
  require "stripe/webhook"
54
+ require "stripe/stripe_event_notification_handler"
54
55
  require "stripe/stripe_configuration"
55
56
  require "stripe/resources/v2/amount"
56
57
  require "stripe/resources/v2/deleted_object"
@@ -112,6 +113,7 @@ module Stripe
112
113
 
113
114
  # User configurable options
114
115
  def_delegators :@config, :api_key, :api_key=
116
+ def_delegators :@config, :authenticator, :authenticator=
115
117
  def_delegators :@config, :api_version, :api_version=
116
118
  def_delegators :@config, :stripe_account, :stripe_account=
117
119
  def_delegators :@config, :api_base, :api_base=
@@ -159,6 +161,58 @@ module Stripe
159
161
  version: version,
160
162
  }
161
163
  end
164
+
165
+ def self.add_beta_version(beta_name, version)
166
+ unless version.start_with?("v") && version[1..].to_i.to_s == version[1..]
167
+ raise ArgumentError, "Version must be in the format 'v' followed by a number (e.g., 'v3')"
168
+ end
169
+
170
+ if (index = api_version.index("; #{beta_name}="))
171
+ start_index = index + "; #{beta_name}=".length
172
+ end_index = api_version.index(";", start_index) || api_version.length
173
+ current_version = api_version[start_index...end_index][1..].to_i
174
+ new_version = version[1..].to_i
175
+ return if new_version <= current_version # Keep the higher version, no update needed
176
+
177
+ self.api_version = api_version[0...index] + "; #{beta_name}=#{version}" + api_version[end_index..]
178
+ else
179
+ self.api_version = "#{api_version}; #{beta_name}=#{version}"
180
+ end
181
+ end
182
+
183
+ class RawRequest
184
+ def initialize
185
+ @opts = {}
186
+ end
187
+
188
+ def execute(method, url, base_address: :api, params: {}, opts: {}, usage: [])
189
+ opts = Util.normalize_opts(opts)
190
+ req_opts = RequestOptions.extract_opts_from_hash(opts)
191
+
192
+ requestor = APIRequestor.active_requestor
193
+ resp, = requestor.send(:execute_request_internal, method, url, base_address, params, req_opts,
194
+ usage)
195
+
196
+ requestor.interpret_response(resp)
197
+ end
198
+ end
199
+
200
+ # Sends a request to Stripe REST API
201
+ def self.raw_request(method, url, params = {}, opts = {}, base_address: :api)
202
+ req = RawRequest.new
203
+ req.execute(method, url, base_address: base_address, params: params, opts: opts,
204
+ usage: ["raw_request"])
205
+ end
206
+
207
+ def self.deserialize(data, api_mode: :v1)
208
+ data = JSON.parse(data) if data.is_a?(String)
209
+ Util.convert_to_stripe_object(data, {}, api_mode: api_mode)
210
+ end
211
+ class << self
212
+ extend Gem::Deprecate
213
+ deprecate :raw_request, "StripeClient#raw_request", 2024, 9
214
+ deprecate :deserialize, "StripeClient#deserialize", 2024, 9
215
+ end
162
216
  end
163
217
 
164
218
  Stripe.log_level = ENV["STRIPE_LOG"] unless ENV["STRIPE_LOG"].nil?
@@ -13,5 +13,18 @@ module Stripe
13
13
  .returns(::Stripe::V2::Core::EventNotification)
14
14
  end
15
15
  def parse_event_notification(payload, sig_header, secret, tolerance:); end
16
+
17
+ sig do
18
+ params(
19
+ webhook_secret: String,
20
+ blk: T.proc.params(
21
+ event_notification: ::Stripe::V2::Core::EventNotification,
22
+ client: ::Stripe::StripeClient,
23
+ details: ::Stripe::UnhandledNotificationDetails
24
+ ).void
25
+ )
26
+ .returns(::Stripe::StripeEventNotificationHandler)
27
+ end
28
+ def notification_handler(webhook_secret, &blk); end
16
29
  end
17
30
  end