stripe 18.0.0 → 18.1.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 (487) 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 +209 -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_updated_event.rb +44 -0
  49. data/lib/stripe/events/v2_money_management_received_credit_available_event.rb +61 -0
  50. data/lib/stripe/events/v2_money_management_received_credit_failed_event.rb +44 -0
  51. data/lib/stripe/events/v2_money_management_received_credit_returned_event.rb +44 -0
  52. data/lib/stripe/events/v2_money_management_received_credit_succeeded_event.rb +44 -0
  53. data/lib/stripe/events/v2_money_management_received_debit_canceled_event.rb +44 -0
  54. data/lib/stripe/events/v2_money_management_received_debit_failed_event.rb +44 -0
  55. data/lib/stripe/events/v2_money_management_received_debit_pending_event.rb +44 -0
  56. data/lib/stripe/events/v2_money_management_received_debit_succeeded_event.rb +44 -0
  57. data/lib/stripe/events/v2_money_management_received_debit_updated_event.rb +44 -0
  58. data/lib/stripe/events/v2_money_management_transaction_created_event.rb +61 -0
  59. data/lib/stripe/events/v2_money_management_transaction_updated_event.rb +44 -0
  60. data/lib/stripe/object_types.rb +54 -0
  61. data/lib/stripe/params/account_create_params.rb +317 -1
  62. data/lib/stripe/params/account_notice_list_params.rb +25 -0
  63. data/lib/stripe/params/account_notice_retrieve_params.rb +13 -0
  64. data/lib/stripe/params/account_notice_update_params.rb +36 -0
  65. data/lib/stripe/params/account_session_create_params.rb +226 -1
  66. data/lib/stripe/params/account_update_params.rb +279 -0
  67. data/lib/stripe/params/billing/analytics/meter_usage_retrieve_params.rb +65 -0
  68. data/lib/stripe/params/billing/credit_balance_summary_retrieve_params.rb +4 -1
  69. data/lib/stripe/params/billing/credit_balance_transaction_list_params.rb +4 -0
  70. data/lib/stripe/params/billing/credit_grant_create_params.rb +4 -0
  71. data/lib/stripe/params/billing/credit_grant_list_params.rb +4 -0
  72. data/lib/stripe/params/billing_portal/session_create_params.rb +4 -0
  73. data/lib/stripe/params/capital/financing_offer_list_params.rb +58 -0
  74. data/lib/stripe/params/capital/financing_offer_mark_delivered_params.rb +15 -0
  75. data/lib/stripe/params/capital/financing_offer_retrieve_params.rb +15 -0
  76. data/lib/stripe/params/capital/financing_summary_retrieve_params.rb +15 -0
  77. data/lib/stripe/params/capital/financing_transaction_list_params.rb +45 -0
  78. data/lib/stripe/params/capital/financing_transaction_retrieve_params.rb +15 -0
  79. data/lib/stripe/params/charge_capture_params.rb +1648 -0
  80. data/lib/stripe/params/charge_update_params.rb +1648 -0
  81. data/lib/stripe/params/checkout/session_create_params.rb +193 -3
  82. data/lib/stripe/params/checkout/session_list_params.rb +4 -0
  83. data/lib/stripe/params/checkout/session_update_params.rb +288 -1
  84. data/lib/stripe/params/confirmation_token_create_params.rb +97 -0
  85. data/lib/stripe/params/coupon_create_params.rb +17 -1
  86. data/lib/stripe/params/credit_note_list_params.rb +4 -0
  87. data/lib/stripe/params/customer_session_create_params.rb +36 -2
  88. data/lib/stripe/params/dispute_update_params.rb +10 -1
  89. data/lib/stripe/params/external_account_create_params.rb +134 -0
  90. data/lib/stripe/params/external_account_delete_params.rb +6 -0
  91. data/lib/stripe/params/external_account_list_params.rb +25 -0
  92. data/lib/stripe/params/external_account_retrieve_params.rb +13 -0
  93. data/lib/stripe/params/external_account_update_params.rb +91 -0
  94. data/lib/stripe/params/financial_connections/account_inferred_balance_list_params.rb +24 -0
  95. data/lib/stripe/params/financial_connections/account_list_params.rb +4 -1
  96. data/lib/stripe/params/financial_connections/institution_list_params.rb +24 -0
  97. data/lib/stripe/params/financial_connections/institution_retrieve_params.rb +15 -0
  98. data/lib/stripe/params/financial_connections/session_create_params.rb +34 -2
  99. data/lib/stripe/params/fx_quote_create_params.rb +73 -0
  100. data/lib/stripe/params/fx_quote_list_params.rb +22 -0
  101. data/lib/stripe/params/fx_quote_retrieve_params.rb +13 -0
  102. data/lib/stripe/params/identity/verification_session_create_params.rb +4 -0
  103. data/lib/stripe/params/identity/verification_session_list_params.rb +4 -0
  104. data/lib/stripe/params/invoice_add_lines_params.rb +33 -1
  105. data/lib/stripe/params/invoice_attach_payment_params.rb +43 -1
  106. data/lib/stripe/params/invoice_create_params.rb +112 -2
  107. data/lib/stripe/params/invoice_create_preview_params.rb +826 -9
  108. data/lib/stripe/params/invoice_item_create_params.rb +37 -1
  109. data/lib/stripe/params/invoice_item_list_params.rb +4 -0
  110. data/lib/stripe/params/invoice_item_update_params.rb +33 -1
  111. data/lib/stripe/params/invoice_line_item_update_params.rb +33 -1
  112. data/lib/stripe/params/invoice_list_params.rb +4 -0
  113. data/lib/stripe/params/invoice_update_lines_params.rb +33 -1
  114. data/lib/stripe/params/invoice_update_params.rb +108 -2
  115. data/lib/stripe/params/issuing/cardholder_create_params.rb +2 -1
  116. data/lib/stripe/params/issuing/credit_underwriting_record_correct_params.rb +163 -0
  117. data/lib/stripe/params/issuing/credit_underwriting_record_create_from_application_params.rb +50 -0
  118. data/lib/stripe/params/issuing/credit_underwriting_record_create_from_proactive_review_params.rb +128 -0
  119. data/lib/stripe/params/issuing/credit_underwriting_record_list_params.rb +24 -0
  120. data/lib/stripe/params/issuing/credit_underwriting_record_report_decision_params.rb +86 -0
  121. data/lib/stripe/params/issuing/credit_underwriting_record_retrieve_params.rb +15 -0
  122. data/lib/stripe/params/issuing/dispute_settlement_detail_list_params.rb +33 -0
  123. data/lib/stripe/params/issuing/dispute_settlement_detail_retrieve_params.rb +15 -0
  124. data/lib/stripe/params/issuing/fraud_liability_debit_list_params.rb +44 -0
  125. data/lib/stripe/params/issuing/fraud_liability_debit_retrieve_params.rb +15 -0
  126. data/lib/stripe/params/issuing/transaction_list_params.rb +4 -0
  127. data/lib/stripe/params/mandate_list_params.rb +39 -0
  128. data/lib/stripe/params/margin_create_params.rb +25 -0
  129. data/lib/stripe/params/margin_list_params.rb +25 -0
  130. data/lib/stripe/params/margin_retrieve_params.rb +13 -0
  131. data/lib/stripe/params/margin_update_params.rb +22 -0
  132. data/lib/stripe/params/order_cancel_params.rb +13 -0
  133. data/lib/stripe/params/order_create_params.rb +2061 -0
  134. data/lib/stripe/params/order_line_item_list_params.rb +22 -0
  135. data/lib/stripe/params/order_list_line_items_params.rb +22 -0
  136. data/lib/stripe/params/order_list_params.rb +25 -0
  137. data/lib/stripe/params/order_reopen_params.rb +13 -0
  138. data/lib/stripe/params/order_retrieve_params.rb +13 -0
  139. data/lib/stripe/params/order_submit_params.rb +16 -0
  140. data/lib/stripe/params/order_update_params.rb +2065 -0
  141. data/lib/stripe/params/payment_intent_capture_params.rb +1627 -1
  142. data/lib/stripe/params/payment_intent_confirm_params.rb +3134 -100
  143. data/lib/stripe/params/payment_intent_create_params.rb +3126 -84
  144. data/lib/stripe/params/payment_intent_decrement_authorization_params.rb +73 -0
  145. data/lib/stripe/params/payment_intent_increment_authorization_params.rb +21 -0
  146. data/lib/stripe/params/payment_intent_list_params.rb +4 -0
  147. data/lib/stripe/params/payment_intent_trigger_action_params.rb +27 -0
  148. data/lib/stripe/params/payment_intent_update_params.rb +3158 -85
  149. data/lib/stripe/params/payment_method_attach_params.rb +4 -1
  150. data/lib/stripe/params/payment_method_configuration_create_params.rb +126 -0
  151. data/lib/stripe/params/payment_method_configuration_update_params.rb +126 -0
  152. data/lib/stripe/params/payment_method_create_params.rb +97 -0
  153. data/lib/stripe/params/payment_method_list_params.rb +8 -0
  154. data/lib/stripe/params/payment_method_update_params.rb +19 -0
  155. data/lib/stripe/params/price_update_params.rb +19 -0
  156. data/lib/stripe/params/privacy/redaction_job_cancel_params.rb +15 -0
  157. data/lib/stripe/params/privacy/redaction_job_create_params.rb +67 -0
  158. data/lib/stripe/params/privacy/redaction_job_list_params.rb +27 -0
  159. data/lib/stripe/params/privacy/redaction_job_retrieve_params.rb +15 -0
  160. data/lib/stripe/params/privacy/redaction_job_run_params.rb +15 -0
  161. data/lib/stripe/params/privacy/redaction_job_update_params.rb +18 -0
  162. data/lib/stripe/params/privacy/redaction_job_validate_params.rb +15 -0
  163. data/lib/stripe/params/privacy/redaction_job_validation_error_list_params.rb +24 -0
  164. data/lib/stripe/params/promotion_code_create_params.rb +4 -0
  165. data/lib/stripe/params/promotion_code_list_params.rb +4 -0
  166. data/lib/stripe/params/quote_create_params.rb +805 -3
  167. data/lib/stripe/params/quote_line_list_params.rb +22 -0
  168. data/lib/stripe/params/quote_list_lines_params.rb +22 -0
  169. data/lib/stripe/params/quote_list_params.rb +8 -0
  170. data/lib/stripe/params/quote_list_preview_invoice_lines_params.rb +22 -0
  171. data/lib/stripe/params/quote_mark_draft_params.rb +13 -0
  172. data/lib/stripe/params/quote_mark_stale_params.rb +16 -0
  173. data/lib/stripe/params/quote_preview_invoice_list_params.rb +22 -0
  174. data/lib/stripe/params/quote_preview_subscription_schedule_list_params.rb +22 -0
  175. data/lib/stripe/params/quote_reestimate_params.rb +13 -0
  176. data/lib/stripe/params/quote_update_params.rb +813 -4
  177. data/lib/stripe/params/setup_intent_confirm_params.rb +225 -3
  178. data/lib/stripe/params/setup_intent_create_params.rb +231 -3
  179. data/lib/stripe/params/setup_intent_list_params.rb +4 -0
  180. data/lib/stripe/params/setup_intent_update_params.rb +231 -3
  181. data/lib/stripe/params/subscription_attach_cadence_params.rb +16 -0
  182. data/lib/stripe/params/subscription_create_params.rb +259 -5
  183. data/lib/stripe/params/subscription_item_create_params.rb +46 -2
  184. data/lib/stripe/params/subscription_item_update_params.rb +29 -1
  185. data/lib/stripe/params/subscription_list_params.rb +4 -0
  186. data/lib/stripe/params/subscription_schedule_amend_params.rb +570 -0
  187. data/lib/stripe/params/subscription_schedule_create_params.rb +167 -5
  188. data/lib/stripe/params/subscription_schedule_list_params.rb +4 -0
  189. data/lib/stripe/params/subscription_schedule_update_params.rb +163 -5
  190. data/lib/stripe/params/subscription_update_params.rb +238 -4
  191. data/lib/stripe/params/tax/form_list_params.rb +51 -0
  192. data/lib/stripe/params/tax/form_pdf_params.rb +15 -0
  193. data/lib/stripe/params/tax/form_retrieve_params.rb +15 -0
  194. data/lib/stripe/params/tax_id_create_params.rb +4 -1
  195. data/lib/stripe/params/tax_id_list_params.rb +4 -1
  196. data/lib/stripe/params/terminal/configuration_create_params.rb +13 -0
  197. data/lib/stripe/params/terminal/configuration_update_params.rb +13 -0
  198. data/lib/stripe/params/terminal/reader_collected_data_retrieve_params.rb +15 -0
  199. data/lib/stripe/params/test_helpers/confirmation_token_create_params.rb +97 -0
  200. data/lib/stripe/params/test_helpers/treasury/received_credit_create_params.rb +25 -1
  201. data/lib/stripe/params/test_helpers/treasury/received_debit_create_params.rb +25 -1
  202. data/lib/stripe/params/transfer_create_params.rb +4 -0
  203. data/lib/stripe/params/treasury/financial_account_create_params.rb +8 -1
  204. data/lib/stripe/params/treasury/financial_account_features_update_params.rb +4 -1
  205. data/lib/stripe/params/treasury/financial_account_update_features_params.rb +4 -1
  206. data/lib/stripe/params/treasury/financial_account_update_params.rb +8 -1
  207. data/lib/stripe/params/treasury/outbound_transfer_create_params.rb +24 -0
  208. data/lib/stripe/params/treasury/received_credit_create_params.rb +25 -1
  209. data/lib/stripe/params/treasury/received_debit_create_params.rb +25 -1
  210. data/lib/stripe/params/v2/billing/bill_setting_create_params.rb +74 -0
  211. data/lib/stripe/params/v2/billing/bill_setting_list_params.rb +21 -0
  212. data/lib/stripe/params/v2/billing/bill_setting_retrieve_params.rb +10 -0
  213. data/lib/stripe/params/v2/billing/bill_setting_update_params.rb +80 -0
  214. data/lib/stripe/params/v2/billing/bill_settings/version_list_params.rb +19 -0
  215. data/lib/stripe/params/v2/billing/bill_settings/version_retrieve_params.rb +12 -0
  216. data/lib/stripe/params/v2/billing/cadence_cancel_params.rb +10 -0
  217. data/lib/stripe/params/v2/billing/cadence_create_params.rb +253 -0
  218. data/lib/stripe/params/v2/billing/cadence_list_params.rb +43 -0
  219. data/lib/stripe/params/v2/billing/cadence_retrieve_params.rb +17 -0
  220. data/lib/stripe/params/v2/billing/cadence_update_params.rb +75 -0
  221. data/lib/stripe/params/v2/billing/collection_setting_create_params.rb +223 -0
  222. data/lib/stripe/params/v2/billing/collection_setting_list_params.rb +21 -0
  223. data/lib/stripe/params/v2/billing/collection_setting_retrieve_params.rb +10 -0
  224. data/lib/stripe/params/v2/billing/collection_setting_update_params.rb +229 -0
  225. data/lib/stripe/params/v2/billing/collection_settings/version_list_params.rb +19 -0
  226. data/lib/stripe/params/v2/billing/collection_settings/version_retrieve_params.rb +12 -0
  227. data/lib/stripe/params/v2/billing/profile_create_params.rb +37 -0
  228. data/lib/stripe/params/v2/billing/profile_list_params.rb +40 -0
  229. data/lib/stripe/params/v2/billing/profile_retrieve_params.rb +10 -0
  230. data/lib/stripe/params/v2/billing/profile_update_params.rb +35 -0
  231. data/lib/stripe/params/v2/core/account_close_params.rb +17 -0
  232. data/lib/stripe/params/v2/core/account_create_params.rb +2341 -0
  233. data/lib/stripe/params/v2/core/account_link_create_params.rb +101 -0
  234. data/lib/stripe/params/v2/core/account_list_params.rb +23 -0
  235. data/lib/stripe/params/v2/core/account_retrieve_params.rb +17 -0
  236. data/lib/stripe/params/v2/core/account_token_create_params.rb +1001 -0
  237. data/lib/stripe/params/v2/core/account_token_retrieve_params.rb +10 -0
  238. data/lib/stripe/params/v2/core/account_update_params.rb +2387 -0
  239. data/lib/stripe/params/v2/core/accounts/person_create_params.rb +497 -0
  240. data/lib/stripe/params/v2/core/accounts/person_delete_params.rb +12 -0
  241. data/lib/stripe/params/v2/core/accounts/person_list_params.rb +19 -0
  242. data/lib/stripe/params/v2/core/accounts/person_retrieve_params.rb +12 -0
  243. data/lib/stripe/params/v2/core/accounts/person_token_create_params.rb +487 -0
  244. data/lib/stripe/params/v2/core/accounts/person_token_retrieve_params.rb +12 -0
  245. data/lib/stripe/params/v2/core/accounts/person_update_params.rb +497 -0
  246. data/lib/stripe/params/v2/core/vault/gb_bank_account_acknowledge_confirmation_of_payee_params.rb +12 -0
  247. data/lib/stripe/params/v2/core/vault/gb_bank_account_archive_params.rb +12 -0
  248. data/lib/stripe/params/v2/core/vault/gb_bank_account_create_params.rb +50 -0
  249. data/lib/stripe/params/v2/core/vault/gb_bank_account_initiate_confirmation_of_payee_params.rb +22 -0
  250. data/lib/stripe/params/v2/core/vault/gb_bank_account_list_params.rb +19 -0
  251. data/lib/stripe/params/v2/core/vault/gb_bank_account_retrieve_params.rb +12 -0
  252. data/lib/stripe/params/v2/core/vault/us_bank_account_archive_params.rb +12 -0
  253. data/lib/stripe/params/v2/core/vault/us_bank_account_confirm_microdeposits_params.rb +22 -0
  254. data/lib/stripe/params/v2/core/vault/us_bank_account_create_params.rb +33 -0
  255. data/lib/stripe/params/v2/core/vault/us_bank_account_list_params.rb +22 -0
  256. data/lib/stripe/params/v2/core/vault/us_bank_account_retrieve_params.rb +12 -0
  257. data/lib/stripe/params/v2/core/vault/us_bank_account_send_microdeposits_params.rb +12 -0
  258. data/lib/stripe/params/v2/core/vault/us_bank_account_update_params.rb +22 -0
  259. data/lib/stripe/params/v2/money_management/adjustment_list_params.rb +48 -0
  260. data/lib/stripe/params/v2/money_management/adjustment_retrieve_params.rb +10 -0
  261. data/lib/stripe/params/v2/money_management/financial_account_close_params.rb +28 -0
  262. data/lib/stripe/params/v2/money_management/financial_account_create_params.rb +34 -0
  263. data/lib/stripe/params/v2/money_management/financial_account_list_params.rb +20 -0
  264. data/lib/stripe/params/v2/money_management/financial_account_retrieve_params.rb +10 -0
  265. data/lib/stripe/params/v2/money_management/financial_account_update_params.rb +20 -0
  266. data/lib/stripe/params/v2/money_management/financial_address_create_params.rb +20 -0
  267. data/lib/stripe/params/v2/money_management/financial_address_list_params.rb +23 -0
  268. data/lib/stripe/params/v2/money_management/financial_address_retrieve_params.rb +17 -0
  269. data/lib/stripe/params/v2/money_management/inbound_transfer_create_params.rb +50 -0
  270. data/lib/stripe/params/v2/money_management/inbound_transfer_list_params.rb +44 -0
  271. data/lib/stripe/params/v2/money_management/inbound_transfer_retrieve_params.rb +10 -0
  272. data/lib/stripe/params/v2/money_management/outbound_payment_cancel_params.rb +10 -0
  273. data/lib/stripe/params/v2/money_management/outbound_payment_create_params.rb +98 -0
  274. data/lib/stripe/params/v2/money_management/outbound_payment_list_params.rb +52 -0
  275. data/lib/stripe/params/v2/money_management/outbound_payment_quote_create_params.rb +67 -0
  276. data/lib/stripe/params/v2/money_management/outbound_payment_quote_retrieve_params.rb +10 -0
  277. data/lib/stripe/params/v2/money_management/outbound_payment_retrieve_params.rb +10 -0
  278. data/lib/stripe/params/v2/money_management/outbound_setup_intent_cancel_params.rb +10 -0
  279. data/lib/stripe/params/v2/money_management/outbound_setup_intent_create_params.rb +85 -0
  280. data/lib/stripe/params/v2/money_management/outbound_setup_intent_list_params.rb +17 -0
  281. data/lib/stripe/params/v2/money_management/outbound_setup_intent_retrieve_params.rb +10 -0
  282. data/lib/stripe/params/v2/money_management/outbound_setup_intent_update_params.rb +80 -0
  283. data/lib/stripe/params/v2/money_management/outbound_transfer_cancel_params.rb +10 -0
  284. data/lib/stripe/params/v2/money_management/outbound_transfer_create_params.rb +77 -0
  285. data/lib/stripe/params/v2/money_management/outbound_transfer_list_params.rb +48 -0
  286. data/lib/stripe/params/v2/money_management/outbound_transfer_retrieve_params.rb +10 -0
  287. data/lib/stripe/params/v2/money_management/payout_method_archive_params.rb +10 -0
  288. data/lib/stripe/params/v2/money_management/payout_method_list_params.rb +31 -0
  289. data/lib/stripe/params/v2/money_management/payout_method_retrieve_params.rb +10 -0
  290. data/lib/stripe/params/v2/money_management/payout_method_unarchive_params.rb +10 -0
  291. data/lib/stripe/params/v2/money_management/payout_methods_bank_account_spec_retrieve_params.rb +17 -0
  292. data/lib/stripe/params/v2/money_management/received_credit_list_params.rb +44 -0
  293. data/lib/stripe/params/v2/money_management/received_credit_retrieve_params.rb +10 -0
  294. data/lib/stripe/params/v2/money_management/received_debit_list_params.rb +17 -0
  295. data/lib/stripe/params/v2/money_management/received_debit_retrieve_params.rb +10 -0
  296. data/lib/stripe/params/v2/money_management/transaction_entry_list_params.rb +43 -0
  297. data/lib/stripe/params/v2/money_management/transaction_entry_retrieve_params.rb +10 -0
  298. data/lib/stripe/params/v2/money_management/transaction_list_params.rb +47 -0
  299. data/lib/stripe/params/v2/money_management/transaction_retrieve_params.rb +10 -0
  300. data/lib/stripe/params/v2/test_helpers/financial_address_credit_params.rb +23 -0
  301. data/lib/stripe/params/v2/test_helpers/financial_address_generate_microdeposits_params.rb +10 -0
  302. data/lib/stripe/params.rb +161 -0
  303. data/lib/stripe/resources/account.rb +184 -1
  304. data/lib/stripe/resources/account_notice.rb +94 -0
  305. data/lib/stripe/resources/account_session.rb +81 -0
  306. data/lib/stripe/resources/billing/analytics/meter_usage.rb +33 -0
  307. data/lib/stripe/resources/billing/analytics/meter_usage_row.rb +38 -0
  308. data/lib/stripe/resources/billing/credit_balance_summary.rb +2 -0
  309. data/lib/stripe/resources/billing/credit_grant.rb +2 -0
  310. data/lib/stripe/resources/billing_portal/session.rb +2 -0
  311. data/lib/stripe/resources/capital/financing_offer.rb +142 -0
  312. data/lib/stripe/resources/capital/financing_summary.rb +79 -0
  313. data/lib/stripe/resources/capital/financing_transaction.rb +99 -0
  314. data/lib/stripe/resources/card.rb +2 -0
  315. data/lib/stripe/resources/cash_balance.rb +2 -0
  316. data/lib/stripe/resources/charge.rb +237 -1
  317. data/lib/stripe/resources/checkout/session.rb +154 -4
  318. data/lib/stripe/resources/confirmation_token.rb +155 -0
  319. data/lib/stripe/resources/coupon.rb +26 -1
  320. data/lib/stripe/resources/credit_note.rb +2 -0
  321. data/lib/stripe/resources/credit_note_line_item.rb +18 -0
  322. data/lib/stripe/resources/customer.rb +2 -0
  323. data/lib/stripe/resources/customer_balance_transaction.rb +2 -0
  324. data/lib/stripe/resources/customer_cash_balance_transaction.rb +2 -0
  325. data/lib/stripe/resources/customer_session.rb +38 -0
  326. data/lib/stripe/resources/discount.rb +2 -0
  327. data/lib/stripe/resources/dispute.rb +22 -0
  328. data/lib/stripe/resources/event.rb +64 -1
  329. data/lib/stripe/resources/financial_connections/account.rb +27 -0
  330. data/lib/stripe/resources/financial_connections/account_inferred_balance.rb +35 -0
  331. data/lib/stripe/resources/financial_connections/institution.rb +127 -0
  332. data/lib/stripe/resources/financial_connections/session.rb +67 -1
  333. data/lib/stripe/resources/fx_quote.rb +147 -0
  334. data/lib/stripe/resources/identity/verification_session.rb +2 -0
  335. data/lib/stripe/resources/invoice.rb +152 -1
  336. data/lib/stripe/resources/invoice_item.rb +4 -0
  337. data/lib/stripe/resources/invoice_line_item.rb +40 -0
  338. data/lib/stripe/resources/issuing/credit_underwriting_record.rb +263 -0
  339. data/lib/stripe/resources/issuing/dispute_settlement_detail.rb +71 -0
  340. data/lib/stripe/resources/issuing/fraud_liability_debit.rb +51 -0
  341. data/lib/stripe/resources/issuing/settlement.rb +61 -0
  342. data/lib/stripe/resources/issuing/transaction.rb +2 -0
  343. data/lib/stripe/resources/line_item.rb +68 -1
  344. data/lib/stripe/resources/mandate.rb +71 -0
  345. data/lib/stripe/resources/margin.rb +64 -0
  346. data/lib/stripe/resources/order.rb +987 -0
  347. data/lib/stripe/resources/payment_attempt_record.rb +203 -1
  348. data/lib/stripe/resources/payment_intent.rb +749 -4
  349. data/lib/stripe/resources/payment_method.rb +157 -0
  350. data/lib/stripe/resources/payment_method_configuration.rb +204 -0
  351. data/lib/stripe/resources/payment_record.rb +203 -1
  352. data/lib/stripe/resources/price.rb +20 -0
  353. data/lib/stripe/resources/privacy/redaction_job.rb +187 -0
  354. data/lib/stripe/resources/privacy/redaction_job_validation_error.rb +49 -0
  355. data/lib/stripe/resources/promotion_code.rb +2 -0
  356. data/lib/stripe/resources/quote.rb +571 -2
  357. data/lib/stripe/resources/quote_line.rb +521 -0
  358. data/lib/stripe/resources/quote_preview_invoice.rb +1150 -0
  359. data/lib/stripe/resources/quote_preview_subscription_schedule.rb +732 -0
  360. data/lib/stripe/resources/refund.rb +18 -0
  361. data/lib/stripe/resources/setup_attempt.rb +63 -0
  362. data/lib/stripe/resources/setup_intent.rb +132 -1
  363. data/lib/stripe/resources/source.rb +38 -0
  364. data/lib/stripe/resources/subscription.rb +232 -0
  365. data/lib/stripe/resources/subscription_item.rb +20 -1
  366. data/lib/stripe/resources/subscription_schedule.rb +198 -3
  367. data/lib/stripe/resources/tax/form.rb +264 -0
  368. data/lib/stripe/resources/tax_id.rb +4 -0
  369. data/lib/stripe/resources/terminal/configuration.rb +16 -0
  370. data/lib/stripe/resources/terminal/reader.rb +8 -0
  371. data/lib/stripe/resources/terminal/reader_collected_data.rb +47 -0
  372. data/lib/stripe/resources/transfer.rb +2 -0
  373. data/lib/stripe/resources/treasury/financial_account.rb +2 -0
  374. data/lib/stripe/resources/treasury/financial_account_features.rb +2 -0
  375. data/lib/stripe/resources/treasury/outbound_transfer.rb +30 -0
  376. data/lib/stripe/resources/treasury/received_credit.rb +30 -0
  377. data/lib/stripe/resources/treasury/received_debit.rb +32 -0
  378. data/lib/stripe/resources/v2/billing/bill_setting.rb +102 -0
  379. data/lib/stripe/resources/v2/billing/bill_setting_version.rb +90 -0
  380. data/lib/stripe/resources/v2/billing/cadence.rb +609 -0
  381. data/lib/stripe/resources/v2/billing/collection_setting.rb +274 -0
  382. data/lib/stripe/resources/v2/billing/collection_setting_version.rb +262 -0
  383. data/lib/stripe/resources/v2/billing/profile.rb +46 -0
  384. data/lib/stripe/resources/v2/core/account.rb +4209 -0
  385. data/lib/stripe/resources/v2/core/account_link.rb +123 -0
  386. data/lib/stripe/resources/v2/core/account_person.rb +477 -0
  387. data/lib/stripe/resources/v2/core/account_person_token.rb +37 -0
  388. data/lib/stripe/resources/v2/core/account_token.rb +37 -0
  389. data/lib/stripe/resources/v2/core/event.rb +2 -0
  390. data/lib/stripe/resources/v2/core/vault/gb_bank_account.rb +114 -0
  391. data/lib/stripe/resources/v2/core/vault/us_bank_account.rb +81 -0
  392. data/lib/stripe/resources/v2/financial_address_credit_simulation.rb +28 -0
  393. data/lib/stripe/resources/v2/financial_address_generated_microdeposits.rb +30 -0
  394. data/lib/stripe/resources/v2/money_management/adjustment.rb +67 -0
  395. data/lib/stripe/resources/v2/money_management/financial_account.rb +140 -0
  396. data/lib/stripe/resources/v2/money_management/financial_address.rb +132 -0
  397. data/lib/stripe/resources/v2/money_management/inbound_transfer.rb +148 -0
  398. data/lib/stripe/resources/v2/money_management/outbound_payment.rb +217 -0
  399. data/lib/stripe/resources/v2/money_management/outbound_payment_quote.rb +144 -0
  400. data/lib/stripe/resources/v2/money_management/outbound_setup_intent.rb +69 -0
  401. data/lib/stripe/resources/v2/money_management/outbound_transfer.rb +196 -0
  402. data/lib/stripe/resources/v2/money_management/payout_method.rb +109 -0
  403. data/lib/stripe/resources/v2/money_management/payout_methods_bank_account_spec.rb +81 -0
  404. data/lib/stripe/resources/v2/money_management/received_credit.rb +228 -0
  405. data/lib/stripe/resources/v2/money_management/received_debit.rb +136 -0
  406. data/lib/stripe/resources/v2/money_management/transaction.rb +116 -0
  407. data/lib/stripe/resources/v2/money_management/transaction_entry.rb +105 -0
  408. data/lib/stripe/resources.rb +105 -0
  409. data/lib/stripe/services/account_notice_service.rb +39 -0
  410. data/lib/stripe/services/billing/analytics/meter_usage_service.rb +21 -0
  411. data/lib/stripe/services/billing/analytics_service.rb +15 -0
  412. data/lib/stripe/services/billing_service.rb +2 -1
  413. data/lib/stripe/services/capital/financing_offer_service.rb +42 -0
  414. data/lib/stripe/services/capital/financing_summary_service.rb +19 -0
  415. data/lib/stripe/services/capital/financing_transaction_service.rb +31 -0
  416. data/lib/stripe/services/capital_service.rb +15 -0
  417. data/lib/stripe/services/external_account_service.rb +68 -0
  418. data/lib/stripe/services/financial_connections/account_inferred_balance_service.rb +19 -0
  419. data/lib/stripe/services/financial_connections/account_service.rb +3 -1
  420. data/lib/stripe/services/financial_connections/institution_service.rb +30 -0
  421. data/lib/stripe/services/financial_connections_service.rb +2 -1
  422. data/lib/stripe/services/fx_quote_service.rb +27 -0
  423. data/lib/stripe/services/issuing/credit_underwriting_record_service.rb +74 -0
  424. data/lib/stripe/services/issuing/dispute_settlement_detail_service.rb +30 -0
  425. data/lib/stripe/services/issuing/fraud_liability_debit_service.rb +30 -0
  426. data/lib/stripe/services/issuing_service.rb +5 -1
  427. data/lib/stripe/services/mandate_service.rb +5 -0
  428. data/lib/stripe/services/margin_service.rb +50 -0
  429. data/lib/stripe/services/order_line_item_service.rb +17 -0
  430. data/lib/stripe/services/order_service.rb +78 -0
  431. data/lib/stripe/services/payment_intent_service.rb +37 -0
  432. data/lib/stripe/services/privacy/redaction_job_service.rb +104 -0
  433. data/lib/stripe/services/privacy/redaction_job_validation_error_service.rb +19 -0
  434. data/lib/stripe/services/privacy_service.rb +13 -0
  435. data/lib/stripe/services/quote_line_service.rb +17 -0
  436. data/lib/stripe/services/quote_preview_invoice_service.rb +17 -0
  437. data/lib/stripe/services/quote_preview_subscription_schedule_service.rb +17 -0
  438. data/lib/stripe/services/quote_service.rb +49 -1
  439. data/lib/stripe/services/subscription_schedule_service.rb +11 -0
  440. data/lib/stripe/services/subscription_service.rb +11 -0
  441. data/lib/stripe/services/tax/form_service.rb +37 -0
  442. data/lib/stripe/services/tax_service.rb +2 -1
  443. data/lib/stripe/services/terminal/reader_collected_data_service.rb +19 -0
  444. data/lib/stripe/services/terminal_service.rb +2 -1
  445. data/lib/stripe/services/v1_services.rb +8 -1
  446. data/lib/stripe/services/v2/billing/bill_setting_service.rb +61 -0
  447. data/lib/stripe/services/v2/billing/bill_settings/version_service.rb +34 -0
  448. data/lib/stripe/services/v2/billing/cadence_service.rb +65 -0
  449. data/lib/stripe/services/v2/billing/collection_setting_service.rb +61 -0
  450. data/lib/stripe/services/v2/billing/collection_settings/version_service.rb +34 -0
  451. data/lib/stripe/services/v2/billing/profile_service.rb +54 -0
  452. data/lib/stripe/services/v2/billing_service.rb +5 -1
  453. data/lib/stripe/services/v2/core/account_link_service.rb +21 -0
  454. data/lib/stripe/services/v2/core/account_service.rb +77 -0
  455. data/lib/stripe/services/v2/core/account_token_service.rb +32 -0
  456. data/lib/stripe/services/v2/core/accounts/person_service.rb +67 -0
  457. data/lib/stripe/services/v2/core/accounts/person_token_service.rb +34 -0
  458. data/lib/stripe/services/v2/core/vault/gb_bank_account_service.rb +85 -0
  459. data/lib/stripe/services/v2/core/vault/us_bank_account_service.rb +101 -0
  460. data/lib/stripe/services/v2/core/vault_service.rb +18 -0
  461. data/lib/stripe/services/v2/core_service.rb +5 -1
  462. data/lib/stripe/services/v2/money_management/adjustment_service.rb +32 -0
  463. data/lib/stripe/services/v2/money_management/financial_account_service.rb +70 -0
  464. data/lib/stripe/services/v2/money_management/financial_address_service.rb +46 -0
  465. data/lib/stripe/services/v2/money_management/inbound_transfer_service.rb +45 -0
  466. data/lib/stripe/services/v2/money_management/outbound_payment_quote_service.rb +34 -0
  467. data/lib/stripe/services/v2/money_management/outbound_payment_service.rb +62 -0
  468. data/lib/stripe/services/v2/money_management/outbound_setup_intent_service.rb +73 -0
  469. data/lib/stripe/services/v2/money_management/outbound_transfer_service.rb +60 -0
  470. data/lib/stripe/services/v2/money_management/payout_method_service.rb +63 -0
  471. data/lib/stripe/services/v2/money_management/payout_methods_bank_account_spec_service.rb +23 -0
  472. data/lib/stripe/services/v2/money_management/received_credit_service.rb +32 -0
  473. data/lib/stripe/services/v2/money_management/received_debit_service.rb +32 -0
  474. data/lib/stripe/services/v2/money_management/transaction_entry_service.rb +32 -0
  475. data/lib/stripe/services/v2/money_management/transaction_service.rb +32 -0
  476. data/lib/stripe/services/v2/money_management_service.rb +31 -0
  477. data/lib/stripe/services/v2/test_helper_service.rb +15 -0
  478. data/lib/stripe/services/v2/test_helpers/financial_address_service.rb +36 -0
  479. data/lib/stripe/services/v2_services.rb +3 -1
  480. data/lib/stripe/services.rb +56 -0
  481. data/lib/stripe/stripe_configuration.rb +3 -1
  482. data/lib/stripe/stripe_object.rb +1 -1
  483. data/lib/stripe/util.rb +7 -1
  484. data/lib/stripe/version.rb +1 -1
  485. data/lib/stripe.rb +53 -0
  486. data/rbi/stripe.rbi +156300 -79954
  487. metadata +325 -3
