stripe 14.1.0.pre.beta.1 → 15.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (574) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +689 -1512
  3. data/OPENAPI_VERSION +1 -1
  4. data/README.md +3 -3
  5. data/VERSION +1 -1
  6. data/lib/stripe/api_operations/save.rb +2 -1
  7. data/lib/stripe/api_operations/singleton_save.rb +2 -1
  8. data/lib/stripe/api_requestor.rb +3 -29
  9. data/lib/stripe/api_resource.rb +10 -3
  10. data/lib/stripe/api_version.rb +1 -1
  11. data/lib/stripe/errors.rb +0 -54
  12. data/lib/stripe/event_types.rb +0 -75
  13. data/lib/stripe/object_types.rb +0 -48
  14. data/lib/stripe/request_options.rb +2 -1
  15. data/lib/stripe/resources/account.rb +1 -653
  16. data/lib/stripe/resources/account_session.rb +1 -247
  17. data/lib/stripe/resources/billing/credit_balance_summary.rb +0 -2
  18. data/lib/stripe/resources/billing/credit_balance_transaction.rb +0 -4
  19. data/lib/stripe/resources/billing/credit_grant.rb +0 -10
  20. data/lib/stripe/resources/billing_portal/session.rb +0 -6
  21. data/lib/stripe/resources/card.rb +0 -2
  22. data/lib/stripe/resources/cash_balance.rb +0 -2
  23. data/lib/stripe/resources/charge.rb +0 -1454
  24. data/lib/stripe/resources/checkout/session.rb +4 -260
  25. data/lib/stripe/resources/confirmation_token.rb +0 -234
  26. data/lib/stripe/resources/coupon.rb +1 -1
  27. data/lib/stripe/resources/credit_note.rb +0 -10
  28. data/lib/stripe/resources/credit_note_line_item.rb +0 -9
  29. data/lib/stripe/resources/customer.rb +0 -2
  30. data/lib/stripe/resources/customer_balance_transaction.rb +0 -2
  31. data/lib/stripe/resources/customer_cash_balance_transaction.rb +0 -2
  32. data/lib/stripe/resources/customer_session.rb +1 -6
  33. data/lib/stripe/resources/discount.rb +0 -2
  34. data/lib/stripe/resources/event.rb +0 -33
  35. data/lib/stripe/resources/financial_connections/account.rb +1 -20
  36. data/lib/stripe/resources/financial_connections/session.rb +2 -62
  37. data/lib/stripe/resources/identity/verification_session.rb +0 -10
  38. data/lib/stripe/resources/invoice.rb +16 -1176
  39. data/lib/stripe/resources/invoice_item.rb +2 -78
  40. data/lib/stripe/resources/invoice_line_item.rb +1 -55
  41. data/lib/stripe/resources/invoice_payment.rb +53 -2
  42. data/lib/stripe/resources/issuing/cardholder.rb +1 -2
  43. data/lib/stripe/resources/issuing/transaction.rb +0 -6
  44. data/lib/stripe/resources/line_item.rb +0 -37
  45. data/lib/stripe/resources/mandate.rb +0 -24
  46. data/lib/stripe/resources/payment_intent.rb +307 -5109
  47. data/lib/stripe/resources/payment_method.rb +1 -196
  48. data/lib/stripe/resources/payment_method_configuration.rb +0 -295
  49. data/lib/stripe/resources/payout.rb +0 -6
  50. data/lib/stripe/resources/price.rb +0 -30
  51. data/lib/stripe/resources/product.rb +0 -59
  52. data/lib/stripe/resources/promotion_code.rb +0 -10
  53. data/lib/stripe/resources/quote.rb +6 -2042
  54. data/lib/stripe/resources/refund.rb +0 -9
  55. data/lib/stripe/resources/setup_attempt.rb +0 -21
  56. data/lib/stripe/resources/setup_intent.rb +9 -596
  57. data/lib/stripe/resources/source.rb +1 -30
  58. data/lib/stripe/resources/subscription.rb +9 -292
  59. data/lib/stripe/resources/subscription_item.rb +3 -84
  60. data/lib/stripe/resources/subscription_schedule.rb +10 -1007
  61. data/lib/stripe/resources/tax_id.rb +2 -12
  62. data/lib/stripe/resources/terminal/reader.rb +0 -406
  63. data/lib/stripe/resources/treasury/financial_account.rb +3 -22
  64. data/lib/stripe/resources/treasury/financial_account_features.rb +0 -2
  65. data/lib/stripe/resources/treasury/outbound_transfer.rb +0 -37
  66. data/lib/stripe/resources/treasury/received_credit.rb +1 -38
  67. data/lib/stripe/resources/treasury/received_debit.rb +1 -40
  68. data/lib/stripe/resources.rb +0 -85
  69. data/lib/stripe/services/account_service.rb +1 -562
  70. data/lib/stripe/services/account_session_service.rb +1 -217
  71. data/lib/stripe/services/billing/credit_balance_summary_service.rb +1 -4
  72. data/lib/stripe/services/billing/credit_balance_transaction_service.rb +0 -4
  73. data/lib/stripe/services/billing/credit_grant_service.rb +0 -8
  74. data/lib/stripe/services/billing_portal/session_service.rb +0 -4
  75. data/lib/stripe/services/charge_service.rb +0 -1334
  76. data/lib/stripe/services/checkout/session_service.rb +2 -172
  77. data/lib/stripe/services/credit_note_service.rb +0 -4
  78. data/lib/stripe/services/customer_session_service.rb +1 -4
  79. data/lib/stripe/services/financial_connections/account_service.rb +2 -7
  80. data/lib/stripe/services/financial_connections/session_service.rb +2 -34
  81. data/lib/stripe/services/financial_connections_service.rb +1 -2
  82. data/lib/stripe/services/identity/verification_session_service.rb +0 -8
  83. data/lib/stripe/services/invoice_item_service.rb +2 -74
  84. data/lib/stripe/services/invoice_line_item_service.rb +1 -33
  85. data/lib/stripe/services/invoice_payment_service.rb +33 -5
  86. data/lib/stripe/services/invoice_service.rb +17 -1088
  87. data/lib/stripe/services/issuing/cardholder_service.rb +1 -2
  88. data/lib/stripe/services/issuing/transaction_service.rb +0 -4
  89. data/lib/stripe/services/issuing_service.rb +1 -5
  90. data/lib/stripe/services/payment_intent_service.rb +264 -4637
  91. data/lib/stripe/services/payment_method_configuration_service.rb +0 -210
  92. data/lib/stripe/services/payment_method_service.rb +1 -126
  93. data/lib/stripe/services/payout_service.rb +0 -4
  94. data/lib/stripe/services/price_service.rb +0 -19
  95. data/lib/stripe/services/product_service.rb +0 -38
  96. data/lib/stripe/services/promotion_code_service.rb +0 -8
  97. data/lib/stripe/services/quote_service.rb +7 -1726
  98. data/lib/stripe/services/setup_intent_service.rb +9 -556
  99. data/lib/stripe/services/subscription_item_service.rb +3 -75
  100. data/lib/stripe/services/subscription_schedule_service.rb +10 -911
  101. data/lib/stripe/services/subscription_service.rb +9 -253
  102. data/lib/stripe/services/tax_id_service.rb +2 -8
  103. data/lib/stripe/services/tax_service.rb +1 -3
  104. data/lib/stripe/services/terminal/reader_service.rb +0 -180
  105. data/lib/stripe/services/terminal_service.rb +1 -2
  106. data/lib/stripe/services/test_helpers/confirmation_token_service.rb +0 -148
  107. data/lib/stripe/services/test_helpers/terminal/reader_service.rb +0 -43
  108. data/lib/stripe/services/test_helpers/treasury/received_credit_service.rb +1 -25
  109. data/lib/stripe/services/test_helpers/treasury/received_debit_service.rb +1 -25
  110. data/lib/stripe/services/treasury/financial_account_features_service.rb +1 -4
  111. data/lib/stripe/services/treasury/financial_account_service.rb +2 -16
  112. data/lib/stripe/services/treasury/outbound_transfer_service.rb +0 -24
  113. data/lib/stripe/services/v1_services.rb +2 -10
  114. data/lib/stripe/services/v2/core/event_service.rb +5 -3
  115. data/lib/stripe/services/v2/core_service.rb +1 -4
  116. data/lib/stripe/services/v2_services.rb +2 -4
  117. data/lib/stripe/services.rb +0 -49
  118. data/lib/stripe/stripe_configuration.rb +1 -3
  119. data/lib/stripe/stripe_object.rb +14 -4
  120. data/lib/stripe/util.rb +12 -7
  121. data/lib/stripe/version.rb +1 -1
  122. data/lib/stripe.rb +0 -55
  123. data/rbi/stripe/resources/account.rbi +4840 -0
  124. data/rbi/stripe/resources/account_link.rbi +74 -0
  125. data/rbi/stripe/resources/account_session.rbi +894 -0
  126. data/rbi/stripe/resources/apple_pay_domain.rbi +90 -0
  127. data/rbi/stripe/resources/application.rbi +20 -0
  128. data/rbi/stripe/resources/application_fee.rbi +118 -0
  129. data/rbi/stripe/resources/application_fee_refund.rbi +37 -0
  130. data/rbi/stripe/resources/apps/secret.rbi +195 -0
  131. data/rbi/stripe/resources/balance.rbi +180 -0
  132. data/rbi/stripe/resources/balance_transaction.rbi +144 -0
  133. data/rbi/stripe/resources/bank_account.rbi +127 -0
  134. data/rbi/stripe/resources/billing/alert.rbi +201 -0
  135. data/rbi/stripe/resources/billing/alert_triggered.rbi +28 -0
  136. data/rbi/stripe/resources/billing/credit_balance_summary.rbi +63 -0
  137. data/rbi/stripe/resources/billing/credit_balance_transaction.rbi +147 -0
  138. data/rbi/stripe/resources/billing/credit_grant.rbi +291 -0
  139. data/rbi/stripe/resources/billing/meter.rbi +226 -0
  140. data/rbi/stripe/resources/billing/meter_event.rbi +64 -0
  141. data/rbi/stripe/resources/billing/meter_event_adjustment.rbi +64 -0
  142. data/rbi/stripe/resources/billing/meter_event_summary.rbi +35 -0
  143. data/rbi/stripe/resources/billing_portal/configuration.rbi +645 -0
  144. data/rbi/stripe/resources/billing_portal/session.rbi +345 -0
  145. data/rbi/stripe/resources/capability.rbi +125 -0
  146. data/rbi/stripe/resources/card.rbi +125 -0
  147. data/rbi/stripe/resources/cash_balance.rbi +32 -0
  148. data/rbi/stripe/resources/charge.rbi +2054 -0
  149. data/rbi/stripe/resources/checkout/session.rbi +3951 -0
  150. data/rbi/stripe/resources/climate/order.rbi +245 -0
  151. data/rbi/stripe/resources/climate/product.rbi +75 -0
  152. data/rbi/stripe/resources/climate/supplier.rbi +72 -0
  153. data/rbi/stripe/resources/confirmation_token.rbi +1793 -0
  154. data/rbi/stripe/resources/connect_collection_transfer.rbi +26 -0
  155. data/rbi/stripe/resources/country_spec.rbi +85 -0
  156. data/rbi/stripe/resources/coupon.rbi +252 -0
  157. data/rbi/stripe/resources/credit_note.rbi +747 -0
  158. data/rbi/stripe/resources/credit_note_line_item.rbi +101 -0
  159. data/rbi/stripe/resources/customer.rbi +1009 -0
  160. data/rbi/stripe/resources/customer_balance_transaction.rbi +56 -0
  161. data/rbi/stripe/resources/customer_cash_balance_transaction.rbi +151 -0
  162. data/rbi/stripe/resources/customer_session.rbi +200 -0
  163. data/rbi/stripe/resources/discount.rbi +53 -0
  164. data/rbi/stripe/resources/dispute.rbi +761 -0
  165. data/rbi/stripe/resources/entitlements/active_entitlement.rbi +58 -0
  166. data/rbi/stripe/resources/entitlements/active_entitlement_summary.rbi +23 -0
  167. data/rbi/stripe/resources/entitlements/feature.rbi +117 -0
  168. data/rbi/stripe/resources/ephemeral_key.rbi +44 -0
  169. data/rbi/stripe/resources/event.rbi +146 -0
  170. data/rbi/stripe/resources/exchange_rate.rbi +66 -0
  171. data/rbi/stripe/resources/file.rbi +143 -0
  172. data/rbi/stripe/resources/file_link.rbi +141 -0
  173. data/rbi/stripe/resources/financial_connections/account.rbi +339 -0
  174. data/rbi/stripe/resources/financial_connections/account_owner.rbi +35 -0
  175. data/rbi/stripe/resources/financial_connections/account_ownership.rbi +23 -0
  176. data/rbi/stripe/resources/financial_connections/session.rbi +123 -0
  177. data/rbi/stripe/resources/financial_connections/transaction.rbi +124 -0
  178. data/rbi/stripe/resources/forwarding/request.rbi +216 -0
  179. data/rbi/stripe/resources/funding_instructions.rbi +437 -0
  180. data/rbi/stripe/resources/identity/verification_report.rbi +351 -0
  181. data/rbi/stripe/resources/identity/verification_session.rbi +517 -0
  182. data/rbi/stripe/resources/invoice.rbi +3733 -0
  183. data/rbi/stripe/resources/invoice_item.rbi +475 -0
  184. data/rbi/stripe/resources/invoice_line_item.rbi +432 -0
  185. data/rbi/stripe/resources/invoice_payment.rbi +114 -0
  186. data/rbi/stripe/resources/invoice_rendering_template.rbi +104 -0
  187. data/rbi/stripe/resources/issuing/authorization.rbi +1283 -0
  188. data/rbi/stripe/resources/issuing/card.rbi +741 -0
  189. data/rbi/stripe/resources/issuing/cardholder.rbi +744 -0
  190. data/rbi/stripe/resources/issuing/dispute.rbi +913 -0
  191. data/rbi/stripe/resources/issuing/personalization_design.rbi +338 -0
  192. data/rbi/stripe/resources/issuing/physical_bundle.rbi +79 -0
  193. data/rbi/stripe/resources/issuing/token.rbi +226 -0
  194. data/rbi/stripe/resources/issuing/transaction.rbi +1061 -0
  195. data/rbi/stripe/resources/line_item.rbi +72 -0
  196. data/rbi/stripe/resources/login_link.rbi +18 -0
  197. data/rbi/stripe/resources/mandate.rbi +187 -0
  198. data/rbi/stripe/resources/payment_intent.rbi +9731 -0
  199. data/rbi/stripe/resources/payment_link.rbi +1801 -0
  200. data/rbi/stripe/resources/payment_method.rbi +1822 -0
  201. data/rbi/stripe/resources/payment_method_configuration.rbi +3154 -0
  202. data/rbi/stripe/resources/payment_method_domain.rbi +212 -0
  203. data/rbi/stripe/resources/payout.rbi +300 -0
  204. data/rbi/stripe/resources/person.rbi +371 -0
  205. data/rbi/stripe/resources/plan.rbi +373 -0
  206. data/rbi/stripe/resources/price.rbi +694 -0
  207. data/rbi/stripe/resources/product.rbi +557 -0
  208. data/rbi/stripe/resources/product_feature.rbi +26 -0
  209. data/rbi/stripe/resources/promotion_code.rbi +261 -0
  210. data/rbi/stripe/resources/quote.rbi +1123 -0
  211. data/rbi/stripe/resources/radar/early_fraud_warning.rbi +98 -0
  212. data/rbi/stripe/resources/radar/value_list.rbi +170 -0
  213. data/rbi/stripe/resources/radar/value_list_item.rbi +131 -0
  214. data/rbi/stripe/resources/refund.rbi +516 -0
  215. data/rbi/stripe/resources/reporting/report_run.rbi +191 -0
  216. data/rbi/stripe/resources/reporting/report_type.rbi +57 -0
  217. data/rbi/stripe/resources/reserve_transaction.rbi +23 -0
  218. data/rbi/stripe/resources/reversal.rbi +51 -0
  219. data/rbi/stripe/resources/review.rbi +154 -0
  220. data/rbi/stripe/resources/setup_attempt.rbi +477 -0
  221. data/rbi/stripe/resources/setup_intent.rbi +3860 -0
  222. data/rbi/stripe/resources/shipping_rate.rbi +305 -0
  223. data/rbi/stripe/resources/sigma/scheduled_query_run.rbi +75 -0
  224. data/rbi/stripe/resources/source.rbi +1496 -0
  225. data/rbi/stripe/resources/source_mandate_notification.rbi +77 -0
  226. data/rbi/stripe/resources/source_transaction.rbi +127 -0
  227. data/rbi/stripe/resources/subscription.rbi +1964 -0
  228. data/rbi/stripe/resources/subscription_item.rbi +370 -0
  229. data/rbi/stripe/resources/subscription_schedule.rbi +1495 -0
  230. data/rbi/stripe/resources/tax/calculation.rbi +474 -0
  231. data/rbi/stripe/resources/tax/calculation_line_item.rbi +88 -0
  232. data/rbi/stripe/resources/tax/registration.rbi +2485 -0
  233. data/rbi/stripe/resources/tax/settings.rbi +141 -0
  234. data/rbi/stripe/resources/tax/transaction.rbi +351 -0
  235. data/rbi/stripe/resources/tax/transaction_line_item.rbi +54 -0
  236. data/rbi/stripe/resources/tax_code.rbi +44 -0
  237. data/rbi/stripe/resources/tax_deducted_at_source.rbi +23 -0
  238. data/rbi/stripe/resources/tax_id.rbi +167 -0
  239. data/rbi/stripe/resources/tax_rate.rbi +239 -0
  240. data/rbi/stripe/resources/terminal/configuration.rbi +1388 -0
  241. data/rbi/stripe/resources/terminal/connection_token.rbi +37 -0
  242. data/rbi/stripe/resources/terminal/location.rbi +224 -0
  243. data/rbi/stripe/resources/terminal/reader.rbi +587 -0
  244. data/rbi/stripe/resources/test_helpers/test_clock.rbi +134 -0
  245. data/rbi/stripe/resources/token.rbi +1217 -0
  246. data/rbi/stripe/resources/topup.rbi +222 -0
  247. data/rbi/stripe/resources/transfer.rbi +199 -0
  248. data/rbi/stripe/resources/treasury/credit_reversal.rbi +119 -0
  249. data/rbi/stripe/resources/treasury/debit_reversal.rbi +131 -0
  250. data/rbi/stripe/resources/treasury/financial_account.rbi +865 -0
  251. data/rbi/stripe/resources/treasury/financial_account_features.rbi +260 -0
  252. data/rbi/stripe/resources/treasury/inbound_transfer.rbi +295 -0
  253. data/rbi/stripe/resources/treasury/outbound_payment.rbi +592 -0
  254. data/rbi/stripe/resources/treasury/outbound_transfer.rbi +431 -0
  255. data/rbi/stripe/resources/treasury/received_credit.rbi +302 -0
  256. data/rbi/stripe/resources/treasury/received_debit.rbi +256 -0
  257. data/rbi/stripe/resources/treasury/transaction.rbi +215 -0
  258. data/rbi/stripe/resources/treasury/transaction_entry.rbi +192 -0
  259. data/rbi/stripe/resources/v2/amount.rbi +14 -0
  260. data/rbi/stripe/resources/v2/billing/meter_event.rbi +37 -0
  261. data/rbi/stripe/resources/v2/billing/meter_event_adjustment.rbi +41 -0
  262. data/rbi/stripe/resources/v2/billing/meter_event_session.rbi +31 -0
  263. data/rbi/stripe/resources/v2/event.rbi +48 -0
  264. data/rbi/stripe/resources/v2/event_destination.rbi +91 -0
  265. data/rbi/stripe/resources/webhook_endpoint.rbi +170 -0
  266. data/rbi/stripe/services/account_capability_service.rbi +51 -0
  267. data/rbi/stripe/services/account_external_account_service.rbi +306 -0
  268. data/rbi/stripe/services/account_link_service.rbi +58 -0
  269. data/rbi/stripe/services/account_login_link_service.rbi +22 -0
  270. data/rbi/stripe/services/account_person_service.rbi +923 -0
  271. data/rbi/stripe/services/account_service.rbi +4143 -0
  272. data/rbi/stripe/services/account_session_service.rbi +572 -0
  273. data/rbi/stripe/services/apple_pay_domain_service.rbi +78 -0
  274. data/rbi/stripe/services/application_fee_refund_service.rbi +93 -0
  275. data/rbi/stripe/services/application_fee_service.rbi +78 -0
  276. data/rbi/stripe/services/apps/secret_service.rbi +151 -0
  277. data/rbi/stripe/services/apps_service.rbi +9 -0
  278. data/rbi/stripe/services/balance_service.rbi +21 -0
  279. data/rbi/stripe/services/balance_transaction_service.rbi +93 -0
  280. data/rbi/stripe/services/billing/alert_service.rbi +152 -0
  281. data/rbi/stripe/services/billing/credit_balance_summary_service.rbi +68 -0
  282. data/rbi/stripe/services/billing/credit_balance_transaction_service.rbi +59 -0
  283. data/rbi/stripe/services/billing/credit_grant_service.rbi +211 -0
  284. data/rbi/stripe/services/billing/meter_event_adjustment_service.rbi +42 -0
  285. data/rbi/stripe/services/billing/meter_event_service.rbi +42 -0
  286. data/rbi/stripe/services/billing/meter_event_summary_service.rbi +54 -0
  287. data/rbi/stripe/services/billing/meter_service.rbi +163 -0
  288. data/rbi/stripe/services/billing_portal/configuration_service.rbi +511 -0
  289. data/rbi/stripe/services/billing_portal/session_service.rbi +204 -0
  290. data/rbi/stripe/services/billing_portal_service.rbi +10 -0
  291. data/rbi/stripe/services/billing_service.rbi +15 -0
  292. data/rbi/stripe/services/charge_service.rbi +448 -0
  293. data/rbi/stripe/services/checkout/session_line_item_service.rbi +33 -0
  294. data/rbi/stripe/services/checkout/session_service.rbi +2585 -0
  295. data/rbi/stripe/services/checkout_service.rbi +9 -0
  296. data/rbi/stripe/services/climate/order_service.rbi +142 -0
  297. data/rbi/stripe/services/climate/product_service.rbi +46 -0
  298. data/{lib/stripe/services/financial_connections/institution_service.rb → rbi/stripe/services/climate/supplier_service.rbi} +25 -36
  299. data/rbi/stripe/services/climate_service.rbi +11 -0
  300. data/rbi/stripe/services/confirmation_token_service.rbi +20 -0
  301. data/rbi/stripe/services/country_spec_service.rbi +44 -0
  302. data/rbi/stripe/services/coupon_service.rbi +196 -0
  303. data/{lib/stripe/services/quote_preview_subscription_schedule_service.rb → rbi/stripe/services/credit_note_line_item_service.rbi} +16 -20
  304. data/rbi/stripe/services/credit_note_preview_lines_service.rbi +167 -0
  305. data/rbi/stripe/services/credit_note_service.rbi +416 -0
  306. data/rbi/stripe/services/customer_balance_transaction_service.rbi +92 -0
  307. data/rbi/stripe/services/customer_cash_balance_service.rbi +45 -0
  308. data/rbi/stripe/services/customer_cash_balance_transaction_service.rbi +44 -0
  309. data/rbi/stripe/services/customer_funding_instructions_service.rbi +59 -0
  310. data/rbi/stripe/services/customer_payment_method_service.rbi +57 -0
  311. data/rbi/stripe/services/customer_payment_source_service.rbi +232 -0
  312. data/rbi/stripe/services/customer_service.rbi +651 -0
  313. data/rbi/stripe/services/customer_session_service.rbi +116 -0
  314. data/rbi/stripe/services/customer_tax_id_service.rbi +72 -0
  315. data/rbi/stripe/services/dispute_service.rbi +424 -0
  316. data/rbi/stripe/services/entitlements/active_entitlement_service.rbi +55 -0
  317. data/rbi/stripe/services/entitlements/feature_service.rbi +107 -0
  318. data/rbi/stripe/services/entitlements_service.rbi +10 -0
  319. data/rbi/stripe/services/ephemeral_key_service.rbi +53 -0
  320. data/rbi/stripe/services/event_service.rbi +83 -0
  321. data/rbi/stripe/services/exchange_rate_service.rbi +44 -0
  322. data/rbi/stripe/services/file_link_service.rbi +124 -0
  323. data/rbi/stripe/services/file_service.rbi +116 -0
  324. data/rbi/stripe/services/financial_connections/account_owner_service.rbi +42 -0
  325. data/rbi/stripe/services/financial_connections/account_service.rbi +133 -0
  326. data/rbi/stripe/services/financial_connections/session_service.rbi +88 -0
  327. data/rbi/stripe/services/financial_connections/transaction_service.rbi +92 -0
  328. data/rbi/stripe/services/financial_connections_service.rbi +11 -0
  329. data/rbi/stripe/services/forwarding/request_service.rbi +134 -0
  330. data/rbi/stripe/services/forwarding_service.rbi +9 -0
  331. data/rbi/stripe/services/identity/verification_report_service.rbi +87 -0
  332. data/rbi/stripe/services/identity/verification_session_service.rbi +323 -0
  333. data/rbi/stripe/services/identity_service.rbi +10 -0
  334. data/rbi/stripe/services/invoice_item_service.rbi +368 -0
  335. data/rbi/stripe/services/invoice_line_item_service.rbi +259 -0
  336. data/rbi/stripe/services/invoice_payment_service.rbi +71 -0
  337. data/rbi/stripe/services/invoice_rendering_template_service.rbi +82 -0
  338. data/rbi/stripe/services/invoice_service.rbi +2920 -0
  339. data/rbi/stripe/services/issuing/authorization_service.rbi +146 -0
  340. data/rbi/stripe/services/issuing/card_service.rbi +495 -0
  341. data/rbi/stripe/services/issuing/cardholder_service.rbi +587 -0
  342. data/rbi/stripe/services/issuing/dispute_service.rbi +707 -0
  343. data/rbi/stripe/services/issuing/personalization_design_service.rbi +243 -0
  344. data/rbi/stripe/services/issuing/physical_bundle_service.rbi +59 -0
  345. data/rbi/stripe/services/issuing/token_service.rbi +99 -0
  346. data/rbi/stripe/services/issuing/transaction_service.rbi +105 -0
  347. data/rbi/stripe/services/issuing_service.rbi +16 -0
  348. data/rbi/stripe/services/mandate_service.rbi +20 -0
  349. data/rbi/stripe/services/payment_intent_service.rbi +7759 -0
  350. data/{lib/stripe/services/quote_line_service.rb → rbi/stripe/services/payment_link_line_item_service.rbi} +16 -20
  351. data/rbi/stripe/services/payment_link_service.rbi +1352 -0
  352. data/rbi/stripe/services/payment_method_configuration_service.rbi +2211 -0
  353. data/rbi/stripe/services/payment_method_domain_service.rbi +112 -0
  354. data/rbi/stripe/services/payment_method_service.rbi +840 -0
  355. data/rbi/stripe/services/payout_service.rbi +205 -0
  356. data/rbi/stripe/services/plan_service.rbi +284 -0
  357. data/rbi/stripe/services/price_service.rbi +546 -0
  358. data/rbi/stripe/services/product_feature_service.rbi +69 -0
  359. data/rbi/stripe/services/product_service.rbi +479 -0
  360. data/rbi/stripe/services/promotion_code_service.rbi +214 -0
  361. data/rbi/stripe/services/quote_computed_upfront_line_items_service.rbi +31 -0
  362. data/{lib/stripe/services/order_line_item_service.rb → rbi/stripe/services/quote_line_item_service.rbi} +16 -20
  363. data/rbi/stripe/services/quote_service.rbi +686 -0
  364. data/rbi/stripe/services/radar/early_fraud_warning_service.rbi +85 -0
  365. data/rbi/stripe/services/radar/value_list_item_service.rbi +111 -0
  366. data/rbi/stripe/services/radar/value_list_service.rbi +143 -0
  367. data/rbi/stripe/services/radar_service.rbi +11 -0
  368. data/rbi/stripe/services/refund_service.rbi +185 -0
  369. data/rbi/stripe/services/reporting/report_run_service.rbi +135 -0
  370. data/rbi/stripe/services/reporting/report_type_service.rbi +35 -0
  371. data/rbi/stripe/services/reporting_service.rbi +10 -0
  372. data/rbi/stripe/services/review_service.rbi +84 -0
  373. data/rbi/stripe/services/setup_attempt_service.rbi +65 -0
  374. data/rbi/stripe/services/setup_intent_service.rbi +3596 -0
  375. data/rbi/stripe/services/shipping_rate_service.rbi +241 -0
  376. data/rbi/stripe/services/sigma/scheduled_query_run_service.rbi +46 -0
  377. data/rbi/stripe/services/sigma_service.rbi +9 -0
  378. data/rbi/stripe/services/source_service.rbi +663 -0
  379. data/{lib/stripe/services/quote_preview_invoice_service.rb → rbi/stripe/services/source_transaction_service.rbi} +16 -20
  380. data/rbi/stripe/services/subscription_item_service.rbi +324 -0
  381. data/rbi/stripe/services/subscription_schedule_service.rbi +1192 -0
  382. data/rbi/stripe/services/subscription_service.rbi +1596 -0
  383. data/rbi/stripe/services/tax/calculation_line_item_service.rbi +33 -0
  384. data/rbi/stripe/services/tax/calculation_service.rbi +230 -0
  385. data/rbi/stripe/services/tax/registration_service.rbi +1689 -0
  386. data/rbi/stripe/services/tax/settings_service.rbi +93 -0
  387. data/{lib/stripe/services/financial_connections/account_inferred_balance_service.rb → rbi/stripe/services/tax/transaction_line_item_service.rbi} +17 -21
  388. data/rbi/stripe/services/tax/transaction_service.rbi +146 -0
  389. data/rbi/stripe/services/tax_code_service.rbi +44 -0
  390. data/rbi/stripe/services/tax_id_service.rbi +112 -0
  391. data/rbi/stripe/services/tax_rate_service.rbi +185 -0
  392. data/rbi/stripe/services/tax_service.rbi +12 -0
  393. data/rbi/stripe/services/terminal/configuration_service.rbi +1120 -0
  394. data/rbi/stripe/services/terminal/connection_token_service.rbi +25 -0
  395. data/rbi/stripe/services/terminal/location_service.rbi +184 -0
  396. data/rbi/stripe/services/terminal/reader_service.rbi +344 -0
  397. data/rbi/stripe/services/terminal_service.rbi +12 -0
  398. data/rbi/stripe/services/test_helpers/confirmation_token_service.rbi +746 -0
  399. data/rbi/stripe/services/test_helpers/customer_service.rbi +33 -0
  400. data/rbi/stripe/services/test_helpers/issuing/authorization_service.rbi +848 -0
  401. data/rbi/stripe/services/test_helpers/issuing/card_service.rbi +76 -0
  402. data/rbi/stripe/services/test_helpers/issuing/personalization_design_service.rbi +69 -0
  403. data/rbi/stripe/services/test_helpers/issuing/transaction_service.rbi +711 -0
  404. data/rbi/stripe/services/test_helpers/issuing_service.rbi +14 -0
  405. data/rbi/stripe/services/test_helpers/refund_service.rbi +22 -0
  406. data/rbi/stripe/services/test_helpers/terminal/reader_service.rbi +62 -0
  407. data/rbi/stripe/services/test_helpers/terminal_service.rbi +11 -0
  408. data/rbi/stripe/services/test_helpers/test_clock_service.rbi +92 -0
  409. data/rbi/stripe/services/test_helpers/treasury/inbound_transfer_service.rbi +64 -0
  410. data/rbi/stripe/services/test_helpers/treasury/outbound_payment_service.rbi +125 -0
  411. data/rbi/stripe/services/test_helpers/treasury/outbound_transfer_service.rbi +125 -0
  412. data/rbi/stripe/services/test_helpers/treasury/received_credit_service.rbi +87 -0
  413. data/rbi/stripe/services/test_helpers/treasury/received_debit_service.rbi +87 -0
  414. data/rbi/stripe/services/test_helpers/treasury_service.rbi +15 -0
  415. data/rbi/stripe/services/test_helpers_service.rbi +15 -0
  416. data/rbi/stripe/services/token_service.rbi +1189 -0
  417. data/rbi/stripe/services/topup_service.rbi +176 -0
  418. data/rbi/stripe/services/transfer_reversal_service.rbi +101 -0
  419. data/rbi/stripe/services/transfer_service.rbi +152 -0
  420. data/rbi/stripe/services/treasury/credit_reversal_service.rbi +84 -0
  421. data/rbi/stripe/services/treasury/debit_reversal_service.rbi +88 -0
  422. data/rbi/stripe/services/treasury/financial_account_features_service.rbi +198 -0
  423. data/rbi/stripe/services/treasury/financial_account_service.rbi +562 -0
  424. data/rbi/stripe/services/treasury/inbound_transfer_service.rbi +117 -0
  425. data/rbi/stripe/services/treasury/outbound_payment_service.rbi +304 -0
  426. data/rbi/stripe/services/treasury/outbound_transfer_service.rbi +157 -0
  427. data/rbi/stripe/services/treasury/received_credit_service.rbi +72 -0
  428. data/rbi/stripe/services/treasury/received_debit_service.rbi +59 -0
  429. data/rbi/stripe/services/treasury/transaction_entry_service.rbi +111 -0
  430. data/rbi/stripe/services/treasury/transaction_service.rbi +122 -0
  431. data/rbi/stripe/services/treasury_service.rbi +18 -0
  432. data/rbi/stripe/services/v1_services.rbi +77 -0
  433. data/rbi/stripe/services/v2/billing/meter_event_adjustment_service.rbi +39 -0
  434. data/rbi/stripe/services/v2/billing/meter_event_service.rbi +42 -0
  435. data/rbi/stripe/services/v2/billing/meter_event_session_service.rbi +20 -0
  436. data/rbi/stripe/services/v2/billing/meter_event_stream_service.rbi +55 -0
  437. data/rbi/stripe/services/v2/billing_service.rbi +14 -0
  438. data/rbi/stripe/services/v2/core/event_destination_service.rbi +200 -0
  439. data/rbi/stripe/services/v2/core/event_service.rbi +38 -0
  440. data/rbi/stripe/services/v2/core_service.rbi +12 -0
  441. data/rbi/stripe/services/v2_services.rbi +10 -0
  442. data/rbi/stripe/services/webhook_endpoint_service.rbi +131 -0
  443. data/stripe.gemspec +1 -4
  444. metadata +324 -140
  445. data/lib/stripe/events/v2_core_account_including_configuration_customer_capability_status_updated_event.rb +0 -23
  446. data/lib/stripe/events/v2_core_account_including_configuration_customer_updated_event.rb +0 -21
  447. data/lib/stripe/events/v2_core_account_including_configuration_merchant_capability_status_updated_event.rb +0 -23
  448. data/lib/stripe/events/v2_core_account_including_configuration_merchant_updated_event.rb +0 -21
  449. data/lib/stripe/events/v2_core_account_including_configuration_recipient_capability_status_updated_event.rb +0 -23
  450. data/lib/stripe/events/v2_core_account_including_configuration_recipient_updated_event.rb +0 -21
  451. data/lib/stripe/events/v2_core_account_including_identity_updated_event.rb +0 -21
  452. data/lib/stripe/events/v2_core_account_including_requirements_updated_event.rb +0 -21
  453. data/lib/stripe/events/v2_core_account_link_completed_event.rb +0 -13
  454. data/lib/stripe/events/v2_core_account_person_created_event.rb +0 -23
  455. data/lib/stripe/events/v2_core_account_person_deleted_event.rb +0 -23
  456. data/lib/stripe/events/v2_core_account_person_updated_event.rb +0 -23
  457. data/lib/stripe/events/v2_money_management_financial_account_created_event.rb +0 -21
  458. data/lib/stripe/events/v2_money_management_financial_address_activated_event.rb +0 -21
  459. data/lib/stripe/events/v2_money_management_financial_address_failed_event.rb +0 -21
  460. data/lib/stripe/events/v2_money_management_inbound_transfer_available_event.rb +0 -23
  461. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_failed_event.rb +0 -21
  462. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_processing_event.rb +0 -21
  463. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_queued_event.rb +0 -21
  464. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_returned_event.rb +0 -21
  465. data/lib/stripe/events/v2_money_management_inbound_transfer_bank_debit_succeeded_event.rb +0 -21
  466. data/lib/stripe/events/v2_money_management_outbound_payment_canceled_event.rb +0 -21
  467. data/lib/stripe/events/v2_money_management_outbound_payment_created_event.rb +0 -21
  468. data/lib/stripe/events/v2_money_management_outbound_payment_failed_event.rb +0 -21
  469. data/lib/stripe/events/v2_money_management_outbound_payment_posted_event.rb +0 -21
  470. data/lib/stripe/events/v2_money_management_outbound_payment_returned_event.rb +0 -21
  471. data/lib/stripe/events/v2_money_management_outbound_transfer_canceled_event.rb +0 -21
  472. data/lib/stripe/events/v2_money_management_outbound_transfer_created_event.rb +0 -21
  473. data/lib/stripe/events/v2_money_management_outbound_transfer_failed_event.rb +0 -21
  474. data/lib/stripe/events/v2_money_management_outbound_transfer_posted_event.rb +0 -21
  475. data/lib/stripe/events/v2_money_management_outbound_transfer_returned_event.rb +0 -21
  476. data/lib/stripe/events/v2_money_management_received_credit_available_event.rb +0 -23
  477. data/lib/stripe/events/v2_money_management_received_credit_failed_event.rb +0 -21
  478. data/lib/stripe/events/v2_money_management_received_credit_returned_event.rb +0 -21
  479. data/lib/stripe/events/v2_money_management_received_credit_succeeded_event.rb +0 -21
  480. data/lib/stripe/events/v2_money_management_received_debit_canceled_event.rb +0 -21
  481. data/lib/stripe/events/v2_money_management_received_debit_failed_event.rb +0 -21
  482. data/lib/stripe/events/v2_money_management_received_debit_pending_event.rb +0 -21
  483. data/lib/stripe/events/v2_money_management_received_debit_succeeded_event.rb +0 -21
  484. data/lib/stripe/events/v2_money_management_received_debit_updated_event.rb +0 -21
  485. data/lib/stripe/request_signing_authenticator.rb +0 -79
  486. data/lib/stripe/resources/account_notice.rb +0 -123
  487. data/lib/stripe/resources/balance_settings.rb +0 -101
  488. data/lib/stripe/resources/billing/meter_error_report.rb +0 -59
  489. data/lib/stripe/resources/capital/financing_offer.rb +0 -179
  490. data/lib/stripe/resources/capital/financing_summary.rb +0 -55
  491. data/lib/stripe/resources/capital/financing_transaction.rb +0 -114
  492. data/lib/stripe/resources/financial_connections/account_inferred_balance.rb +0 -27
  493. data/lib/stripe/resources/financial_connections/institution.rb +0 -90
  494. data/lib/stripe/resources/gift_cards/card.rb +0 -208
  495. data/lib/stripe/resources/gift_cards/transaction.rb +0 -272
  496. data/lib/stripe/resources/issuing/credit_underwriting_record.rb +0 -602
  497. data/lib/stripe/resources/issuing/dispute_settlement_detail.rb +0 -82
  498. data/lib/stripe/resources/issuing/fraud_liability_debit.rb +0 -86
  499. data/lib/stripe/resources/issuing/settlement.rb +0 -53
  500. data/lib/stripe/resources/margin.rb +0 -115
  501. data/lib/stripe/resources/order.rb +0 -2859
  502. data/lib/stripe/resources/payment_attempt_record.rb +0 -1078
  503. data/lib/stripe/resources/payment_record.rb +0 -1607
  504. data/lib/stripe/resources/quote_line.rb +0 -274
  505. data/lib/stripe/resources/quote_preview_invoice.rb +0 -663
  506. data/lib/stripe/resources/quote_preview_subscription_schedule.rb +0 -337
  507. data/lib/stripe/resources/tax/association.rb +0 -89
  508. data/lib/stripe/resources/tax/form.rb +0 -211
  509. data/lib/stripe/resources/terminal/reader_collected_data.rb +0 -31
  510. data/lib/stripe/resources/v2/core/account.rb +0 -1715
  511. data/lib/stripe/resources/v2/core/account_link.rb +0 -54
  512. data/lib/stripe/resources/v2/core/person.rb +0 -272
  513. data/lib/stripe/resources/v2/core/vault/gb_bank_account.rb +0 -72
  514. data/lib/stripe/resources/v2/core/vault/us_bank_account.rb +0 -37
  515. data/lib/stripe/resources/v2/financial_address_credit_simulation.rb +0 -18
  516. data/lib/stripe/resources/v2/financial_address_generated_microdeposits.rb +0 -20
  517. data/lib/stripe/resources/v2/money_management/adjustment.rb +0 -49
  518. data/lib/stripe/resources/v2/money_management/financial_account.rb +0 -56
  519. data/lib/stripe/resources/v2/money_management/financial_address.rb +0 -66
  520. data/lib/stripe/resources/v2/money_management/inbound_transfer.rb +0 -92
  521. data/lib/stripe/resources/v2/money_management/outbound_payment.rb +0 -127
  522. data/lib/stripe/resources/v2/money_management/outbound_payment_quote.rb +0 -74
  523. data/lib/stripe/resources/v2/money_management/outbound_setup_intent.rb +0 -43
  524. data/lib/stripe/resources/v2/money_management/outbound_transfer.rb +0 -115
  525. data/lib/stripe/resources/v2/money_management/payout_method.rb +0 -73
  526. data/lib/stripe/resources/v2/money_management/payout_methods_bank_account_spec.rb +0 -47
  527. data/lib/stripe/resources/v2/money_management/received_credit.rb +0 -134
  528. data/lib/stripe/resources/v2/money_management/received_debit.rb +0 -106
  529. data/lib/stripe/resources/v2/money_management/transaction.rb +0 -76
  530. data/lib/stripe/resources/v2/money_management/transaction_entry.rb +0 -66
  531. data/lib/stripe/services/account_notice_service.rb +0 -101
  532. data/lib/stripe/services/balance_settings_service.rb +0 -96
  533. data/lib/stripe/services/capital/financing_offer_service.rb +0 -112
  534. data/lib/stripe/services/capital/financing_summary_service.rb +0 -28
  535. data/lib/stripe/services/capital/financing_transaction_service.rb +0 -79
  536. data/lib/stripe/services/capital_service.rb +0 -15
  537. data/lib/stripe/services/external_account_service.rb +0 -206
  538. data/lib/stripe/services/gift_cards/card_service.rb +0 -170
  539. data/lib/stripe/services/gift_cards/transaction_service.rb +0 -209
  540. data/lib/stripe/services/gift_cards_service.rb +0 -14
  541. data/lib/stripe/services/issuing/credit_underwriting_record_service.rb +0 -504
  542. data/lib/stripe/services/issuing/dispute_settlement_detail_service.rb +0 -66
  543. data/lib/stripe/services/issuing/fraud_liability_debit_service.rb +0 -83
  544. data/lib/stripe/services/margin_service.rb +0 -119
  545. data/lib/stripe/services/order_service.rb +0 -2268
  546. data/lib/stripe/services/payment_attempt_record_service.rb +0 -49
  547. data/lib/stripe/services/payment_record_service.rb +0 -542
  548. data/lib/stripe/services/tax/association_service.rb +0 -31
  549. data/lib/stripe/services/tax/form_service.rb +0 -100
  550. data/lib/stripe/services/terminal/reader_collected_data_service.rb +0 -28
  551. data/lib/stripe/services/v2/core/account_link_service.rb +0 -76
  552. data/lib/stripe/services/v2/core/account_service.rb +0 -4130
  553. data/lib/stripe/services/v2/core/accounts/person_service.rb +0 -1040
  554. data/lib/stripe/services/v2/core/vault/gb_bank_account_service.rb +0 -135
  555. data/lib/stripe/services/v2/core/vault/us_bank_account_service.rb +0 -109
  556. data/lib/stripe/services/v2/core/vault_service.rb +0 -18
  557. data/lib/stripe/services/v2/money_management/adjustment_service.rb +0 -75
  558. data/lib/stripe/services/v2/money_management/financial_account_service.rb +0 -44
  559. data/lib/stripe/services/v2/money_management/financial_address_service.rb +0 -81
  560. data/lib/stripe/services/v2/money_management/inbound_transfer_service.rb +0 -126
  561. data/lib/stripe/services/v2/money_management/outbound_payment_quote_service.rb +0 -80
  562. data/lib/stripe/services/v2/money_management/outbound_payment_service.rb +0 -202
  563. data/lib/stripe/services/v2/money_management/outbound_setup_intent_service.rb +0 -237
  564. data/lib/stripe/services/v2/money_management/outbound_transfer_service.rb +0 -174
  565. data/lib/stripe/services/v2/money_management/payout_method_service.rb +0 -95
  566. data/lib/stripe/services/v2/money_management/payout_methods_bank_account_spec_service.rb +0 -32
  567. data/lib/stripe/services/v2/money_management/received_credit_service.rb +0 -71
  568. data/lib/stripe/services/v2/money_management/received_debit_service.rb +0 -44
  569. data/lib/stripe/services/v2/money_management/transaction_entry_service.rb +0 -70
  570. data/lib/stripe/services/v2/money_management/transaction_service.rb +0 -74
  571. data/lib/stripe/services/v2/money_management_service.rb +0 -31
  572. data/lib/stripe/services/v2/test_helper_service.rb +0 -15
  573. data/lib/stripe/services/v2/test_helpers/financial_address_service.rb +0 -50
  574. data/rbi/stripe.rbi +0 -189274
