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