@@ -239,20 +239,1646 @@ module Stripe
239
239
  end
240
240
 
241
241
  class PaymentDetails < ::Stripe::RequestParams
242
+ class CarRental < ::Stripe::RequestParams
243
+ class Affiliate < ::Stripe::RequestParams
244
+ # The name of the affiliate that originated the purchase.
245
+ attr_accessor :name
246
+
247
+ def initialize(name: nil)
248
+ @name = name
249
+ end
250
+ end
251
+
252
+ class Delivery < ::Stripe::RequestParams
253
+ class Recipient < ::Stripe::RequestParams
254
+ # The email of the recipient the ticket is delivered to.
255
+ attr_accessor :email
256
+ # The name of the recipient the ticket is delivered to.
257
+ attr_accessor :name
258
+ # The phone number of the recipient the ticket is delivered to.
259
+ attr_accessor :phone
260
+
261
+ def initialize(email: nil, name: nil, phone: nil)
262
+ @email = email
263
+ @name = name
264
+ @phone = phone
265
+ end
266
+ end
267
+ # The delivery method for the payment
268
+ attr_accessor :mode
269
+ # Details of the recipient.
270
+ attr_accessor :recipient
271
+
272
+ def initialize(mode: nil, recipient: nil)
273
+ @mode = mode
274
+ @recipient = recipient
275
+ end
276
+ end
277
+
278
+ class Distance < ::Stripe::RequestParams
279
+ # Distance traveled.
280
+ attr_accessor :amount
281
+ # Unit of measurement for the distance traveled. One of `miles` or `kilometers`.
282
+ attr_accessor :unit
283
+
284
+ def initialize(amount: nil, unit: nil)
285
+ @amount = amount
286
+ @unit = unit
287
+ end
288
+ end
289
+
290
+ class Driver < ::Stripe::RequestParams
291
+ # Driver's identification number.
292
+ attr_accessor :driver_identification_number
293
+ # Driver's tax number.
294
+ attr_accessor :driver_tax_number
295
+ # Full name of the person or entity on the car reservation.
296
+ attr_accessor :name
297
+
298
+ def initialize(driver_identification_number: nil, driver_tax_number: nil, name: nil)
299
+ @driver_identification_number = driver_identification_number
300
+ @driver_tax_number = driver_tax_number
301
+ @name = name
302
+ end
303
+ end
304
+
305
+ class PickupAddress < ::Stripe::RequestParams
306
+ # City, district, suburb, town, or village.
307
+ attr_accessor :city
308
+ # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
309
+ attr_accessor :country
310
+ # Address line 1, such as the street, PO Box, or company name.
311
+ attr_accessor :line1
312
+ # Address line 2, such as the apartment, suite, unit, or building.
313
+ attr_accessor :line2
314
+ # ZIP or postal code.
315
+ attr_accessor :postal_code
316
+ # State, county, province, or region.
317
+ attr_accessor :state
318
+
319
+ def initialize(
320
+ city: nil,
321
+ country: nil,
322
+ line1: nil,
323
+ line2: nil,
324
+ postal_code: nil,
325
+ state: nil
326
+ )
327
+ @city = city
328
+ @country = country
329
+ @line1 = line1
330
+ @line2 = line2
331
+ @postal_code = postal_code
332
+ @state = state
333
+ end
334
+ end
335
+
336
+ class ReturnAddress < ::Stripe::RequestParams
337
+ # City, district, suburb, town, or village.
338
+ attr_accessor :city
339
+ # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
340
+ attr_accessor :country
341
+ # Address line 1, such as the street, PO Box, or company name.
342
+ attr_accessor :line1
343
+ # Address line 2, such as the apartment, suite, unit, or building.
344
+ attr_accessor :line2
345
+ # ZIP or postal code.
346
+ attr_accessor :postal_code
347
+ # State, county, province, or region.
348
+ attr_accessor :state
349
+
350
+ def initialize(
351
+ city: nil,
352
+ country: nil,
353
+ line1: nil,
354
+ line2: nil,
355
+ postal_code: nil,
356
+ state: nil
357
+ )
358
+ @city = city
359
+ @country = country
360
+ @line1 = line1
361
+ @line2 = line2
362
+ @postal_code = postal_code
363
+ @state = state
364
+ end
365
+ end
366
+ # Affiliate details for this purchase.
367
+ attr_accessor :affiliate
368
+ # The booking number associated with the car rental.
369
+ attr_accessor :booking_number
370
+ # Class code of the car.
371
+ attr_accessor :car_class_code
372
+ # Make of the car.
373
+ attr_accessor :car_make
374
+ # Model of the car.
375
+ attr_accessor :car_model
376
+ # The name of the rental car company.
377
+ attr_accessor :company
378
+ # The customer service phone number of the car rental company.
379
+ attr_accessor :customer_service_phone_number
380
+ # Number of days the car is being rented.
381
+ attr_accessor :days_rented
382
+ # Delivery details for this purchase.
383
+ attr_accessor :delivery
384
+ # The details of the distance traveled during the rental period.
385
+ attr_accessor :distance
386
+ # The details of the passengers in the travel reservation
387
+ attr_accessor :drivers
388
+ # List of additional charges being billed.
389
+ attr_accessor :extra_charges
390
+ # Indicates if the customer did not keep nor cancel their booking.
391
+ attr_accessor :no_show
392
+ # Car pick-up address.
393
+ attr_accessor :pickup_address
394
+ # Car pick-up time. Measured in seconds since the Unix epoch.
395
+ attr_accessor :pickup_at
396
+ # Name of the pickup location.
397
+ attr_accessor :pickup_location_name
398
+ # Rental rate.
399
+ attr_accessor :rate_amount
400
+ # The frequency at which the rate amount is applied. One of `day`, `week` or `month`
401
+ attr_accessor :rate_interval
402
+ # The name of the person or entity renting the car.
403
+ attr_accessor :renter_name
404
+ # Car return address.
405
+ attr_accessor :return_address
406
+ # Car return time. Measured in seconds since the Unix epoch.
407
+ attr_accessor :return_at
408
+ # Name of the return location.
409
+ attr_accessor :return_location_name
410
+ # Indicates whether the goods or services are tax-exempt or tax is not collected.
411
+ attr_accessor :tax_exempt
412
+ # The vehicle identification number.
413
+ attr_accessor :vehicle_identification_number
414
+
415
+ def initialize(
416
+ affiliate: nil,
417
+ booking_number: nil,
418
+ car_class_code: nil,
419
+ car_make: nil,
420
+ car_model: nil,
421
+ company: nil,
422
+ customer_service_phone_number: nil,
423
+ days_rented: nil,
424
+ delivery: nil,
425
+ distance: nil,
426
+ drivers: nil,
427
+ extra_charges: nil,
428
+ no_show: nil,
429
+ pickup_address: nil,
430
+ pickup_at: nil,
431
+ pickup_location_name: nil,
432
+ rate_amount: nil,
433
+ rate_interval: nil,
434
+ renter_name: nil,
435
+ return_address: nil,
436
+ return_at: nil,
437
+ return_location_name: nil,
438
+ tax_exempt: nil,
439
+ vehicle_identification_number: nil
440
+ )
441
+ @affiliate = affiliate
442
+ @booking_number = booking_number
443
+ @car_class_code = car_class_code
444
+ @car_make = car_make
445
+ @car_model = car_model
446
+ @company = company
447
+ @customer_service_phone_number = customer_service_phone_number
448
+ @days_rented = days_rented
449
+ @delivery = delivery
450
+ @distance = distance
451
+ @drivers = drivers
452
+ @extra_charges = extra_charges
453
+ @no_show = no_show
454
+ @pickup_address = pickup_address
455
+ @pickup_at = pickup_at
456
+ @pickup_location_name = pickup_location_name
457
+ @rate_amount = rate_amount
458
+ @rate_interval = rate_interval
459
+ @renter_name = renter_name
460
+ @return_address = return_address
461
+ @return_at = return_at
462
+ @return_location_name = return_location_name
463
+ @tax_exempt = tax_exempt
464
+ @vehicle_identification_number = vehicle_identification_number
465
+ end
466
+ end
467
+
468
+ class CarRentalDatum < ::Stripe::RequestParams
469
+ class Affiliate < ::Stripe::RequestParams
470
+ # Affiliate partner code.
471
+ attr_accessor :code
472
+ # Name of affiliate partner.
473
+ attr_accessor :name
474
+
475
+ def initialize(code: nil, name: nil)
476
+ @code = code
477
+ @name = name
478
+ end
479
+ end
480
+
481
+ class Distance < ::Stripe::RequestParams
482
+ # Distance traveled.
483
+ attr_accessor :amount
484
+ # Unit of measurement for the distance traveled. One of `miles` or `kilometers`.
485
+ attr_accessor :unit
486
+
487
+ def initialize(amount: nil, unit: nil)
488
+ @amount = amount
489
+ @unit = unit
490
+ end
491
+ end
492
+
493
+ class Driver < ::Stripe::RequestParams
494
+ class DateOfBirth < ::Stripe::RequestParams
495
+ # Day of birth (1-31).
496
+ attr_accessor :day
497
+ # Month of birth (1-12).
498
+ attr_accessor :month
499
+ # Year of birth (must be greater than 1900).
500
+ attr_accessor :year
501
+
502
+ def initialize(day: nil, month: nil, year: nil)
503
+ @day = day
504
+ @month = month
505
+ @year = year
506
+ end
507
+ end
508
+ # Driver's date of birth.
509
+ attr_accessor :date_of_birth
510
+ # Driver's identification number.
511
+ attr_accessor :driver_identification_number
512
+ # Driver's tax number.
513
+ attr_accessor :driver_tax_number
514
+ # Driver's full name.
515
+ attr_accessor :name
516
+
517
+ def initialize(
518
+ date_of_birth: nil,
519
+ driver_identification_number: nil,
520
+ driver_tax_number: nil,
521
+ name: nil
522
+ )
523
+ @date_of_birth = date_of_birth
524
+ @driver_identification_number = driver_identification_number
525
+ @driver_tax_number = driver_tax_number
526
+ @name = name
527
+ end
528
+ end
529
+
530
+ class DropOff < ::Stripe::RequestParams
531
+ class Address < ::Stripe::RequestParams
532
+ # City, district, suburb, town, or village.
533
+ attr_accessor :city
534
+ # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
535
+ attr_accessor :country
536
+ # Address line 1, such as the street, PO Box, or company name.
537
+ attr_accessor :line1
538
+ # Address line 2, such as the apartment, suite, unit, or building.
539
+ attr_accessor :line2
540
+ # ZIP or postal code.
541
+ attr_accessor :postal_code
542
+ # State, county, province, or region.
543
+ attr_accessor :state
544
+
545
+ def initialize(
546
+ city: nil,
547
+ country: nil,
548
+ line1: nil,
549
+ line2: nil,
550
+ postal_code: nil,
551
+ state: nil
552
+ )
553
+ @city = city
554
+ @country = country
555
+ @line1 = line1
556
+ @line2 = line2
557
+ @postal_code = postal_code
558
+ @state = state
559
+ end
560
+ end
561
+ # Address of the rental location.
562
+ attr_accessor :address
563
+ # Location name.
564
+ attr_accessor :location_name
565
+ # Timestamp for the location.
566
+ attr_accessor :time
567
+
568
+ def initialize(address: nil, location_name: nil, time: nil)
569
+ @address = address
570
+ @location_name = location_name
571
+ @time = time
572
+ end
573
+ end
574
+
575
+ class Insurance < ::Stripe::RequestParams
576
+ # Amount of the insurance coverage in cents.
577
+ attr_accessor :amount
578
+ # Currency of the insurance amount.
579
+ attr_accessor :currency
580
+ # Name of the insurance company.
581
+ attr_accessor :insurance_company_name
582
+ # Type of insurance coverage.
583
+ attr_accessor :insurance_type
584
+
585
+ def initialize(
586
+ amount: nil,
587
+ currency: nil,
588
+ insurance_company_name: nil,
589
+ insurance_type: nil
590
+ )
591
+ @amount = amount
592
+ @currency = currency
593
+ @insurance_company_name = insurance_company_name
594
+ @insurance_type = insurance_type
595
+ end
596
+ end
597
+
598
+ class Pickup < ::Stripe::RequestParams
599
+ class Address < ::Stripe::RequestParams
600
+ # City, district, suburb, town, or village.
601
+ attr_accessor :city
602
+ # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
603
+ attr_accessor :country
604
+ # Address line 1, such as the street, PO Box, or company name.
605
+ attr_accessor :line1
606
+ # Address line 2, such as the apartment, suite, unit, or building.
607
+ attr_accessor :line2
608
+ # ZIP or postal code.
609
+ attr_accessor :postal_code
610
+ # State, county, province, or region.
611
+ attr_accessor :state
612
+
613
+ def initialize(
614
+ city: nil,
615
+ country: nil,
616
+ line1: nil,
617
+ line2: nil,
618
+ postal_code: nil,
619
+ state: nil
620
+ )
621
+ @city = city
622
+ @country = country
623
+ @line1 = line1
624
+ @line2 = line2
625
+ @postal_code = postal_code
626
+ @state = state
627
+ end
628
+ end
629
+ # Address of the rental location.
630
+ attr_accessor :address
631
+ # Location name.
632
+ attr_accessor :location_name
633
+ # Timestamp for the location.
634
+ attr_accessor :time
635
+
636
+ def initialize(address: nil, location_name: nil, time: nil)
637
+ @address = address
638
+ @location_name = location_name
639
+ @time = time
640
+ end
641
+ end
642
+
643
+ class Total < ::Stripe::RequestParams
644
+ class Discounts < ::Stripe::RequestParams
645
+ # Corporate client discount code.
646
+ attr_accessor :corporate_client_code
647
+ # Coupon code applied to the rental.
648
+ attr_accessor :coupon
649
+ # Maximum number of free miles or kilometers included.
650
+ attr_accessor :maximum_free_miles_or_kilometers
651
+
652
+ def initialize(
653
+ corporate_client_code: nil,
654
+ coupon: nil,
655
+ maximum_free_miles_or_kilometers: nil
656
+ )
657
+ @corporate_client_code = corporate_client_code
658
+ @coupon = coupon
659
+ @maximum_free_miles_or_kilometers = maximum_free_miles_or_kilometers
660
+ end
661
+ end
662
+
663
+ class ExtraCharge < ::Stripe::RequestParams
664
+ # Amount of the extra charge in cents.
665
+ attr_accessor :amount
666
+ # Type of extra charge.
667
+ attr_accessor :type
668
+
669
+ def initialize(amount: nil, type: nil)
670
+ @amount = amount
671
+ @type = type
672
+ end
673
+ end
674
+
675
+ class Tax < ::Stripe::RequestParams
676
+ class Tax < ::Stripe::RequestParams
677
+ # Tax amount.
678
+ attr_accessor :amount
679
+ # Tax rate applied.
680
+ attr_accessor :rate
681
+ # Type of tax applied.
682
+ attr_accessor :type
683
+
684
+ def initialize(amount: nil, rate: nil, type: nil)
685
+ @amount = amount
686
+ @rate = rate
687
+ @type = type
688
+ end
689
+ end
690
+ # Indicates if the transaction is tax exempt.
691
+ attr_accessor :tax_exempt_indicator
692
+ # Array of tax details.
693
+ attr_accessor :taxes
694
+
695
+ def initialize(tax_exempt_indicator: nil, taxes: nil)
696
+ @tax_exempt_indicator = tax_exempt_indicator
697
+ @taxes = taxes
698
+ end
699
+ end
700
+ # Total amount in cents.
701
+ attr_accessor :amount
702
+ # Currency of the amount.
703
+ attr_accessor :currency
704
+ # Discount details for the rental.
705
+ attr_accessor :discounts
706
+ # Additional charges for the rental.
707
+ attr_accessor :extra_charges
708
+ # Rate per unit for the rental.
709
+ attr_accessor :rate_per_unit
710
+ # Unit of measurement for the rate.
711
+ attr_accessor :rate_unit
712
+ # Tax breakdown for the rental.
713
+ attr_accessor :tax
714
+
715
+ def initialize(
716
+ amount: nil,
717
+ currency: nil,
718
+ discounts: nil,
719
+ extra_charges: nil,
720
+ rate_per_unit: nil,
721
+ rate_unit: nil,
722
+ tax: nil
723
+ )
724
+ @amount = amount
725
+ @currency = currency
726
+ @discounts = discounts
727
+ @extra_charges = extra_charges
728
+ @rate_per_unit = rate_per_unit
729
+ @rate_unit = rate_unit
730
+ @tax = tax
731
+ end
732
+ end
733
+
734
+ class Vehicle < ::Stripe::RequestParams
735
+ # Make of the rental vehicle.
736
+ attr_accessor :make
737
+ # Model of the rental vehicle.
738
+ attr_accessor :model
739
+ # Odometer reading at the time of rental.
740
+ attr_accessor :odometer
741
+ # Type of the rental vehicle.
742
+ attr_accessor :type
743
+ # Class of the rental vehicle.
744
+ attr_accessor :vehicle_class
745
+ # Vehicle identification number (VIN).
746
+ attr_accessor :vehicle_identification_number
747
+
748
+ def initialize(
749
+ make: nil,
750
+ model: nil,
751
+ odometer: nil,
752
+ type: nil,
753
+ vehicle_class: nil,
754
+ vehicle_identification_number: nil
755
+ )
756
+ @make = make
757
+ @model = model
758
+ @odometer = odometer
759
+ @type = type
760
+ @vehicle_class = vehicle_class
761
+ @vehicle_identification_number = vehicle_identification_number
762
+ end
763
+ end
764
+ # Affiliate (such as travel agency) details for the rental.
765
+ attr_accessor :affiliate
766
+ # Booking confirmation number for the car rental.
767
+ attr_accessor :booking_number
768
+ # Name of the car rental company.
769
+ attr_accessor :carrier_name
770
+ # Customer service phone number for the car rental company.
771
+ attr_accessor :customer_service_phone_number
772
+ # Number of days the car is being rented.
773
+ attr_accessor :days_rented
774
+ # Distance details for the rental.
775
+ attr_accessor :distance
776
+ # List of drivers for the rental.
777
+ attr_accessor :drivers
778
+ # Drop-off location details.
779
+ attr_accessor :drop_off
780
+ # Insurance details for the rental.
781
+ attr_accessor :insurances
782
+ # Indicates if the customer was a no-show.
783
+ attr_accessor :no_show_indicator
784
+ # Pickup location details.
785
+ attr_accessor :pickup
786
+ # Name of the person renting the vehicle.
787
+ attr_accessor :renter_name
788
+ # Total cost breakdown for the rental.
789
+ attr_accessor :total
790
+ # Vehicle details for the rental.
791
+ attr_accessor :vehicle
792
+
793
+ def initialize(
794
+ affiliate: nil,
795
+ booking_number: nil,
796
+ carrier_name: nil,
797
+ customer_service_phone_number: nil,
798
+ days_rented: nil,
799
+ distance: nil,
800
+ drivers: nil,
801
+ drop_off: nil,
802
+ insurances: nil,
803
+ no_show_indicator: nil,
804
+ pickup: nil,
805
+ renter_name: nil,
806
+ total: nil,
807
+ vehicle: nil
808
+ )
809
+ @affiliate = affiliate
810
+ @booking_number = booking_number
811
+ @carrier_name = carrier_name
812
+ @customer_service_phone_number = customer_service_phone_number
813
+ @days_rented = days_rented
814
+ @distance = distance
815
+ @drivers = drivers
816
+ @drop_off = drop_off
817
+ @insurances = insurances
818
+ @no_show_indicator = no_show_indicator
819
+ @pickup = pickup
820
+ @renter_name = renter_name
821
+ @total = total
822
+ @vehicle = vehicle
823
+ end
824
+ end
825
+
826
+ class EventDetails < ::Stripe::RequestParams
827
+ class Address < ::Stripe::RequestParams
828
+ # City, district, suburb, town, or village.
829
+ attr_accessor :city
830
+ # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
831
+ attr_accessor :country
832
+ # Address line 1, such as the street, PO Box, or company name.
833
+ attr_accessor :line1
834
+ # Address line 2, such as the apartment, suite, unit, or building.
835
+ attr_accessor :line2
836
+ # ZIP or postal code.
837
+ attr_accessor :postal_code
838
+ # State, county, province, or region.
839
+ attr_accessor :state
840
+
841
+ def initialize(
842
+ city: nil,
843
+ country: nil,
844
+ line1: nil,
845
+ line2: nil,
846
+ postal_code: nil,
847
+ state: nil
848
+ )
849
+ @city = city
850
+ @country = country
851
+ @line1 = line1
852
+ @line2 = line2
853
+ @postal_code = postal_code
854
+ @state = state
855
+ end
856
+ end
857
+
858
+ class Affiliate < ::Stripe::RequestParams
859
+ # The name of the affiliate that originated the purchase.
860
+ attr_accessor :name
861
+
862
+ def initialize(name: nil)
863
+ @name = name
864
+ end
865
+ end
866
+
867
+ class Delivery < ::Stripe::RequestParams
868
+ class Recipient < ::Stripe::RequestParams
869
+ # The email of the recipient the ticket is delivered to.
870
+ attr_accessor :email
871
+ # The name of the recipient the ticket is delivered to.
872
+ attr_accessor :name
873
+ # The phone number of the recipient the ticket is delivered to.
874
+ attr_accessor :phone
875
+
876
+ def initialize(email: nil, name: nil, phone: nil)
877
+ @email = email
878
+ @name = name
879
+ @phone = phone
880
+ end
881
+ end
882
+ # The delivery method for the payment
883
+ attr_accessor :mode
884
+ # Details of the recipient.
885
+ attr_accessor :recipient
886
+
887
+ def initialize(mode: nil, recipient: nil)
888
+ @mode = mode
889
+ @recipient = recipient
890
+ end
891
+ end
892
+ # Indicates if the tickets are digitally checked when entering the venue.
893
+ attr_accessor :access_controlled_venue
894
+ # The event location's address.
895
+ attr_accessor :address
896
+ # Affiliate details for this purchase.
897
+ attr_accessor :affiliate
898
+ # The name of the company
899
+ attr_accessor :company
900
+ # Delivery details for this purchase.
901
+ attr_accessor :delivery
902
+ # Event end time. Measured in seconds since the Unix epoch.
903
+ attr_accessor :ends_at
904
+ # Type of the event entertainment (concert, sports event etc)
905
+ attr_accessor :genre
906
+ # The name of the event.
907
+ attr_accessor :name
908
+ # Event start time. Measured in seconds since the Unix epoch.
909
+ attr_accessor :starts_at
910
+
911
+ def initialize(
912
+ access_controlled_venue: nil,
913
+ address: nil,
914
+ affiliate: nil,
915
+ company: nil,
916
+ delivery: nil,
917
+ ends_at: nil,
918
+ genre: nil,
919
+ name: nil,
920
+ starts_at: nil
921
+ )
922
+ @access_controlled_venue = access_controlled_venue
923
+ @address = address
924
+ @affiliate = affiliate
925
+ @company = company
926
+ @delivery = delivery
927
+ @ends_at = ends_at
928
+ @genre = genre
929
+ @name = name
930
+ @starts_at = starts_at
931
+ end
932
+ end
933
+
934
+ class Flight < ::Stripe::RequestParams
935
+ class Affiliate < ::Stripe::RequestParams
936
+ # The name of the affiliate that originated the purchase.
937
+ attr_accessor :name
938
+
939
+ def initialize(name: nil)
940
+ @name = name
941
+ end
942
+ end
943
+
944
+ class Delivery < ::Stripe::RequestParams
945
+ class Recipient < ::Stripe::RequestParams
946
+ # The email of the recipient the ticket is delivered to.
947
+ attr_accessor :email
948
+ # The name of the recipient the ticket is delivered to.
949
+ attr_accessor :name
950
+ # The phone number of the recipient the ticket is delivered to.
951
+ attr_accessor :phone
952
+
953
+ def initialize(email: nil, name: nil, phone: nil)
954
+ @email = email
955
+ @name = name
956
+ @phone = phone
957
+ end
958
+ end
959
+ # The delivery method for the payment
960
+ attr_accessor :mode
961
+ # Details of the recipient.
962
+ attr_accessor :recipient
963
+
964
+ def initialize(mode: nil, recipient: nil)
965
+ @mode = mode
966
+ @recipient = recipient
967
+ end
968
+ end
969
+
970
+ class Passenger < ::Stripe::RequestParams
971
+ # Full name of the person or entity on the flight reservation.
972
+ attr_accessor :name
973
+
974
+ def initialize(name: nil)
975
+ @name = name
976
+ end
977
+ end
978
+
979
+ class Segment < ::Stripe::RequestParams
980
+ # The flight segment amount.
981
+ attr_accessor :amount
982
+ # The International Air Transport Association (IATA) airport code for the arrival airport.
983
+ attr_accessor :arrival_airport
984
+ # The arrival time for the flight segment. Measured in seconds since the Unix epoch.
985
+ attr_accessor :arrives_at
986
+ # The International Air Transport Association (IATA) carrier code of the carrier operating the flight segment.
987
+ attr_accessor :carrier
988
+ # The departure time for the flight segment. Measured in seconds since the Unix epoch.
989
+ attr_accessor :departs_at
990
+ # The International Air Transport Association (IATA) airport code for the departure airport.
991
+ attr_accessor :departure_airport
992
+ # The flight number associated with the segment
993
+ attr_accessor :flight_number
994
+ # The fare class for the segment.
995
+ attr_accessor :service_class
996
+
997
+ def initialize(
998
+ amount: nil,
999
+ arrival_airport: nil,
1000
+ arrives_at: nil,
1001
+ carrier: nil,
1002
+ departs_at: nil,
1003
+ departure_airport: nil,
1004
+ flight_number: nil,
1005
+ service_class: nil
1006
+ )
1007
+ @amount = amount
1008
+ @arrival_airport = arrival_airport
1009
+ @arrives_at = arrives_at
1010
+ @carrier = carrier
1011
+ @departs_at = departs_at
1012
+ @departure_airport = departure_airport
1013
+ @flight_number = flight_number
1014
+ @service_class = service_class
1015
+ end
1016
+ end
1017
+ # Affiliate details for this purchase.
1018
+ attr_accessor :affiliate
1019
+ # The agency number (i.e. International Air Transport Association (IATA) agency number) of the travel agency that made the booking.
1020
+ attr_accessor :agency_number
1021
+ # The International Air Transport Association (IATA) carrier code of the carrier that issued the ticket.
1022
+ attr_accessor :carrier
1023
+ # Delivery details for this purchase.
1024
+ attr_accessor :delivery
1025
+ # The name of the person or entity on the reservation.
1026
+ attr_accessor :passenger_name
1027
+ # The details of the passengers in the travel reservation.
1028
+ attr_accessor :passengers
1029
+ # The individual flight segments associated with the trip.
1030
+ attr_accessor :segments
1031
+ # The ticket number associated with the travel reservation.
1032
+ attr_accessor :ticket_number
1033
+
1034
+ def initialize(
1035
+ affiliate: nil,
1036
+ agency_number: nil,
1037
+ carrier: nil,
1038
+ delivery: nil,
1039
+ passenger_name: nil,
1040
+ passengers: nil,
1041
+ segments: nil,
1042
+ ticket_number: nil
1043
+ )
1044
+ @affiliate = affiliate
1045
+ @agency_number = agency_number
1046
+ @carrier = carrier
1047
+ @delivery = delivery
1048
+ @passenger_name = passenger_name
1049
+ @passengers = passengers
1050
+ @segments = segments
1051
+ @ticket_number = ticket_number
1052
+ end
1053
+ end
1054
+
1055
+ class FlightDatum < ::Stripe::RequestParams
1056
+ class Affiliate < ::Stripe::RequestParams
1057
+ # Affiliate partner code.
1058
+ attr_accessor :code
1059
+ # Name of affiliate partner.
1060
+ attr_accessor :name
1061
+ # Code provided by the company to a travel agent authorizing ticket issuance.
1062
+ attr_accessor :travel_authorization_code
1063
+
1064
+ def initialize(code: nil, name: nil, travel_authorization_code: nil)
1065
+ @code = code
1066
+ @name = name
1067
+ @travel_authorization_code = travel_authorization_code
1068
+ end
1069
+ end
1070
+
1071
+ class Insurance < ::Stripe::RequestParams
1072
+ # Insurance cost.
1073
+ attr_accessor :amount
1074
+ # Insurance currency.
1075
+ attr_accessor :currency
1076
+ # Insurance company name.
1077
+ attr_accessor :insurance_company_name
1078
+ # Type of insurance.
1079
+ attr_accessor :insurance_type
1080
+
1081
+ def initialize(
1082
+ amount: nil,
1083
+ currency: nil,
1084
+ insurance_company_name: nil,
1085
+ insurance_type: nil
1086
+ )
1087
+ @amount = amount
1088
+ @currency = currency
1089
+ @insurance_company_name = insurance_company_name
1090
+ @insurance_type = insurance_type
1091
+ end
1092
+ end
1093
+
1094
+ class Passenger < ::Stripe::RequestParams
1095
+ # Passenger's full name.
1096
+ attr_accessor :name
1097
+
1098
+ def initialize(name: nil)
1099
+ @name = name
1100
+ end
1101
+ end
1102
+
1103
+ class Segment < ::Stripe::RequestParams
1104
+ class Arrival < ::Stripe::RequestParams
1105
+ # Arrival airport IATA code.
1106
+ attr_accessor :airport
1107
+ # Arrival date/time.
1108
+ attr_accessor :arrives_at
1109
+ # Arrival city.
1110
+ attr_accessor :city
1111
+ # Arrival country.
1112
+ attr_accessor :country
1113
+
1114
+ def initialize(airport: nil, arrives_at: nil, city: nil, country: nil)
1115
+ @airport = airport
1116
+ @arrives_at = arrives_at
1117
+ @city = city
1118
+ @country = country
1119
+ end
1120
+ end
1121
+
1122
+ class Departure < ::Stripe::RequestParams
1123
+ # Departure airport IATA code.
1124
+ attr_accessor :airport
1125
+ # Departure city.
1126
+ attr_accessor :city
1127
+ # Departure country.
1128
+ attr_accessor :country
1129
+ # Departure date/time.
1130
+ attr_accessor :departs_at
1131
+
1132
+ def initialize(airport: nil, city: nil, country: nil, departs_at: nil)
1133
+ @airport = airport
1134
+ @city = city
1135
+ @country = country
1136
+ @departs_at = departs_at
1137
+ end
1138
+ end
1139
+ # Segment fare amount.
1140
+ attr_accessor :amount
1141
+ # Arrival details.
1142
+ attr_accessor :arrival
1143
+ # Airline carrier code.
1144
+ attr_accessor :carrier_code
1145
+ # Carrier name.
1146
+ attr_accessor :carrier_name
1147
+ # Segment currency.
1148
+ attr_accessor :currency
1149
+ # Departure details.
1150
+ attr_accessor :departure
1151
+ # Exchange ticket number.
1152
+ attr_accessor :exchange_ticket_number
1153
+ # Fare basis code.
1154
+ attr_accessor :fare_basis_code
1155
+ # Additional fees.
1156
+ attr_accessor :fees
1157
+ # Flight number.
1158
+ attr_accessor :flight_number
1159
+ # Stopover indicator.
1160
+ attr_accessor :is_stop_over_indicator
1161
+ # Refundable ticket indicator.
1162
+ attr_accessor :refundable
1163
+ # Class of service.
1164
+ attr_accessor :service_class
1165
+ # Tax amount for segment.
1166
+ attr_accessor :tax_amount
1167
+ # Ticket number.
1168
+ attr_accessor :ticket_number
1169
+
1170
+ def initialize(
1171
+ amount: nil,
1172
+ arrival: nil,
1173
+ carrier_code: nil,
1174
+ carrier_name: nil,
1175
+ currency: nil,
1176
+ departure: nil,
1177
+ exchange_ticket_number: nil,
1178
+ fare_basis_code: nil,
1179
+ fees: nil,
1180
+ flight_number: nil,
1181
+ is_stop_over_indicator: nil,
1182
+ refundable: nil,
1183
+ service_class: nil,
1184
+ tax_amount: nil,
1185
+ ticket_number: nil
1186
+ )
1187
+ @amount = amount
1188
+ @arrival = arrival
1189
+ @carrier_code = carrier_code
1190
+ @carrier_name = carrier_name
1191
+ @currency = currency
1192
+ @departure = departure
1193
+ @exchange_ticket_number = exchange_ticket_number
1194
+ @fare_basis_code = fare_basis_code
1195
+ @fees = fees
1196
+ @flight_number = flight_number
1197
+ @is_stop_over_indicator = is_stop_over_indicator
1198
+ @refundable = refundable
1199
+ @service_class = service_class
1200
+ @tax_amount = tax_amount
1201
+ @ticket_number = ticket_number
1202
+ end
1203
+ end
1204
+
1205
+ class Total < ::Stripe::RequestParams
1206
+ class Discounts < ::Stripe::RequestParams
1207
+ # Corporate client discount code.
1208
+ attr_accessor :corporate_client_code
1209
+
1210
+ def initialize(corporate_client_code: nil)
1211
+ @corporate_client_code = corporate_client_code
1212
+ end
1213
+ end
1214
+
1215
+ class ExtraCharge < ::Stripe::RequestParams
1216
+ # Amount of additional charges.
1217
+ attr_accessor :amount
1218
+ # Type of additional charges.
1219
+ attr_accessor :type
1220
+
1221
+ def initialize(amount: nil, type: nil)
1222
+ @amount = amount
1223
+ @type = type
1224
+ end
1225
+ end
1226
+
1227
+ class Tax < ::Stripe::RequestParams
1228
+ class Tax < ::Stripe::RequestParams
1229
+ # Tax amount.
1230
+ attr_accessor :amount
1231
+ # Tax rate.
1232
+ attr_accessor :rate
1233
+ # Type of tax.
1234
+ attr_accessor :type
1235
+
1236
+ def initialize(amount: nil, rate: nil, type: nil)
1237
+ @amount = amount
1238
+ @rate = rate
1239
+ @type = type
1240
+ end
1241
+ end
1242
+ # Array of tax details.
1243
+ attr_accessor :taxes
1244
+
1245
+ def initialize(taxes: nil)
1246
+ @taxes = taxes
1247
+ end
1248
+ end
1249
+ # Total flight amount.
1250
+ attr_accessor :amount
1251
+ # Reason for credit.
1252
+ attr_accessor :credit_reason
1253
+ # Total currency.
1254
+ attr_accessor :currency
1255
+ # Discount details.
1256
+ attr_accessor :discounts
1257
+ # Additional charges.
1258
+ attr_accessor :extra_charges
1259
+ # Tax breakdown.
1260
+ attr_accessor :tax
1261
+
1262
+ def initialize(
1263
+ amount: nil,
1264
+ credit_reason: nil,
1265
+ currency: nil,
1266
+ discounts: nil,
1267
+ extra_charges: nil,
1268
+ tax: nil
1269
+ )
1270
+ @amount = amount
1271
+ @credit_reason = credit_reason
1272
+ @currency = currency
1273
+ @discounts = discounts
1274
+ @extra_charges = extra_charges
1275
+ @tax = tax
1276
+ end
1277
+ end
1278
+ # Affiliate details if applicable.
1279
+ attr_accessor :affiliate
1280
+ # Reservation reference.
1281
+ attr_accessor :booking_number
1282
+ # Computerized reservation system used to make the reservation and purchase the ticket.
1283
+ attr_accessor :computerized_reservation_system
1284
+ # Ticket restrictions.
1285
+ attr_accessor :endorsements_and_restrictions
1286
+ # List of insurances.
1287
+ attr_accessor :insurances
1288
+ # List of passengers.
1289
+ attr_accessor :passengers
1290
+ # List of flight segments.
1291
+ attr_accessor :segments
1292
+ # Electronic ticket indicator.
1293
+ attr_accessor :ticket_electronically_issued_indicator
1294
+ # Total cost breakdown.
1295
+ attr_accessor :total
1296
+ # Type of flight transaction.
1297
+ attr_accessor :transaction_type
1298
+
1299
+ def initialize(
1300
+ affiliate: nil,
1301
+ booking_number: nil,
1302
+ computerized_reservation_system: nil,
1303
+ endorsements_and_restrictions: nil,
1304
+ insurances: nil,
1305
+ passengers: nil,
1306
+ segments: nil,
1307
+ ticket_electronically_issued_indicator: nil,
1308
+ total: nil,
1309
+ transaction_type: nil
1310
+ )
1311
+ @affiliate = affiliate
1312
+ @booking_number = booking_number
1313
+ @computerized_reservation_system = computerized_reservation_system
1314
+ @endorsements_and_restrictions = endorsements_and_restrictions
1315
+ @insurances = insurances
1316
+ @passengers = passengers
1317
+ @segments = segments
1318
+ @ticket_electronically_issued_indicator = ticket_electronically_issued_indicator
1319
+ @total = total
1320
+ @transaction_type = transaction_type
1321
+ end
1322
+ end
1323
+
1324
+ class Lodging < ::Stripe::RequestParams
1325
+ class Address < ::Stripe::RequestParams
1326
+ # City, district, suburb, town, or village.
1327
+ attr_accessor :city
1328
+ # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
1329
+ attr_accessor :country
1330
+ # Address line 1, such as the street, PO Box, or company name.
1331
+ attr_accessor :line1
1332
+ # Address line 2, such as the apartment, suite, unit, or building.
1333
+ attr_accessor :line2
1334
+ # ZIP or postal code.
1335
+ attr_accessor :postal_code
1336
+ # State, county, province, or region.
1337
+ attr_accessor :state
1338
+
1339
+ def initialize(
1340
+ city: nil,
1341
+ country: nil,
1342
+ line1: nil,
1343
+ line2: nil,
1344
+ postal_code: nil,
1345
+ state: nil
1346
+ )
1347
+ @city = city
1348
+ @country = country
1349
+ @line1 = line1
1350
+ @line2 = line2
1351
+ @postal_code = postal_code
1352
+ @state = state
1353
+ end
1354
+ end
1355
+
1356
+ class Affiliate < ::Stripe::RequestParams
1357
+ # The name of the affiliate that originated the purchase.
1358
+ attr_accessor :name
1359
+
1360
+ def initialize(name: nil)
1361
+ @name = name
1362
+ end
1363
+ end
1364
+
1365
+ class Delivery < ::Stripe::RequestParams
1366
+ class Recipient < ::Stripe::RequestParams
1367
+ # The email of the recipient the ticket is delivered to.
1368
+ attr_accessor :email
1369
+ # The name of the recipient the ticket is delivered to.
1370
+ attr_accessor :name
1371
+ # The phone number of the recipient the ticket is delivered to.
1372
+ attr_accessor :phone
1373
+
1374
+ def initialize(email: nil, name: nil, phone: nil)
1375
+ @email = email
1376
+ @name = name
1377
+ @phone = phone
1378
+ end
1379
+ end
1380
+ # The delivery method for the payment
1381
+ attr_accessor :mode
1382
+ # Details of the recipient.
1383
+ attr_accessor :recipient
1384
+
1385
+ def initialize(mode: nil, recipient: nil)
1386
+ @mode = mode
1387
+ @recipient = recipient
1388
+ end
1389
+ end
1390
+
1391
+ class Passenger < ::Stripe::RequestParams
1392
+ # Full name of the person or entity on the lodging reservation.
1393
+ attr_accessor :name
1394
+
1395
+ def initialize(name: nil)
1396
+ @name = name
1397
+ end
1398
+ end
1399
+ # The lodging location's address.
1400
+ attr_accessor :address
1401
+ # The number of adults on the booking
1402
+ attr_accessor :adults
1403
+ # Affiliate details for this purchase.
1404
+ attr_accessor :affiliate
1405
+ # The booking number associated with the lodging reservation.
1406
+ attr_accessor :booking_number
1407
+ # The lodging category
1408
+ attr_accessor :category
1409
+ # Lodging check-in time. Measured in seconds since the Unix epoch.
1410
+ attr_accessor :checkin_at
1411
+ # Lodging check-out time. Measured in seconds since the Unix epoch.
1412
+ attr_accessor :checkout_at
1413
+ # The customer service phone number of the lodging company.
1414
+ attr_accessor :customer_service_phone_number
1415
+ # The daily lodging room rate.
1416
+ attr_accessor :daily_room_rate_amount
1417
+ # Delivery details for this purchase.
1418
+ attr_accessor :delivery
1419
+ # List of additional charges being billed.
1420
+ attr_accessor :extra_charges
1421
+ # Indicates whether the lodging location is compliant with the Fire Safety Act.
1422
+ attr_accessor :fire_safety_act_compliance
1423
+ # The name of the lodging location.
1424
+ attr_accessor :name
1425
+ # Indicates if the customer did not keep their booking while failing to cancel the reservation.
1426
+ attr_accessor :no_show
1427
+ # The number of rooms on the booking
1428
+ attr_accessor :number_of_rooms
1429
+ # The details of the passengers in the travel reservation
1430
+ attr_accessor :passengers
1431
+ # The phone number of the lodging location.
1432
+ attr_accessor :property_phone_number
1433
+ # The room class for this purchase.
1434
+ attr_accessor :room_class
1435
+ # The number of room nights
1436
+ attr_accessor :room_nights
1437
+ # The total tax amount associating with the room reservation.
1438
+ attr_accessor :total_room_tax_amount
1439
+ # The total tax amount
1440
+ attr_accessor :total_tax_amount
1441
+
1442
+ def initialize(
1443
+ address: nil,
1444
+ adults: nil,
1445
+ affiliate: nil,
1446
+ booking_number: nil,
1447
+ category: nil,
1448
+ checkin_at: nil,
1449
+ checkout_at: nil,
1450
+ customer_service_phone_number: nil,
1451
+ daily_room_rate_amount: nil,
1452
+ delivery: nil,
1453
+ extra_charges: nil,
1454
+ fire_safety_act_compliance: nil,
1455
+ name: nil,
1456
+ no_show: nil,
1457
+ number_of_rooms: nil,
1458
+ passengers: nil,
1459
+ property_phone_number: nil,
1460
+ room_class: nil,
1461
+ room_nights: nil,
1462
+ total_room_tax_amount: nil,
1463
+ total_tax_amount: nil
1464
+ )
1465
+ @address = address
1466
+ @adults = adults
1467
+ @affiliate = affiliate
1468
+ @booking_number = booking_number
1469
+ @category = category
1470
+ @checkin_at = checkin_at
1471
+ @checkout_at = checkout_at
1472
+ @customer_service_phone_number = customer_service_phone_number
1473
+ @daily_room_rate_amount = daily_room_rate_amount
1474
+ @delivery = delivery
1475
+ @extra_charges = extra_charges
1476
+ @fire_safety_act_compliance = fire_safety_act_compliance
1477
+ @name = name
1478
+ @no_show = no_show
1479
+ @number_of_rooms = number_of_rooms
1480
+ @passengers = passengers
1481
+ @property_phone_number = property_phone_number
1482
+ @room_class = room_class
1483
+ @room_nights = room_nights
1484
+ @total_room_tax_amount = total_room_tax_amount
1485
+ @total_tax_amount = total_tax_amount
1486
+ end
1487
+ end
1488
+
1489
+ class LodgingDatum < ::Stripe::RequestParams
1490
+ class Accommodation < ::Stripe::RequestParams
1491
+ # Type of accommodation.
1492
+ attr_accessor :accommodation_type
1493
+ # Bed type.
1494
+ attr_accessor :bed_type
1495
+ # Daily accommodation rate in cents.
1496
+ attr_accessor :daily_rate_amount
1497
+ # Number of nights.
1498
+ attr_accessor :nights
1499
+ # Number of rooms, cabanas, apartments, and so on.
1500
+ attr_accessor :number_of_rooms
1501
+ # Rate type.
1502
+ attr_accessor :rate_type
1503
+ # Whether smoking is allowed.
1504
+ attr_accessor :smoking_indicator
1505
+
1506
+ def initialize(
1507
+ accommodation_type: nil,
1508
+ bed_type: nil,
1509
+ daily_rate_amount: nil,
1510
+ nights: nil,
1511
+ number_of_rooms: nil,
1512
+ rate_type: nil,
1513
+ smoking_indicator: nil
1514
+ )
1515
+ @accommodation_type = accommodation_type
1516
+ @bed_type = bed_type
1517
+ @daily_rate_amount = daily_rate_amount
1518
+ @nights = nights
1519
+ @number_of_rooms = number_of_rooms
1520
+ @rate_type = rate_type
1521
+ @smoking_indicator = smoking_indicator
1522
+ end
1523
+ end
1524
+
1525
+ class Affiliate < ::Stripe::RequestParams
1526
+ # Affiliate partner code.
1527
+ attr_accessor :code
1528
+ # Affiliate partner name.
1529
+ attr_accessor :name
1530
+
1531
+ def initialize(code: nil, name: nil)
1532
+ @code = code
1533
+ @name = name
1534
+ end
1535
+ end
1536
+
1537
+ class Guest < ::Stripe::RequestParams
1538
+ # Guest's full name.
1539
+ attr_accessor :name
1540
+
1541
+ def initialize(name: nil)
1542
+ @name = name
1543
+ end
1544
+ end
1545
+
1546
+ class Host < ::Stripe::RequestParams
1547
+ class Address < ::Stripe::RequestParams
1548
+ # City, district, suburb, town, or village.
1549
+ attr_accessor :city
1550
+ # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
1551
+ attr_accessor :country
1552
+ # Address line 1, such as the street, PO Box, or company name.
1553
+ attr_accessor :line1
1554
+ # Address line 2, such as the apartment, suite, unit, or building.
1555
+ attr_accessor :line2
1556
+ # ZIP or postal code.
1557
+ attr_accessor :postal_code
1558
+ # State, county, province, or region.
1559
+ attr_accessor :state
1560
+
1561
+ def initialize(
1562
+ city: nil,
1563
+ country: nil,
1564
+ line1: nil,
1565
+ line2: nil,
1566
+ postal_code: nil,
1567
+ state: nil
1568
+ )
1569
+ @city = city
1570
+ @country = country
1571
+ @line1 = line1
1572
+ @line2 = line2
1573
+ @postal_code = postal_code
1574
+ @state = state
1575
+ end
1576
+ end
1577
+ # Address of the host.
1578
+ attr_accessor :address
1579
+ # Host's country of domicile.
1580
+ attr_accessor :country_of_domicile
1581
+ # Reference number for the host.
1582
+ attr_accessor :host_reference
1583
+ # Type of host.
1584
+ attr_accessor :host_type
1585
+ # Name of the lodging property or host.
1586
+ attr_accessor :name
1587
+ # Total number of reservations for the host.
1588
+ attr_accessor :number_of_reservations
1589
+ # Property phone number.
1590
+ attr_accessor :property_phone_number
1591
+ # Host's registration date.
1592
+ attr_accessor :registered_at
1593
+
1594
+ def initialize(
1595
+ address: nil,
1596
+ country_of_domicile: nil,
1597
+ host_reference: nil,
1598
+ host_type: nil,
1599
+ name: nil,
1600
+ number_of_reservations: nil,
1601
+ property_phone_number: nil,
1602
+ registered_at: nil
1603
+ )
1604
+ @address = address
1605
+ @country_of_domicile = country_of_domicile
1606
+ @host_reference = host_reference
1607
+ @host_type = host_type
1608
+ @name = name
1609
+ @number_of_reservations = number_of_reservations
1610
+ @property_phone_number = property_phone_number
1611
+ @registered_at = registered_at
1612
+ end
1613
+ end
1614
+
1615
+ class Insurance < ::Stripe::RequestParams
1616
+ # Price of the insurance coverage in cents.
1617
+ attr_accessor :amount
1618
+ # Currency of the insurance amount.
1619
+ attr_accessor :currency
1620
+ # Name of the insurance company.
1621
+ attr_accessor :insurance_company_name
1622
+ # Type of insurance coverage.
1623
+ attr_accessor :insurance_type
1624
+
1625
+ def initialize(
1626
+ amount: nil,
1627
+ currency: nil,
1628
+ insurance_company_name: nil,
1629
+ insurance_type: nil
1630
+ )
1631
+ @amount = amount
1632
+ @currency = currency
1633
+ @insurance_company_name = insurance_company_name
1634
+ @insurance_type = insurance_type
1635
+ end
1636
+ end
1637
+
1638
+ class Total < ::Stripe::RequestParams
1639
+ class Discounts < ::Stripe::RequestParams
1640
+ # Corporate client discount code.
1641
+ attr_accessor :corporate_client_code
1642
+ # Coupon code.
1643
+ attr_accessor :coupon
1644
+
1645
+ def initialize(corporate_client_code: nil, coupon: nil)
1646
+ @corporate_client_code = corporate_client_code
1647
+ @coupon = coupon
1648
+ end
1649
+ end
1650
+
1651
+ class ExtraCharge < ::Stripe::RequestParams
1652
+ # Amount of the extra charge in cents.
1653
+ attr_accessor :amount
1654
+ # Type of extra charge.
1655
+ attr_accessor :type
1656
+
1657
+ def initialize(amount: nil, type: nil)
1658
+ @amount = amount
1659
+ @type = type
1660
+ end
1661
+ end
1662
+
1663
+ class Tax < ::Stripe::RequestParams
1664
+ class Tax < ::Stripe::RequestParams
1665
+ # Tax amount in cents.
1666
+ attr_accessor :amount
1667
+ # Tax rate.
1668
+ attr_accessor :rate
1669
+ # Type of tax applied.
1670
+ attr_accessor :type
1671
+
1672
+ def initialize(amount: nil, rate: nil, type: nil)
1673
+ @amount = amount
1674
+ @rate = rate
1675
+ @type = type
1676
+ end
1677
+ end
1678
+ # Indicates whether the transaction is tax exempt.
1679
+ attr_accessor :tax_exempt_indicator
1680
+ # Tax details.
1681
+ attr_accessor :taxes
1682
+
1683
+ def initialize(tax_exempt_indicator: nil, taxes: nil)
1684
+ @tax_exempt_indicator = tax_exempt_indicator
1685
+ @taxes = taxes
1686
+ end
1687
+ end
1688
+ # Total price of the lodging reservation in cents.
1689
+ attr_accessor :amount
1690
+ # Cash advances in cents.
1691
+ attr_accessor :cash_advances
1692
+ # Currency of the total amount.
1693
+ attr_accessor :currency
1694
+ # Discount details for the lodging.
1695
+ attr_accessor :discounts
1696
+ # Additional charges for the lodging.
1697
+ attr_accessor :extra_charges
1698
+ # Prepaid amount in cents.
1699
+ attr_accessor :prepaid_amount
1700
+ # Tax breakdown for the lodging reservation.
1701
+ attr_accessor :tax
1702
+
1703
+ def initialize(
1704
+ amount: nil,
1705
+ cash_advances: nil,
1706
+ currency: nil,
1707
+ discounts: nil,
1708
+ extra_charges: nil,
1709
+ prepaid_amount: nil,
1710
+ tax: nil
1711
+ )
1712
+ @amount = amount
1713
+ @cash_advances = cash_advances
1714
+ @currency = currency
1715
+ @discounts = discounts
1716
+ @extra_charges = extra_charges
1717
+ @prepaid_amount = prepaid_amount
1718
+ @tax = tax
1719
+ end
1720
+ end
1721
+ # Accommodation details for the lodging.
1722
+ attr_accessor :accommodation
1723
+ # Affiliate details if applicable.
1724
+ attr_accessor :affiliate
1725
+ # Booking confirmation number for the lodging.
1726
+ attr_accessor :booking_number
1727
+ # Check-in date.
1728
+ attr_accessor :checkin_at
1729
+ # Check-out date.
1730
+ attr_accessor :checkout_at
1731
+ # Customer service phone number for the lodging company.
1732
+ attr_accessor :customer_service_phone_number
1733
+ # Whether the lodging is compliant with any hotel fire safety regulations.
1734
+ attr_accessor :fire_safety_act_compliance_indicator
1735
+ # List of guests for the lodging.
1736
+ attr_accessor :guests
1737
+ # Host details for the lodging.
1738
+ attr_accessor :host
1739
+ # List of insurances for the lodging.
1740
+ attr_accessor :insurances
1741
+ # Whether the renter is a no-show.
1742
+ attr_accessor :no_show_indicator
1743
+ # Renter ID number for the lodging.
1744
+ attr_accessor :renter_id_number
1745
+ # Renter name for the lodging.
1746
+ attr_accessor :renter_name
1747
+ # Total details for the lodging.
1748
+ attr_accessor :total
1749
+
1750
+ def initialize(
1751
+ accommodation: nil,
1752
+ affiliate: nil,
1753
+ booking_number: nil,
1754
+ checkin_at: nil,
1755
+ checkout_at: nil,
1756
+ customer_service_phone_number: nil,
1757
+ fire_safety_act_compliance_indicator: nil,
1758
+ guests: nil,
1759
+ host: nil,
1760
+ insurances: nil,
1761
+ no_show_indicator: nil,
1762
+ renter_id_number: nil,
1763
+ renter_name: nil,
1764
+ total: nil
1765
+ )
1766
+ @accommodation = accommodation
1767
+ @affiliate = affiliate
1768
+ @booking_number = booking_number
1769
+ @checkin_at = checkin_at
1770
+ @checkout_at = checkout_at
1771
+ @customer_service_phone_number = customer_service_phone_number
1772
+ @fire_safety_act_compliance_indicator = fire_safety_act_compliance_indicator
1773
+ @guests = guests
1774
+ @host = host
1775
+ @insurances = insurances
1776
+ @no_show_indicator = no_show_indicator
1777
+ @renter_id_number = renter_id_number
1778
+ @renter_name = renter_name
1779
+ @total = total
1780
+ end
1781
+ end
1782
+
1783
+ class Subscription < ::Stripe::RequestParams
1784
+ class Affiliate < ::Stripe::RequestParams
1785
+ # The name of the affiliate that originated the purchase.
1786
+ attr_accessor :name
1787
+
1788
+ def initialize(name: nil)
1789
+ @name = name
1790
+ end
1791
+ end
1792
+
1793
+ class BillingInterval < ::Stripe::RequestParams
1794
+ # The number of intervals, as an whole number greater than 0. Stripe multiplies this by the interval type to get the overall duration.
1795
+ attr_accessor :count
1796
+ # Specifies a type of interval unit. Either `day`, `week`, `month` or `year`.
1797
+ attr_accessor :interval
1798
+
1799
+ def initialize(count: nil, interval: nil)
1800
+ @count = count
1801
+ @interval = interval
1802
+ end
1803
+ end
1804
+ # Affiliate details for this purchase.
1805
+ attr_accessor :affiliate
1806
+ # Info whether the subscription will be auto renewed upon expiry.
1807
+ attr_accessor :auto_renewal
1808
+ # Subscription billing details for this purchase.
1809
+ attr_accessor :billing_interval
1810
+ # Subscription end time. Measured in seconds since the Unix epoch.
1811
+ attr_accessor :ends_at
1812
+ # Name of the product on subscription. e.g. Apple Music Subscription
1813
+ attr_accessor :name
1814
+ # Subscription start time. Measured in seconds since the Unix epoch.
1815
+ attr_accessor :starts_at
1816
+
1817
+ def initialize(
1818
+ affiliate: nil,
1819
+ auto_renewal: nil,
1820
+ billing_interval: nil,
1821
+ ends_at: nil,
1822
+ name: nil,
1823
+ starts_at: nil
1824
+ )
1825
+ @affiliate = affiliate
1826
+ @auto_renewal = auto_renewal
1827
+ @billing_interval = billing_interval
1828
+ @ends_at = ends_at
1829
+ @name = name
1830
+ @starts_at = starts_at
1831
+ end
1832
+ end
1833
+ # Car rental details for this PaymentIntent.
1834
+ attr_accessor :car_rental
1835
+ # Car rental data for this PaymentIntent.
1836
+ attr_accessor :car_rental_data
242
1837
  # A unique value to identify the customer. This field is available only for card payments.