@@ -0,0 +1,2054 @@
1
+ # File generated from our OpenAPI spec
2
+ # frozen_string_literal: true
3
+
4
+ # typed: true
5
+ module Stripe
6
+ # The `Charge` object represents a single attempt to move money into your Stripe account.
7
+ # PaymentIntent confirmation is the most common way to create Charges, but transferring
8
+ # money to a different Stripe account through Connect also creates Charges.
9
+ # Some legacy payment flows create Charges directly, which is not recommended for new integrations.
10
+ class Charge < APIResource
11
+ class BillingDetails < Stripe::StripeObject
12
+ class Address < Stripe::StripeObject
13
+ # City, district, suburb, town, or village.
14
+ sig { returns(T.nilable(String)) }
15
+ attr_reader :city
16
+ # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
17
+ sig { returns(T.nilable(String)) }
18
+ attr_reader :country
19
+ # Address line 1 (e.g., street, PO Box, or company name).
20
+ sig { returns(T.nilable(String)) }
21
+ attr_reader :line1
22
+ # Address line 2 (e.g., apartment, suite, unit, or building).
23
+ sig { returns(T.nilable(String)) }
24
+ attr_reader :line2
25
+ # ZIP or postal code.
26
+ sig { returns(T.nilable(String)) }
27
+ attr_reader :postal_code
28
+ # State, county, province, or region.
29
+ sig { returns(T.nilable(String)) }
30
+ attr_reader :state
31
+ end
32
+ # Billing address.
33
+ sig { returns(T.nilable(Address)) }
34
+ attr_reader :address
35
+ # Email address.
36
+ sig { returns(T.nilable(String)) }
37
+ attr_reader :email
38
+ # Full name.
39
+ sig { returns(T.nilable(String)) }
40
+ attr_reader :name
41
+ # Billing phone number (including extension).
42
+ sig { returns(T.nilable(String)) }
43
+ attr_reader :phone
44
+ end
45
+ class FraudDetails < Stripe::StripeObject
46
+ # Assessments from Stripe. If set, the value is `fraudulent`.
47
+ sig { returns(String) }
48
+ attr_reader :stripe_report
49
+ # Assessments reported by you. If set, possible values of are `safe` and `fraudulent`.
50
+ sig { returns(String) }
51
+ attr_reader :user_report
52
+ end
53
+ class Level3 < Stripe::StripeObject
54
+ class LineItem < Stripe::StripeObject
55
+ # Attribute for field discount_amount
56
+ sig { returns(T.nilable(Integer)) }
57
+ attr_reader :discount_amount
58
+ # Attribute for field product_code
59
+ sig { returns(String) }
60
+ attr_reader :product_code
61
+ # Attribute for field product_description
62
+ sig { returns(String) }
63
+ attr_reader :product_description
64
+ # Attribute for field quantity
65
+ sig { returns(T.nilable(Integer)) }
66
+ attr_reader :quantity
67
+ # Attribute for field tax_amount
68
+ sig { returns(T.nilable(Integer)) }
69
+ attr_reader :tax_amount
70
+ # Attribute for field unit_cost
71
+ sig { returns(T.nilable(Integer)) }
72
+ attr_reader :unit_cost
73
+ end
74
+ # Attribute for field customer_reference
75
+ sig { returns(String) }
76
+ attr_reader :customer_reference
77
+ # Attribute for field line_items
78
+ sig { returns(T::Array[LineItem]) }
79
+ attr_reader :line_items
80
+ # Attribute for field merchant_reference
81
+ sig { returns(String) }
82
+ attr_reader :merchant_reference
83
+ # Attribute for field shipping_address_zip
84
+ sig { returns(String) }
85
+ attr_reader :shipping_address_zip
86
+ # Attribute for field shipping_amount
87
+ sig { returns(Integer) }
88
+ attr_reader :shipping_amount
89
+ # Attribute for field shipping_from_zip
90
+ sig { returns(String) }
91
+ attr_reader :shipping_from_zip
92
+ end
93
+ class Outcome < Stripe::StripeObject
94
+ class Rule < Stripe::StripeObject
95
+ # The action taken on the payment.
96
+ sig { returns(String) }
97
+ attr_reader :action
98
+ # Unique identifier for the object.
99
+ sig { returns(String) }
100
+ attr_reader :id
101
+ # The predicate to evaluate the payment against.
102
+ sig { returns(String) }
103
+ attr_reader :predicate
104
+ end
105
+ # An enumerated value providing a more detailed explanation on [how to proceed with an error](https://stripe.com/docs/declines#retrying-issuer-declines).
106
+ sig { returns(T.nilable(String)) }
107
+ attr_reader :advice_code
108
+ # For charges declined by the network, a 2 digit code which indicates the advice returned by the network on how to proceed with an error.
109
+ sig { returns(T.nilable(String)) }
110
+ attr_reader :network_advice_code
111
+ # For charges declined by the network, a brand specific 2, 3, or 4 digit code which indicates the reason the authorization failed.
112
+ sig { returns(T.nilable(String)) }
113
+ attr_reader :network_decline_code
114
+ # Possible values are `approved_by_network`, `declined_by_network`, `not_sent_to_network`, and `reversed_after_approval`. The value `reversed_after_approval` indicates the payment was [blocked by Stripe](https://stripe.com/docs/declines#blocked-payments) after bank authorization, and may temporarily appear as "pending" on a cardholder's statement.
115
+ sig { returns(T.nilable(String)) }
116
+ attr_reader :network_status
117
+ # An enumerated value providing a more detailed explanation of the outcome's `type`. Charges blocked by Radar's default block rule have the value `highest_risk_level`. Charges placed in review by Radar's default review rule have the value `elevated_risk_level`. Charges authorized, blocked, or placed in review by custom rules have the value `rule`. See [understanding declines](https://stripe.com/docs/declines) for more details.
118
+ sig { returns(T.nilable(String)) }
119
+ attr_reader :reason
120
+ # Stripe Radar's evaluation of the riskiness of the payment. Possible values for evaluated payments are `normal`, `elevated`, `highest`. For non-card payments, and card-based payments predating the public assignment of risk levels, this field will have the value `not_assessed`. In the event of an error in the evaluation, this field will have the value `unknown`. This field is only available with Radar.
121
+ sig { returns(String) }
122
+ attr_reader :risk_level
123
+ # Stripe Radar's evaluation of the riskiness of the payment. Possible values for evaluated payments are between 0 and 100. For non-card payments, card-based payments predating the public assignment of risk scores, or in the event of an error during evaluation, this field will not be present. This field is only available with Radar for Fraud Teams.
124
+ sig { returns(Integer) }
125
+ attr_reader :risk_score
126
+ # The ID of the Radar rule that matched the payment, if applicable.
127
+ sig { returns(T.any(String, Rule)) }
128
+ attr_reader :rule
129
+ # A human-readable description of the outcome type and reason, designed for you (the recipient of the payment), not your customer.
130
+ sig { returns(T.nilable(String)) }
131
+ attr_reader :seller_message
132
+ # Possible values are `authorized`, `manual_review`, `issuer_declined`, `blocked`, and `invalid`. See [understanding declines](https://stripe.com/docs/declines) and [Radar reviews](https://stripe.com/docs/radar/reviews) for details.
133
+ sig { returns(String) }
134
+ attr_reader :type
135
+ end
136
+ class PaymentMethodDetails < Stripe::StripeObject
137
+ class AchCreditTransfer < Stripe::StripeObject
138
+ # Account number to transfer funds to.
139
+ sig { returns(T.nilable(String)) }
140
+ attr_reader :account_number
141
+ # Name of the bank associated with the routing number.
142
+ sig { returns(T.nilable(String)) }
143
+ attr_reader :bank_name
144
+ # Routing transit number for the bank account to transfer funds to.
145
+ sig { returns(T.nilable(String)) }
146
+ attr_reader :routing_number
147
+ # SWIFT code of the bank associated with the routing number.
148
+ sig { returns(T.nilable(String)) }
149
+ attr_reader :swift_code
150
+ end
151
+ class AchDebit < Stripe::StripeObject
152
+ # Type of entity that holds the account. This can be either `individual` or `company`.
153
+ sig { returns(T.nilable(String)) }
154
+ attr_reader :account_holder_type
155
+ # Name of the bank associated with the bank account.
156
+ sig { returns(T.nilable(String)) }
157
+ attr_reader :bank_name
158
+ # Two-letter ISO code representing the country the bank account is located in.
159
+ sig { returns(T.nilable(String)) }
160
+ attr_reader :country
161
+ # Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.
162
+ sig { returns(T.nilable(String)) }
163
+ attr_reader :fingerprint
164
+ # Last four digits of the bank account number.
165
+ sig { returns(T.nilable(String)) }
166
+ attr_reader :last4
167
+ # Routing transit number of the bank account.
168
+ sig { returns(T.nilable(String)) }
169
+ attr_reader :routing_number
170
+ end
171
+ class AcssDebit < Stripe::StripeObject
172
+ # Name of the bank associated with the bank account.
173
+ sig { returns(T.nilable(String)) }
174
+ attr_reader :bank_name
175
+ # Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.
176
+ sig { returns(T.nilable(String)) }
177
+ attr_reader :fingerprint
178
+ # Institution number of the bank account
179
+ sig { returns(T.nilable(String)) }
180
+ attr_reader :institution_number
181
+ # Last four digits of the bank account number.
182
+ sig { returns(T.nilable(String)) }
183
+ attr_reader :last4
184
+ # ID of the mandate used to make this payment.
185
+ sig { returns(String) }
186
+ attr_reader :mandate
187
+ # Transit number of the bank account.
188
+ sig { returns(T.nilable(String)) }
189
+ attr_reader :transit_number
190
+ end
191
+ class Affirm < Stripe::StripeObject
192
+ # The Affirm transaction ID associated with this payment.
193
+ sig { returns(T.nilable(String)) }
194
+ attr_reader :transaction_id
195
+ end
196
+ class AfterpayClearpay < Stripe::StripeObject
197
+ # The Afterpay order ID associated with this payment intent.
198
+ sig { returns(T.nilable(String)) }
199
+ attr_reader :order_id
200
+ # Order identifier shown to the merchant in Afterpay’s online portal.
201
+ sig { returns(T.nilable(String)) }
202
+ attr_reader :reference
203
+ end
204
+ class Alipay < Stripe::StripeObject
205
+ # Uniquely identifies this particular Alipay account. You can use this attribute to check whether two Alipay accounts are the same.
206
+ sig { returns(String) }
207
+ attr_reader :buyer_id
208
+ # Uniquely identifies this particular Alipay account. You can use this attribute to check whether two Alipay accounts are the same.
209
+ sig { returns(T.nilable(String)) }
210
+ attr_reader :fingerprint
211
+ # Transaction ID of this particular Alipay transaction.
212
+ sig { returns(T.nilable(String)) }
213
+ attr_reader :transaction_id
214
+ end
215
+ class Alma < Stripe::StripeObject; end
216
+ class AmazonPay < Stripe::StripeObject
217
+ class Funding < Stripe::StripeObject
218
+ class Card < Stripe::StripeObject
219
+ # Card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `link`, `mastercard`, `unionpay`, `visa`, or `unknown`.
220
+ sig { returns(T.nilable(String)) }
221
+ attr_reader :brand
222
+ # Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected.
223
+ sig { returns(T.nilable(String)) }
224
+ attr_reader :country
225
+ # Two-digit number representing the card's expiration month.
226
+ sig { returns(T.nilable(Integer)) }
227
+ attr_reader :exp_month
228
+ # Four-digit number representing the card's expiration year.
229
+ sig { returns(T.nilable(Integer)) }
230
+ attr_reader :exp_year
231
+ # Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`.
232
+ sig { returns(T.nilable(String)) }
233
+ attr_reader :funding
234
+ # The last four digits of the card.
235
+ sig { returns(T.nilable(String)) }
236
+ attr_reader :last4
237
+ end
238
+ # Attribute for field card
239
+ sig { returns(Card) }
240
+ attr_reader :card
241
+ # funding type of the underlying payment method.
242
+ sig { returns(T.nilable(String)) }
243
+ attr_reader :type
244
+ end
245
+ # Attribute for field funding
246
+ sig { returns(Funding) }
247
+ attr_reader :funding
248
+ end
249
+ class AuBecsDebit < Stripe::StripeObject
250
+ # Bank-State-Branch number of the bank account.
251
+ sig { returns(T.nilable(String)) }
252
+ attr_reader :bsb_number
253
+ # Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.
254
+ sig { returns(T.nilable(String)) }
255
+ attr_reader :fingerprint
256
+ # Last four digits of the bank account number.
257
+ sig { returns(T.nilable(String)) }
258
+ attr_reader :last4
259
+ # ID of the mandate used to make this payment.
260
+ sig { returns(String) }
261
+ attr_reader :mandate
262
+ end
263
+ class BacsDebit < Stripe::StripeObject
264
+ # Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.
265
+ sig { returns(T.nilable(String)) }
266
+ attr_reader :fingerprint
267
+ # Last four digits of the bank account number.
268
+ sig { returns(T.nilable(String)) }
269
+ attr_reader :last4
270
+ # ID of the mandate used to make this payment.
271
+ sig { returns(T.nilable(String)) }
272
+ attr_reader :mandate
273
+ # Sort code of the bank account. (e.g., `10-20-30`)
274
+ sig { returns(T.nilable(String)) }
275
+ attr_reader :sort_code
276
+ end
277
+ class Bancontact < Stripe::StripeObject
278
+ # Bank code of bank associated with the bank account.
279
+ sig { returns(T.nilable(String)) }
280
+ attr_reader :bank_code
281
+ # Name of the bank associated with the bank account.
282
+ sig { returns(T.nilable(String)) }
283
+ attr_reader :bank_name
284
+ # Bank Identifier Code of the bank associated with the bank account.
285
+ sig { returns(T.nilable(String)) }
286
+ attr_reader :bic
287
+ # The ID of the SEPA Direct Debit PaymentMethod which was generated by this Charge.
288
+ sig { returns(T.nilable(T.any(String, Stripe::PaymentMethod))) }
289
+ attr_reader :generated_sepa_debit
290
+ # The mandate for the SEPA Direct Debit PaymentMethod which was generated by this Charge.
291
+ sig { returns(T.nilable(T.any(String, Stripe::Mandate))) }
292
+ attr_reader :generated_sepa_debit_mandate
293
+ # Last four characters of the IBAN.
294
+ sig { returns(T.nilable(String)) }
295
+ attr_reader :iban_last4
296
+ # Preferred language of the Bancontact authorization page that the customer is redirected to.
297
+ # Can be one of `en`, `de`, `fr`, or `nl`
298
+ sig { returns(T.nilable(String)) }
299
+ attr_reader :preferred_language
300
+ # Owner's verified full name. Values are verified or provided by Bancontact directly
301
+ # (if supported) at the time of authorization or settlement. They cannot be set or mutated.
302
+ sig { returns(T.nilable(String)) }
303
+ attr_reader :verified_name
304
+ end
305
+ class Billie < Stripe::StripeObject; end
306
+ class Blik < Stripe::StripeObject
307
+ # A unique and immutable identifier assigned by BLIK to every buyer.
308
+ sig { returns(T.nilable(String)) }
309
+ attr_reader :buyer_id
310
+ end
311
+ class Boleto < Stripe::StripeObject
312
+ # The tax ID of the customer (CPF for individuals consumers or CNPJ for businesses consumers)
313
+ sig { returns(String) }
314
+ attr_reader :tax_id
315
+ end
316
+ class Card < Stripe::StripeObject
317
+ class Checks < Stripe::StripeObject
318
+ # If a address line1 was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`.
319
+ sig { returns(T.nilable(String)) }
320
+ attr_reader :address_line1_check
321
+ # If a address postal code was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`.
322
+ sig { returns(T.nilable(String)) }
323
+ attr_reader :address_postal_code_check
324
+ # If a CVC was provided, results of the check, one of `pass`, `fail`, `unavailable`, or `unchecked`.
325
+ sig { returns(T.nilable(String)) }
326
+ attr_reader :cvc_check
327
+ end
328
+ class ExtendedAuthorization < Stripe::StripeObject
329
+ # Indicates whether or not the capture window is extended beyond the standard authorization.
330
+ sig { returns(String) }
331
+ attr_reader :status
332
+ end
333
+ class IncrementalAuthorization < Stripe::StripeObject
334
+ # Indicates whether or not the incremental authorization feature is supported.
335
+ sig { returns(String) }
336
+ attr_reader :status
337
+ end
338
+ class Installments < Stripe::StripeObject
339
+ class Plan < Stripe::StripeObject
340
+ # For `fixed_count` installment plans, this is the number of installment payments your customer will make to their credit card.
341
+ sig { returns(T.nilable(Integer)) }
342
+ attr_reader :count
343
+ # For `fixed_count` installment plans, this is the interval between installment payments your customer will make to their credit card.
344
+ # One of `month`.
345
+ sig { returns(T.nilable(String)) }
346
+ attr_reader :interval
347
+ # Type of installment plan, one of `fixed_count`.
348
+ sig { returns(String) }
349
+ attr_reader :type
350
+ end
351
+ # Installment plan selected for the payment.
352
+ sig { returns(T.nilable(Plan)) }
353
+ attr_reader :plan
354
+ end
355
+ class Multicapture < Stripe::StripeObject
356
+ # Indicates whether or not multiple captures are supported.
357
+ sig { returns(String) }
358
+ attr_reader :status
359
+ end
360
+ class NetworkToken < Stripe::StripeObject
361
+ # Indicates if Stripe used a network token, either user provided or Stripe managed when processing the transaction.
362
+ sig { returns(T::Boolean) }
363
+ attr_reader :used
364
+ end
365
+ class Overcapture < Stripe::StripeObject
366
+ # The maximum amount that can be captured.
367
+ sig { returns(Integer) }
368
+ attr_reader :maximum_amount_capturable
369
+ # Indicates whether or not the authorized amount can be over-captured.
370
+ sig { returns(String) }
371
+ attr_reader :status
372
+ end
373
+ class ThreeDSecure < Stripe::StripeObject
374
+ # For authenticated transactions: how the customer was authenticated by
375
+ # the issuing bank.
376
+ sig { returns(T.nilable(String)) }
377
+ attr_reader :authentication_flow
378
+ # The Electronic Commerce Indicator (ECI). A protocol-level field
379
+ # indicating what degree of authentication was performed.
380
+ sig { returns(T.nilable(String)) }
381
+ attr_reader :electronic_commerce_indicator
382
+ # The exemption requested via 3DS and accepted by the issuer at authentication time.
383
+ sig { returns(T.nilable(String)) }
384
+ attr_reader :exemption_indicator
385
+ # Whether Stripe requested the value of `exemption_indicator` in the transaction. This will depend on
386
+ # the outcome of Stripe's internal risk assessment.
387
+ sig { returns(T::Boolean) }
388
+ attr_reader :exemption_indicator_applied
389
+ # Indicates the outcome of 3D Secure authentication.
390
+ sig { returns(T.nilable(String)) }
391
+ attr_reader :result
392
+ # Additional information about why 3D Secure succeeded or failed based
393
+ # on the `result`.
394
+ sig { returns(T.nilable(String)) }
395
+ attr_reader :result_reason
396
+ # The 3D Secure 1 XID or 3D Secure 2 Directory Server Transaction ID
397
+ # (dsTransId) for this payment.
398
+ sig { returns(T.nilable(String)) }
399
+ attr_reader :transaction_id
400
+ # The version of 3D Secure that was used.
401
+ sig { returns(T.nilable(String)) }
402
+ attr_reader :version
403
+ end
404
+ class Wallet < Stripe::StripeObject
405
+ class AmexExpressCheckout < Stripe::StripeObject; end
406
+ class ApplePay < Stripe::StripeObject; end
407
+ class GooglePay < Stripe::StripeObject; end
408
+ class Link < Stripe::StripeObject; end
409
+ class Masterpass < Stripe::StripeObject
410
+ class BillingAddress < Stripe::StripeObject
411
+ # City, district, suburb, town, or village.
412
+ sig { returns(T.nilable(String)) }
413
+ attr_reader :city
414
+ # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
415
+ sig { returns(T.nilable(String)) }
416
+ attr_reader :country
417
+ # Address line 1 (e.g., street, PO Box, or company name).
418
+ sig { returns(T.nilable(String)) }
419
+ attr_reader :line1
420
+ # Address line 2 (e.g., apartment, suite, unit, or building).
421
+ sig { returns(T.nilable(String)) }
422
+ attr_reader :line2
423
+ # ZIP or postal code.
424
+ sig { returns(T.nilable(String)) }
425
+ attr_reader :postal_code
426
+ # State, county, province, or region.
427
+ sig { returns(T.nilable(String)) }
428
+ attr_reader :state
429
+ end
430
+ class ShippingAddress < Stripe::StripeObject
431
+ # City, district, suburb, town, or village.
432
+ sig { returns(T.nilable(String)) }
433
+ attr_reader :city
434
+ # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
435
+ sig { returns(T.nilable(String)) }
436
+ attr_reader :country
437
+ # Address line 1 (e.g., street, PO Box, or company name).
438
+ sig { returns(T.nilable(String)) }
439
+ attr_reader :line1
440
+ # Address line 2 (e.g., apartment, suite, unit, or building).
441
+ sig { returns(T.nilable(String)) }
442
+ attr_reader :line2
443
+ # ZIP or postal code.
444
+ sig { returns(T.nilable(String)) }
445
+ attr_reader :postal_code
446
+ # State, county, province, or region.
447
+ sig { returns(T.nilable(String)) }
448
+ attr_reader :state
449
+ end
450
+ # Owner's verified billing address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.
451
+ sig { returns(T.nilable(BillingAddress)) }
452
+ attr_reader :billing_address
453
+ # Owner's verified email. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.
454
+ sig { returns(T.nilable(String)) }
455
+ attr_reader :email
456
+ # Owner's verified full name. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.
457
+ sig { returns(T.nilable(String)) }
458
+ attr_reader :name
459
+ # Owner's verified shipping address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.
460
+ sig { returns(T.nilable(ShippingAddress)) }
461
+ attr_reader :shipping_address
462
+ end
463
+ class SamsungPay < Stripe::StripeObject; end
464
+ class VisaCheckout < Stripe::StripeObject
465
+ class BillingAddress < Stripe::StripeObject
466
+ # City, district, suburb, town, or village.
467
+ sig { returns(T.nilable(String)) }
468
+ attr_reader :city
469
+ # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
470
+ sig { returns(T.nilable(String)) }
471
+ attr_reader :country
472
+ # Address line 1 (e.g., street, PO Box, or company name).
473
+ sig { returns(T.nilable(String)) }
474
+ attr_reader :line1
475
+ # Address line 2 (e.g., apartment, suite, unit, or building).
476
+ sig { returns(T.nilable(String)) }
477
+ attr_reader :line2
478
+ # ZIP or postal code.
479
+ sig { returns(T.nilable(String)) }
480
+ attr_reader :postal_code
481
+ # State, county, province, or region.
482
+ sig { returns(T.nilable(String)) }
483
+ attr_reader :state
484
+ end
485
+ class ShippingAddress < Stripe::StripeObject
486
+ # City, district, suburb, town, or village.
487
+ sig { returns(T.nilable(String)) }
488
+ attr_reader :city
489
+ # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
490
+ sig { returns(T.nilable(String)) }
491
+ attr_reader :country
492
+ # Address line 1 (e.g., street, PO Box, or company name).
493
+ sig { returns(T.nilable(String)) }
494
+ attr_reader :line1
495
+ # Address line 2 (e.g., apartment, suite, unit, or building).
496
+ sig { returns(T.nilable(String)) }
497
+ attr_reader :line2
498
+ # ZIP or postal code.
499
+ sig { returns(T.nilable(String)) }
500
+ attr_reader :postal_code
501
+ # State, county, province, or region.
502
+ sig { returns(T.nilable(String)) }
503
+ attr_reader :state
504
+ end
505
+ # Owner's verified billing address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.
506
+ sig { returns(T.nilable(BillingAddress)) }
507
+ attr_reader :billing_address
508
+ # Owner's verified email. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.
509
+ sig { returns(T.nilable(String)) }
510
+ attr_reader :email
511
+ # Owner's verified full name. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.
512
+ sig { returns(T.nilable(String)) }
513
+ attr_reader :name
514
+ # Owner's verified shipping address. Values are verified or provided by the wallet directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.
515
+ sig { returns(T.nilable(ShippingAddress)) }
516
+ attr_reader :shipping_address
517
+ end
518
+ # Attribute for field amex_express_checkout
519
+ sig { returns(AmexExpressCheckout) }
520
+ attr_reader :amex_express_checkout
521
+ # Attribute for field apple_pay
522
+ sig { returns(ApplePay) }
523
+ attr_reader :apple_pay
524
+ # (For tokenized numbers only.) The last four digits of the device account number.
525
+ sig { returns(T.nilable(String)) }
526
+ attr_reader :dynamic_last4
527
+ # Attribute for field google_pay
528
+ sig { returns(GooglePay) }
529
+ attr_reader :google_pay
530
+ # Attribute for field link
531
+ sig { returns(Link) }
532
+ attr_reader :link
533
+ # Attribute for field masterpass
534
+ sig { returns(Masterpass) }
535
+ attr_reader :masterpass
536
+ # Attribute for field samsung_pay
537
+ sig { returns(SamsungPay) }
538
+ attr_reader :samsung_pay
539
+ # The type of the card wallet, one of `amex_express_checkout`, `apple_pay`, `google_pay`, `masterpass`, `samsung_pay`, `visa_checkout`, or `link`. An additional hash is included on the Wallet subhash with a name matching this value. It contains additional information specific to the card wallet type.
540
+ sig { returns(String) }
541
+ attr_reader :type
542
+ # Attribute for field visa_checkout
543
+ sig { returns(VisaCheckout) }
544
+ attr_reader :visa_checkout
545
+ end
546
+ # The authorized amount.
547
+ sig { returns(T.nilable(Integer)) }
548
+ attr_reader :amount_authorized
549
+ # Authorization code on the charge.
550
+ sig { returns(T.nilable(String)) }
551
+ attr_reader :authorization_code
552
+ # Card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `link`, `mastercard`, `unionpay`, `visa`, or `unknown`.
553
+ sig { returns(T.nilable(String)) }
554
+ attr_reader :brand
555
+ # When using manual capture, a future timestamp at which the charge will be automatically refunded if uncaptured.
556
+ sig { returns(Integer) }
557
+ attr_reader :capture_before
558
+ # Check results by Card networks on Card address and CVC at time of payment.
559
+ sig { returns(T.nilable(Checks)) }
560
+ attr_reader :checks
561
+ # Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected.
562
+ sig { returns(T.nilable(String)) }
563
+ attr_reader :country
564
+ # A high-level description of the type of cards issued in this range. (For internal use only and not typically available in standard API requests.)
565
+ sig { returns(T.nilable(String)) }
566
+ attr_reader :description
567
+ # Two-digit number representing the card's expiration month.
568
+ sig { returns(Integer) }
569
+ attr_reader :exp_month
570
+ # Four-digit number representing the card's expiration year.
571
+ sig { returns(Integer) }
572
+ attr_reader :exp_year
573
+ # Attribute for field extended_authorization
574
+ sig { returns(ExtendedAuthorization) }
575
+ attr_reader :extended_authorization
576
+ # Uniquely identifies this particular card number. You can use this attribute to check whether two customers who’ve signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number.
577
+ #
578
+ # *As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.*
579
+ sig { returns(T.nilable(String)) }
580
+ attr_reader :fingerprint
581
+ # Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`.
582
+ sig { returns(T.nilable(String)) }
583
+ attr_reader :funding
584
+ # Issuer identification number of the card. (For internal use only and not typically available in standard API requests.)
585
+ sig { returns(T.nilable(String)) }
586
+ attr_reader :iin
587
+ # Attribute for field incremental_authorization
588
+ sig { returns(IncrementalAuthorization) }
589
+ attr_reader :incremental_authorization
590
+ # Installment details for this payment (Mexico only).
591
+ #
592
+ # For more information, see the [installments integration guide](https://stripe.com/docs/payments/installments).
593
+ sig { returns(T.nilable(Installments)) }
594
+ attr_reader :installments
595
+ # The name of the card's issuing bank. (For internal use only and not typically available in standard API requests.)
596
+ sig { returns(T.nilable(String)) }
597
+ attr_reader :issuer
598
+ # The last four digits of the card.
599
+ sig { returns(T.nilable(String)) }
600
+ attr_reader :last4
601
+ # ID of the mandate used to make this payment or created by it.
602
+ sig { returns(T.nilable(String)) }
603
+ attr_reader :mandate
604
+ # True if this payment was marked as MOTO and out of scope for SCA.
605
+ sig { returns(T.nilable(T::Boolean)) }
606
+ attr_reader :moto
607
+ # Attribute for field multicapture
608
+ sig { returns(Multicapture) }
609
+ attr_reader :multicapture
610
+ # Identifies which network this charge was processed on. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `interac`, `jcb`, `link`, `mastercard`, `unionpay`, `visa`, or `unknown`.
611
+ sig { returns(T.nilable(String)) }
612
+ attr_reader :network
613
+ # If this card has network token credentials, this contains the details of the network token credentials.
614
+ sig { returns(T.nilable(NetworkToken)) }
615
+ attr_reader :network_token
616
+ # This is used by the financial networks to identify a transaction. Visa calls this the Transaction ID, Mastercard calls this the Trace ID, and American Express calls this the Acquirer Reference Data. This value will be present if it is returned by the financial network in the authorization response, and null otherwise.
617
+ sig { returns(T.nilable(String)) }
618
+ attr_reader :network_transaction_id
619
+ # Attribute for field overcapture
620
+ sig { returns(Overcapture) }
621
+ attr_reader :overcapture
622
+ # Status of a card based on the card issuer.
623
+ sig { returns(T.nilable(String)) }
624
+ attr_reader :regulated_status
625
+ # Populated if this transaction used 3D Secure authentication.
626
+ sig { returns(T.nilable(ThreeDSecure)) }
627
+ attr_reader :three_d_secure
628
+ # If this Card is part of a card wallet, this contains the details of the card wallet.
629
+ sig { returns(T.nilable(Wallet)) }
630
+ attr_reader :wallet
631
+ end
632
+ class CardPresent < Stripe::StripeObject
633
+ class Offline < Stripe::StripeObject
634
+ # Time at which the payment was collected while offline
635
+ sig { returns(T.nilable(Integer)) }
636
+ attr_reader :stored_at
637
+ # The method used to process this payment method offline. Only deferred is allowed.
638
+ sig { returns(T.nilable(String)) }
639
+ attr_reader :type
640
+ end
641
+ class Receipt < Stripe::StripeObject
642
+ # The type of account being debited or credited
643
+ sig { returns(String) }
644
+ attr_reader :account_type
645
+ # EMV tag 9F26, cryptogram generated by the integrated circuit chip.
646
+ sig { returns(T.nilable(String)) }
647
+ attr_reader :application_cryptogram
648
+ # Mnenomic of the Application Identifier.
649
+ sig { returns(T.nilable(String)) }
650
+ attr_reader :application_preferred_name
651
+ # Identifier for this transaction.
652
+ sig { returns(T.nilable(String)) }
653
+ attr_reader :authorization_code
654
+ # EMV tag 8A. A code returned by the card issuer.
655
+ sig { returns(T.nilable(String)) }
656
+ attr_reader :authorization_response_code
657
+ # Describes the method used by the cardholder to verify ownership of the card. One of the following: `approval`, `failure`, `none`, `offline_pin`, `offline_pin_and_signature`, `online_pin`, or `signature`.
658
+ sig { returns(T.nilable(String)) }
659
+ attr_reader :cardholder_verification_method
660
+ # EMV tag 84. Similar to the application identifier stored on the integrated circuit chip.
661
+ sig { returns(T.nilable(String)) }
662
+ attr_reader :dedicated_file_name
663
+ # The outcome of a series of EMV functions performed by the card reader.
664
+ sig { returns(T.nilable(String)) }
665
+ attr_reader :terminal_verification_results
666
+ # An indication of various EMV functions performed during the transaction.
667
+ sig { returns(T.nilable(String)) }
668
+ attr_reader :transaction_status_information
669
+ end
670
+ class Wallet < Stripe::StripeObject
671
+ # The type of mobile wallet, one of `apple_pay`, `google_pay`, `samsung_pay`, or `unknown`.
672
+ sig { returns(String) }
673
+ attr_reader :type
674
+ end
675
+ # The authorized amount
676
+ sig { returns(T.nilable(Integer)) }
677
+ attr_reader :amount_authorized
678
+ # Card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `link`, `mastercard`, `unionpay`, `visa`, or `unknown`.
679
+ sig { returns(T.nilable(String)) }
680
+ attr_reader :brand
681
+ # The [product code](https://stripe.com/docs/card-product-codes) that identifies the specific program or product associated with a card.
682
+ sig { returns(T.nilable(String)) }
683
+ attr_reader :brand_product
684
+ # When using manual capture, a future timestamp after which the charge will be automatically refunded if uncaptured.
685
+ sig { returns(Integer) }
686
+ attr_reader :capture_before
687
+ # The cardholder name as read from the card, in [ISO 7813](https://en.wikipedia.org/wiki/ISO/IEC_7813) format. May include alphanumeric characters, special characters and first/last name separator (`/`). In some cases, the cardholder name may not be available depending on how the issuer has configured the card. Cardholder name is typically not available on swipe or contactless payments, such as those made with Apple Pay and Google Pay.
688
+ sig { returns(T.nilable(String)) }
689
+ attr_reader :cardholder_name
690
+ # Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected.
691
+ sig { returns(T.nilable(String)) }
692
+ attr_reader :country
693
+ # A high-level description of the type of cards issued in this range. (For internal use only and not typically available in standard API requests.)
694
+ sig { returns(T.nilable(String)) }
695
+ attr_reader :description
696
+ # Authorization response cryptogram.
697
+ sig { returns(T.nilable(String)) }
698
+ attr_reader :emv_auth_data
699
+ # Two-digit number representing the card's expiration month.
700
+ sig { returns(Integer) }
701
+ attr_reader :exp_month
702
+ # Four-digit number representing the card's expiration year.
703
+ sig { returns(Integer) }
704
+ attr_reader :exp_year
705
+ # Uniquely identifies this particular card number. You can use this attribute to check whether two customers who’ve signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number.
706
+ #
707
+ # *As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.*
708
+ sig { returns(T.nilable(String)) }
709
+ attr_reader :fingerprint
710
+ # Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`.
711
+ sig { returns(T.nilable(String)) }
712
+ attr_reader :funding
713
+ # ID of a card PaymentMethod generated from the card_present PaymentMethod that may be attached to a Customer for future transactions. Only present if it was possible to generate a card PaymentMethod.
714
+ sig { returns(T.nilable(String)) }
715
+ attr_reader :generated_card
716
+ # Issuer identification number of the card. (For internal use only and not typically available in standard API requests.)
717
+ sig { returns(T.nilable(String)) }
718
+ attr_reader :iin
719
+ # Whether this [PaymentIntent](https://stripe.com/docs/api/payment_intents) is eligible for incremental authorizations. Request support using [request_incremental_authorization_support](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-payment_method_options-card_present-request_incremental_authorization_support).
720
+ sig { returns(T::Boolean) }
721
+ attr_reader :incremental_authorization_supported
722
+ # The name of the card's issuing bank. (For internal use only and not typically available in standard API requests.)
723
+ sig { returns(T.nilable(String)) }
724
+ attr_reader :issuer
725
+ # The last four digits of the card.
726
+ sig { returns(T.nilable(String)) }
727
+ attr_reader :last4
728
+ # Identifies which network this charge was processed on. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `interac`, `jcb`, `link`, `mastercard`, `unionpay`, `visa`, or `unknown`.
729
+ sig { returns(T.nilable(String)) }
730
+ attr_reader :network
731
+ # This is used by the financial networks to identify a transaction. Visa calls this the Transaction ID, Mastercard calls this the Trace ID, and American Express calls this the Acquirer Reference Data. This value will be present if it is returned by the financial network in the authorization response, and null otherwise.
732
+ sig { returns(T.nilable(String)) }
733
+ attr_reader :network_transaction_id
734
+ # Details about payments collected offline.
735
+ sig { returns(T.nilable(Offline)) }
736
+ attr_reader :offline
737
+ # Defines whether the authorized amount can be over-captured or not
738
+ sig { returns(T::Boolean) }
739
+ attr_reader :overcapture_supported
740
+ # EMV tag 5F2D. Preferred languages specified by the integrated circuit chip.
741
+ sig { returns(T.nilable(T::Array[String])) }
742
+ attr_reader :preferred_locales
743
+ # How card details were read in this transaction.
744
+ sig { returns(T.nilable(String)) }
745
+ attr_reader :read_method
746
+ # A collection of fields required to be displayed on receipts. Only required for EMV transactions.
747
+ sig { returns(T.nilable(Receipt)) }
748
+ attr_reader :receipt
749
+ # Attribute for field wallet
750
+ sig { returns(Wallet) }
751
+ attr_reader :wallet
752
+ end
753
+ class Cashapp < Stripe::StripeObject
754
+ # A unique and immutable identifier assigned by Cash App to every buyer.
755
+ sig { returns(T.nilable(String)) }
756
+ attr_reader :buyer_id
757
+ # A public identifier for buyers using Cash App.
758
+ sig { returns(T.nilable(String)) }
759
+ attr_reader :cashtag
760
+ end
761
+ class CustomerBalance < Stripe::StripeObject; end
762
+ class Eps < Stripe::StripeObject
763
+ # The customer's bank. Should be one of `arzte_und_apotheker_bank`, `austrian_anadi_bank_ag`, `bank_austria`, `bankhaus_carl_spangler`, `bankhaus_schelhammer_und_schattera_ag`, `bawag_psk_ag`, `bks_bank_ag`, `brull_kallmus_bank_ag`, `btv_vier_lander_bank`, `capital_bank_grawe_gruppe_ag`, `deutsche_bank_ag`, `dolomitenbank`, `easybank_ag`, `erste_bank_und_sparkassen`, `hypo_alpeadriabank_international_ag`, `hypo_noe_lb_fur_niederosterreich_u_wien`, `hypo_oberosterreich_salzburg_steiermark`, `hypo_tirol_bank_ag`, `hypo_vorarlberg_bank_ag`, `hypo_bank_burgenland_aktiengesellschaft`, `marchfelder_bank`, `oberbank_ag`, `raiffeisen_bankengruppe_osterreich`, `schoellerbank_ag`, `sparda_bank_wien`, `volksbank_gruppe`, `volkskreditbank_ag`, or `vr_bank_braunau`.
764
+ sig { returns(T.nilable(String)) }
765
+ attr_reader :bank
766
+ # Owner's verified full name. Values are verified or provided by EPS directly
767
+ # (if supported) at the time of authorization or settlement. They cannot be set or mutated.
768
+ # EPS rarely provides this information so the attribute is usually empty.
769
+ sig { returns(T.nilable(String)) }
770
+ attr_reader :verified_name
771
+ end
772
+ class Fpx < Stripe::StripeObject
773
+ # Account holder type, if provided. Can be one of `individual` or `company`.
774
+ sig { returns(T.nilable(String)) }
775
+ attr_reader :account_holder_type
776
+ # The customer's bank. Can be one of `affin_bank`, `agrobank`, `alliance_bank`, `ambank`, `bank_islam`, `bank_muamalat`, `bank_rakyat`, `bsn`, `cimb`, `hong_leong_bank`, `hsbc`, `kfh`, `maybank2u`, `ocbc`, `public_bank`, `rhb`, `standard_chartered`, `uob`, `deutsche_bank`, `maybank2e`, `pb_enterprise`, or `bank_of_china`.
777
+ sig { returns(String) }
778
+ attr_reader :bank
779
+ # Unique transaction id generated by FPX for every request from the merchant
780
+ sig { returns(T.nilable(String)) }
781
+ attr_reader :transaction_id
782
+ end
783
+ class Giropay < Stripe::StripeObject
784
+ # Bank code of bank associated with the bank account.
785
+ sig { returns(T.nilable(String)) }
786
+ attr_reader :bank_code
787
+ # Name of the bank associated with the bank account.
788
+ sig { returns(T.nilable(String)) }
789
+ attr_reader :bank_name
790
+ # Bank Identifier Code of the bank associated with the bank account.
791
+ sig { returns(T.nilable(String)) }
792
+ attr_reader :bic
793
+ # Owner's verified full name. Values are verified or provided by Giropay directly
794
+ # (if supported) at the time of authorization or settlement. They cannot be set or mutated.
795
+ # Giropay rarely provides this information so the attribute is usually empty.
796
+ sig { returns(T.nilable(String)) }
797
+ attr_reader :verified_name
798
+ end
799
+ class Grabpay < Stripe::StripeObject
800
+ # Unique transaction id generated by GrabPay
801
+ sig { returns(T.nilable(String)) }
802
+ attr_reader :transaction_id
803
+ end
804
+ class Ideal < Stripe::StripeObject
805
+ # The customer's bank. Can be one of `abn_amro`, `asn_bank`, `bunq`, `handelsbanken`, `ing`, `knab`, `moneyou`, `n26`, `nn`, `rabobank`, `regiobank`, `revolut`, `sns_bank`, `triodos_bank`, `van_lanschot`, or `yoursafe`.
806
+ sig { returns(T.nilable(String)) }
807
+ attr_reader :bank
808
+ # The Bank Identifier Code of the customer's bank.
809
+ sig { returns(T.nilable(String)) }
810
+ attr_reader :bic
811
+ # The ID of the SEPA Direct Debit PaymentMethod which was generated by this Charge.
812
+ sig { returns(T.nilable(T.any(String, Stripe::PaymentMethod))) }
813
+ attr_reader :generated_sepa_debit
814
+ # The mandate for the SEPA Direct Debit PaymentMethod which was generated by this Charge.
815
+ sig { returns(T.nilable(T.any(String, Stripe::Mandate))) }
816
+ attr_reader :generated_sepa_debit_mandate
817
+ # Last four characters of the IBAN.
818
+ sig { returns(T.nilable(String)) }
819
+ attr_reader :iban_last4
820
+ # Owner's verified full name. Values are verified or provided by iDEAL directly
821
+ # (if supported) at the time of authorization or settlement. They cannot be set or mutated.
822
+ sig { returns(T.nilable(String)) }
823
+ attr_reader :verified_name
824
+ end
825
+ class InteracPresent < Stripe::StripeObject
826
+ class Receipt < Stripe::StripeObject
827
+ # The type of account being debited or credited
828
+ sig { returns(String) }
829
+ attr_reader :account_type
830
+ # EMV tag 9F26, cryptogram generated by the integrated circuit chip.
831
+ sig { returns(T.nilable(String)) }
832
+ attr_reader :application_cryptogram
833
+ # Mnenomic of the Application Identifier.
834
+ sig { returns(T.nilable(String)) }
835
+ attr_reader :application_preferred_name
836
+ # Identifier for this transaction.
837
+ sig { returns(T.nilable(String)) }
838
+ attr_reader :authorization_code
839
+ # EMV tag 8A. A code returned by the card issuer.
840
+ sig { returns(T.nilable(String)) }
841
+ attr_reader :authorization_response_code
842
+ # Describes the method used by the cardholder to verify ownership of the card. One of the following: `approval`, `failure`, `none`, `offline_pin`, `offline_pin_and_signature`, `online_pin`, or `signature`.
843
+ sig { returns(T.nilable(String)) }
844
+ attr_reader :cardholder_verification_method
845
+ # EMV tag 84. Similar to the application identifier stored on the integrated circuit chip.
846
+ sig { returns(T.nilable(String)) }
847
+ attr_reader :dedicated_file_name
848
+ # The outcome of a series of EMV functions performed by the card reader.
849
+ sig { returns(T.nilable(String)) }
850
+ attr_reader :terminal_verification_results
851
+ # An indication of various EMV functions performed during the transaction.
852
+ sig { returns(T.nilable(String)) }
853
+ attr_reader :transaction_status_information
854
+ end
855
+ # Card brand. Can be `interac`, `mastercard` or `visa`.
856
+ sig { returns(T.nilable(String)) }
857
+ attr_reader :brand
858
+ # The cardholder name as read from the card, in [ISO 7813](https://en.wikipedia.org/wiki/ISO/IEC_7813) format. May include alphanumeric characters, special characters and first/last name separator (`/`). In some cases, the cardholder name may not be available depending on how the issuer has configured the card. Cardholder name is typically not available on swipe or contactless payments, such as those made with Apple Pay and Google Pay.
859
+ sig { returns(T.nilable(String)) }
860
+ attr_reader :cardholder_name
861
+ # Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected.
862
+ sig { returns(T.nilable(String)) }
863
+ attr_reader :country
864
+ # A high-level description of the type of cards issued in this range. (For internal use only and not typically available in standard API requests.)
865
+ sig { returns(T.nilable(String)) }
866
+ attr_reader :description
867
+ # Authorization response cryptogram.
868
+ sig { returns(T.nilable(String)) }
869
+ attr_reader :emv_auth_data
870
+ # Two-digit number representing the card's expiration month.
871
+ sig { returns(Integer) }
872
+ attr_reader :exp_month
873
+ # Four-digit number representing the card's expiration year.
874
+ sig { returns(Integer) }
875
+ attr_reader :exp_year
876
+ # Uniquely identifies this particular card number. You can use this attribute to check whether two customers who’ve signed up with you are using the same card number, for example. For payment methods that tokenize card information (Apple Pay, Google Pay), the tokenized number might be provided instead of the underlying card number.
877
+ #
878
+ # *As of May 1, 2021, card fingerprint in India for Connect changed to allow two fingerprints for the same card---one for India and one for the rest of the world.*
879
+ sig { returns(T.nilable(String)) }
880
+ attr_reader :fingerprint
881
+ # Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`.
882
+ sig { returns(T.nilable(String)) }
883
+ attr_reader :funding
884
+ # ID of a card PaymentMethod generated from the card_present PaymentMethod that may be attached to a Customer for future transactions. Only present if it was possible to generate a card PaymentMethod.
885
+ sig { returns(T.nilable(String)) }
886
+ attr_reader :generated_card
887
+ # Issuer identification number of the card. (For internal use only and not typically available in standard API requests.)
888
+ sig { returns(T.nilable(String)) }
889
+ attr_reader :iin
890
+ # The name of the card's issuing bank. (For internal use only and not typically available in standard API requests.)
891
+ sig { returns(T.nilable(String)) }
892
+ attr_reader :issuer
893
+ # The last four digits of the card.
894
+ sig { returns(T.nilable(String)) }
895
+ attr_reader :last4
896
+ # Identifies which network this charge was processed on. Can be `amex`, `cartes_bancaires`, `diners`, `discover`, `eftpos_au`, `interac`, `jcb`, `link`, `mastercard`, `unionpay`, `visa`, or `unknown`.
897
+ sig { returns(T.nilable(String)) }
898
+ attr_reader :network
899
+ # This is used by the financial networks to identify a transaction. Visa calls this the Transaction ID, Mastercard calls this the Trace ID, and American Express calls this the Acquirer Reference Data. This value will be present if it is returned by the financial network in the authorization response, and null otherwise.
900
+ sig { returns(T.nilable(String)) }
901
+ attr_reader :network_transaction_id
902
+ # EMV tag 5F2D. Preferred languages specified by the integrated circuit chip.
903
+ sig { returns(T.nilable(T::Array[String])) }
904
+ attr_reader :preferred_locales
905
+ # How card details were read in this transaction.
906
+ sig { returns(T.nilable(String)) }
907
+ attr_reader :read_method
908
+ # A collection of fields required to be displayed on receipts. Only required for EMV transactions.
909
+ sig { returns(T.nilable(Receipt)) }
910
+ attr_reader :receipt
911
+ end
912
+ class KakaoPay < Stripe::StripeObject
913
+ # A unique identifier for the buyer as determined by the local payment processor.
914
+ sig { returns(T.nilable(String)) }
915
+ attr_reader :buyer_id
916
+ end
917
+ class Klarna < Stripe::StripeObject
918
+ class PayerDetails < Stripe::StripeObject
919
+ class Address < Stripe::StripeObject
920
+ # The payer address country
921
+ sig { returns(T.nilable(String)) }
922
+ attr_reader :country
923
+ end
924
+ # The payer's address
925
+ sig { returns(T.nilable(Address)) }
926
+ attr_reader :address
927
+ end
928
+ # The payer details for this transaction.
929
+ sig { returns(T.nilable(PayerDetails)) }
930
+ attr_reader :payer_details
931
+ # The Klarna payment method used for this transaction.
932
+ # Can be one of `pay_later`, `pay_now`, `pay_with_financing`, or `pay_in_installments`
933
+ sig { returns(T.nilable(String)) }
934
+ attr_reader :payment_method_category
935
+ # Preferred language of the Klarna authorization page that the customer is redirected to.
936
+ # Can be one of `de-AT`, `en-AT`, `nl-BE`, `fr-BE`, `en-BE`, `de-DE`, `en-DE`, `da-DK`, `en-DK`, `es-ES`, `en-ES`, `fi-FI`, `sv-FI`, `en-FI`, `en-GB`, `en-IE`, `it-IT`, `en-IT`, `nl-NL`, `en-NL`, `nb-NO`, `en-NO`, `sv-SE`, `en-SE`, `en-US`, `es-US`, `fr-FR`, `en-FR`, `cs-CZ`, `en-CZ`, `ro-RO`, `en-RO`, `el-GR`, `en-GR`, `en-AU`, `en-NZ`, `en-CA`, `fr-CA`, `pl-PL`, `en-PL`, `pt-PT`, `en-PT`, `de-CH`, `fr-CH`, `it-CH`, or `en-CH`
937
+ sig { returns(T.nilable(String)) }
938
+ attr_reader :preferred_locale
939
+ end
940
+ class Konbini < Stripe::StripeObject
941
+ class Store < Stripe::StripeObject
942
+ # The name of the convenience store chain where the payment was completed.
943
+ sig { returns(T.nilable(String)) }
944
+ attr_reader :chain
945
+ end
946
+ # If the payment succeeded, this contains the details of the convenience store where the payment was completed.
947
+ sig { returns(T.nilable(Store)) }
948
+ attr_reader :store
949
+ end
950
+ class KrCard < Stripe::StripeObject
951
+ # The local credit or debit card brand.
952
+ sig { returns(T.nilable(String)) }
953
+ attr_reader :brand
954
+ # A unique identifier for the buyer as determined by the local payment processor.
955
+ sig { returns(T.nilable(String)) }
956
+ attr_reader :buyer_id
957
+ # The last four digits of the card. This may not be present for American Express cards.
958
+ sig { returns(T.nilable(String)) }
959
+ attr_reader :last4
960
+ end
961
+ class Link < Stripe::StripeObject
962
+ # Two-letter ISO code representing the funding source country beneath the Link payment.
963
+ # You could use this attribute to get a sense of international fees.
964
+ sig { returns(T.nilable(String)) }
965
+ attr_reader :country
966
+ end
967
+ class Mobilepay < Stripe::StripeObject
968
+ class Card < Stripe::StripeObject
969
+ # Brand of the card used in the transaction
970
+ sig { returns(T.nilable(String)) }
971
+ attr_reader :brand
972
+ # Two-letter ISO code representing the country of the card
973
+ sig { returns(T.nilable(String)) }
974
+ attr_reader :country
975
+ # Two digit number representing the card's expiration month
976
+ sig { returns(T.nilable(Integer)) }
977
+ attr_reader :exp_month
978
+ # Two digit number representing the card's expiration year
979
+ sig { returns(T.nilable(Integer)) }
980
+ attr_reader :exp_year
981
+ # The last 4 digits of the card
982
+ sig { returns(T.nilable(String)) }
983
+ attr_reader :last4
984
+ end
985
+ # Internal card details
986
+ sig { returns(T.nilable(Card)) }
987
+ attr_reader :card
988
+ end
989
+ class Multibanco < Stripe::StripeObject
990
+ # Entity number associated with this Multibanco payment.
991
+ sig { returns(T.nilable(String)) }
992
+ attr_reader :entity
993
+ # Reference number associated with this Multibanco payment.
994
+ sig { returns(T.nilable(String)) }
995
+ attr_reader :reference
996
+ end
997
+ class NaverPay < Stripe::StripeObject
998
+ # A unique identifier for the buyer as determined by the local payment processor.
999
+ sig { returns(T.nilable(String)) }
1000
+ attr_reader :buyer_id
1001
+ end
1002
+ class NzBankAccount < Stripe::StripeObject
1003
+ # The name on the bank account. Only present if the account holder name is different from the name of the authorized signatory collected in the PaymentMethod’s billing details.
1004
+ sig { returns(T.nilable(String)) }
1005
+ attr_reader :account_holder_name
1006
+ # The numeric code for the bank account's bank.
1007
+ sig { returns(String) }
1008
+ attr_reader :bank_code
1009
+ # The name of the bank.
1010
+ sig { returns(String) }
1011
+ attr_reader :bank_name
1012
+ # The numeric code for the bank account's bank branch.
1013
+ sig { returns(String) }
1014
+ attr_reader :branch_code
1015
+ # Last four digits of the bank account number.
1016
+ sig { returns(String) }
1017
+ attr_reader :last4
1018
+ # The suffix of the bank account number.
1019
+ sig { returns(T.nilable(String)) }
1020
+ attr_reader :suffix
1021
+ end
1022
+ class Oxxo < Stripe::StripeObject
1023
+ # OXXO reference number
1024
+ sig { returns(T.nilable(String)) }
1025
+ attr_reader :number
1026
+ end
1027
+ class P24 < Stripe::StripeObject
1028
+ # The customer's bank. Can be one of `ing`, `citi_handlowy`, `tmobile_usbugi_bankowe`, `plus_bank`, `etransfer_pocztowy24`, `banki_spbdzielcze`, `bank_nowy_bfg_sa`, `getin_bank`, `velobank`, `blik`, `noble_pay`, `ideabank`, `envelobank`, `santander_przelew24`, `nest_przelew`, `mbank_mtransfer`, `inteligo`, `pbac_z_ipko`, `bnp_paribas`, `credit_agricole`, `toyota_bank`, `bank_pekao_sa`, `volkswagen_bank`, `bank_millennium`, `alior_bank`, or `boz`.
1029
+ sig { returns(T.nilable(String)) }
1030
+ attr_reader :bank
1031
+ # Unique reference for this Przelewy24 payment.
1032
+ sig { returns(T.nilable(String)) }
1033
+ attr_reader :reference
1034
+ # Owner's verified full name. Values are verified or provided by Przelewy24 directly
1035
+ # (if supported) at the time of authorization or settlement. They cannot be set or mutated.
1036
+ # Przelewy24 rarely provides this information so the attribute is usually empty.
1037
+ sig { returns(T.nilable(String)) }
1038
+ attr_reader :verified_name
1039
+ end
1040
+ class PayByBank < Stripe::StripeObject; end
1041
+ class Payco < Stripe::StripeObject
1042
+ # A unique identifier for the buyer as determined by the local payment processor.
1043
+ sig { returns(T.nilable(String)) }
1044
+ attr_reader :buyer_id
1045
+ end
1046
+ class Paynow < Stripe::StripeObject
1047
+ # Reference number associated with this PayNow payment
1048
+ sig { returns(T.nilable(String)) }
1049
+ attr_reader :reference
1050
+ end
1051
+ class Paypal < Stripe::StripeObject
1052
+ class SellerProtection < Stripe::StripeObject
1053
+ # An array of conditions that are covered for the transaction, if applicable.
1054
+ sig { returns(T.nilable(T::Array[String])) }
1055
+ attr_reader :dispute_categories
1056
+ # Indicates whether the transaction is eligible for PayPal's seller protection.
1057
+ sig { returns(String) }
1058
+ attr_reader :status
1059
+ end
1060
+ # Two-letter ISO code representing the buyer's country. Values are provided by PayPal directly (if supported) at the time of authorization or settlement. They cannot be set or mutated.
1061
+ sig { returns(T.nilable(String)) }
1062
+ attr_reader :country
1063
+ # Owner's email. Values are provided by PayPal directly
1064
+ # (if supported) at the time of authorization or settlement. They cannot be set or mutated.
1065
+ sig { returns(T.nilable(String)) }
1066
+ attr_reader :payer_email
1067
+ # PayPal account PayerID. This identifier uniquely identifies the PayPal customer.
1068
+ sig { returns(T.nilable(String)) }
1069
+ attr_reader :payer_id
1070
+ # Owner's full name. Values provided by PayPal directly
1071
+ # (if supported) at the time of authorization or settlement. They cannot be set or mutated.
1072
+ sig { returns(T.nilable(String)) }
1073
+ attr_reader :payer_name
1074
+ # The level of protection offered as defined by PayPal Seller Protection for Merchants, for this transaction.
1075
+ sig { returns(T.nilable(SellerProtection)) }
1076
+ attr_reader :seller_protection
1077
+ # A unique ID generated by PayPal for this transaction.
1078
+ sig { returns(T.nilable(String)) }
1079
+ attr_reader :transaction_id
1080
+ end
1081
+ class Pix < Stripe::StripeObject
1082
+ # Unique transaction id generated by BCB
1083
+ sig { returns(T.nilable(String)) }
1084
+ attr_reader :bank_transaction_id
1085
+ end
1086
+ class Promptpay < Stripe::StripeObject
1087
+ # Bill reference generated by PromptPay
1088
+ sig { returns(T.nilable(String)) }
1089
+ attr_reader :reference
1090
+ end
1091
+ class RevolutPay < Stripe::StripeObject
1092
+ class Funding < Stripe::StripeObject
1093
+ class Card < Stripe::StripeObject
1094
+ # Card brand. Can be `amex`, `diners`, `discover`, `eftpos_au`, `jcb`, `link`, `mastercard`, `unionpay`, `visa`, or `unknown`.
1095
+ sig { returns(T.nilable(String)) }
1096
+ attr_reader :brand
1097
+ # Two-letter ISO code representing the country of the card. You could use this attribute to get a sense of the international breakdown of cards you've collected.
1098
+ sig { returns(T.nilable(String)) }
1099
+ attr_reader :country
1100
+ # Two-digit number representing the card's expiration month.
1101
+ sig { returns(T.nilable(Integer)) }
1102
+ attr_reader :exp_month
1103
+ # Four-digit number representing the card's expiration year.
1104
+ sig { returns(T.nilable(Integer)) }
1105
+ attr_reader :exp_year
1106
+ # Card funding type. Can be `credit`, `debit`, `prepaid`, or `unknown`.
1107
+ sig { returns(T.nilable(String)) }
1108
+ attr_reader :funding
1109
+ # The last four digits of the card.
1110
+ sig { returns(T.nilable(String)) }
1111
+ attr_reader :last4
1112
+ end
1113
+ # Attribute for field card
1114
+ sig { returns(Card) }
1115
+ attr_reader :card
1116
+ # funding type of the underlying payment method.
1117
+ sig { returns(T.nilable(String)) }
1118
+ attr_reader :type
1119
+ end
1120
+ # Attribute for field funding
1121
+ sig { returns(Funding) }
1122
+ attr_reader :funding
1123
+ end
1124
+ class SamsungPay < Stripe::StripeObject
1125
+ # A unique identifier for the buyer as determined by the local payment processor.
1126
+ sig { returns(T.nilable(String)) }
1127
+ attr_reader :buyer_id
1128
+ end
1129
+ class Satispay < Stripe::StripeObject; end
1130
+ class SepaCreditTransfer < Stripe::StripeObject
1131
+ # Name of the bank associated with the bank account.
1132
+ sig { returns(T.nilable(String)) }
1133
+ attr_reader :bank_name
1134
+ # Bank Identifier Code of the bank associated with the bank account.
1135
+ sig { returns(T.nilable(String)) }
1136
+ attr_reader :bic
1137
+ # IBAN of the bank account to transfer funds to.
1138
+ sig { returns(T.nilable(String)) }
1139
+ attr_reader :iban
1140
+ end
1141
+ class SepaDebit < Stripe::StripeObject
1142
+ # Bank code of bank associated with the bank account.
1143
+ sig { returns(T.nilable(String)) }
1144
+ attr_reader :bank_code
1145
+ # Branch code of bank associated with the bank account.
1146
+ sig { returns(T.nilable(String)) }
1147
+ attr_reader :branch_code
1148
+ # Two-letter ISO code representing the country the bank account is located in.
1149
+ sig { returns(T.nilable(String)) }
1150
+ attr_reader :country
1151
+ # Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.
1152
+ sig { returns(T.nilable(String)) }
1153
+ attr_reader :fingerprint
1154
+ # Last four characters of the IBAN.
1155
+ sig { returns(T.nilable(String)) }
1156
+ attr_reader :last4
1157
+ # Find the ID of the mandate used for this payment under the [payment_method_details.sepa_debit.mandate](https://stripe.com/docs/api/charges/object#charge_object-payment_method_details-sepa_debit-mandate) property on the Charge. Use this mandate ID to [retrieve the Mandate](https://stripe.com/docs/api/mandates/retrieve).
1158
+ sig { returns(T.nilable(String)) }
1159
+ attr_reader :mandate
1160
+ end
1161
+ class Sofort < Stripe::StripeObject
1162
+ # Bank code of bank associated with the bank account.
1163
+ sig { returns(T.nilable(String)) }
1164
+ attr_reader :bank_code
1165
+ # Name of the bank associated with the bank account.
1166
+ sig { returns(T.nilable(String)) }
1167
+ attr_reader :bank_name
1168
+ # Bank Identifier Code of the bank associated with the bank account.
1169
+ sig { returns(T.nilable(String)) }
1170
+ attr_reader :bic
1171
+ # Two-letter ISO code representing the country the bank account is located in.
1172
+ sig { returns(T.nilable(String)) }
1173
+ attr_reader :country
1174
+ # The ID of the SEPA Direct Debit PaymentMethod which was generated by this Charge.
1175
+ sig { returns(T.nilable(T.any(String, Stripe::PaymentMethod))) }
1176
+ attr_reader :generated_sepa_debit
1177
+ # The mandate for the SEPA Direct Debit PaymentMethod which was generated by this Charge.
1178
+ sig { returns(T.nilable(T.any(String, Stripe::Mandate))) }
1179
+ attr_reader :generated_sepa_debit_mandate
1180
+ # Last four characters of the IBAN.
1181
+ sig { returns(T.nilable(String)) }
1182
+ attr_reader :iban_last4
1183
+ # Preferred language of the SOFORT authorization page that the customer is redirected to.
1184
+ # Can be one of `de`, `en`, `es`, `fr`, `it`, `nl`, or `pl`
1185
+ sig { returns(T.nilable(String)) }
1186
+ attr_reader :preferred_language
1187
+ # Owner's verified full name. Values are verified or provided by SOFORT directly
1188
+ # (if supported) at the time of authorization or settlement. They cannot be set or mutated.
1189
+ sig { returns(T.nilable(String)) }
1190
+ attr_reader :verified_name
1191
+ end
1192
+ class StripeAccount < Stripe::StripeObject; end
1193
+ class Swish < Stripe::StripeObject
1194
+ # Uniquely identifies the payer's Swish account. You can use this attribute to check whether two Swish transactions were paid for by the same payer
1195
+ sig { returns(T.nilable(String)) }
1196
+ attr_reader :fingerprint
1197
+ # Payer bank reference number for the payment
1198
+ sig { returns(T.nilable(String)) }
1199
+ attr_reader :payment_reference
1200
+ # The last four digits of the Swish account phone number
1201
+ sig { returns(T.nilable(String)) }
1202
+ attr_reader :verified_phone_last4
1203
+ end
1204
+ class Twint < Stripe::StripeObject; end
1205
+ class UsBankAccount < Stripe::StripeObject
1206
+ # Account holder type: individual or company.
1207
+ sig { returns(T.nilable(String)) }
1208
+ attr_reader :account_holder_type
1209
+ # Account type: checkings or savings. Defaults to checking if omitted.
1210
+ sig { returns(T.nilable(String)) }
1211
+ attr_reader :account_type
1212
+ # Name of the bank associated with the bank account.
1213
+ sig { returns(T.nilable(String)) }
1214
+ attr_reader :bank_name
1215
+ # Uniquely identifies this particular bank account. You can use this attribute to check whether two bank accounts are the same.
1216
+ sig { returns(T.nilable(String)) }
1217
+ attr_reader :fingerprint
1218
+ # Last four digits of the bank account number.
1219
+ sig { returns(T.nilable(String)) }
1220
+ attr_reader :last4
1221
+ # ID of the mandate used to make this payment.
1222
+ sig { returns(T.any(String, Stripe::Mandate)) }
1223
+ attr_reader :mandate
1224
+ # Reference number to locate ACH payments with customer's bank.
1225
+ sig { returns(T.nilable(String)) }
1226
+ attr_reader :payment_reference
1227
+ # Routing number of the bank account.
1228
+ sig { returns(T.nilable(String)) }
1229
+ attr_reader :routing_number
1230
+ end
1231
+ class Wechat < Stripe::StripeObject; end
1232
+ class WechatPay < Stripe::StripeObject
1233
+ # Uniquely identifies this particular WeChat Pay account. You can use this attribute to check whether two WeChat accounts are the same.
1234
+ sig { returns(T.nilable(String)) }
1235
+ attr_reader :fingerprint
1236
+ # Transaction ID of this particular WeChat Pay transaction.
1237
+ sig { returns(T.nilable(String)) }
1238
+ attr_reader :transaction_id
1239
+ end
1240
+ class Zip < Stripe::StripeObject; end
1241
+ # Attribute for field ach_credit_transfer
1242
+ sig { returns(AchCreditTransfer) }
1243
+ attr_reader :ach_credit_transfer
1244
+ # Attribute for field ach_debit
1245
+ sig { returns(AchDebit) }
1246
+ attr_reader :ach_debit
1247
+ # Attribute for field acss_debit
1248
+ sig { returns(AcssDebit) }
1249
+ attr_reader :acss_debit
1250
+ # Attribute for field affirm
1251
+ sig { returns(Affirm) }
1252
+ attr_reader :affirm
1253
+ # Attribute for field afterpay_clearpay
1254
+ sig { returns(AfterpayClearpay) }
1255
+ attr_reader :afterpay_clearpay
1256
+ # Attribute for field alipay
1257
+ sig { returns(Alipay) }
1258
+ attr_reader :alipay
1259
+ # Attribute for field alma
1260
+ sig { returns(Alma) }
1261
+ attr_reader :alma
1262
+ # Attribute for field amazon_pay
1263
+ sig { returns(AmazonPay) }
1264
+ attr_reader :amazon_pay
1265
+ # Attribute for field au_becs_debit
1266
+ sig { returns(AuBecsDebit) }
1267
+ attr_reader :au_becs_debit
1268
+ # Attribute for field bacs_debit
1269
+ sig { returns(BacsDebit) }
1270
+ attr_reader :bacs_debit
1271
+ # Attribute for field bancontact
1272
+ sig { returns(Bancontact) }
1273
+ attr_reader :bancontact
1274
+ # Attribute for field billie
1275
+ sig { returns(Billie) }
1276
+ attr_reader :billie
1277
+ # Attribute for field blik
1278
+ sig { returns(Blik) }
1279
+ attr_reader :blik
1280
+ # Attribute for field boleto
1281
+ sig { returns(Boleto) }
1282
+ attr_reader :boleto
1283
+ # Attribute for field card
1284
+ sig { returns(Card) }
1285
+ attr_reader :card
1286
+ # Attribute for field card_present
1287
+ sig { returns(CardPresent) }
1288
+ attr_reader :card_present
1289
+ # Attribute for field cashapp
1290
+ sig { returns(Cashapp) }
1291
+ attr_reader :cashapp
1292
+ # Attribute for field customer_balance
1293
+ sig { returns(CustomerBalance) }
1294
+ attr_reader :customer_balance
1295
+ # Attribute for field eps
1296
+ sig { returns(Eps) }
1297
+ attr_reader :eps
1298
+ # Attribute for field fpx
1299
+ sig { returns(Fpx) }
1300
+ attr_reader :fpx
1301
+ # Attribute for field giropay
1302
+ sig { returns(Giropay) }
1303
+ attr_reader :giropay
1304
+ # Attribute for field grabpay
1305
+ sig { returns(Grabpay) }
1306
+ attr_reader :grabpay
1307
+ # Attribute for field ideal
1308
+ sig { returns(Ideal) }
1309
+ attr_reader :ideal
1310
+ # Attribute for field interac_present
1311
+ sig { returns(InteracPresent) }
1312
+ attr_reader :interac_present
1313
+ # Attribute for field kakao_pay
1314
+ sig { returns(KakaoPay) }
1315
+ attr_reader :kakao_pay
1316
+ # Attribute for field klarna
1317
+ sig { returns(Klarna) }
1318
+ attr_reader :klarna
1319
+ # Attribute for field konbini
1320
+ sig { returns(Konbini) }
1321
+ attr_reader :konbini
1322
+ # Attribute for field kr_card
1323
+ sig { returns(KrCard) }
1324
+ attr_reader :kr_card
1325
+ # Attribute for field link
1326
+ sig { returns(Link) }
1327
+ attr_reader :link
1328
+ # Attribute for field mobilepay
1329
+ sig { returns(Mobilepay) }
1330
+ attr_reader :mobilepay
1331
+ # Attribute for field multibanco
1332
+ sig { returns(Multibanco) }
1333
+ attr_reader :multibanco
1334
+ # Attribute for field naver_pay
1335
+ sig { returns(NaverPay) }
1336
+ attr_reader :naver_pay
1337
+ # Attribute for field nz_bank_account
1338
+ sig { returns(NzBankAccount) }
1339
+ attr_reader :nz_bank_account
1340
+ # Attribute for field oxxo
1341
+ sig { returns(Oxxo) }
1342
+ attr_reader :oxxo
1343
+ # Attribute for field p24
1344
+ sig { returns(P24) }
1345
+ attr_reader :p24
1346
+ # Attribute for field pay_by_bank
1347
+ sig { returns(PayByBank) }
1348
+ attr_reader :pay_by_bank
1349
+ # Attribute for field payco
1350
+ sig { returns(Payco) }
1351
+ attr_reader :payco
1352
+ # Attribute for field paynow
1353
+ sig { returns(Paynow) }
1354
+ attr_reader :paynow
1355
+ # Attribute for field paypal
1356
+ sig { returns(Paypal) }
1357
+ attr_reader :paypal
1358
+ # Attribute for field pix
1359
+ sig { returns(Pix) }
1360
+ attr_reader :pix
1361
+ # Attribute for field promptpay
1362
+ sig { returns(Promptpay) }
1363
+ attr_reader :promptpay
1364
+ # Attribute for field revolut_pay
1365
+ sig { returns(RevolutPay) }
1366
+ attr_reader :revolut_pay
1367
+ # Attribute for field samsung_pay
1368
+ sig { returns(SamsungPay) }
1369
+ attr_reader :samsung_pay
1370
+ # Attribute for field satispay
1371
+ sig { returns(Satispay) }
1372
+ attr_reader :satispay
1373
+ # Attribute for field sepa_credit_transfer
1374
+ sig { returns(SepaCreditTransfer) }
1375
+ attr_reader :sepa_credit_transfer
1376
+ # Attribute for field sepa_debit
1377
+ sig { returns(SepaDebit) }
1378
+ attr_reader :sepa_debit
1379
+ # Attribute for field sofort
1380
+ sig { returns(Sofort) }
1381
+ attr_reader :sofort
1382
+ # Attribute for field stripe_account
1383
+ sig { returns(StripeAccount) }
1384
+ attr_reader :stripe_account
1385
+ # Attribute for field swish
1386
+ sig { returns(Swish) }
1387
+ attr_reader :swish
1388
+ # Attribute for field twint
1389
+ sig { returns(Twint) }
1390
+ attr_reader :twint
1391
+ # The type of transaction-specific details of the payment method used in the payment. See [PaymentMethod.type](https://stripe.com/docs/api/payment_methods/object#payment_method_object-type) for the full list of possible types.
1392
+ # An additional hash is included on `payment_method_details` with a name matching this value.
1393
+ # It contains information specific to the payment method.
1394
+ sig { returns(String) }
1395
+ attr_reader :type
1396
+ # Attribute for field us_bank_account
1397
+ sig { returns(UsBankAccount) }
1398
+ attr_reader :us_bank_account
1399
+ # Attribute for field wechat
1400
+ sig { returns(Wechat) }
1401
+ attr_reader :wechat
1402
+ # Attribute for field wechat_pay
1403
+ sig { returns(WechatPay) }
1404
+ attr_reader :wechat_pay
1405
+ # Attribute for field zip
1406
+ sig { returns(Zip) }
1407
+ attr_reader :zip
1408
+ end
1409
+ class PresentmentDetails < Stripe::StripeObject
1410
+ # Amount intended to be collected by this payment, denominated in presentment_currency.
1411
+ sig { returns(Integer) }
1412
+ attr_reader :presentment_amount
1413
+ # Currency presented to the customer during payment.
1414
+ sig { returns(String) }
1415
+ attr_reader :presentment_currency
1416
+ end
1417
+ class RadarOptions < Stripe::StripeObject
1418
+ # 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.
1419
+ sig { returns(String) }
1420
+ attr_reader :session
1421
+ end
1422
+ class Shipping < Stripe::StripeObject
1423
+ class Address < Stripe::StripeObject
1424
+ # City, district, suburb, town, or village.
1425
+ sig { returns(T.nilable(String)) }
1426
+ attr_reader :city
1427
+ # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
1428
+ sig { returns(T.nilable(String)) }
1429
+ attr_reader :country
1430
+ # Address line 1 (e.g., street, PO Box, or company name).
1431
+ sig { returns(T.nilable(String)) }
1432
+ attr_reader :line1
1433
+ # Address line 2 (e.g., apartment, suite, unit, or building).
1434
+ sig { returns(T.nilable(String)) }
1435
+ attr_reader :line2
1436
+ # ZIP or postal code.
1437
+ sig { returns(T.nilable(String)) }
1438
+ attr_reader :postal_code
1439
+ # State, county, province, or region.
1440
+ sig { returns(T.nilable(String)) }
1441
+ attr_reader :state
1442
+ end
1443
+ # Attribute for field address
1444
+ sig { returns(Address) }
1445
+ attr_reader :address
1446
+ # The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc.
1447
+ sig { returns(T.nilable(String)) }
1448
+ attr_reader :carrier
1449
+ # Recipient name.
1450
+ sig { returns(String) }
1451
+ attr_reader :name
1452
+ # Recipient phone (including extension).
1453
+ sig { returns(T.nilable(String)) }
1454
+ attr_reader :phone
1455
+ # The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas.
1456
+ sig { returns(T.nilable(String)) }
1457
+ attr_reader :tracking_number
1458
+ end
1459
+ class TransferData < Stripe::StripeObject
1460
+ # The amount transferred to the destination account, if specified. By default, the entire charge amount is transferred to the destination account.
1461
+ sig { returns(T.nilable(Integer)) }
1462
+ attr_reader :amount
1463
+ # ID of an existing, connected Stripe account to transfer funds to if `transfer_data` was specified in the charge request.
1464
+ sig { returns(T.any(String, Stripe::Account)) }
1465
+ attr_reader :destination
1466
+ end
1467
+ # Amount intended to be collected by this payment. A positive integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or [equivalent in charge currency](https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99).
1468
+ sig { returns(Integer) }
1469
+ attr_reader :amount
1470
+ # Amount in cents (or local equivalent) captured (can be less than the amount attribute on the charge if a partial capture was made).
1471
+ sig { returns(Integer) }
1472
+ attr_reader :amount_captured
1473
+ # Amount in cents (or local equivalent) refunded (can be less than the amount attribute on the charge if a partial refund was issued).
1474
+ sig { returns(Integer) }
1475
+ attr_reader :amount_refunded
1476
+ # ID of the Connect application that created the charge.
1477
+ sig { returns(T.nilable(T.any(String, Stripe::Application))) }
1478
+ attr_reader :application
1479
+ # The application fee (if any) for the charge. [See the Connect documentation](https://stripe.com/docs/connect/direct-charges#collect-fees) for details.
1480
+ sig { returns(T.nilable(T.any(String, Stripe::ApplicationFee))) }
1481
+ attr_reader :application_fee
1482
+ # The amount of the application fee (if any) requested for the charge. [See the Connect documentation](https://stripe.com/docs/connect/direct-charges#collect-fees) for details.
1483
+ sig { returns(T.nilable(Integer)) }
1484
+ attr_reader :application_fee_amount
1485
+ # Authorization code on the charge.
1486
+ sig { returns(String) }
1487
+ attr_reader :authorization_code
1488
+ # ID of the balance transaction that describes the impact of this charge on your account balance (not including refunds or disputes).
1489
+ sig { returns(T.nilable(T.any(String, Stripe::BalanceTransaction))) }
1490
+ attr_reader :balance_transaction
1491
+ # Attribute for field billing_details
1492
+ sig { returns(BillingDetails) }
1493
+ attr_reader :billing_details
1494
+ # The full statement descriptor that is passed to card networks, and that is displayed on your customers' credit card and bank statements. Allows you to see what the statement descriptor looks like after the static and dynamic portions are combined. This value only exists for card payments.
1495
+ sig { returns(T.nilable(String)) }
1496
+ attr_reader :calculated_statement_descriptor
1497
+ # If the charge was created without capturing, this Boolean represents whether it is still uncaptured or has since been captured.
1498
+ sig { returns(T::Boolean) }
1499
+ attr_reader :captured
1500
+ # Time at which the object was created. Measured in seconds since the Unix epoch.
1501
+ sig { returns(Integer) }
1502
+ attr_reader :created
1503
+ # Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
1504
+ sig { returns(String) }
1505
+ attr_reader :currency
1506
+ # ID of the customer this charge is for if one exists.
1507
+ sig { returns(T.nilable(T.any(String, Stripe::Customer))) }
1508
+ attr_reader :customer
1509
+ # An arbitrary string attached to the object. Often useful for displaying to users.
1510
+ sig { returns(T.nilable(String)) }
1511
+ attr_reader :description
1512
+ # Whether the charge has been disputed.
1513
+ sig { returns(T::Boolean) }
1514
+ attr_reader :disputed
1515
+ # ID of the balance transaction that describes the reversal of the balance on your account due to payment failure.
1516
+ sig { returns(T.nilable(T.any(String, Stripe::BalanceTransaction))) }
1517
+ attr_reader :failure_balance_transaction
1518
+ # Error code explaining reason for charge failure if available (see [the errors section](https://stripe.com/docs/error-codes) for a list of codes).
1519
+ sig { returns(T.nilable(String)) }
1520
+ attr_reader :failure_code
1521
+ # Message to user further explaining reason for charge failure if available.
1522
+ sig { returns(T.nilable(String)) }
1523
+ attr_reader :failure_message
1524
+ # Information on fraud assessments for the charge.
1525
+ sig { returns(T.nilable(FraudDetails)) }
1526
+ attr_reader :fraud_details
1527
+ # Unique identifier for the object.
1528
+ sig { returns(String) }
1529
+ attr_reader :id
1530
+ # Attribute for field level3
1531
+ sig { returns(Level3) }
1532
+ attr_reader :level3
1533
+ # Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
1534
+ sig { returns(T::Boolean) }
1535
+ attr_reader :livemode
1536
+ # Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
1537
+ sig { returns(T::Hash[String, String]) }
1538
+ attr_reader :metadata
1539
+ # String representing the object's type. Objects of the same type share the same value.
1540
+ sig { returns(String) }
1541
+ attr_reader :object
1542
+ # The account (if any) the charge was made on behalf of without triggering an automatic transfer. See the [Connect documentation](https://stripe.com/docs/connect/separate-charges-and-transfers) for details.
1543
+ sig { returns(T.nilable(T.any(String, Stripe::Account))) }
1544
+ attr_reader :on_behalf_of
1545
+ # Details about whether the payment was accepted, and why. See [understanding declines](https://stripe.com/docs/declines) for details.
1546
+ sig { returns(T.nilable(Outcome)) }
1547
+ attr_reader :outcome
1548
+ # `true` if the charge succeeded, or was successfully authorized for later capture.
1549
+ sig { returns(T::Boolean) }
1550
+ attr_reader :paid
1551
+ # ID of the PaymentIntent associated with this charge, if one exists.
1552
+ sig { returns(T.nilable(T.any(String, Stripe::PaymentIntent))) }
1553
+ attr_reader :payment_intent
1554
+ # ID of the payment method used in this charge.
1555
+ sig { returns(T.nilable(String)) }
1556
+ attr_reader :payment_method
1557
+ # Details about the payment method at the time of the transaction.
1558
+ sig { returns(T.nilable(PaymentMethodDetails)) }
1559
+ attr_reader :payment_method_details
1560
+ # Attribute for field presentment_details
1561
+ sig { returns(PresentmentDetails) }
1562
+ attr_reader :presentment_details
1563
+ # Options to configure Radar. See [Radar Session](https://stripe.com/docs/radar/radar-session) for more information.
1564
+ sig { returns(RadarOptions) }
1565
+ attr_reader :radar_options
1566
+ # This is the email address that the receipt for this charge was sent to.
1567
+ sig { returns(T.nilable(String)) }
1568
+ attr_reader :receipt_email
1569
+ # This is the transaction number that appears on email receipts sent for this charge. This attribute will be `null` until a receipt has been sent.
1570
+ sig { returns(T.nilable(String)) }
1571
+ attr_reader :receipt_number
1572
+ # This is the URL to view the receipt for this charge. The receipt is kept up-to-date to the latest state of the charge, including any refunds. If the charge is for an Invoice, the receipt will be stylized as an Invoice receipt.
1573
+ sig { returns(T.nilable(String)) }
1574
+ attr_reader :receipt_url
1575
+ # Whether the charge has been fully refunded. If the charge is only partially refunded, this attribute will still be false.
1576
+ sig { returns(T::Boolean) }
1577
+ attr_reader :refunded
1578
+ # A list of refunds that have been applied to the charge.
1579
+ sig { returns(T.nilable(Stripe::ListObject)) }
1580
+ attr_reader :refunds
1581
+ # ID of the review associated with this charge if one exists.
1582
+ sig { returns(T.nilable(T.any(String, Stripe::Review))) }
1583
+ attr_reader :review
1584
+ # Shipping information for the charge.
1585
+ sig { returns(T.nilable(Shipping)) }
1586
+ attr_reader :shipping
1587
+ # This is a legacy field that will be removed in the future. It contains the Source, Card, or BankAccount object used for the charge. For details about the payment method used for this charge, refer to `payment_method` or `payment_method_details` instead.
1588
+ sig {
1589
+ returns(T.nilable(T.any(Stripe::Account, Stripe::BankAccount, Stripe::Card, Stripe::Source)))
1590
+ }
1591
+ attr_reader :source
1592
+ # The transfer ID which created this charge. Only present if the charge came from another Stripe account. [See the Connect documentation](https://docs.stripe.com/connect/destination-charges) for details.
1593
+ sig { returns(T.nilable(T.any(String, Stripe::Transfer))) }
1594
+ attr_reader :source_transfer
1595
+ # For a non-card charge, text that appears on the customer's statement as the statement descriptor. This value overrides the account's default statement descriptor. For information about requirements, including the 22-character limit, see [the Statement Descriptor docs](https://docs.stripe.com/get-started/account/statement-descriptors).
1596
+ #
1597
+ # For a card charge, this value is ignored unless you don't specify a `statement_descriptor_suffix`, in which case this value is used as the suffix.
1598
+ sig { returns(T.nilable(String)) }
1599
+ attr_reader :statement_descriptor
1600
+ # Provides information about a card charge. Concatenated to the account's [statement descriptor prefix](https://docs.stripe.com/get-started/account/statement-descriptors#static) to form the complete statement descriptor that appears on the customer's statement. If the account has no prefix value, the suffix is concatenated to the account's statement descriptor.
1601
+ sig { returns(T.nilable(String)) }
1602
+ attr_reader :statement_descriptor_suffix
1603
+ # The status of the payment is either `succeeded`, `pending`, or `failed`.
1604
+ sig { returns(String) }
1605
+ attr_reader :status
1606
+ # ID of the transfer to the `destination` account (only applicable if the charge was created using the `destination` parameter).
1607
+ sig { returns(T.any(String, Stripe::Transfer)) }
1608
+ attr_reader :transfer
1609
+ # An optional dictionary including the account to automatically transfer to as part of a destination charge. [See the Connect documentation](https://stripe.com/docs/connect/destination-charges) for details.
1610
+ sig { returns(T.nilable(TransferData)) }
1611
+ attr_reader :transfer_data
1612
+ # A string that identifies this transaction as part of a group. See the [Connect documentation](https://stripe.com/docs/connect/separate-charges-and-transfers#transfer-options) for details.
1613
+ sig { returns(T.nilable(String)) }
1614
+ attr_reader :transfer_group
1615
+ class ListParams < Stripe::RequestParams
1616
+ class Created < Stripe::RequestParams
1617
+ # Minimum value to filter by (exclusive)
1618
+ sig { returns(T.nilable(Integer)) }
1619
+ attr_accessor :gt
1620
+ # Minimum value to filter by (inclusive)
1621
+ sig { returns(T.nilable(Integer)) }
1622
+ attr_accessor :gte
1623
+ # Maximum value to filter by (exclusive)
1624
+ sig { returns(T.nilable(Integer)) }
1625
+ attr_accessor :lt
1626
+ # Maximum value to filter by (inclusive)
1627
+ sig { returns(T.nilable(Integer)) }
1628
+ attr_accessor :lte
1629
+ sig {
1630
+ params(gt: T.nilable(Integer), gte: T.nilable(Integer), lt: T.nilable(Integer), lte: T.nilable(Integer)).void
1631
+ }
1632
+ def initialize(gt: nil, gte: nil, lt: nil, lte: nil); end
1633
+ end
1634
+ # Only return charges that were created during the given date interval.
1635
+ sig { returns(T.nilable(T.any(::Stripe::Charge::ListParams::Created, Integer))) }
1636
+ attr_accessor :created
1637
+ # Only return charges for the customer specified by this customer ID.
1638
+ sig { returns(T.nilable(String)) }
1639
+ attr_accessor :customer
1640
+ # A cursor for use in pagination. `ending_before` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, starting with `obj_bar`, your subsequent call can include `ending_before=obj_bar` in order to fetch the previous page of the list.
1641
+ sig { returns(T.nilable(String)) }
1642
+ attr_accessor :ending_before
1643
+ # Specifies which fields in the response should be expanded.
1644
+ sig { returns(T.nilable(T::Array[String])) }
1645
+ attr_accessor :expand
1646
+ # A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
1647
+ sig { returns(T.nilable(Integer)) }
1648
+ attr_accessor :limit
1649
+ # Only return charges that were created by the PaymentIntent specified by this PaymentIntent ID.
1650
+ sig { returns(T.nilable(String)) }
1651
+ attr_accessor :payment_intent
1652
+ # A cursor for use in pagination. `starting_after` is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with `obj_foo`, your subsequent call can include `starting_after=obj_foo` in order to fetch the next page of the list.
1653
+ sig { returns(T.nilable(String)) }
1654
+ attr_accessor :starting_after
1655
+ # Only return charges for this transfer group, limited to 100.
1656
+ sig { returns(T.nilable(String)) }
1657
+ attr_accessor :transfer_group
1658
+ sig {
1659
+ params(created: T.nilable(T.any(::Stripe::Charge::ListParams::Created, Integer)), customer: T.nilable(String), ending_before: T.nilable(String), expand: T.nilable(T::Array[String]), limit: T.nilable(Integer), payment_intent: T.nilable(String), starting_after: T.nilable(String), transfer_group: T.nilable(String)).void
1660
+ }
1661
+ def initialize(
1662
+ created: nil,
1663
+ customer: nil,
1664
+ ending_before: nil,
1665
+ expand: nil,
1666
+ limit: nil,
1667
+ payment_intent: nil,
1668
+ starting_after: nil,
1669
+ transfer_group: nil
1670
+ ); end
1671
+ end
1672
+ class CreateParams < Stripe::RequestParams
1673
+ class Destination < Stripe::RequestParams
1674
+ # ID of an existing, connected Stripe account.
1675
+ sig { returns(String) }
1676
+ attr_accessor :account
1677
+ # The amount to transfer to the destination account without creating an `Application Fee` object. Cannot be combined with the `application_fee` parameter. Must be less than or equal to the charge amount.
1678
+ sig { returns(T.nilable(Integer)) }
1679
+ attr_accessor :amount
1680
+ sig { params(account: String, amount: T.nilable(Integer)).void }
1681
+ def initialize(account: nil, amount: nil); end
1682
+ end
1683
+ class RadarOptions < Stripe::RequestParams
1684
+ # 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.
1685
+ sig { returns(T.nilable(String)) }
1686
+ attr_accessor :session
1687
+ sig { params(session: T.nilable(String)).void }
1688
+ def initialize(session: nil); end
1689
+ end
1690
+ class Shipping < Stripe::RequestParams
1691
+ class Address < Stripe::RequestParams
1692
+ # City, district, suburb, town, or village.
1693
+ sig { returns(T.nilable(String)) }
1694
+ attr_accessor :city
1695
+ # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
1696
+ sig { returns(T.nilable(String)) }
1697
+ attr_accessor :country
1698
+ # Address line 1 (e.g., street, PO Box, or company name).
1699
+ sig { returns(T.nilable(String)) }
1700
+ attr_accessor :line1
1701
+ # Address line 2 (e.g., apartment, suite, unit, or building).
1702
+ sig { returns(T.nilable(String)) }
1703
+ attr_accessor :line2
1704
+ # ZIP or postal code.
1705
+ sig { returns(T.nilable(String)) }
1706
+ attr_accessor :postal_code
1707
+ # State, county, province, or region.
1708
+ sig { returns(T.nilable(String)) }
1709
+ attr_accessor :state
1710
+ sig {
1711
+ params(city: T.nilable(String), country: T.nilable(String), line1: T.nilable(String), line2: T.nilable(String), postal_code: T.nilable(String), state: T.nilable(String)).void
1712
+ }
1713
+ def initialize(
1714
+ city: nil,
1715
+ country: nil,
1716
+ line1: nil,
1717
+ line2: nil,
1718
+ postal_code: nil,
1719
+ state: nil
1720
+ ); end
1721
+ end
1722
+ # Shipping address.
1723
+ sig { returns(::Stripe::Charge::CreateParams::Shipping::Address) }
1724
+ attr_accessor :address
1725
+ # The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc.
1726
+ sig { returns(T.nilable(String)) }
1727
+ attr_accessor :carrier
1728
+ # Recipient name.
1729
+ sig { returns(String) }
1730
+ attr_accessor :name
1731
+ # Recipient phone (including extension).
1732
+ sig { returns(T.nilable(String)) }
1733
+ attr_accessor :phone
1734
+ # The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas.
1735
+ sig { returns(T.nilable(String)) }
1736
+ attr_accessor :tracking_number
1737
+ sig {
1738
+ params(address: ::Stripe::Charge::CreateParams::Shipping::Address, carrier: T.nilable(String), name: String, phone: T.nilable(String), tracking_number: T.nilable(String)).void
1739
+ }
1740
+ def initialize(address: nil, carrier: nil, name: nil, phone: nil, tracking_number: nil); end
1741
+ end
1742
+ class TransferData < Stripe::RequestParams
1743
+ # The amount transferred to the destination account, if specified. By default, the entire charge amount is transferred to the destination account.
1744
+ sig { returns(T.nilable(Integer)) }
1745
+ attr_accessor :amount
1746
+ # ID of an existing, connected Stripe account.
1747
+ sig { returns(String) }
1748
+ attr_accessor :destination
1749
+ sig { params(amount: T.nilable(Integer), destination: String).void }
1750
+ def initialize(amount: nil, destination: nil); end
1751
+ end
1752
+ # Amount intended to be collected by this payment. A positive integer representing how much to charge in the [smallest currency unit](https://stripe.com/docs/currencies#zero-decimal) (e.g., 100 cents to charge $1.00 or 100 to charge ¥100, a zero-decimal currency). The minimum amount is $0.50 US or [equivalent in charge currency](https://stripe.com/docs/currencies#minimum-and-maximum-charge-amounts). The amount value supports up to eight digits (e.g., a value of 99999999 for a USD charge of $999,999.99).
1753
+ sig { returns(T.nilable(Integer)) }
1754
+ attr_accessor :amount
1755
+ # Attribute for param field application_fee
1756
+ sig { returns(T.nilable(Integer)) }
1757
+ attr_accessor :application_fee
1758
+ # A fee in cents (or local equivalent) that will be applied to the charge and transferred to the application owner's Stripe account. The request must be made with an OAuth key or the `Stripe-Account` header in order to take an application fee. For more information, see the application fees [documentation](https://stripe.com/docs/connect/direct-charges#collect-fees).
1759
+ sig { returns(T.nilable(Integer)) }
1760
+ attr_accessor :application_fee_amount
1761
+ # Whether to immediately capture the charge. Defaults to `true`. When `false`, the charge issues an authorization (or pre-authorization), and will need to be [captured](https://stripe.com/docs/api#capture_charge) later. Uncaptured charges expire after a set number of days (7 by default). For more information, see the [authorizing charges and settling later](https://stripe.com/docs/charges/placing-a-hold) documentation.
1762
+ sig { returns(T.nilable(T::Boolean)) }
1763
+ attr_accessor :capture
1764
+ # Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
1765
+ sig { returns(T.nilable(String)) }
1766
+ attr_accessor :currency
1767
+ # The ID of an existing customer that will be charged in this request.
1768
+ sig { returns(T.nilable(String)) }
1769
+ attr_accessor :customer
1770
+ # An arbitrary string which you can attach to a `Charge` object. It is displayed when in the web interface alongside the charge. Note that if you use Stripe to send automatic email receipts to your customers, your receipt emails will include the `description` of the charge(s) that they are describing.
1771
+ sig { returns(T.nilable(String)) }
1772
+ attr_accessor :description
1773
+ # Attribute for param field destination
1774
+ sig { returns(T.nilable(::Stripe::Charge::CreateParams::Destination)) }
1775
+ attr_accessor :destination
1776
+ # Specifies which fields in the response should be expanded.
1777
+ sig { returns(T.nilable(T::Array[String])) }
1778
+ attr_accessor :expand
1779
+ # Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
1780
+ sig { returns(T.nilable(T.nilable(T.any(String, T::Hash[String, String])))) }
1781
+ attr_accessor :metadata
1782
+ # The Stripe account ID for which these funds are intended. Automatically set if you use the `destination` parameter. For details, see [Creating Separate Charges and Transfers](https://stripe.com/docs/connect/separate-charges-and-transfers#settlement-merchant).
1783
+ sig { returns(T.nilable(String)) }
1784
+ attr_accessor :on_behalf_of
1785
+ # Options to configure Radar. See [Radar Session](https://stripe.com/docs/radar/radar-session) for more information.
1786
+ sig { returns(T.nilable(::Stripe::Charge::CreateParams::RadarOptions)) }
1787
+ attr_accessor :radar_options
1788
+ # The email address to which this charge's [receipt](https://stripe.com/docs/dashboard/receipts) will be sent. The receipt will not be sent until the charge is paid, and no receipts will be sent for test mode charges. If this charge is for a [Customer](https://stripe.com/docs/api/customers/object), the email address specified here will override the customer's email address. If `receipt_email` is specified for a charge in live mode, a receipt will be sent regardless of your [email settings](https://dashboard.stripe.com/account/emails).
1789
+ sig { returns(T.nilable(String)) }
1790
+ attr_accessor :receipt_email
1791
+ # Shipping information for the charge. Helps prevent fraud on charges for physical goods.
1792
+ sig { returns(T.nilable(::Stripe::Charge::CreateParams::Shipping)) }
1793
+ attr_accessor :shipping
1794
+ # A payment source to be charged. This can be the ID of a [card](https://stripe.com/docs/api#cards) (i.e., credit or debit card), a [bank account](https://stripe.com/docs/api#bank_accounts), a [source](https://stripe.com/docs/api#sources), a [token](https://stripe.com/docs/api#tokens), or a [connected account](https://stripe.com/docs/connect/account-debits#charging-a-connected-account). For certain sources---namely, [cards](https://stripe.com/docs/api#cards), [bank accounts](https://stripe.com/docs/api#bank_accounts), and attached [sources](https://stripe.com/docs/api#sources)---you must also pass the ID of the associated customer.
1795
+ sig { returns(T.nilable(String)) }
1796
+ attr_accessor :source
1797
+ # For a non-card charge, text that appears on the customer's statement as the statement descriptor. This value overrides the account's default statement descriptor. For information about requirements, including the 22-character limit, see [the Statement Descriptor docs](https://docs.stripe.com/get-started/account/statement-descriptors).
1798
+ #
1799
+ # For a card charge, this value is ignored unless you don't specify a `statement_descriptor_suffix`, in which case this value is used as the suffix.
1800
+ sig { returns(T.nilable(String)) }
1801
+ attr_accessor :statement_descriptor
1802
+ # Provides information about a card charge. Concatenated to the account's [statement descriptor prefix](https://docs.stripe.com/get-started/account/statement-descriptors#static) to form the complete statement descriptor that appears on the customer's statement. If the account has no prefix value, the suffix is concatenated to the account's statement descriptor.
1803
+ sig { returns(T.nilable(String)) }
1804
+ attr_accessor :statement_descriptor_suffix
1805
+ # An optional dictionary including the account to automatically transfer to as part of a destination charge. [See the Connect documentation](https://stripe.com/docs/connect/destination-charges) for details.
1806
+ sig { returns(T.nilable(::Stripe::Charge::CreateParams::TransferData)) }
1807
+ attr_accessor :transfer_data
1808
+ # A string that identifies this transaction as part of a group. For details, see [Grouping transactions](https://stripe.com/docs/connect/separate-charges-and-transfers#transfer-options).
1809
+ sig { returns(T.nilable(String)) }
1810
+ attr_accessor :transfer_group
1811
+ sig {
1812
+ params(amount: T.nilable(Integer), application_fee: T.nilable(Integer), application_fee_amount: T.nilable(Integer), capture: T.nilable(T::Boolean), currency: T.nilable(String), customer: T.nilable(String), description: T.nilable(String), destination: T.nilable(::Stripe::Charge::CreateParams::Destination), expand: T.nilable(T::Array[String]), metadata: T.nilable(T.nilable(T.any(String, T::Hash[String, String]))), on_behalf_of: T.nilable(String), radar_options: T.nilable(::Stripe::Charge::CreateParams::RadarOptions), receipt_email: T.nilable(String), shipping: T.nilable(::Stripe::Charge::CreateParams::Shipping), source: T.nilable(String), statement_descriptor: T.nilable(String), statement_descriptor_suffix: T.nilable(String), transfer_data: T.nilable(::Stripe::Charge::CreateParams::TransferData), transfer_group: T.nilable(String)).void
1813
+ }
1814
+ def initialize(
1815
+ amount: nil,
1816
+ application_fee: nil,
1817
+ application_fee_amount: nil,
1818
+ capture: nil,
1819
+ currency: nil,
1820
+ customer: nil,
1821
+ description: nil,
1822
+ destination: nil,
1823
+ expand: nil,
1824
+ metadata: nil,
1825
+ on_behalf_of: nil,
1826
+ radar_options: nil,
1827
+ receipt_email: nil,
1828
+ shipping: nil,
1829
+ source: nil,
1830
+ statement_descriptor: nil,
1831
+ statement_descriptor_suffix: nil,
1832
+ transfer_data: nil,
1833
+ transfer_group: nil
1834
+ ); end
1835
+ end
1836
+ class UpdateParams < Stripe::RequestParams
1837
+ class FraudDetails < Stripe::RequestParams
1838
+ # Either `safe` or `fraudulent`.
1839
+ sig { returns(T.nilable(T.any(String, String))) }
1840
+ attr_accessor :user_report
1841
+ sig { params(user_report: T.nilable(T.any(String, String))).void }
1842
+ def initialize(user_report: nil); end
1843
+ end
1844
+ class Shipping < Stripe::RequestParams
1845
+ class Address < Stripe::RequestParams
1846
+ # City, district, suburb, town, or village.
1847
+ sig { returns(T.nilable(String)) }
1848
+ attr_accessor :city
1849
+ # Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)).
1850
+ sig { returns(T.nilable(String)) }
1851
+ attr_accessor :country
1852
+ # Address line 1 (e.g., street, PO Box, or company name).
1853
+ sig { returns(T.nilable(String)) }
1854
+ attr_accessor :line1
1855
+ # Address line 2 (e.g., apartment, suite, unit, or building).
1856
+ sig { returns(T.nilable(String)) }
1857
+ attr_accessor :line2
1858
+ # ZIP or postal code.
1859
+ sig { returns(T.nilable(String)) }
1860
+ attr_accessor :postal_code
1861
+ # State, county, province, or region.
1862
+ sig { returns(T.nilable(String)) }
1863
+ attr_accessor :state
1864
+ sig {
1865
+ params(city: T.nilable(String), country: T.nilable(String), line1: T.nilable(String), line2: T.nilable(String), postal_code: T.nilable(String), state: T.nilable(String)).void
1866
+ }
1867
+ def initialize(
1868
+ city: nil,
1869
+ country: nil,
1870
+ line1: nil,
1871
+ line2: nil,
1872
+ postal_code: nil,
1873
+ state: nil
1874
+ ); end
1875
+ end
1876
+ # Shipping address.
1877
+ sig { returns(::Stripe::Charge::UpdateParams::Shipping::Address) }
1878
+ attr_accessor :address
1879
+ # The delivery service that shipped a physical product, such as Fedex, UPS, USPS, etc.
1880
+ sig { returns(T.nilable(String)) }
1881
+ attr_accessor :carrier
1882
+ # Recipient name.
1883
+ sig { returns(String) }
1884
+ attr_accessor :name
1885
+ # Recipient phone (including extension).
1886
+ sig { returns(T.nilable(String)) }
1887
+ attr_accessor :phone
1888
+ # The tracking number for a physical product, obtained from the delivery service. If multiple tracking numbers were generated for this purchase, please separate them with commas.
1889
+ sig { returns(T.nilable(String)) }
1890
+ attr_accessor :tracking_number
1891
+ sig {
1892
+ params(address: ::Stripe::Charge::UpdateParams::Shipping::Address, carrier: T.nilable(String), name: String, phone: T.nilable(String), tracking_number: T.nilable(String)).void
1893
+ }
1894
+ def initialize(address: nil, carrier: nil, name: nil, phone: nil, tracking_number: nil); end
1895
+ end
1896
+ # The ID of an existing customer that will be associated with this request. This field may only be updated if there is no existing associated customer with this charge.
1897
+ sig { returns(T.nilable(String)) }
1898
+ attr_accessor :customer
1899
+ # An arbitrary string which you can attach to a charge object. It is displayed when in the web interface alongside the charge. Note that if you use Stripe to send automatic email receipts to your customers, your receipt emails will include the `description` of the charge(s) that they are describing.
1900
+ sig { returns(T.nilable(String)) }
1901
+ attr_accessor :description
1902
+ # Specifies which fields in the response should be expanded.
1903
+ sig { returns(T.nilable(T::Array[String])) }
1904
+ attr_accessor :expand
1905
+ # A set of key-value pairs you can attach to a charge giving information about its riskiness. If you believe a charge is fraudulent, include a `user_report` key with a value of `fraudulent`. If you believe a charge is safe, include a `user_report` key with a value of `safe`. Stripe will use the information you send to improve our fraud detection algorithms.
1906
+ sig { returns(T.nilable(::Stripe::Charge::UpdateParams::FraudDetails)) }
1907
+ attr_accessor :fraud_details
1908
+ # Set of [key-value pairs](https://stripe.com/docs/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`.
1909
+ sig { returns(T.nilable(T.nilable(T.any(String, T::Hash[String, String])))) }
1910
+ attr_accessor :metadata
1911
+ # This is the email address that the receipt for this charge will be sent to. If this field is updated, then a new email receipt will be sent to the updated address.
1912
+ sig { returns(T.nilable(String)) }
1913
+ attr_accessor :receipt_email
1914
+ # Shipping information for the charge. Helps prevent fraud on charges for physical goods.
1915
+ sig { returns(T.nilable(::Stripe::Charge::UpdateParams::Shipping)) }
1916
+ attr_accessor :shipping
1917
+ # A string that identifies this transaction as part of a group. `transfer_group` may only be provided if it has not been set. See the [Connect documentation](https://stripe.com/docs/connect/separate-charges-and-transfers#transfer-options) for details.
1918
+ sig { returns(T.nilable(String)) }
1919
+ attr_accessor :transfer_group
1920
+ sig {
1921
+ params(customer: T.nilable(String), description: T.nilable(String), expand: T.nilable(T::Array[String]), fraud_details: T.nilable(::Stripe::Charge::UpdateParams::FraudDetails), metadata: T.nilable(T.nilable(T.any(String, T::Hash[String, String]))), receipt_email: T.nilable(String), shipping: T.nilable(::Stripe::Charge::UpdateParams::Shipping), transfer_group: T.nilable(String)).void
1922
+ }
1923
+ def initialize(
1924
+ customer: nil,
1925
+ description: nil,
1926
+ expand: nil,
1927
+ fraud_details: nil,
1928
+ metadata: nil,
1929
+ receipt_email: nil,
1930
+ shipping: nil,
1931
+ transfer_group: nil
1932
+ ); end
1933
+ end
1934
+ class SearchParams < Stripe::RequestParams
1935
+ # Specifies which fields in the response should be expanded.
1936
+ sig { returns(T.nilable(T::Array[String])) }
1937
+ attr_accessor :expand
1938
+ # A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
1939
+ sig { returns(T.nilable(Integer)) }
1940
+ attr_accessor :limit
1941
+ # A cursor for pagination across multiple pages of results. Don't include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results.
1942
+ sig { returns(T.nilable(String)) }
1943
+ attr_accessor :page
1944
+ # The search query string. See [search query language](https://stripe.com/docs/search#search-query-language) and the list of supported [query fields for charges](https://stripe.com/docs/search#query-fields-for-charges).
1945
+ sig { returns(String) }
1946
+ attr_accessor :query
1947
+ sig {
1948
+ params(expand: T.nilable(T::Array[String]), limit: T.nilable(Integer), page: T.nilable(String), query: String).void
1949
+ }
1950
+ def initialize(expand: nil, limit: nil, page: nil, query: nil); end
1951
+ end
1952
+ class CaptureParams < Stripe::RequestParams
1953
+ class TransferData < Stripe::RequestParams
1954
+ # The amount transferred to the destination account, if specified. By default, the entire charge amount is transferred to the destination account.
1955
+ sig { returns(T.nilable(Integer)) }
1956
+ attr_accessor :amount
1957
+ sig { params(amount: T.nilable(Integer)).void }
1958
+ def initialize(amount: nil); end
1959
+ end
1960
+ # The amount to capture, which must be less than or equal to the original amount.
1961
+ sig { returns(T.nilable(Integer)) }
1962
+ attr_accessor :amount
1963
+ # An application fee to add on to this charge.
1964
+ sig { returns(T.nilable(Integer)) }
1965
+ attr_accessor :application_fee
1966
+ # An application fee amount to add on to this charge, which must be less than or equal to the original amount.
1967
+ sig { returns(T.nilable(Integer)) }
1968
+ attr_accessor :application_fee_amount
1969
+ # Specifies which fields in the response should be expanded.
1970
+ sig { returns(T.nilable(T::Array[String])) }
1971
+ attr_accessor :expand
1972
+ # The email address to send this charge's receipt to. This will override the previously-specified email address for this charge, if one was set. Receipts will not be sent in test mode.
1973
+ sig { returns(T.nilable(String)) }
1974
+ attr_accessor :receipt_email
1975
+ # For a non-card charge, text that appears on the customer's statement as the statement descriptor. This value overrides the account's default statement descriptor. For information about requirements, including the 22-character limit, see [the Statement Descriptor docs](https://docs.stripe.com/get-started/account/statement-descriptors).
1976
+ #
1977
+ # For a card charge, this value is ignored unless you don't specify a `statement_descriptor_suffix`, in which case this value is used as the suffix.
1978
+ sig { returns(T.nilable(String)) }
1979
+ attr_accessor :statement_descriptor
1980
+ # Provides information about a card charge. Concatenated to the account's [statement descriptor prefix](https://docs.stripe.com/get-started/account/statement-descriptors#static) to form the complete statement descriptor that appears on the customer's statement. If the account has no prefix value, the suffix is concatenated to the account's statement descriptor.
1981
+ sig { returns(T.nilable(String)) }
1982
+ attr_accessor :statement_descriptor_suffix
1983
+ # An optional dictionary including the account to automatically transfer to as part of a destination charge. [See the Connect documentation](https://stripe.com/docs/connect/destination-charges) for details.
1984
+ sig { returns(T.nilable(::Stripe::Charge::CaptureParams::TransferData)) }
1985
+ attr_accessor :transfer_data
1986
+ # A string that identifies this transaction as part of a group. `transfer_group` may only be provided if it has not been set. See the [Connect documentation](https://stripe.com/docs/connect/separate-charges-and-transfers#transfer-options) for details.
1987
+ sig { returns(T.nilable(String)) }
1988
+ attr_accessor :transfer_group
1989
+ sig {
1990
+ params(amount: T.nilable(Integer), application_fee: T.nilable(Integer), application_fee_amount: T.nilable(Integer), expand: T.nilable(T::Array[String]), receipt_email: T.nilable(String), statement_descriptor: T.nilable(String), statement_descriptor_suffix: T.nilable(String), transfer_data: T.nilable(::Stripe::Charge::CaptureParams::TransferData), transfer_group: T.nilable(String)).void
1991
+ }
1992
+ def initialize(
1993
+ amount: nil,
1994
+ application_fee: nil,
1995
+ application_fee_amount: nil,
1996
+ expand: nil,
1997
+ receipt_email: nil,
1998
+ statement_descriptor: nil,
1999
+ statement_descriptor_suffix: nil,
2000
+ transfer_data: nil,
2001
+ transfer_group: nil
2002
+ ); end
2003
+ end
2004
+ # Capture the payment of an existing, uncaptured charge that was created with the capture option set to false.
2005
+ #
2006
+ # Uncaptured payments expire a set number of days after they are created ([7 by default](https://stripe.com/docs/charges/placing-a-hold)), after which they are marked as refunded and capture attempts will fail.
2007
+ #
2008
+ # Don't use this method to capture a PaymentIntent-initiated charge. Use [Capture a PaymentIntent](https://stripe.com/docs/api/payment_intents/capture).
2009
+ sig {
2010
+ params(params: T.any(::Stripe::Charge::CaptureParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::Charge)
2011
+ }
2012
+ def capture(params = {}, opts = {}); end
2013
+
2014
+ # Capture the payment of an existing, uncaptured charge that was created with the capture option set to false.
2015
+ #
2016
+ # Uncaptured payments expire a set number of days after they are created ([7 by default](https://stripe.com/docs/charges/placing-a-hold)), after which they are marked as refunded and capture attempts will fail.
2017
+ #
2018
+ # Don't use this method to capture a PaymentIntent-initiated charge. Use [Capture a PaymentIntent](https://stripe.com/docs/api/payment_intents/capture).
2019
+ sig {
2020
+ params(charge: String, params: T.any(::Stripe::Charge::CaptureParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::Charge)
2021
+ }
2022
+ def self.capture(charge, params = {}, opts = {}); end
2023
+
2024
+ # This method is no longer recommended—use the [Payment Intents API](https://stripe.com/docs/api/payment_intents)
2025
+ # to initiate a new payment instead. Confirmation of the PaymentIntent creates the Charge
2026
+ # object used to request payment.
2027
+ sig {
2028
+ params(params: T.any(::Stripe::Charge::CreateParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::Charge)
2029
+ }
2030
+ def self.create(params = {}, opts = {}); end
2031
+
2032
+ # Returns a list of charges you've previously created. The charges are returned in sorted order, with the most recent charges appearing first.
2033
+ sig {
2034
+ params(params: T.any(::Stripe::Charge::ListParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::ListObject)
2035
+ }
2036
+ def self.list(params = {}, opts = {}); end
2037
+
2038
+ sig {
2039
+ params(params: T.any(::Stripe::Charge::SearchParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::SearchResultObject)
2040
+ }
2041
+ def self.search(params = {}, opts = {}); end
2042
+
2043
+ sig {
2044
+ params(params: T.any(::Stripe::Charge::SearchParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped, blk: T.untyped).returns(Stripe::SearchResultObject)
2045
+ }
2046
+ def self.search_auto_paging_each(params = {}, opts = {}, &blk); end
2047
+
2048
+ # Updates the specified charge by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
2049
+ sig {
2050
+ params(charge: String, params: T.any(::Stripe::Charge::UpdateParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::Charge)
2051
+ }
2052
+ def self.update(charge, params = {}, opts = {}); end
2053
+ end
2054
+ end