243
1838
  #
244
1839
  # This field is truncated to 25 alphanumeric characters, excluding spaces, before being sent to card networks.
245
1840
  attr_accessor :customer_reference
1841
+ # Event details for this PaymentIntent
1842
+ attr_accessor :event_details
1843
+ # Flight reservation details for this PaymentIntent
1844
+ attr_accessor :flight
1845
+ # Flight data for this PaymentIntent.
1846
+ attr_accessor :flight_data
1847
+ # Lodging reservation details for this PaymentIntent
1848
+ attr_accessor :lodging
1849
+ # Lodging data for this PaymentIntent.
1850
+ attr_accessor :lodging_data
246
1851
  # A unique value assigned by the business to identify the transaction. Required for L2 and L3 rates.
247
1852
  #
248
1853
  # Required when the Payment Method Types array contains `card`, including when [automatic_payment_methods.enabled](/api/payment_intents/create#create_payment_intent-automatic_payment_methods-enabled) is set to `true`.
249
1854
  #
250
1855
  # For Cards, this field is truncated to 25 alphanumeric characters, excluding spaces, before being sent to card networks. For Klarna, this field is truncated to 255 characters and is visible to customers when they view the order in the Klarna app.
251
1856
  attr_accessor :order_reference
1857
+ # Subscription details for this PaymentIntent
1858
+ attr_accessor :subscription
252
1859
 
253
- def initialize(customer_reference: nil, order_reference: nil)
1860
+ def initialize(
1861
+ car_rental: nil,
1862
+ car_rental_data: nil,
1863
+ customer_reference: nil,
1864
+ event_details: nil,
1865
+ flight: nil,
1866
+ flight_data: nil,
1867
+ lodging: nil,
1868
+ lodging_data: nil,
1869
+ order_reference: nil,
1870
+ subscription: nil
1871
+ )
1872
+ @car_rental = car_rental
1873
+ @car_rental_data = car_rental_data
254
1874
  @customer_reference = customer_reference
1875
+ @event_details = event_details
1876
+ @flight = flight
1877
+ @flight_data = flight_data
1878
+ @lodging = lodging
1879
+ @lodging_data = lodging_data
255
1880
  @order_reference = order_reference
1881
+ @subscription = subscription
256
1882
  end
257
1883
  end
258
1884
 
@@ -393,8 +2019,18 @@ module Stripe
393
2019
  end
394
2020
 
395
2021
  class Giropay < ::Stripe::RequestParams; end
2022
+ class Gopay < ::Stripe::RequestParams; end
396
2023
  class Grabpay < ::Stripe::RequestParams; end
397
2024
 
2025
+ class IdBankTransfer < ::Stripe::RequestParams
2026
+ # Bank where the account is held.
2027
+ attr_accessor :bank
2028
+
2029
+ def initialize(bank: nil)
2030
+ @bank = bank
2031
+ end
2032
+ end
2033
+
398
2034
  class Ideal < ::Stripe::RequestParams
399
2035
  # The customer's bank. Only use this parameter for existing customers. Don't use it for new customers.
400
2036
  attr_accessor :bank
@@ -492,15 +2128,56 @@ module Stripe
492
2128
  class Payco < ::Stripe::RequestParams; end
493
2129
  class Paynow < ::Stripe::RequestParams; end
494
2130
  class Paypal < ::Stripe::RequestParams; end
2131
+ class Paypay < ::Stripe::RequestParams; end
2132
+
2133
+ class Payto < ::Stripe::RequestParams
2134
+ # The account number for the bank account.
2135
+ attr_accessor :account_number
2136
+ # Bank-State-Branch number of the bank account.
2137
+ attr_accessor :bsb_number
2138
+ # The PayID alias for the bank account.
2139
+ attr_accessor :pay_id
2140
+
2141
+ def initialize(account_number: nil, bsb_number: nil, pay_id: nil)
2142
+ @account_number = account_number
2143
+ @bsb_number = bsb_number
2144
+ @pay_id = pay_id
2145
+ end
2146
+ end
2147
+
495
2148
  class Pix < ::Stripe::RequestParams; end
496
2149
  class Promptpay < ::Stripe::RequestParams; end
2150
+ class Qris < ::Stripe::RequestParams; end
2151
+
2152
+ class RadarOptions < ::Stripe::RequestParams
2153
+ # A [Radar Session](https://stripe.com/docs/radar/radar-session) is a snapshot of the browser metadata and device details that help Radar make more accurate predictions on your payments.
2154
+ attr_accessor :session
2155
+
2156
+ def initialize(session: nil)
2157
+ @session = session
2158
+ end
2159
+ end
2160
+
2161
+ class Rechnung < ::Stripe::RequestParams
2162
+ class Dob < ::Stripe::RequestParams
2163
+ # The day of birth, between 1 and 31.
2164
+ attr_accessor :day
2165
+ # The month of birth, between 1 and 12.
2166
+ attr_accessor :month
2167
+ # The four-digit year of birth.
2168
+ attr_accessor :year
497
2169
 
498
- class RadarOptions < ::Stripe::RequestParams
499
- # A [Radar Session](https://stripe.com/docs/radar/radar-session) is a snapshot of the browser metadata and device details that help Radar make more accurate predictions on your payments.
500
- attr_accessor :session
2170
+ def initialize(day: nil, month: nil, year: nil)
2171
+ @day = day
2172
+ @month = month
2173
+ @year = year
2174
+ end
2175
+ end
2176
+ # Customer's date of birth
2177
+ attr_accessor :dob
501
2178
 
502
- def initialize(session: nil)
503
- @session = session
2179
+ def initialize(dob: nil)
2180
+ @dob = dob
504
2181
  end
505
2182
  end
506
2183
 
@@ -517,6 +2194,8 @@ module Stripe
517
2194
  end
518
2195
  end
519
2196
 
2197
+ class Shopeepay < ::Stripe::RequestParams; end
2198
+
520
2199
  class Sofort < ::Stripe::RequestParams
521
2200
  # Two-letter ISO code representing the country the bank account is located in.
522
2201
  attr_accessor :country
@@ -526,6 +2205,18 @@ module Stripe
526
2205
  end
527
2206
  end
528
2207
 
2208
+ class StripeBalance < ::Stripe::RequestParams
2209
+ # The connected account ID whose Stripe balance to use as the source of payment
2210
+ attr_accessor :account
2211
+ # The [source_type](https://docs.stripe.com/api/balance/balance_object#balance_object-available-source_types) of the balance
2212
+ attr_accessor :source_type
2213
+
2214
+ def initialize(account: nil, source_type: nil)
2215
+ @account = account
2216
+ @source_type = source_type
2217
+ end
2218
+ end
2219
+
529
2220
  class Swish < ::Stripe::RequestParams; end
530
2221
  class Twint < ::Stripe::RequestParams; end
531
2222
 
@@ -598,8 +2289,12 @@ module Stripe
598
2289
  attr_accessor :fpx
599
2290
  # If this is a `giropay` PaymentMethod, this hash contains details about the Giropay payment method.
600
2291
  attr_accessor :giropay
2292
+ # If this is a Gopay PaymentMethod, this hash contains details about the Gopay payment method.
2293
+ attr_accessor :gopay
601
2294
  # If this is a `grabpay` PaymentMethod, this hash contains details about the GrabPay payment method.
602
2295
  attr_accessor :grabpay
2296
+ # If this is an `IdBankTransfer` PaymentMethod, this hash contains details about the IdBankTransfer payment method.
2297
+ attr_accessor :id_bank_transfer
603
2298
  # If this is an `ideal` PaymentMethod, this hash contains details about the iDEAL payment method.
604
2299
  attr_accessor :ideal
605
2300
  # If this is an `interac_present` PaymentMethod, this hash contains details about the Interac Present payment method.
@@ -638,12 +2333,20 @@ module Stripe
638
2333
  attr_accessor :paynow
639
2334
  # If this is a `paypal` PaymentMethod, this hash contains details about the PayPal payment method.
640
2335
  attr_accessor :paypal
2336
+ # If this is a `paypay` PaymentMethod, this hash contains details about the PayPay payment method.
2337
+ attr_accessor :paypay
2338
+ # If this is a `payto` PaymentMethod, this hash contains details about the PayTo payment method.
2339
+ attr_accessor :payto
641
2340
  # If this is a `pix` PaymentMethod, this hash contains details about the Pix payment method.
642
2341
  attr_accessor :pix
643
2342
  # If this is a `promptpay` PaymentMethod, this hash contains details about the PromptPay payment method.
644
2343
  attr_accessor :promptpay
2344
+ # If this is a `qris` PaymentMethod, this hash contains details about the QRIS payment method.
2345
+ attr_accessor :qris
645
2346
  # Options to configure Radar. See [Radar Session](https://stripe.com/docs/radar/radar-session) for more information.
646
2347
  attr_accessor :radar_options
2348
+ # If this is a `rechnung` PaymentMethod, this hash contains details about the Rechnung payment method.
2349
+ attr_accessor :rechnung
647
2350
  # If this is a `revolut_pay` PaymentMethod, this hash contains details about the Revolut Pay payment method.
648
2351
  attr_accessor :revolut_pay
649
2352
  # If this is a `samsung_pay` PaymentMethod, this hash contains details about the SamsungPay payment method.
@@ -652,8 +2355,12 @@ module Stripe
652
2355
  attr_accessor :satispay
653
2356
  # If this is a `sepa_debit` PaymentMethod, this hash contains details about the SEPA debit bank account.
654
2357
  attr_accessor :sepa_debit
2358
+ # If this is a Shopeepay PaymentMethod, this hash contains details about the Shopeepay payment method.
2359
+ attr_accessor :shopeepay
655
2360
  # If this is a `sofort` PaymentMethod, this hash contains details about the SOFORT payment method.
656
2361
  attr_accessor :sofort
2362
+ # This hash contains details about the Stripe balance payment method.
2363
+ attr_accessor :stripe_balance
657
2364
  # If this is a `swish` PaymentMethod, this hash contains details about the Swish payment method.
658
2365
  attr_accessor :swish
659
2366
  # If this is a TWINT PaymentMethod, this hash contains details about the TWINT payment method.
@@ -688,7 +2395,9 @@ module Stripe
688
2395
  eps: nil,
689
2396
  fpx: nil,
690
2397
  giropay: nil,
2398
+ gopay: nil,
691
2399
  grabpay: nil,
2400
+ id_bank_transfer: nil,
692
2401
  ideal: nil,
693
2402
  interac_present: nil,
694
2403
  kakao_pay: nil,
@@ -708,14 +2417,20 @@ module Stripe
708
2417
  payco: nil,
709
2418
  paynow: nil,
710
2419
  paypal: nil,
2420
+ paypay: nil,
2421
+ payto: nil,
711
2422
  pix: nil,
712
2423
  promptpay: nil,
2424
+ qris: nil,
713
2425
  radar_options: nil,
2426
+ rechnung: nil,
714
2427
  revolut_pay: nil,
715
2428
  samsung_pay: nil,
716
2429
  satispay: nil,
717
2430
  sepa_debit: nil,
2431
+ shopeepay: nil,
718
2432
  sofort: nil,
2433
+ stripe_balance: nil,
719
2434
  swish: nil,
720
2435
  twint: nil,
721
2436
  type: nil,
@@ -743,7 +2458,9 @@ module Stripe
743
2458
  @eps = eps
744
2459
  @fpx = fpx
745
2460
  @giropay = giropay
2461
+ @gopay = gopay
746
2462
  @grabpay = grabpay
2463
+ @id_bank_transfer = id_bank_transfer
747
2464
  @ideal = ideal
748
2465
  @interac_present = interac_present
749
2466
  @kakao_pay = kakao_pay
@@ -763,14 +2480,20 @@ module Stripe
763
2480
  @payco = payco
764
2481
  @paynow = paynow
765
2482
  @paypal = paypal
2483
+ @paypay = paypay
2484
+ @payto = payto
766
2485
  @pix = pix
767
2486
  @promptpay = promptpay
2487
+ @qris = qris
768
2488
  @radar_options = radar_options
2489
+ @rechnung = rechnung
769
2490
  @revolut_pay = revolut_pay
770
2491
  @samsung_pay = samsung_pay
771
2492
  @satispay = satispay
772
2493
  @sepa_debit = sepa_debit
2494
+ @shopeepay = shopeepay
773
2495
  @sofort = sofort
2496
+ @stripe_balance = stripe_balance
774
2497
  @swish = swish
775
2498
  @twint = twint
776
2499
  @type = type
@@ -1141,6 +2864,48 @@ module Stripe
1141
2864
  end
1142
2865
  end
1143
2866
 
2867
+ class StatementDetails < ::Stripe::RequestParams
2868
+ class Address < ::Stripe::RequestParams
2869
+ # City, district, suburb, town, or village.
2870
+ attr_accessor :city
2871
+ # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
2872
+ attr_accessor :country
2873
+ # Address line 1, such as the street, PO Box, or company name.
2874
+ attr_accessor :line1
2875
+ # Address line 2, such as the apartment, suite, unit, or building.
2876
+ attr_accessor :line2
2877
+ # ZIP or postal code.
2878
+ attr_accessor :postal_code
2879
+ # State, county, province, or region.
2880
+ attr_accessor :state
2881
+
2882
+ def initialize(
2883
+ city: nil,
2884
+ country: nil,
2885
+ line1: nil,
2886
+ line2: nil,
2887
+ postal_code: nil,
2888
+ state: nil
2889
+ )
2890
+ @city = city
2891
+ @country = country
2892
+ @line1 = line1
2893
+ @line2 = line2
2894
+ @postal_code = postal_code
2895
+ @state = state
2896
+ end
2897
+ end
2898
+ # Please pass in an address that is within your Stripe user account country
2899
+ attr_accessor :address
2900
+ # Phone number (e.g., a toll-free number that customers can call)
2901
+ attr_accessor :phone
2902
+
2903
+ def initialize(address: nil, phone: nil)
2904
+ @address = address
2905
+ @phone = phone
2906
+ end
2907
+ end
2908
+
1144
2909
  class ThreeDSecure < ::Stripe::RequestParams
1145
2910
  class NetworkOptions < ::Stripe::RequestParams
1146
2911
  class CartesBancaires < ::Stripe::RequestParams
@@ -1235,6 +3000,8 @@ module Stripe
1235
3000
  attr_accessor :moto
1236
3001
  # Selected network to process this PaymentIntent on. Depends on the available networks of the card attached to the PaymentIntent. Can be only set confirm-time.
1237
3002
  attr_accessor :network
3003
+ # Request ability to [decrement the authorization](https://stripe.com/docs/payments/decremental-authorization) for this PaymentIntent.
3004
+ attr_accessor :request_decremental_authorization
1238
3005
  # Request ability to [capture beyond the standard authorization validity window](https://stripe.com/docs/payments/extended-authorization) for this PaymentIntent.
1239
3006
  attr_accessor :request_extended_authorization
1240
3007
  # Request ability to [increment the authorization](https://stripe.com/docs/payments/incremental-authorization) for this PaymentIntent.
@@ -1243,6 +3010,8 @@ module Stripe
1243
3010
  attr_accessor :request_multicapture
1244
3011
  # Request ability to [overcapture](https://stripe.com/docs/payments/overcapture) for this PaymentIntent.
1245
3012
  attr_accessor :request_overcapture
3013
+ # Request partial authorization on this PaymentIntent.
3014
+ attr_accessor :request_partial_authorization
1246
3015
  # We strongly recommend that you rely on our SCA Engine to automatically prompt your customers for authentication based on risk level and [other requirements](https://stripe.com/docs/strong-customer-authentication). However, if you wish to request 3D Secure based on logic from your own fraud engine, provide this option. If not provided, this value defaults to `automatic`. Read our guide on [manually requesting 3D Secure](https://stripe.com/docs/payments/3d-secure/authentication-flow#manual-three-ds) for more information on how this configuration interacts with Radar and our SCA Engine.
1247
3016
  attr_accessor :request_three_d_secure
1248
3017
  # When enabled, using a card that is attached to a customer will require the CVC to be provided again (i.e. using the cvc_token parameter).
@@ -1261,6 +3030,8 @@ module Stripe
1261
3030
  attr_accessor :statement_descriptor_suffix_kana
1262
3031
  # Provides information about a card payment that customers see on their statements. Concatenated with the Kanji prefix (shortened Kanji descriptor) or Kanji statement descriptor that’s set on the account to form the complete statement descriptor. Maximum 17 characters. On card statements, the *concatenation* of both prefix and suffix (including separators) will appear truncated to 17 characters.
1263
3032
  attr_accessor :statement_descriptor_suffix_kanji
3033
+ # Statement details for this payment intent. You can use this to override the merchant details shown on your customers' statements.
3034
+ attr_accessor :statement_details
1264
3035
  # If 3D Secure authentication was performed with a third-party provider,
1265
3036
  # the authentication details to use for this payment.
1266
3037
  attr_accessor :three_d_secure
@@ -1272,15 +3043,18 @@ module Stripe
1272
3043
  mandate_options: nil,
1273
3044
  moto: nil,
1274
3045
  network: nil,
3046
+ request_decremental_authorization: nil,
1275
3047
  request_extended_authorization: nil,
1276
3048
  request_incremental_authorization: nil,
1277
3049
  request_multicapture: nil,
1278
3050
  request_overcapture: nil,
3051
+ request_partial_authorization: nil,
1279
3052
  request_three_d_secure: nil,
1280
3053
  require_cvc_recollection: nil,
1281
3054
  setup_future_usage: nil,
1282
3055
  statement_descriptor_suffix_kana: nil,
1283
3056
  statement_descriptor_suffix_kanji: nil,
3057
+ statement_details: nil,
1284
3058
  three_d_secure: nil
1285
3059
  )
1286
3060
  @capture_method = capture_method
@@ -1289,15 +3063,18 @@ module Stripe
1289
3063
  @mandate_options = mandate_options
1290
3064
  @moto = moto
1291
3065
  @network = network
3066
+ @request_decremental_authorization = request_decremental_authorization
1292
3067
  @request_extended_authorization = request_extended_authorization
1293
3068
  @request_incremental_authorization = request_incremental_authorization
1294
3069
  @request_multicapture = request_multicapture
1295
3070
  @request_overcapture = request_overcapture
3071
+ @request_partial_authorization = request_partial_authorization
1296
3072
  @request_three_d_secure = request_three_d_secure
1297
3073
  @require_cvc_recollection = require_cvc_recollection
1298
3074
  @setup_future_usage = setup_future_usage
1299
3075
  @statement_descriptor_suffix_kana = statement_descriptor_suffix_kana
1300
3076
  @statement_descriptor_suffix_kanji = statement_descriptor_suffix_kanji
3077
+ @statement_details = statement_details
1301
3078
  @three_d_secure = three_d_secure
1302
3079
  end
1303
3080
  end
@@ -1476,6 +3253,23 @@ module Stripe
1476
3253
  end
1477
3254
  end
1478
3255
 
3256
+ class Gopay < ::Stripe::RequestParams
3257
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
3258
+ #
3259
+ # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
3260
+ #
3261
+ # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
3262
+ #
3263
+ # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
3264
+ #
3265
+ # If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`.
3266
+ attr_accessor :setup_future_usage
3267
+
3268
+ def initialize(setup_future_usage: nil)
3269
+ @setup_future_usage = setup_future_usage
3270
+ end
3271
+ end
3272
+
1479
3273
  class Grabpay < ::Stripe::RequestParams
1480
3274
  # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1481
3275
  #
@@ -1493,110 +3287,1066 @@ module Stripe
1493
3287
  end
1494
3288
  end
1495
3289
 
1496
- class Ideal < ::Stripe::RequestParams
1497
- # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1498
- #
1499
- # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
1500
- #
1501
- # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1502
- #
1503
- # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1504
- #
1505
- # If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`.
1506
- attr_accessor :setup_future_usage
3290
+ class IdBankTransfer < ::Stripe::RequestParams
3291
+ # The UNIX timestamp until which the virtual bank account is valid. Permitted range is from 5 minutes from now until 31 days from now. If unset, it defaults to 3 days from now.
3292
+ attr_accessor :expires_after
3293
+ # The UNIX timestamp until which the virtual bank account is valid. Permitted range is from now until 30 days from now. If unset, it defaults to 1 days from now.
3294
+ attr_accessor :expires_at
3295
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
3296
+ #
3297
+ # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
3298
+ #
3299
+ # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
3300
+ #
3301
+ # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
3302
+ #
3303
+ # If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`.
3304
+ attr_accessor :setup_future_usage
3305
+
3306
+ def initialize(expires_after: nil, expires_at: nil, setup_future_usage: nil)
3307
+ @expires_after = expires_after
3308
+ @expires_at = expires_at
3309
+ @setup_future_usage = setup_future_usage
3310
+ end
3311
+ end
3312
+
3313
+ class Ideal < ::Stripe::RequestParams
3314
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
3315
+ #
3316
+ # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
3317
+ #
3318
+ # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
3319
+ #
3320
+ # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
3321
+ #
3322
+ # If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`.
3323
+ attr_accessor :setup_future_usage
3324
+
3325
+ def initialize(setup_future_usage: nil)
3326
+ @setup_future_usage = setup_future_usage
3327
+ end
3328
+ end
3329
+
3330
+ class InteracPresent < ::Stripe::RequestParams; end
3331
+
3332
+ class KakaoPay < ::Stripe::RequestParams
3333
+ # Controls when the funds are captured from the customer's account.
3334
+ #
3335
+ # If provided, this parameter overrides the behavior of the top-level [capture_method](/api/payment_intents/update#update_payment_intent-capture_method) for this payment method type when finalizing the payment with this payment method type.
3336
+ #
3337
+ # If `capture_method` is already set on the PaymentIntent, providing an empty value for this parameter unsets the stored value for this payment method type.
3338
+ attr_accessor :capture_method
3339
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
3340
+ #
3341
+ # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
3342
+ #
3343
+ # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
3344
+ #
3345
+ # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
3346
+ attr_accessor :setup_future_usage
3347
+
3348
+ def initialize(capture_method: nil, setup_future_usage: nil)
3349
+ @capture_method = capture_method
3350
+ @setup_future_usage = setup_future_usage
3351
+ end
3352
+ end
3353
+
3354
+ class Klarna < ::Stripe::RequestParams
3355
+ class OnDemand < ::Stripe::RequestParams
3356
+ # Your average amount value. You can use a value across your customer base, or segment based on customer type, country, etc.
3357
+ attr_accessor :average_amount
3358
+ # The maximum value you may charge a customer per purchase. You can use a value across your customer base, or segment based on customer type, country, etc.
3359
+ attr_accessor :maximum_amount
3360
+ # The lowest or minimum value you may charge a customer per purchase. You can use a value across your customer base, or segment based on customer type, country, etc.
3361
+ attr_accessor :minimum_amount
3362
+ # Interval at which the customer is making purchases
3363
+ attr_accessor :purchase_interval
3364
+ # The number of `purchase_interval` between charges
3365
+ attr_accessor :purchase_interval_count
3366
+
3367
+ def initialize(
3368
+ average_amount: nil,
3369
+ maximum_amount: nil,
3370
+ minimum_amount: nil,
3371
+ purchase_interval: nil,
3372
+ purchase_interval_count: nil
3373
+ )
3374
+ @average_amount = average_amount
3375
+ @maximum_amount = maximum_amount
3376
+ @minimum_amount = minimum_amount
3377
+ @purchase_interval = purchase_interval
3378
+ @purchase_interval_count = purchase_interval_count
3379
+ end
3380
+ end
3381
+
3382
+ class Subscription < ::Stripe::RequestParams
3383
+ class NextBilling < ::Stripe::RequestParams
3384
+ # The amount of the next charge for the subscription.
3385
+ attr_accessor :amount
3386
+ # The date of the next charge for the subscription in YYYY-MM-DD format.
3387
+ attr_accessor :date
3388
+
3389
+ def initialize(amount: nil, date: nil)
3390
+ @amount = amount
3391
+ @date = date
3392
+ end
3393
+ end
3394
+ # Unit of time between subscription charges.
3395
+ attr_accessor :interval
3396
+ # The number of intervals (specified in the `interval` attribute) between subscription charges. For example, `interval=month` and `interval_count=3` charges every 3 months.
3397
+ attr_accessor :interval_count
3398
+ # Name for subscription.
3399
+ attr_accessor :name
3400
+ # Describes the upcoming charge for this subscription.
3401
+ attr_accessor :next_billing
3402
+ # A non-customer-facing reference to correlate subscription charges in the Klarna app. Use a value that persists across subscription charges.
3403
+ attr_accessor :reference
3404
+
3405
+ def initialize(
3406
+ interval: nil,
3407
+ interval_count: nil,
3408
+ name: nil,
3409
+ next_billing: nil,
3410
+ reference: nil
3411
+ )
3412
+ @interval = interval
3413
+ @interval_count = interval_count
3414
+ @name = name
3415
+ @next_billing = next_billing
3416
+ @reference = reference
3417
+ end
3418
+ end
3419
+
3420
+ class SupplementaryPurchaseData < ::Stripe::RequestParams
3421
+ class BusReservationDetail < ::Stripe::RequestParams
3422
+ class Arrival < ::Stripe::RequestParams
3423
+ class Address < ::Stripe::RequestParams
3424
+ # The city or town.
3425
+ attr_accessor :city
3426
+ # The country in ISO 3166-1 alpha-2 format.
3427
+ attr_accessor :country
3428
+ # The postal code formatted according to country.
3429
+ attr_accessor :postal_code
3430
+ # The state, county, province, or region formatted according to country.
3431
+ attr_accessor :region
3432
+ # Line 1 of the street address.
3433
+ attr_accessor :street_address
3434
+ # Line 2 of the street address.
3435
+ attr_accessor :street_address2
3436
+
3437
+ def initialize(
3438
+ city: nil,
3439
+ country: nil,
3440
+ postal_code: nil,
3441
+ region: nil,
3442
+ street_address: nil,
3443
+ street_address2: nil
3444
+ )
3445
+ @city = city
3446
+ @country = country
3447
+ @postal_code = postal_code
3448
+ @region = region
3449
+ @street_address = street_address
3450
+ @street_address2 = street_address2
3451
+ end
3452
+ end
3453
+ # Address of the arrival location.
3454
+ attr_accessor :address
3455
+ # Identifier name or reference for the arrival location.
3456
+ attr_accessor :arrival_location
3457
+
3458
+ def initialize(address: nil, arrival_location: nil)
3459
+ @address = address
3460
+ @arrival_location = arrival_location
3461
+ end
3462
+ end
3463
+
3464
+ class Departure < ::Stripe::RequestParams
3465
+ class Address < ::Stripe::RequestParams
3466
+ # The city or town.
3467
+ attr_accessor :city
3468
+ # The country in ISO 3166-1 alpha-2 format.
3469
+ attr_accessor :country
3470
+ # The postal code formatted according to country.
3471
+ attr_accessor :postal_code
3472
+ # The state, county, province, or region formatted according to country.
3473
+ attr_accessor :region
3474
+ # Line 1 of the street address.
3475
+ attr_accessor :street_address
3476
+ # Line 2 of the street address.
3477
+ attr_accessor :street_address2
3478
+
3479
+ def initialize(
3480
+ city: nil,
3481
+ country: nil,
3482
+ postal_code: nil,
3483
+ region: nil,
3484
+ street_address: nil,
3485
+ street_address2: nil
3486
+ )
3487
+ @city = city
3488
+ @country = country
3489
+ @postal_code = postal_code
3490
+ @region = region
3491
+ @street_address = street_address
3492
+ @street_address2 = street_address2
3493
+ end
3494
+ end
3495
+ # Address of the departure location.
3496
+ attr_accessor :address
3497
+ # Timestamp of departure.
3498
+ attr_accessor :departs_at
3499
+ # Identifier name or reference for the origin location.
3500
+ attr_accessor :departure_location
3501
+
3502
+ def initialize(address: nil, departs_at: nil, departure_location: nil)
3503
+ @address = address
3504
+ @departs_at = departs_at
3505
+ @departure_location = departure_location
3506
+ end
3507
+ end
3508
+
3509
+ class Insurance < ::Stripe::RequestParams
3510
+ # Insurance currency.
3511
+ attr_accessor :currency
3512
+ # Name of the company providing the insurance.
3513
+ attr_accessor :insurance_company_name
3514
+ # Type of insurance.
3515
+ attr_accessor :insurance_type
3516
+ # Price of insurance in cents.
3517
+ attr_accessor :price
3518
+
3519
+ def initialize(
3520
+ currency: nil,
3521
+ insurance_company_name: nil,
3522
+ insurance_type: nil,
3523
+ price: nil
3524
+ )
3525
+ @currency = currency
3526
+ @insurance_company_name = insurance_company_name
3527
+ @insurance_type = insurance_type
3528
+ @price = price
3529
+ end
3530
+ end
3531
+
3532
+ class Passenger < ::Stripe::RequestParams
3533
+ # The family name of the person.
3534
+ attr_accessor :family_name
3535
+ # The given name of the person.
3536
+ attr_accessor :given_name
3537
+
3538
+ def initialize(family_name: nil, given_name: nil)
3539
+ @family_name = family_name
3540
+ @given_name = given_name
3541
+ end
3542
+ end
3543
+ # Name of associated or partner company for the service.
3544
+ attr_accessor :affiliate_name
3545
+ # Arrival details.
3546
+ attr_accessor :arrival
3547
+ # Name of transportation company.
3548
+ attr_accessor :carrier_name
3549
+ # Currency.
3550
+ attr_accessor :currency
3551
+ # Departure details.
3552
+ attr_accessor :departure
3553
+ # List of insurances for this reservation.
3554
+ attr_accessor :insurances
3555
+ # List of passengers that this reservation applies to.
3556
+ attr_accessor :passengers
3557
+ # Price in cents.
3558
+ attr_accessor :price
3559
+ # Ticket class.
3560
+ attr_accessor :ticket_class
3561
+
3562
+ def initialize(
3563
+ affiliate_name: nil,
3564
+ arrival: nil,
3565
+ carrier_name: nil,
3566
+ currency: nil,
3567
+ departure: nil,
3568
+ insurances: nil,
3569
+ passengers: nil,
3570
+ price: nil,
3571
+ ticket_class: nil
3572
+ )
3573
+ @affiliate_name = affiliate_name
3574
+ @arrival = arrival
3575
+ @carrier_name = carrier_name
3576
+ @currency = currency
3577
+ @departure = departure
3578
+ @insurances = insurances
3579
+ @passengers = passengers
3580
+ @price = price
3581
+ @ticket_class = ticket_class
3582
+ end
3583
+ end
3584
+
3585
+ class EventReservationDetail < ::Stripe::RequestParams
3586
+ class Address < ::Stripe::RequestParams
3587
+ # The city or town.
3588
+ attr_accessor :city
3589
+ # The country in ISO 3166-1 alpha-2 format.
3590
+ attr_accessor :country
3591
+ # The postal code formatted according to country.
3592
+ attr_accessor :postal_code
3593
+ # The state, county, province, or region formatted according to country.
3594
+ attr_accessor :region
3595
+ # Line 1 of the street address.
3596
+ attr_accessor :street_address
3597
+ # Line 2 of the street address.
3598
+ attr_accessor :street_address2
3599
+
3600
+ def initialize(
3601
+ city: nil,
3602
+ country: nil,
3603
+ postal_code: nil,
3604
+ region: nil,
3605
+ street_address: nil,
3606
+ street_address2: nil
3607
+ )
3608
+ @city = city
3609
+ @country = country
3610
+ @postal_code = postal_code
3611
+ @region = region
3612
+ @street_address = street_address
3613
+ @street_address2 = street_address2
3614
+ end
3615
+ end
3616
+
3617
+ class Insurance < ::Stripe::RequestParams
3618
+ # Insurance currency.
3619
+ attr_accessor :currency
3620
+ # Name of the company providing the insurance.
3621
+ attr_accessor :insurance_company_name
3622
+ # Type of insurance.
3623
+ attr_accessor :insurance_type
3624
+ # Price of insurance in cents.
3625
+ attr_accessor :price
3626
+
3627
+ def initialize(
3628
+ currency: nil,
3629
+ insurance_company_name: nil,
3630
+ insurance_type: nil,
3631
+ price: nil
3632
+ )
3633
+ @currency = currency
3634
+ @insurance_company_name = insurance_company_name
3635
+ @insurance_type = insurance_type
3636
+ @price = price
3637
+ end
3638
+ end
3639
+ # Indicates if the tickets are digitally checked when entering the venue.
3640
+ attr_accessor :access_controlled_venue
3641
+ # Address of the event.
3642
+ attr_accessor :address
3643
+ # Name of associated or partner company for the service.
3644
+ attr_accessor :affiliate_name
3645
+ # End timestamp of the event.
3646
+ attr_accessor :ends_at
3647
+ # Company selling the ticket.
3648
+ attr_accessor :event_company_name
3649
+ # Name of the event.
3650
+ attr_accessor :event_name
3651
+ # Type of the event.
3652
+ attr_accessor :event_type
3653
+ # List of insurances for this event.
3654
+ attr_accessor :insurances
3655
+ # Start timestamp of the event.
3656
+ attr_accessor :starts_at
3657
+ # Name of the venue where the event takes place.
3658
+ attr_accessor :venue_name
3659
+
3660
+ def initialize(
3661
+ access_controlled_venue: nil,
3662
+ address: nil,
3663
+ affiliate_name: nil,
3664
+ ends_at: nil,
3665
+ event_company_name: nil,
3666
+ event_name: nil,
3667
+ event_type: nil,
3668
+ insurances: nil,
3669
+ starts_at: nil,
3670
+ venue_name: nil
3671
+ )
3672
+ @access_controlled_venue = access_controlled_venue
3673
+ @address = address
3674
+ @affiliate_name = affiliate_name
3675
+ @ends_at = ends_at
3676
+ @event_company_name = event_company_name
3677
+ @event_name = event_name
3678
+ @event_type = event_type
3679
+ @insurances = insurances
3680
+ @starts_at = starts_at
3681
+ @venue_name = venue_name
3682
+ end
3683
+ end
3684
+
3685
+ class FerryReservationDetail < ::Stripe::RequestParams
3686
+ class Arrival < ::Stripe::RequestParams
3687
+ class Address < ::Stripe::RequestParams
3688
+ # The city or town.
3689
+ attr_accessor :city
3690
+ # The country in ISO 3166-1 alpha-2 format.
3691
+ attr_accessor :country
3692
+ # The postal code formatted according to country.
3693
+ attr_accessor :postal_code
3694
+ # The state, county, province, or region formatted according to country.
3695
+ attr_accessor :region
3696
+ # Line 1 of the street address.
3697
+ attr_accessor :street_address
3698
+ # Line 2 of the street address.
3699
+ attr_accessor :street_address2
3700
+
3701
+ def initialize(
3702
+ city: nil,
3703
+ country: nil,
3704
+ postal_code: nil,
3705
+ region: nil,
3706
+ street_address: nil,
3707
+ street_address2: nil
3708
+ )
3709
+ @city = city
3710
+ @country = country
3711
+ @postal_code = postal_code
3712
+ @region = region
3713
+ @street_address = street_address
3714
+ @street_address2 = street_address2
3715
+ end
3716
+ end
3717
+ # Address of the arrival location.
3718
+ attr_accessor :address
3719
+ # Identifier name or reference for the arrival location.
3720
+ attr_accessor :arrival_location
3721
+
3722
+ def initialize(address: nil, arrival_location: nil)
3723
+ @address = address
3724
+ @arrival_location = arrival_location
3725
+ end
3726
+ end
3727
+
3728
+ class Departure < ::Stripe::RequestParams
3729
+ class Address < ::Stripe::RequestParams
3730
+ # The city or town.
3731
+ attr_accessor :city
3732
+ # The country in ISO 3166-1 alpha-2 format.
3733
+ attr_accessor :country
3734
+ # The postal code formatted according to country.
3735
+ attr_accessor :postal_code
3736
+ # The state, county, province, or region formatted according to country.
3737
+ attr_accessor :region
3738
+ # Line 1 of the street address.
3739
+ attr_accessor :street_address
3740
+ # Line 2 of the street address.
3741
+ attr_accessor :street_address2
3742
+
3743
+ def initialize(
3744
+ city: nil,
3745
+ country: nil,
3746
+ postal_code: nil,
3747
+ region: nil,
3748
+ street_address: nil,
3749
+ street_address2: nil
3750
+ )
3751
+ @city = city
3752
+ @country = country
3753
+ @postal_code = postal_code
3754
+ @region = region
3755
+ @street_address = street_address
3756
+ @street_address2 = street_address2
3757
+ end
3758
+ end
3759
+ # Address of the departure location.
3760
+ attr_accessor :address
3761
+ # Timestamp of departure.
3762
+ attr_accessor :departs_at
3763
+ # Identifier name or reference for the origin location.
3764
+ attr_accessor :departure_location
3765
+
3766
+ def initialize(address: nil, departs_at: nil, departure_location: nil)
3767
+ @address = address
3768
+ @departs_at = departs_at
3769
+ @departure_location = departure_location
3770
+ end
3771
+ end
3772
+
3773
+ class Insurance < ::Stripe::RequestParams
3774
+ # Insurance currency.
3775
+ attr_accessor :currency
3776
+ # Name of the company providing the insurance.
3777
+ attr_accessor :insurance_company_name
3778
+ # Type of insurance.
3779
+ attr_accessor :insurance_type
3780
+ # Price of insurance in cents.
3781
+ attr_accessor :price
3782
+
3783
+ def initialize(
3784
+ currency: nil,
3785
+ insurance_company_name: nil,
3786
+ insurance_type: nil,
3787
+ price: nil
3788
+ )
3789
+ @currency = currency
3790
+ @insurance_company_name = insurance_company_name
3791
+ @insurance_type = insurance_type
3792
+ @price = price
3793
+ end
3794
+ end
3795
+
3796
+ class Passenger < ::Stripe::RequestParams
3797
+ # The family name of the person.
3798
+ attr_accessor :family_name
3799
+ # The given name of the person.
3800
+ attr_accessor :given_name
3801
+
3802
+ def initialize(family_name: nil, given_name: nil)
3803
+ @family_name = family_name
3804
+ @given_name = given_name
3805
+ end
3806
+ end
3807
+ # Name of associated or partner company for the service.
3808
+ attr_accessor :affiliate_name
3809
+ # Arrival details.
3810
+ attr_accessor :arrival
3811
+ # Name of transportation company.
3812
+ attr_accessor :carrier_name
3813
+ # Currency.
3814
+ attr_accessor :currency
3815
+ # Departure details.
3816
+ attr_accessor :departure
3817
+ # List of insurances for this reservation.
3818
+ attr_accessor :insurances
3819
+ # List of passengers that this reservation applies to.
3820
+ attr_accessor :passengers
3821
+ # Price in cents.
3822
+ attr_accessor :price
3823
+ # Ticket class.
3824
+ attr_accessor :ticket_class
3825
+
3826
+ def initialize(
3827
+ affiliate_name: nil,
3828
+ arrival: nil,
3829
+ carrier_name: nil,
3830
+ currency: nil,
3831
+ departure: nil,
3832
+ insurances: nil,
3833
+ passengers: nil,
3834
+ price: nil,
3835
+ ticket_class: nil
3836
+ )
3837
+ @affiliate_name = affiliate_name
3838
+ @arrival = arrival
3839
+ @carrier_name = carrier_name
3840
+ @currency = currency
3841
+ @departure = departure
3842
+ @insurances = insurances
3843
+ @passengers = passengers
3844
+ @price = price
3845
+ @ticket_class = ticket_class
3846
+ end
3847
+ end
3848
+
3849
+ class Insurance < ::Stripe::RequestParams
3850
+ # Insurance currency.
3851
+ attr_accessor :currency
3852
+ # Name of the company providing the insurance.
3853
+ attr_accessor :insurance_company_name
3854
+ # Type of insurance
3855
+ attr_accessor :insurance_type
3856
+ # Price of insurance in cents.
3857
+ attr_accessor :price
3858
+
3859
+ def initialize(
3860
+ currency: nil,
3861
+ insurance_company_name: nil,
3862
+ insurance_type: nil,
3863
+ price: nil
3864
+ )
3865
+ @currency = currency
3866
+ @insurance_company_name = insurance_company_name
3867
+ @insurance_type = insurance_type
3868
+ @price = price
3869
+ end
3870
+ end
3871
+
3872
+ class MarketplaceSeller < ::Stripe::RequestParams
3873
+ class MarketplaceSellerAddress < ::Stripe::RequestParams
3874
+ # The city or town.
3875
+ attr_accessor :city
3876
+ # The country in ISO 3166-1 alpha-2 format.
3877
+ attr_accessor :country
3878
+ # The postal code formatted according to country.
3879
+ attr_accessor :postal_code
3880
+ # The state, county, province, or region formatted according to country.
3881
+ attr_accessor :region
3882
+ # Line 1 of the street address.
3883
+ attr_accessor :street_address
3884
+ # Line 2 of the street address.
3885
+ attr_accessor :street_address2
3886
+
3887
+ def initialize(
3888
+ city: nil,
3889
+ country: nil,
3890
+ postal_code: nil,
3891
+ region: nil,
3892
+ street_address: nil,
3893
+ street_address2: nil
3894
+ )
3895
+ @city = city
3896
+ @country = country
3897
+ @postal_code = postal_code
3898
+ @region = region
3899
+ @street_address = street_address
3900
+ @street_address2 = street_address2
3901
+ end
3902
+ end
3903
+ # The references to line items for purchases with multiple associated sub-sellers.
3904
+ attr_accessor :line_item_references
3905
+ # The address of the selling or delivering merchant.
3906
+ attr_accessor :marketplace_seller_address
3907
+ # The name of the marketplace seller.
3908
+ attr_accessor :marketplace_seller_name
3909
+ # The unique identifier for the marketplace seller.
3910
+ attr_accessor :marketplace_seller_reference
3911
+ # The number of transactions the sub-seller completed in the last 12 months.
3912
+ attr_accessor :number_of_transactions
3913
+ # The category of the product.
3914
+ attr_accessor :product_category
3915
+ # The date when the seller's account with the marketplace was last logged in.
3916
+ attr_accessor :seller_last_login_at
3917
+ # The current rating of the marketplace seller. If the marketplace uses numeric ranking, map these to the enum values.
3918
+ attr_accessor :seller_rating
3919
+ # The date when the seller's account with the marketplace was created.
3920
+ attr_accessor :seller_registered_at
3921
+ # The date when the seller's account with the marketplace was last updated.
3922
+ attr_accessor :seller_updated_at
3923
+ # The references to shipping addresses for purchases with multiple associated sub-sellers.
3924
+ attr_accessor :shipping_references
3925
+ # The accumulated amount of sales transactions made by the sub-merchant or sub-seller within the past 12 months in the payment currency. These transactions are in minor currency units.
3926
+ attr_accessor :volume_of_transactions
3927
+
3928
+ def initialize(
3929
+ line_item_references: nil,
3930
+ marketplace_seller_address: nil,
3931
+ marketplace_seller_name: nil,
3932
+ marketplace_seller_reference: nil,
3933
+ number_of_transactions: nil,
3934
+ product_category: nil,
3935
+ seller_last_login_at: nil,
3936
+ seller_rating: nil,
3937
+ seller_registered_at: nil,
3938
+ seller_updated_at: nil,
3939
+ shipping_references: nil,
3940
+ volume_of_transactions: nil
3941
+ )
3942
+ @line_item_references = line_item_references
3943
+ @marketplace_seller_address = marketplace_seller_address
3944
+ @marketplace_seller_name = marketplace_seller_name
3945
+ @marketplace_seller_reference = marketplace_seller_reference
3946
+ @number_of_transactions = number_of_transactions
3947
+ @product_category = product_category
3948
+ @seller_last_login_at = seller_last_login_at
3949
+ @seller_rating = seller_rating
3950
+ @seller_registered_at = seller_registered_at
3951
+ @seller_updated_at = seller_updated_at
3952
+ @shipping_references = shipping_references
3953
+ @volume_of_transactions = volume_of_transactions
3954
+ end
3955
+ end
3956
+
3957
+ class RoundTripReservationDetail < ::Stripe::RequestParams
3958
+ class Arrival < ::Stripe::RequestParams
3959
+ class Address < ::Stripe::RequestParams
3960
+ # The city or town.
3961
+ attr_accessor :city
3962
+ # The country in ISO 3166-1 alpha-2 format.
3963
+ attr_accessor :country
3964
+ # The postal code formatted according to country.
3965
+ attr_accessor :postal_code
3966
+ # The state, county, province, or region formatted according to country.
3967
+ attr_accessor :region
3968
+ # Line 1 of the street address.
3969
+ attr_accessor :street_address
3970
+ # Line 2 of the street address.
3971
+ attr_accessor :street_address2
3972
+
3973
+ def initialize(
3974
+ city: nil,
3975
+ country: nil,
3976
+ postal_code: nil,
3977
+ region: nil,
3978
+ street_address: nil,
3979
+ street_address2: nil
3980
+ )
3981
+ @city = city
3982
+ @country = country
3983
+ @postal_code = postal_code
3984
+ @region = region
3985
+ @street_address = street_address
3986
+ @street_address2 = street_address2
3987
+ end
3988
+ end
3989
+ # Address of the arrival location.
3990
+ attr_accessor :address
3991
+ # Identifier name or reference for the arrival location.
3992
+ attr_accessor :arrival_location
3993
+
3994
+ def initialize(address: nil, arrival_location: nil)
3995
+ @address = address
3996
+ @arrival_location = arrival_location
3997
+ end
3998
+ end
3999
+
4000
+ class Departure < ::Stripe::RequestParams
4001
+ class Address < ::Stripe::RequestParams
4002
+ # The city or town.
4003
+ attr_accessor :city
4004
+ # The country in ISO 3166-1 alpha-2 format.
4005
+ attr_accessor :country
4006
+ # The postal code formatted according to country.
4007
+ attr_accessor :postal_code
4008
+ # The state, county, province, or region formatted according to country.
4009
+ attr_accessor :region
4010
+ # Line 1 of the street address.
4011
+ attr_accessor :street_address
4012
+ # Line 2 of the street address.
4013
+ attr_accessor :street_address2
4014
+
4015
+ def initialize(
4016
+ city: nil,
4017
+ country: nil,
4018
+ postal_code: nil,
4019
+ region: nil,
4020
+ street_address: nil,
4021
+ street_address2: nil
4022
+ )
4023
+ @city = city
4024
+ @country = country
4025
+ @postal_code = postal_code
4026
+ @region = region
4027
+ @street_address = street_address
4028
+ @street_address2 = street_address2
4029
+ end
4030
+ end
4031
+ # Address of the departure location.
4032
+ attr_accessor :address
4033
+ # Timestamp of departure.
4034
+ attr_accessor :departs_at
4035
+ # Identifier name or reference for the origin location.
4036
+ attr_accessor :departure_location
4037
+
4038
+ def initialize(address: nil, departs_at: nil, departure_location: nil)
4039
+ @address = address
4040
+ @departs_at = departs_at
4041
+ @departure_location = departure_location
4042
+ end
4043
+ end
4044
+
4045
+ class Insurance < ::Stripe::RequestParams
4046
+ # Insurance currency.
4047
+ attr_accessor :currency
4048
+ # Name of the company providing the insurance.
4049
+ attr_accessor :insurance_company_name
4050
+ # Type of insurance.
4051
+ attr_accessor :insurance_type
4052
+ # Price of insurance in cents.
4053
+ attr_accessor :price
4054
+
4055
+ def initialize(
4056
+ currency: nil,
4057
+ insurance_company_name: nil,
4058
+ insurance_type: nil,
4059
+ price: nil
4060
+ )
4061
+ @currency = currency
4062
+ @insurance_company_name = insurance_company_name
4063
+ @insurance_type = insurance_type
4064
+ @price = price
4065
+ end
4066
+ end
4067
+
4068
+ class Passenger < ::Stripe::RequestParams
4069
+ # The family name of the person.
4070
+ attr_accessor :family_name
4071
+ # The given name of the person.
4072
+ attr_accessor :given_name
4073
+
4074
+ def initialize(family_name: nil, given_name: nil)
4075
+ @family_name = family_name
4076
+ @given_name = given_name
4077
+ end
4078
+ end
4079
+ # Name of associated or partner company for the service.
4080
+ attr_accessor :affiliate_name
4081
+ # Arrival details.
4082
+ attr_accessor :arrival
4083
+ # Name of transportation company.
4084
+ attr_accessor :carrier_name
4085
+ # Currency.
4086
+ attr_accessor :currency
4087
+ # Departure details.
4088
+ attr_accessor :departure
4089
+ # List of insurances for this reservation.
4090
+ attr_accessor :insurances
4091
+ # List of passengers that this reservation applies to.
4092
+ attr_accessor :passengers
4093
+ # Price in cents.
4094
+ attr_accessor :price
4095
+ # Ticket class.
4096
+ attr_accessor :ticket_class
4097
+
4098
+ def initialize(
4099
+ affiliate_name: nil,
4100
+ arrival: nil,
4101
+ carrier_name: nil,
4102
+ currency: nil,
4103
+ departure: nil,
4104
+ insurances: nil,
4105
+ passengers: nil,
4106
+ price: nil,
4107
+ ticket_class: nil
4108
+ )
4109
+ @affiliate_name = affiliate_name
4110
+ @arrival = arrival
4111
+ @carrier_name = carrier_name
4112
+ @currency = currency
4113
+ @departure = departure
4114
+ @insurances = insurances
4115
+ @passengers = passengers
4116
+ @price = price
4117
+ @ticket_class = ticket_class
4118
+ end
4119
+ end
1507
4120
 
1508
- def initialize(setup_future_usage: nil)
1509
- @setup_future_usage = setup_future_usage
1510
- end
1511
- end
4121
+ class TrainReservationDetail < ::Stripe::RequestParams
4122
+ class Arrival < ::Stripe::RequestParams
4123
+ class Address < ::Stripe::RequestParams
4124
+ # The city or town.
4125
+ attr_accessor :city
4126
+ # The country in ISO 3166-1 alpha-2 format.
4127
+ attr_accessor :country
4128
+ # The postal code formatted according to country.
4129
+ attr_accessor :postal_code
4130
+ # The state, county, province, or region formatted according to country.
4131
+ attr_accessor :region
4132
+ # Line 1 of the street address.
4133
+ attr_accessor :street_address
4134
+ # Line 2 of the street address.
4135
+ attr_accessor :street_address2
4136
+
4137
+ def initialize(
4138
+ city: nil,
4139
+ country: nil,
4140
+ postal_code: nil,
4141
+ region: nil,
4142
+ street_address: nil,
4143
+ street_address2: nil
4144
+ )
4145
+ @city = city
4146
+ @country = country
4147
+ @postal_code = postal_code
4148
+ @region = region
4149
+ @street_address = street_address
4150
+ @street_address2 = street_address2
4151
+ end
4152
+ end
4153
+ # Address of the arrival location.
4154
+ attr_accessor :address
4155
+ # Identifier name or reference for the arrival location.
4156
+ attr_accessor :arrival_location
4157
+
4158
+ def initialize(address: nil, arrival_location: nil)
4159
+ @address = address
4160
+ @arrival_location = arrival_location
4161
+ end
4162
+ end
1512
4163
 
1513
- class InteracPresent < ::Stripe::RequestParams; end
4164
+ class Departure < ::Stripe::RequestParams
4165
+ class Address < ::Stripe::RequestParams
4166
+ # The city or town.
4167
+ attr_accessor :city
4168
+ # The country in ISO 3166-1 alpha-2 format.
4169
+ attr_accessor :country
4170
+ # The postal code formatted according to country.
4171
+ attr_accessor :postal_code
4172
+ # The state, county, province, or region formatted according to country.
4173
+ attr_accessor :region
4174
+ # Line 1 of the street address.
4175
+ attr_accessor :street_address
4176
+ # Line 2 of the street address.
4177
+ attr_accessor :street_address2
4178
+
4179
+ def initialize(
4180
+ city: nil,
4181
+ country: nil,
4182
+ postal_code: nil,
4183
+ region: nil,
4184
+ street_address: nil,
4185
+ street_address2: nil
4186
+ )
4187
+ @city = city
4188
+ @country = country
4189
+ @postal_code = postal_code
4190
+ @region = region
4191
+ @street_address = street_address
4192
+ @street_address2 = street_address2
4193
+ end
4194
+ end
4195
+ # Address of the departure location.
4196
+ attr_accessor :address
4197
+ # Timestamp of departure.
4198
+ attr_accessor :departs_at
4199
+ # Identifier name or reference for the origin location.
4200
+ attr_accessor :departure_location
4201
+
4202
+ def initialize(address: nil, departs_at: nil, departure_location: nil)
4203
+ @address = address
4204
+ @departs_at = departs_at
4205
+ @departure_location = departure_location
4206
+ end
4207
+ end
1514
4208
 
1515
- class KakaoPay < ::Stripe::RequestParams
1516
- # Controls when the funds are captured from the customer's account.
1517
- #
1518
- # If provided, this parameter overrides the behavior of the top-level [capture_method](/api/payment_intents/update#update_payment_intent-capture_method) for this payment method type when finalizing the payment with this payment method type.
1519
- #
1520
- # If `capture_method` is already set on the PaymentIntent, providing an empty value for this parameter unsets the stored value for this payment method type.
1521
- attr_accessor :capture_method
1522
- # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1523
- #
1524
- # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
1525
- #
1526
- # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
1527
- #
1528
- # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
1529
- attr_accessor :setup_future_usage
4209
+ class Insurance < ::Stripe::RequestParams
4210
+ # Insurance currency.
4211
+ attr_accessor :currency
4212
+ # Name of the company providing the insurance.
4213
+ attr_accessor :insurance_company_name
4214
+ # Type of insurance.
4215
+ attr_accessor :insurance_type
4216
+ # Price of insurance in cents.
4217
+ attr_accessor :price
4218
+
4219
+ def initialize(
4220
+ currency: nil,
4221
+ insurance_company_name: nil,
4222
+ insurance_type: nil,
4223
+ price: nil
4224
+ )
4225
+ @currency = currency
4226
+ @insurance_company_name = insurance_company_name
4227
+ @insurance_type = insurance_type
4228
+ @price = price
4229
+ end
4230
+ end
1530
4231
 
1531
- def initialize(capture_method: nil, setup_future_usage: nil)
1532
- @capture_method = capture_method
1533
- @setup_future_usage = setup_future_usage
1534
- end
1535
- end
4232
+ class Passenger < ::Stripe::RequestParams
4233
+ # The family name of the person.
4234
+ attr_accessor :family_name
4235
+ # The given name of the person.
4236
+ attr_accessor :given_name
1536
4237
 
1537
- class Klarna < ::Stripe::RequestParams
1538
- class OnDemand < ::Stripe::RequestParams
1539
- # Your average amount value. You can use a value across your customer base, or segment based on customer type, country, etc.
1540
- attr_accessor :average_amount
1541
- # The maximum value you may charge a customer per purchase. You can use a value across your customer base, or segment based on customer type, country, etc.
1542
- attr_accessor :maximum_amount
1543
- # The lowest or minimum value you may charge a customer per purchase. You can use a value across your customer base, or segment based on customer type, country, etc.
1544
- attr_accessor :minimum_amount
1545
- # Interval at which the customer is making purchases
1546
- attr_accessor :purchase_interval
1547
- # The number of `purchase_interval` between charges
1548
- attr_accessor :purchase_interval_count
4238
+ def initialize(family_name: nil, given_name: nil)
4239
+ @family_name = family_name
4240
+ @given_name = given_name
4241
+ end
4242
+ end
4243
+ # Name of associated or partner company for the service.
4244
+ attr_accessor :affiliate_name
4245
+ # Arrival details.
4246
+ attr_accessor :arrival
4247
+ # Name of transportation company.
4248
+ attr_accessor :carrier_name
4249
+ # Currency.
4250
+ attr_accessor :currency
4251
+ # Departure details.
4252
+ attr_accessor :departure
4253
+ # List of insurances for this reservation.
4254
+ attr_accessor :insurances
4255
+ # List of passengers that this reservation applies to.
4256
+ attr_accessor :passengers
4257
+ # Price in cents.
4258
+ attr_accessor :price
4259
+ # Ticket class.
4260
+ attr_accessor :ticket_class
1549
4261
 
1550
- def initialize(
1551
- average_amount: nil,
1552
- maximum_amount: nil,
1553
- minimum_amount: nil,
1554
- purchase_interval: nil,
1555
- purchase_interval_count: nil
1556
- )
1557
- @average_amount = average_amount
1558
- @maximum_amount = maximum_amount
1559
- @minimum_amount = minimum_amount
1560
- @purchase_interval = purchase_interval
1561
- @purchase_interval_count = purchase_interval_count
4262
+ def initialize(
4263
+ affiliate_name: nil,
4264
+ arrival: nil,
4265
+ carrier_name: nil,
4266
+ currency: nil,
4267
+ departure: nil,
4268
+ insurances: nil,
4269
+ passengers: nil,
4270
+ price: nil,
4271
+ ticket_class: nil
4272
+ )
4273
+ @affiliate_name = affiliate_name
4274
+ @arrival = arrival
4275
+ @carrier_name = carrier_name
4276
+ @currency = currency
4277
+ @departure = departure
4278
+ @insurances = insurances
4279
+ @passengers = passengers
4280
+ @price = price
4281
+ @ticket_class = ticket_class
4282
+ end
1562
4283
  end
1563
- end
1564
4284
 
1565
- class Subscription < ::Stripe::RequestParams
1566
- class NextBilling < ::Stripe::RequestParams
1567
- # The amount of the next charge for the subscription.
1568
- attr_accessor :amount
1569
- # The date of the next charge for the subscription in YYYY-MM-DD format.
1570
- attr_accessor :date
4285
+ class Voucher < ::Stripe::RequestParams
4286
+ # Name of associated or partner company for this voucher.
4287
+ attr_accessor :affiliate_name
4288
+ # The voucher validity end time.
4289
+ attr_accessor :ends_at
4290
+ # The voucher validity start time.
4291
+ attr_accessor :starts_at
4292
+ # The issuer or provider of this voucher.
4293
+ attr_accessor :voucher_company
4294
+ # The name or reference to identify the voucher.
4295
+ attr_accessor :voucher_name
4296
+ # The type of this voucher.
4297
+ attr_accessor :voucher_type
1571
4298
 
1572
- def initialize(amount: nil, date: nil)
1573
- @amount = amount
1574
- @date = date
4299
+ def initialize(
4300
+ affiliate_name: nil,
4301
+ ends_at: nil,
4302
+ starts_at: nil,
4303
+ voucher_company: nil,
4304
+ voucher_name: nil,
4305
+ voucher_type: nil
4306
+ )
4307
+ @affiliate_name = affiliate_name
4308
+ @ends_at = ends_at
4309
+ @starts_at = starts_at
4310
+ @voucher_company = voucher_company
4311
+ @voucher_name = voucher_name
4312
+ @voucher_type = voucher_type
1575
4313
  end
1576
4314
  end
1577
- # Unit of time between subscription charges.
1578
- attr_accessor :interval
1579
- # The number of intervals (specified in the `interval` attribute) between subscription charges. For example, `interval=month` and `interval_count=3` charges every 3 months.
1580
- attr_accessor :interval_count
1581
- # Name for subscription.
1582
- attr_accessor :name
1583
- # Describes the upcoming charge for this subscription.
1584
- attr_accessor :next_billing
1585
- # A non-customer-facing reference to correlate subscription charges in the Klarna app. Use a value that persists across subscription charges.
1586
- attr_accessor :reference
4315
+ # Supplementary bus reservation details.
4316
+ attr_accessor :bus_reservation_details
4317
+ # Supplementary event reservation details.
4318
+ attr_accessor :event_reservation_details
4319
+ # Supplementary ferry reservation details.
4320
+ attr_accessor :ferry_reservation_details
4321
+ # Supplementary insurance details.
4322
+ attr_accessor :insurances
4323
+ # Supplementary marketplace seller details.
4324
+ attr_accessor :marketplace_sellers
4325
+ # Supplementary round trip reservation details.
4326
+ attr_accessor :round_trip_reservation_details
4327
+ # Supplementary train reservation details.
4328
+ attr_accessor :train_reservation_details
4329
+ # Voucher details, such as a gift card or discount code.
4330
+ attr_accessor :vouchers
1587
4331
 
1588
4332
  def initialize(
1589
- interval: nil,
1590
- interval_count: nil,
1591
- name: nil,
1592
- next_billing: nil,
1593
- reference: nil
4333
+ bus_reservation_details: nil,
4334
+ event_reservation_details: nil,
4335
+ ferry_reservation_details: nil,
4336
+ insurances: nil,
4337
+ marketplace_sellers: nil,
4338
+ round_trip_reservation_details: nil,
4339
+ train_reservation_details: nil,
4340
+ vouchers: nil
1594
4341
  )
1595
- @interval = interval
1596
- @interval_count = interval_count
1597
- @name = name
1598
- @next_billing = next_billing
1599
- @reference = reference
4342
+ @bus_reservation_details = bus_reservation_details
4343
+ @event_reservation_details = event_reservation_details
4344
+ @ferry_reservation_details = ferry_reservation_details
4345
+ @insurances = insurances
4346
+ @marketplace_sellers = marketplace_sellers
4347
+ @round_trip_reservation_details = round_trip_reservation_details
4348
+ @train_reservation_details = train_reservation_details
4349
+ @vouchers = vouchers
1600
4350
  end
1601
4351
  end
1602
4352
  # Controls when the funds are captured from the customer's account.
@@ -1621,19 +4371,23 @@ module Stripe
1621
4371
  attr_accessor :setup_future_usage
1622
4372
  # Subscription details if setting up or charging a subscription.
1623
4373
  attr_accessor :subscriptions
4374
+ # Supplementary Purchase Data for the corresponding Klarna payment
4375
+ attr_accessor :supplementary_purchase_data
1624
4376
 
1625
4377
  def initialize(
1626
4378
  capture_method: nil,
1627
4379
  on_demand: nil,
1628
4380
  preferred_locale: nil,
1629
4381
  setup_future_usage: nil,
1630
- subscriptions: nil
4382
+ subscriptions: nil,
4383
+ supplementary_purchase_data: nil
1631
4384
  )
1632
4385
  @capture_method = capture_method
1633
4386
  @on_demand = on_demand
1634
4387
  @preferred_locale = preferred_locale
1635
4388
  @setup_future_usage = setup_future_usage
1636
4389
  @subscriptions = subscriptions
4390
+ @supplementary_purchase_data = supplementary_purchase_data
1637
4391
  end
1638
4392
  end
1639
4393
 
@@ -1894,12 +4648,65 @@ module Stripe
1894
4648
  end
1895
4649
 
1896
4650
  class Paypal < ::Stripe::RequestParams
4651
+ class LineItem < ::Stripe::RequestParams
4652
+ class Tax < ::Stripe::RequestParams
4653
+ # The tax for a single unit of the line item in minor units. Cannot be a negative number.
4654
+ attr_accessor :amount
4655
+ # The tax behavior for the line item.
4656
+ attr_accessor :behavior
4657
+
4658
+ def initialize(amount: nil, behavior: nil)
4659
+ @amount = amount
4660
+ @behavior = behavior
4661
+ end
4662
+ end
4663
+ # Type of the line item.
4664
+ attr_accessor :category
4665
+ # Description of the line item.
4666
+ attr_accessor :description
4667
+ # Descriptive name of the line item.
4668
+ attr_accessor :name
4669
+ # Quantity of the line item. Must be a positive number.
4670
+ attr_accessor :quantity
4671
+ # Client facing stock keeping unit, article number or similar.
4672
+ attr_accessor :sku
4673
+ # The Stripe account ID of the connected account that sells the item.
4674
+ attr_accessor :sold_by
4675
+ # The tax information for the line item.
4676
+ attr_accessor :tax
4677
+ # Price for a single unit of the line item in minor units. Cannot be a negative number.
4678
+ attr_accessor :unit_amount
4679
+
4680
+ def initialize(
4681
+ category: nil,
4682
+ description: nil,
4683
+ name: nil,
4684
+ quantity: nil,
4685
+ sku: nil,
4686
+ sold_by: nil,
4687
+ tax: nil,
4688
+ unit_amount: nil
4689
+ )
4690
+ @category = category
4691
+ @description = description
4692
+ @name = name
4693
+ @quantity = quantity
4694
+ @sku = sku
4695
+ @sold_by = sold_by
4696
+ @tax = tax
4697
+ @unit_amount = unit_amount
4698
+ end
4699
+ end
1897
4700
  # Controls when the funds will be captured from the customer's account.
1898
4701
  attr_accessor :capture_method
4702
+ # The line items purchased by the customer.
4703
+ attr_accessor :line_items
1899
4704
  # [Preferred locale](https://stripe.com/docs/payments/paypal/supported-locales) of the PayPal checkout page that the customer is redirected to.
1900
4705
  attr_accessor :preferred_locale
1901
4706
  # A reference of the PayPal transaction visible to customer which is mapped to PayPal's invoice ID. This must be a globally unique ID if you have configured in your PayPal settings to block multiple payments per invoice ID.
1902
4707
  attr_accessor :reference
4708
+ # A reference of the PayPal transaction visible to customer which is mapped to PayPal's invoice ID. This must be a globally unique ID if you have configured in your PayPal settings to block multiple payments per invoice ID.
4709
+ attr_accessor :reference_id
1903
4710
  # The risk correlation ID for an on-session payment using a saved PayPal payment method.
1904
4711
  attr_accessor :risk_correlation_id
1905
4712
  # Indicates that you intend to make future payments with this PaymentIntent's payment method.
@@ -1912,29 +4719,140 @@ module Stripe
1912
4719
  #
1913
4720
  # If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`.
1914
4721
  attr_accessor :setup_future_usage
4722
+ # The Stripe connected account IDs of the sellers on the platform for this transaction (optional). Only allowed when [separate charges and transfers](https://stripe.com/docs/connect/separate-charges-and-transfers) are used.
4723
+ attr_accessor :subsellers
1915
4724
 
1916
4725
  def initialize(
1917
4726
  capture_method: nil,
4727
+ line_items: nil,
1918
4728
  preferred_locale: nil,
1919
4729
  reference: nil,
4730
+ reference_id: nil,
1920
4731
  risk_correlation_id: nil,
1921
- setup_future_usage: nil
4732
+ setup_future_usage: nil,
4733
+ subsellers: nil
1922
4734
  )
1923
4735
  @capture_method = capture_method
4736
+ @line_items = line_items
1924
4737
  @preferred_locale = preferred_locale
1925
4738
  @reference = reference
4739
+ @reference_id = reference_id
1926
4740
  @risk_correlation_id = risk_correlation_id
1927
4741
  @setup_future_usage = setup_future_usage
4742
+ @subsellers = subsellers
4743
+ end
4744
+ end
4745
+
4746
+ class Paypay < ::Stripe::RequestParams
4747
+ # Controls when the funds are captured from the customer's account.
4748
+ #
4749
+ # If provided, this parameter overrides the behavior of the top-level [capture_method](/api/payment_intents/update#update_payment_intent-capture_method) for this payment method type when finalizing the payment with this payment method type.
4750
+ #
4751
+ # If `capture_method` is already set on the PaymentIntent, providing an empty value for this parameter unsets the stored value for this payment method type.
4752
+ attr_accessor :capture_method
4753
+
4754
+ def initialize(capture_method: nil)
4755
+ @capture_method = capture_method
4756
+ end
4757
+ end
4758
+
4759
+ class Payto < ::Stripe::RequestParams
4760
+ class MandateOptions < ::Stripe::RequestParams
4761
+ # Amount that will be collected. It is required when `amount_type` is `fixed`.
4762
+ attr_accessor :amount
4763
+ # The type of amount that will be collected. The amount charged must be exact or up to the value of `amount` param for `fixed` or `maximum` type respectively. Defaults to `maximum`.
4764
+ attr_accessor :amount_type
4765
+ # Date, in YYYY-MM-DD format, after which payments will not be collected. Defaults to no end date.
4766
+ attr_accessor :end_date
4767
+ # The periodicity at which payments will be collected. Defaults to `adhoc`.
4768
+ attr_accessor :payment_schedule
4769
+ # The number of payments that will be made during a payment period. Defaults to 1 except for when `payment_schedule` is `adhoc`. In that case, it defaults to no limit.
4770
+ attr_accessor :payments_per_period
4771
+ # The purpose for which payments are made. Has a default value based on your merchant category code.
4772
+ attr_accessor :purpose
4773
+
4774
+ def initialize(
4775
+ amount: nil,
4776
+ amount_type: nil,
4777
+ end_date: nil,
4778
+ payment_schedule: nil,
4779
+ payments_per_period: nil,
4780
+ purpose: nil
4781
+ )
4782
+ @amount = amount
4783
+ @amount_type = amount_type
4784
+ @end_date = end_date
4785
+ @payment_schedule = payment_schedule
4786
+ @payments_per_period = payments_per_period
4787
+ @purpose = purpose
4788
+ end
4789
+ end
4790
+ # Additional fields for Mandate creation. Only `purpose` field is configurable for PayTo PaymentIntent with `setup_future_usage=none`. Other fields are only applicable to PayTo PaymentIntent with `setup_future_usage=off_session`
4791
+ attr_accessor :mandate_options
4792
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
4793
+ #
4794
+ # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
4795
+ #
4796
+ # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
4797
+ #
4798
+ # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
4799
+ #
4800
+ # If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`.
4801
+ attr_accessor :setup_future_usage
4802
+
4803
+ def initialize(mandate_options: nil, setup_future_usage: nil)
4804
+ @mandate_options = mandate_options
4805
+ @setup_future_usage = setup_future_usage
1928
4806
  end
1929
4807
  end
1930
4808
 
1931
4809
  class Pix < ::Stripe::RequestParams
4810
+ class MandateOptions < ::Stripe::RequestParams
4811
+ # Amount to be charged for future payments. Required when `amount_type=fixed`. If not provided for `amount_type=maximum`, defaults to 40000.
4812
+ attr_accessor :amount
4813
+ # Determines if the amount includes the IOF tax. Defaults to `never`.
4814
+ attr_accessor :amount_includes_iof
4815
+ # Type of amount. Defaults to `maximum`.
4816
+ attr_accessor :amount_type
4817
+ # Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Only `brl` is supported currently.
4818
+ attr_accessor :currency
4819
+ # Date when the mandate expires and no further payments will be charged, in `YYYY-MM-DD`. If not provided, the mandate will be active until canceled. If provided, end date should be after start date.
4820
+ attr_accessor :end_date
4821
+ # Schedule at which the future payments will be charged. Defaults to `weekly`.
4822
+ attr_accessor :payment_schedule
4823
+ # Subscription name displayed to buyers in their bank app. Defaults to the displayable business name.
4824
+ attr_accessor :reference
4825
+ # Start date of the mandate, in `YYYY-MM-DD`. Start date should be at least 3 days in the future. Defaults to 3 days after the current date.
4826
+ attr_accessor :start_date
4827
+
4828
+ def initialize(
4829
+ amount: nil,
4830
+ amount_includes_iof: nil,
4831
+ amount_type: nil,
4832
+ currency: nil,
4833
+ end_date: nil,
4834
+ payment_schedule: nil,
4835
+ reference: nil,
4836
+ start_date: nil
4837
+ )
4838
+ @amount = amount
4839
+ @amount_includes_iof = amount_includes_iof
4840
+ @amount_type = amount_type
4841
+ @currency = currency
4842
+ @end_date = end_date
4843
+ @payment_schedule = payment_schedule
4844
+ @reference = reference
4845
+ @start_date = start_date
4846
+ end
4847
+ end
1932
4848
  # Determines if the amount includes the IOF tax. Defaults to `never`.
1933
4849
  attr_accessor :amount_includes_iof
1934
4850
  # The number of seconds (between 10 and 1209600) after which Pix payment will expire. Defaults to 86400 seconds.
1935
4851
  attr_accessor :expires_after_seconds
1936
4852
  # The timestamp at which the Pix expires (between 10 and 1209600 seconds in the future). Defaults to 1 day in the future.
1937
4853
  attr_accessor :expires_at
4854
+ # Additional fields for mandate creation. Only applicable when `setup_future_usage=off_session`.
4855
+ attr_accessor :mandate_options
1938
4856
  # Indicates that you intend to make future payments with this PaymentIntent's payment method.
1939
4857
  #
1940
4858
  # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
@@ -1950,11 +4868,13 @@ module Stripe
1950
4868
  amount_includes_iof: nil,
1951
4869
  expires_after_seconds: nil,
1952
4870
  expires_at: nil,
4871
+ mandate_options: nil,
1953
4872
  setup_future_usage: nil
1954
4873
  )
1955
4874
  @amount_includes_iof = amount_includes_iof
1956
4875
  @expires_after_seconds = expires_after_seconds
1957
4876
  @expires_at = expires_at
4877
+ @mandate_options = mandate_options
1958
4878
  @setup_future_usage = setup_future_usage
1959
4879
  end
1960
4880
  end
@@ -1976,6 +4896,25 @@ module Stripe
1976
4896
  end
1977
4897
  end
1978
4898
 
4899
+ class Qris < ::Stripe::RequestParams
4900
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
4901
+ #
4902
+ # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
4903
+ #
4904
+ # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
4905
+ #
4906
+ # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
4907
+ #
4908
+ # If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`.
4909
+ attr_accessor :setup_future_usage
4910
+
4911
+ def initialize(setup_future_usage: nil)
4912
+ @setup_future_usage = setup_future_usage
4913
+ end
4914
+ end
4915
+
4916
+ class Rechnung < ::Stripe::RequestParams; end
4917
+
1979
4918
  class RevolutPay < ::Stripe::RequestParams
1980
4919
  # Controls when the funds are captured from the customer's account.
1981
4920
  #
@@ -2055,6 +4994,23 @@ module Stripe
2055
4994
  end
2056
4995
  end
2057
4996
 
4997
+ class Shopeepay < ::Stripe::RequestParams
4998
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
4999
+ #
5000
+ # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
5001
+ #
5002
+ # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
5003
+ #
5004
+ # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
5005
+ #
5006
+ # If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`.
5007
+ attr_accessor :setup_future_usage
5008
+
5009
+ def initialize(setup_future_usage: nil)
5010
+ @setup_future_usage = setup_future_usage
5011
+ end
5012
+ end
5013
+
2058
5014
  class Sofort < ::Stripe::RequestParams
2059
5015
  # Language shown to the payer on redirect.
2060
5016
  attr_accessor :preferred_language
@@ -2075,6 +5031,23 @@ module Stripe
2075
5031
  end
2076
5032
  end
2077
5033
 
5034
+ class StripeBalance < ::Stripe::RequestParams
5035
+ # Indicates that you intend to make future payments with this PaymentIntent's payment method.
5036
+ #
5037
+ # If you provide a Customer with the PaymentIntent, you can use this parameter to [attach the payment method](/payments/save-during-payment) to the Customer after the PaymentIntent is confirmed and the customer completes any required actions. If you don't provide a Customer, you can still [attach](/api/payment_methods/attach) the payment method to a Customer after the transaction completes.
5038
+ #
5039
+ # If the payment method is `card_present` and isn't a digital wallet, Stripe creates and attaches a [generated_card](/api/charges/object#charge_object-payment_method_details-card_present-generated_card) payment method representing the card to the Customer instead.
5040
+ #
5041
+ # When processing card payments, Stripe uses `setup_future_usage` to help you comply with regional legislation and network rules, such as [SCA](/strong-customer-authentication).
5042
+ #
5043
+ # If you've already set `setup_future_usage` and you're performing a request using a publishable key, you can only update the value from `on_session` to `off_session`.
5044
+ attr_accessor :setup_future_usage
5045
+
5046
+ def initialize(setup_future_usage: nil)
5047
+ @setup_future_usage = setup_future_usage
5048
+ end
5049
+ end
5050
+
2078
5051
  class Swish < ::Stripe::RequestParams
2079
5052
  # A reference for this payment to be displayed in the Swish app.
2080
5053
  attr_accessor :reference
@@ -2117,13 +5090,27 @@ module Stripe
2117
5090
  class Filters < ::Stripe::RequestParams
2118
5091
  # The account subcategories to use to filter for selectable accounts. Valid subcategories are `checking` and `savings`.
2119
5092
  attr_accessor :account_subcategories
5093
+ # ID of the institution to use to filter for selectable accounts.
5094
+ attr_accessor :institution
2120
5095
 
2121
- def initialize(account_subcategories: nil)
5096
+ def initialize(account_subcategories: nil, institution: nil)
2122
5097
  @account_subcategories = account_subcategories
5098
+ @institution = institution
5099
+ end
5100
+ end
5101
+
5102
+ class ManualEntry < ::Stripe::RequestParams
5103
+ # Settings for configuring manual entry of account details.
5104
+ attr_accessor :mode
5105
+
5106
+ def initialize(mode: nil)
5107
+ @mode = mode
2123
5108
  end
2124
5109
  end
2125
5110
  # Provide filters for the linked accounts that the customer can select for the payment method.
2126
5111
  attr_accessor :filters
5112
+ # Customize manual entry behavior
5113
+ attr_accessor :manual_entry
2127
5114
  # The list of permissions to request. If this parameter is passed, the `payment_method` permission must be included. Valid permissions include: `balances`, `ownership`, `payment_method`, and `transactions`.
2128
5115
  attr_accessor :permissions
2129
5116
  # List of data features that you would like to retrieve upon account creation.
@@ -2131,8 +5118,15 @@ module Stripe
2131
5118
  # For webview integrations only. Upon completing OAuth login in the native browser, the user will be redirected to this URL to return to your app.
2132
5119
  attr_accessor :return_url
2133
5120
 
2134
- def initialize(filters: nil, permissions: nil, prefetch: nil, return_url: nil)
5121
+ def initialize(
5122
+ filters: nil,
5123
+ manual_entry: nil,
5124
+ permissions: nil,
5125
+ prefetch: nil,
5126
+ return_url: nil
5127
+ )
2135
5128
  @filters = filters
5129
+ @manual_entry = manual_entry
2136
5130
  @permissions = permissions
2137
5131
  @prefetch = prefetch
2138
5132
  @return_url = return_url
@@ -2277,8 +5271,12 @@ module Stripe
2277
5271
  attr_accessor :fpx
2278
5272
  # If this is a `giropay` PaymentMethod, this sub-hash contains details about the Giropay payment method options.
2279
5273
  attr_accessor :giropay
5274
+ # If this is a `gopay` PaymentMethod, this sub-hash contains details about the Gopay payment method options.
5275
+ attr_accessor :gopay
2280
5276
  # If this is a `grabpay` PaymentMethod, this sub-hash contains details about the Grabpay payment method options.
2281
5277
  attr_accessor :grabpay
5278
+ # If this is a `id_bank_transfer` PaymentMethod, this sub-hash contains details about the Indonesia Bank Transfer payment method options.
5279
+ attr_accessor :id_bank_transfer
2282
5280
  # If this is a `ideal` PaymentMethod, this sub-hash contains details about the Ideal payment method options.
2283
5281
  attr_accessor :ideal
2284
5282
  # If this is a `interac_present` PaymentMethod, this sub-hash contains details about the Card Present payment method options.
@@ -2315,10 +5313,18 @@ module Stripe
2315
5313
  attr_accessor :paynow
2316
5314
  # If this is a `paypal` PaymentMethod, this sub-hash contains details about the PayPal payment method options.
2317
5315
  attr_accessor :paypal
5316
+ # If this is a `paypay` PaymentMethod, this sub-hash contains details about the PayPay payment method options.
5317
+ attr_accessor :paypay
5318
+ # If this is a `payto` PaymentMethod, this sub-hash contains details about the PayTo payment method options.
5319
+ attr_accessor :payto
2318
5320
  # If this is a `pix` PaymentMethod, this sub-hash contains details about the Pix payment method options.
2319
5321
  attr_accessor :pix
2320
5322
  # If this is a `promptpay` PaymentMethod, this sub-hash contains details about the PromptPay payment method options.
2321
5323
  attr_accessor :promptpay
5324
+ # If this is a `qris` PaymentMethod, this sub-hash contains details about the QRIS payment method options.
5325
+ attr_accessor :qris
5326
+ # If this is a `rechnung` PaymentMethod, this sub-hash contains details about the Rechnung payment method options.
5327
+ attr_accessor :rechnung
2322
5328
  # If this is a `revolut_pay` PaymentMethod, this sub-hash contains details about the Revolut Pay payment method options.
2323
5329
  attr_accessor :revolut_pay
2324
5330
  # If this is a `samsung_pay` PaymentMethod, this sub-hash contains details about the Samsung Pay payment method options.
@@ -2327,8 +5333,12 @@ module Stripe
2327
5333
  attr_accessor :satispay
2328
5334
  # If this is a `sepa_debit` PaymentIntent, this sub-hash contains details about the SEPA Debit payment method options.
2329
5335
  attr_accessor :sepa_debit
5336
+ # If this is a `shopeepay` PaymentMethod, this sub-hash contains details about the ShopeePay payment method options.
5337
+ attr_accessor :shopeepay
2330
5338
  # If this is a `sofort` PaymentMethod, this sub-hash contains details about the SOFORT payment method options.
2331
5339
  attr_accessor :sofort
5340
+ # If this is a `stripe_balance` PaymentMethod, this sub-hash contains details about the Stripe Balance payment method options.
5341
+ attr_accessor :stripe_balance
2332
5342
  # If this is a `Swish` PaymentMethod, this sub-hash contains details about the Swish payment method options.
2333
5343
  attr_accessor :swish
2334
5344
  # If this is a `twint` PaymentMethod, this sub-hash contains details about the TWINT payment method options.
@@ -2361,7 +5371,9 @@ module Stripe
2361
5371
  eps: nil,
2362
5372
  fpx: nil,
2363
5373
  giropay: nil,
5374
+ gopay: nil,
2364
5375
  grabpay: nil,
5376
+ id_bank_transfer: nil,
2365
5377
  ideal: nil,
2366
5378
  interac_present: nil,
2367
5379
  kakao_pay: nil,
@@ -2380,13 +5392,19 @@ module Stripe
2380
5392
  payco: nil,
2381
5393
  paynow: nil,
2382
5394
  paypal: nil,
5395
+ paypay: nil,
5396
+ payto: nil,
2383
5397
  pix: nil,
2384
5398
  promptpay: nil,
5399
+ qris: nil,
5400
+ rechnung: nil,
2385
5401
  revolut_pay: nil,
2386
5402
  samsung_pay: nil,
2387
5403
  satispay: nil,
2388
5404
  sepa_debit: nil,
5405
+ shopeepay: nil,
2389
5406
  sofort: nil,
5407
+ stripe_balance: nil,
2390
5408
  swish: nil,
2391
5409
  twint: nil,
2392
5410
  us_bank_account: nil,
@@ -2413,7 +5431,9 @@ module Stripe
2413
5431
  @eps = eps
2414
5432
  @fpx = fpx
2415
5433
  @giropay = giropay
5434
+ @gopay = gopay
2416
5435
  @grabpay = grabpay
5436
+ @id_bank_transfer = id_bank_transfer
2417
5437
  @ideal = ideal
2418
5438
  @interac_present = interac_present
2419
5439
  @kakao_pay = kakao_pay
@@ -2432,13 +5452,19 @@ module Stripe
2432
5452
  @payco = payco
2433
5453
  @paynow = paynow
2434
5454
  @paypal = paypal
5455
+ @paypay = paypay
5456
+ @payto = payto
2435
5457
  @pix = pix
2436
5458
  @promptpay = promptpay
5459
+ @qris = qris
5460
+ @rechnung = rechnung
2437
5461
  @revolut_pay = revolut_pay
2438
5462
  @samsung_pay = samsung_pay
2439
5463
  @satispay = satispay
2440
5464
  @sepa_debit = sepa_debit
5465
+ @shopeepay = shopeepay
2441
5466
  @sofort = sofort
5467
+ @stripe_balance = stripe_balance
2442
5468
  @swish = swish
2443
5469
  @twint = twint
2444
5470
  @us_bank_account = us_bank_account
@@ -2508,6 +5534,8 @@ module Stripe
2508
5534
  end
2509
5535
  # Provides industry-specific information about the amount.
2510
5536
  attr_accessor :amount_details
5537
+ # The amount of the application fee (if any) that will be requested to be applied to the payment and transferred to the application owner's Stripe account. The amount of the application fee collected will be capped at the total amount captured. For more information, see the PaymentIntents [use case for connected accounts](https://stripe.com/docs/payments/connected-accounts).
5538
+ attr_accessor :application_fee_amount
2511
5539
  # Controls when the funds will be captured from the customer's account.
2512
5540
  attr_accessor :capture_method
2513
5541
  # ID of the ConfirmationToken used to confirm this PaymentIntent.
@@ -2520,6 +5548,8 @@ module Stripe
2520
5548
  attr_accessor :excluded_payment_method_types
2521
5549
  # Specifies which fields in the response should be expanded.
2522
5550
  attr_accessor :expand
5551
+ # The FX rate in the quote is validated and used to convert the presentment amount to the settlement amount.
5552
+ attr_accessor :fx_quote
2523
5553
  # Automations to be run during the PaymentIntent lifecycle
2524
5554
  attr_accessor :hooks
2525
5555
  # ID of the mandate that's used for this payment.
@@ -2566,11 +5596,13 @@ module Stripe
2566
5596
 
2567
5597
  def initialize(
2568
5598
  amount_details: nil,
5599
+ application_fee_amount: nil,
2569
5600
  capture_method: nil,
2570
5601
  confirmation_token: nil,
2571
5602
  error_on_requires_action: nil,
2572
5603
  excluded_payment_method_types: nil,
2573
5604
  expand: nil,
5605
+ fx_quote: nil,
2574
5606
  hooks: nil,
2575
5607
  mandate: nil,
2576
5608
  mandate_data: nil,
@@ -2588,11 +5620,13 @@ module Stripe
2588
5620
  use_stripe_sdk: nil
2589
5621
  )
2590
5622
  @amount_details = amount_details
5623
+ @application_fee_amount = application_fee_amount
2591
5624
  @capture_method = capture_method
2592
5625
  @confirmation_token = confirmation_token
2593
5626
  @error_on_requires_action = error_on_requires_action
2594
5627
  @excluded_payment_method_types = excluded_payment_method_types
2595
5628
  @expand = expand
5629
+ @fx_quote = fx_quote
2596
5630
  @hooks = hooks
2597
5631
  @mandate = mandate
2598
5632
  @mandate_data = mandate_data