stripe 19.1.0 → 19.2.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 (102) hide show
  1. checksums.yaml +4 -4
  2. data/lib/stripe/api_requestor.rb +3 -0
  3. data/lib/stripe/api_version.rb +1 -1
  4. data/lib/stripe/event_types.rb +16 -0
  5. data/lib/stripe/events/v2_commerce_product_catalog_imports_failed_event.rb +44 -0
  6. data/lib/stripe/events/v2_commerce_product_catalog_imports_processing_event.rb +44 -0
  7. data/lib/stripe/events/v2_commerce_product_catalog_imports_succeeded_event.rb +44 -0
  8. data/lib/stripe/events/v2_commerce_product_catalog_imports_succeeded_with_errors_event.rb +44 -0
  9. data/lib/stripe/object_types.rb +1 -0
  10. data/lib/stripe/params/account_create_params.rb +26 -0
  11. data/lib/stripe/params/account_update_params.rb +26 -0
  12. data/lib/stripe/params/balance_settings_update_params.rb +42 -2
  13. data/lib/stripe/params/charge_create_params.rb +4 -1
  14. data/lib/stripe/params/checkout/session_create_params.rb +28 -15
  15. data/lib/stripe/params/confirmation_token_create_params.rb +11 -1
  16. data/lib/stripe/params/invoice_create_preview_params.rb +60 -0
  17. data/lib/stripe/params/payment_intent_capture_params.rb +2 -2
  18. data/lib/stripe/params/payment_intent_confirm_params.rb +38 -5
  19. data/lib/stripe/params/payment_intent_create_params.rb +65 -6
  20. data/lib/stripe/params/payment_intent_increment_authorization_params.rb +2 -2
  21. data/lib/stripe/params/payment_intent_update_params.rb +58 -5
  22. data/lib/stripe/params/payment_link_create_params.rb +30 -1
  23. data/lib/stripe/params/payment_link_update_params.rb +29 -0
  24. data/lib/stripe/params/payment_method_configuration_create_params.rb +43 -1
  25. data/lib/stripe/params/payment_method_configuration_list_params.rb +4 -0
  26. data/lib/stripe/params/payment_method_configuration_update_params.rb +43 -1
  27. data/lib/stripe/params/payment_method_create_params.rb +11 -1
  28. data/lib/stripe/params/payout_create_params.rb +1 -1
  29. data/lib/stripe/params/setup_intent_confirm_params.rb +18 -2
  30. data/lib/stripe/params/setup_intent_create_params.rb +18 -2
  31. data/lib/stripe/params/setup_intent_update_params.rb +18 -2
  32. data/lib/stripe/params/subscription_create_params.rb +61 -11
  33. data/lib/stripe/params/subscription_item_create_params.rb +1 -7
  34. data/lib/stripe/params/subscription_item_delete_params.rb +1 -7
  35. data/lib/stripe/params/subscription_item_update_params.rb +1 -7
  36. data/lib/stripe/params/subscription_schedule_create_params.rb +4 -0
  37. data/lib/stripe/params/subscription_schedule_update_params.rb +4 -0
  38. data/lib/stripe/params/subscription_update_params.rb +62 -8
  39. data/lib/stripe/params/terminal/configuration_create_params.rb +52 -0
  40. data/lib/stripe/params/terminal/configuration_update_params.rb +52 -0
  41. data/lib/stripe/params/test_helpers/confirmation_token_create_params.rb +11 -1
  42. data/lib/stripe/params/test_helpers/test_clock_create_params.rb +4 -1
  43. data/lib/stripe/params/v2/billing/meter_event_adjustment_create_params.rb +2 -2
  44. data/lib/stripe/params/v2/commerce/product_catalog/import_create_params.rb +25 -0
  45. data/lib/stripe/params/v2/commerce/product_catalog/import_list_params.rb +54 -0
  46. data/lib/stripe/params/v2/commerce/product_catalog/import_retrieve_params.rb +12 -0
  47. data/lib/stripe/params/v2/core/account_create_params.rb +28 -6
  48. data/lib/stripe/params/v2/core/account_token_create_params.rb +27 -5
  49. data/lib/stripe/params/v2/core/account_update_params.rb +29 -7
  50. data/lib/stripe/params/v2/core/event_destination_create_params.rb +23 -0
  51. data/lib/stripe/params.rb +1342 -614
  52. data/lib/stripe/railtie.rb +8 -0
  53. data/lib/stripe/resources/account.rb +4 -0
  54. data/lib/stripe/resources/balance_settings.rb +42 -2
  55. data/lib/stripe/resources/charge.rb +35 -0
  56. data/lib/stripe/resources/checkout/session.rb +23 -7
  57. data/lib/stripe/resources/confirmation_token.rb +26 -0
  58. data/lib/stripe/resources/discount.rb +2 -2
  59. data/lib/stripe/resources/invoice.rb +2 -0
  60. data/lib/stripe/resources/invoice_item.rb +34 -1
  61. data/lib/stripe/resources/issuing/dispute.rb +1 -1
  62. data/lib/stripe/resources/issuing/personalization_design.rb +1 -1
  63. data/lib/stripe/resources/mandate.rb +13 -0
  64. data/lib/stripe/resources/payment_attempt_record.rb +40 -10
  65. data/lib/stripe/resources/payment_intent.rb +71 -5
  66. data/lib/stripe/resources/payment_link.rb +40 -0
  67. data/lib/stripe/resources/payment_method.rb +26 -0
  68. data/lib/stripe/resources/payment_method_configuration.rb +68 -0
  69. data/lib/stripe/resources/payment_record.rb +40 -10
  70. data/lib/stripe/resources/radar/payment_evaluation.rb +1 -1
  71. data/lib/stripe/resources/refund.rb +13 -0
  72. data/lib/stripe/resources/setup_attempt.rb +13 -0
  73. data/lib/stripe/resources/setup_intent.rb +26 -0
  74. data/lib/stripe/resources/subscription.rb +77 -4
  75. data/lib/stripe/resources/subscription_item.rb +2 -0
  76. data/lib/stripe/resources/subscription_schedule.rb +2 -0
  77. data/lib/stripe/resources/terminal/configuration.rb +64 -0
  78. data/lib/stripe/resources/terminal/reader.rb +116 -0
  79. data/lib/stripe/resources/v2/billing/meter_event_adjustment.rb +3 -3
  80. data/lib/stripe/resources/v2/billing/meter_event_session.rb +3 -3
  81. data/lib/stripe/resources/v2/commerce/product_catalog_import.rb +274 -0
  82. data/lib/stripe/resources/v2/core/account.rb +37 -10
  83. data/lib/stripe/resources/v2/core/account_token.rb +1 -1
  84. data/lib/stripe/resources/v2/core/event.rb +1 -0
  85. data/lib/stripe/resources/v2/core/event_destination.rb +24 -0
  86. data/lib/stripe/resources.rb +500 -178
  87. data/lib/stripe/services/payment_intent_service.rb +3 -1
  88. data/lib/stripe/services/subscription_service.rb +2 -2
  89. data/lib/stripe/services/v2/billing/meter_event_session_service.rb +1 -1
  90. data/lib/stripe/services/v2/commerce/product_catalog/import_service.rb +45 -0
  91. data/lib/stripe/services/v2/commerce/product_catalog_service.rb +17 -0
  92. data/lib/stripe/services/v2/commerce_service.rb +15 -0
  93. data/lib/stripe/services/v2/core/account_service.rb +1 -1
  94. data/lib/stripe/services/v2/core/account_token_service.rb +5 -1
  95. data/lib/stripe/services/v2/core/accounts/person_token_service.rb +2 -1
  96. data/lib/stripe/services/v2/core/event_service.rb +2 -1
  97. data/lib/stripe/services/v2_services.rb +2 -1
  98. data/lib/stripe/services.rb +469 -189
  99. data/lib/stripe/version.rb +1 -1
  100. data/lib/stripe.rb +25 -4
  101. data/rbi/stripe.rbi +2785 -253
  102. metadata +14 -2
@@ -133,9 +133,9 @@ module Stripe
133
133
  class Shipping < ::Stripe::RequestParams
134
134
  # If a physical good is being shipped, the cost of shipping represented in the [smallest currency unit](https://docs.stripe.com/currencies#zero-decimal). An integer greater than or equal to 0.
135
135
  attr_accessor :amount
136
- # If a physical good is being shipped, the postal code of where it is being shipped from. At most 10 alphanumeric characters long, hyphens are allowed.
136
+ # If a physical good is being shipped, the postal code of where it is being shipped from. At most 10 alphanumeric characters long, hyphens and spaces are allowed.
137
137
  attr_accessor :from_postal_code
138
- # If a physical good is being shipped, the postal code of where it is being shipped to. At most 10 alphanumeric characters long, hyphens are allowed.
138
+ # If a physical good is being shipped, the postal code of where it is being shipped to. At most 10 alphanumeric characters long, hyphens and spaces are allowed.
139
139
  attr_accessor :to_postal_code
140
140
 
141
141
  def initialize(amount: nil, from_postal_code: nil, to_postal_code: nil)
@@ -381,6 +381,7 @@ module Stripe
381
381
  end
382
382
  end
383
383
 
384
+ class Bizum < ::Stripe::RequestParams; end
384
385
  class Blik < ::Stripe::RequestParams; end
385
386
 
386
387
  class Boleto < ::Stripe::RequestParams
@@ -548,6 +549,7 @@ module Stripe
548
549
  class RevolutPay < ::Stripe::RequestParams; end
549
550
  class SamsungPay < ::Stripe::RequestParams; end
550
551
  class Satispay < ::Stripe::RequestParams; end
552
+ class Scalapay < ::Stripe::RequestParams; end
551
553
 
552
554
  class SepaDebit < ::Stripe::RequestParams
553
555
  # IBAN of the bank account.
@@ -650,6 +652,8 @@ module Stripe
650
652
  attr_accessor :billie
651
653
  # Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods.
652
654
  attr_accessor :billing_details
655
+ # If this is a `bizum` PaymentMethod, this hash contains details about the Bizum payment method.
656
+ attr_accessor :bizum
653
657
  # If this is a `blik` PaymentMethod, this hash contains details about the BLIK payment method.
654
658
  attr_accessor :blik
655
659
  # If this is a `boleto` PaymentMethod, this hash contains details about the Boleto payment method.
@@ -680,7 +684,7 @@ module Stripe
680
684
  attr_accessor :konbini
681
685
  # If this is a `kr_card` PaymentMethod, this hash contains details about the Korean Card payment method.
682
686
  attr_accessor :kr_card
683
- # If this is an `Link` PaymentMethod, this hash contains details about the Link payment method.
687
+ # If this is an `Link` PaymentMethod, this hash contains details about the Link payment method (Link is also known as Onelink in the UK).
684
688
  attr_accessor :link
685
689
  # If this is a MB WAY PaymentMethod, this hash contains details about the MB WAY payment method.
686
690
  attr_accessor :mb_way
@@ -720,6 +724,8 @@ module Stripe
720
724
  attr_accessor :samsung_pay
721
725
  # If this is a `satispay` PaymentMethod, this hash contains details about the Satispay payment method.
722
726
  attr_accessor :satispay
727
+ # If this is a Scalapay PaymentMethod, this hash contains details about the Scalapay payment method.
728
+ attr_accessor :scalapay
723
729
  # If this is a `sepa_debit` PaymentMethod, this hash contains details about the SEPA debit bank account.
724
730
  attr_accessor :sepa_debit
725
731
  # If this is a `sofort` PaymentMethod, this hash contains details about the SOFORT payment method.
@@ -754,6 +760,7 @@ module Stripe
754
760
  bancontact: nil,
755
761
  billie: nil,
756
762
  billing_details: nil,
763
+ bizum: nil,
757
764
  blik: nil,
758
765
  boleto: nil,
759
766
  cashapp: nil,
@@ -789,6 +796,7 @@ module Stripe
789
796
  revolut_pay: nil,
790
797
  samsung_pay: nil,
791
798
  satispay: nil,
799
+ scalapay: nil,
792
800
  sepa_debit: nil,
793
801
  sofort: nil,
794
802
  sunbit: nil,
@@ -812,6 +820,7 @@ module Stripe
812
820
  @bancontact = bancontact
813
821
  @billie = billie
814
822
  @billing_details = billing_details
823
+ @bizum = bizum
815
824
  @blik = blik
816
825
  @boleto = boleto
817
826
  @cashapp = cashapp
@@ -847,6 +856,7 @@ module Stripe
847
856
  @revolut_pay = revolut_pay
848
857
  @samsung_pay = samsung_pay
849
858
  @satispay = satispay
859
+ @scalapay = scalapay
850
860
  @sepa_debit = sepa_debit
851
861
  @sofort = sofort
852
862
  @sunbit = sunbit
@@ -1107,6 +1117,8 @@ module Stripe
1107
1117
  end
1108
1118
  end
1109
1119
 
1120
+ class Bizum < ::Stripe::RequestParams; end
1121
+
1110
1122
  class Blik < ::Stripe::RequestParams
1111
1123
  # The 6-digit BLIK code that a customer has generated using their banking application. Can only be set on confirmation.
1112
1124
  attr_accessor :code
@@ -2194,6 +2206,19 @@ module Stripe
2194
2206
  end
2195
2207
  end
2196
2208
 
2209
+ class Scalapay < ::Stripe::RequestParams
2210
+ # Controls when the funds are captured from the customer's account.
2211
+ #
2212
+ # If provided, this parameter overrides the behavior of the top-level [capture_method](/api/payment_intents/update#update_payment_intent-capture_method) for this payment method type when finalizing the payment with this payment method type.
2213
+ #
2214
+ # If `capture_method` is already set on the PaymentIntent, providing an empty value for this parameter unsets the stored value for this payment method type.
2215
+ attr_accessor :capture_method
2216
+
2217
+ def initialize(capture_method: nil)
2218
+ @capture_method = capture_method
2219
+ end
2220
+ end
2221
+
2197
2222
  class SepaDebit < ::Stripe::RequestParams
2198
2223
  class MandateOptions < ::Stripe::RequestParams
2199
2224
  # Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must consist of only uppercase letters, numbers, spaces, or the following special characters: '/', '_', '-', '&', '.'. Cannot begin with 'STRIPE'.
@@ -2456,6 +2481,8 @@ module Stripe
2456
2481
  attr_accessor :bancontact
2457
2482
  # If this is a `billie` PaymentMethod, this sub-hash contains details about the Billie payment method options.
2458
2483
  attr_accessor :billie
2484
+ # If this is a `bizum` PaymentMethod, this sub-hash contains details about the Bizum payment method options.
2485
+ attr_accessor :bizum
2459
2486
  # If this is a `blik` PaymentMethod, this sub-hash contains details about the BLIK payment method options.
2460
2487
  attr_accessor :blik
2461
2488
  # If this is a `boleto` PaymentMethod, this sub-hash contains details about the Boleto payment method options.
@@ -2490,7 +2517,7 @@ module Stripe
2490
2517
  attr_accessor :konbini
2491
2518
  # If this is a `kr_card` PaymentMethod, this sub-hash contains details about the KR Card payment method options.
2492
2519
  attr_accessor :kr_card
2493
- # If this is a `link` PaymentMethod, this sub-hash contains details about the Link payment method options.
2520
+ # If this is a `link` PaymentMethod, this sub-hash contains details about the Link payment method options (Link is also known as Onelink in the UK).
2494
2521
  attr_accessor :link
2495
2522
  # If this is a `mb_way` PaymentMethod, this sub-hash contains details about the MB WAY payment method options.
2496
2523
  attr_accessor :mb_way
@@ -2526,6 +2553,8 @@ module Stripe
2526
2553
  attr_accessor :samsung_pay
2527
2554
  # If this is a `satispay` PaymentMethod, this sub-hash contains details about the Satispay payment method options.
2528
2555
  attr_accessor :satispay
2556
+ # If this is a `scalapay` PaymentMethod, this sub-hash contains details about the ScalaPay payment method options.
2557
+ attr_accessor :scalapay
2529
2558
  # If this is a `sepa_debit` PaymentIntent, this sub-hash contains details about the SEPA Debit payment method options.
2530
2559
  attr_accessor :sepa_debit
2531
2560
  # If this is a `sofort` PaymentMethod, this sub-hash contains details about the SOFORT payment method options.
@@ -2554,6 +2583,7 @@ module Stripe
2554
2583
  bacs_debit: nil,
2555
2584
  bancontact: nil,
2556
2585
  billie: nil,
2586
+ bizum: nil,
2557
2587
  blik: nil,
2558
2588
  boleto: nil,
2559
2589
  card: nil,
@@ -2589,6 +2619,7 @@ module Stripe
2589
2619
  revolut_pay: nil,
2590
2620
  samsung_pay: nil,
2591
2621
  satispay: nil,
2622
+ scalapay: nil,
2592
2623
  sepa_debit: nil,
2593
2624
  sofort: nil,
2594
2625
  swish: nil,
@@ -2608,6 +2639,7 @@ module Stripe
2608
2639
  @bacs_debit = bacs_debit
2609
2640
  @bancontact = bancontact
2610
2641
  @billie = billie
2642
+ @bizum = bizum
2611
2643
  @blik = blik
2612
2644
  @boleto = boleto
2613
2645
  @card = card
@@ -2643,6 +2675,7 @@ module Stripe
2643
2675
  @revolut_pay = revolut_pay
2644
2676
  @samsung_pay = samsung_pay
2645
2677
  @satispay = satispay
2678
+ @scalapay = scalapay
2646
2679
  @sepa_debit = sepa_debit
2647
2680
  @sofort = sofort
2648
2681
  @swish = swish
@@ -2715,6 +2748,17 @@ module Stripe
2715
2748
  end
2716
2749
 
2717
2750
  class TransferData < ::Stripe::RequestParams
2751
+ class PaymentData < ::Stripe::RequestParams
2752
+ # An arbitrary string attached to the destination payment. Often useful for displaying to users.
2753
+ attr_accessor :description
2754
+ # Set of [key-value pairs](https://docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
2755
+ attr_accessor :metadata
2756
+
2757
+ def initialize(description: nil, metadata: nil)
2758
+ @description = description
2759
+ @metadata = metadata
2760
+ end
2761
+ end
2718
2762
  # The amount that will be transferred automatically when a charge succeeds.
2719
2763
  # The amount is capped at the total transaction amount and if no amount is set,
2720
2764
  # the full amount is transferred.
@@ -2723,15 +2767,30 @@ module Stripe
2723
2767
  # [application_fee_amount](https://docs.stripe.com/api/payment_intents/create#create_payment_intent-application_fee_amount)
2724
2768
  # might be a better fit for your integration.
2725
2769
  attr_accessor :amount
2770
+ # An arbitrary string attached to the transfer. Often useful for displaying to users.
2771
+ attr_accessor :description
2726
2772
  # If specified, successful charges will be attributed to the destination
2727
2773
  # account for tax reporting, and the funds from charges will be transferred
2728
2774
  # to the destination account. The ID of the resulting transfer will be
2729
2775
  # returned on the successful charge's `transfer` field.
2730
2776
  attr_accessor :destination
2777
+ # Set of [key-value pairs](https://docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
2778
+ attr_accessor :metadata
2779
+ # The data with which to populate the destination payment.
2780
+ attr_accessor :payment_data
2731
2781
 
2732
- def initialize(amount: nil, destination: nil)
2782
+ def initialize(
2783
+ amount: nil,
2784
+ description: nil,
2785
+ destination: nil,
2786
+ metadata: nil,
2787
+ payment_data: nil
2788
+ )
2733
2789
  @amount = amount
2790
+ @description = description
2734
2791
  @destination = destination
2792
+ @metadata = metadata
2793
+ @payment_data = payment_data
2735
2794
  end
2736
2795
  end
2737
2796
  # Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the [smallest currency unit](https://docs.stripe.com/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://docs.stripe.com/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).
@@ -2782,7 +2841,7 @@ module Stripe
2782
2841
  attr_accessor :mandate_data
2783
2842
  # Set of [key-value pairs](https://docs.stripe.com/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`.
2784
2843
  attr_accessor :metadata
2785
- # Set to `true` to indicate that the customer isn't in your checkout flow during this payment attempt and can't authenticate. Use this parameter in scenarios where you collect card details and [charge them later](https://docs.stripe.com/payments/cards/charging-saved-cards). This parameter can only be used with [`confirm=true`](https://docs.stripe.com/api/payment_intents/create#create_payment_intent-confirm).
2844
+ # Set to `true` to indicate that the customer isn't in your checkout flow during this payment attempt and can't authenticate. Use this parameter in scenarios where you collect payment method details and [charge them later](https://docs.stripe.com/payments/save-during-payment). This parameter can only be used with [`confirm=true`](https://docs.stripe.com/api/payment_intents/create#create_payment_intent-confirm).
2786
2845
  attr_accessor :off_session
2787
2846
  # The Stripe account ID that these funds are intended for. Learn more about the [use case for connected accounts](https://docs.stripe.com/payments/connected-accounts).
2788
2847
  attr_accessor :on_behalf_of
@@ -133,9 +133,9 @@ module Stripe
133
133
  class Shipping < ::Stripe::RequestParams
134
134
  # If a physical good is being shipped, the cost of shipping represented in the [smallest currency unit](https://docs.stripe.com/currencies#zero-decimal). An integer greater than or equal to 0.
135
135
  attr_accessor :amount
136
- # If a physical good is being shipped, the postal code of where it is being shipped from. At most 10 alphanumeric characters long, hyphens are allowed.
136
+ # If a physical good is being shipped, the postal code of where it is being shipped from. At most 10 alphanumeric characters long, hyphens and spaces are allowed.
137
137
  attr_accessor :from_postal_code
138
- # If a physical good is being shipped, the postal code of where it is being shipped to. At most 10 alphanumeric characters long, hyphens are allowed.
138
+ # If a physical good is being shipped, the postal code of where it is being shipped to. At most 10 alphanumeric characters long, hyphens and spaces are allowed.
139
139
  attr_accessor :to_postal_code
140
140
 
141
141
  def initialize(amount: nil, from_postal_code: nil, to_postal_code: nil)
@@ -133,9 +133,9 @@ module Stripe
133
133
  class Shipping < ::Stripe::RequestParams
134
134
  # If a physical good is being shipped, the cost of shipping represented in the [smallest currency unit](https://docs.stripe.com/currencies#zero-decimal). An integer greater than or equal to 0.
135
135
  attr_accessor :amount
136
- # If a physical good is being shipped, the postal code of where it is being shipped from. At most 10 alphanumeric characters long, hyphens are allowed.
136
+ # If a physical good is being shipped, the postal code of where it is being shipped from. At most 10 alphanumeric characters long, hyphens and spaces are allowed.
137
137
  attr_accessor :from_postal_code
138
- # If a physical good is being shipped, the postal code of where it is being shipped to. At most 10 alphanumeric characters long, hyphens are allowed.
138
+ # If a physical good is being shipped, the postal code of where it is being shipped to. At most 10 alphanumeric characters long, hyphens and spaces are allowed.
139
139
  attr_accessor :to_postal_code
140
140
 
141
141
  def initialize(amount: nil, from_postal_code: nil, to_postal_code: nil)
@@ -328,6 +328,7 @@ module Stripe
328
328
  end
329
329
  end
330
330
 
331
+ class Bizum < ::Stripe::RequestParams; end
331
332
  class Blik < ::Stripe::RequestParams; end
332
333
 
333
334
  class Boleto < ::Stripe::RequestParams
@@ -495,6 +496,7 @@ module Stripe
495
496
  class RevolutPay < ::Stripe::RequestParams; end
496
497
  class SamsungPay < ::Stripe::RequestParams; end
497
498
  class Satispay < ::Stripe::RequestParams; end
499
+ class Scalapay < ::Stripe::RequestParams; end
498
500
 
499
501
  class SepaDebit < ::Stripe::RequestParams
500
502
  # IBAN of the bank account.
@@ -597,6 +599,8 @@ module Stripe
597
599
  attr_accessor :billie
598
600
  # Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods.
599
601
  attr_accessor :billing_details
602
+ # If this is a `bizum` PaymentMethod, this hash contains details about the Bizum payment method.
603
+ attr_accessor :bizum
600
604
  # If this is a `blik` PaymentMethod, this hash contains details about the BLIK payment method.
601
605
  attr_accessor :blik
602
606
  # If this is a `boleto` PaymentMethod, this hash contains details about the Boleto payment method.
@@ -627,7 +631,7 @@ module Stripe
627
631
  attr_accessor :konbini
628
632
  # If this is a `kr_card` PaymentMethod, this hash contains details about the Korean Card payment method.
629
633
  attr_accessor :kr_card
630
- # If this is an `Link` PaymentMethod, this hash contains details about the Link payment method.
634
+ # If this is an `Link` PaymentMethod, this hash contains details about the Link payment method (Link is also known as Onelink in the UK).
631
635
  attr_accessor :link
632
636
  # If this is a MB WAY PaymentMethod, this hash contains details about the MB WAY payment method.
633
637
  attr_accessor :mb_way
@@ -667,6 +671,8 @@ module Stripe
667
671
  attr_accessor :samsung_pay
668
672
  # If this is a `satispay` PaymentMethod, this hash contains details about the Satispay payment method.
669
673
  attr_accessor :satispay
674
+ # If this is a Scalapay PaymentMethod, this hash contains details about the Scalapay payment method.
675
+ attr_accessor :scalapay
670
676
  # If this is a `sepa_debit` PaymentMethod, this hash contains details about the SEPA debit bank account.
671
677
  attr_accessor :sepa_debit
672
678
  # If this is a `sofort` PaymentMethod, this hash contains details about the SOFORT payment method.
@@ -701,6 +707,7 @@ module Stripe
701
707
  bancontact: nil,
702
708
  billie: nil,
703
709
  billing_details: nil,
710
+ bizum: nil,
704
711
  blik: nil,
705
712
  boleto: nil,
706
713
  cashapp: nil,
@@ -736,6 +743,7 @@ module Stripe
736
743
  revolut_pay: nil,
737
744
  samsung_pay: nil,
738
745
  satispay: nil,
746
+ scalapay: nil,
739
747
  sepa_debit: nil,
740
748
  sofort: nil,
741
749
  sunbit: nil,
@@ -759,6 +767,7 @@ module Stripe
759
767
  @bancontact = bancontact
760
768
  @billie = billie
761
769
  @billing_details = billing_details
770
+ @bizum = bizum
762
771
  @blik = blik
763
772
  @boleto = boleto
764
773
  @cashapp = cashapp
@@ -794,6 +803,7 @@ module Stripe
794
803
  @revolut_pay = revolut_pay
795
804
  @samsung_pay = samsung_pay
796
805
  @satispay = satispay
806
+ @scalapay = scalapay
797
807
  @sepa_debit = sepa_debit
798
808
  @sofort = sofort
799
809
  @sunbit = sunbit
@@ -1054,6 +1064,8 @@ module Stripe
1054
1064
  end
1055
1065
  end
1056
1066
 
1067
+ class Bizum < ::Stripe::RequestParams; end
1068
+
1057
1069
  class Blik < ::Stripe::RequestParams
1058
1070
  # The 6-digit BLIK code that a customer has generated using their banking application. Can only be set on confirmation.
1059
1071
  attr_accessor :code
@@ -2141,6 +2153,19 @@ module Stripe
2141
2153
  end
2142
2154
  end
2143
2155
 
2156
+ class Scalapay < ::Stripe::RequestParams
2157
+ # Controls when the funds are captured from the customer's account.
2158
+ #
2159
+ # If provided, this parameter overrides the behavior of the top-level [capture_method](/api/payment_intents/update#update_payment_intent-capture_method) for this payment method type when finalizing the payment with this payment method type.
2160
+ #
2161
+ # If `capture_method` is already set on the PaymentIntent, providing an empty value for this parameter unsets the stored value for this payment method type.
2162
+ attr_accessor :capture_method
2163
+
2164
+ def initialize(capture_method: nil)
2165
+ @capture_method = capture_method
2166
+ end
2167
+ end
2168
+
2144
2169
  class SepaDebit < ::Stripe::RequestParams
2145
2170
  class MandateOptions < ::Stripe::RequestParams
2146
2171
  # Prefix used to generate the Mandate reference. Must be at most 12 characters long. Must consist of only uppercase letters, numbers, spaces, or the following special characters: '/', '_', '-', '&', '.'. Cannot begin with 'STRIPE'.
@@ -2403,6 +2428,8 @@ module Stripe
2403
2428
  attr_accessor :bancontact
2404
2429
  # If this is a `billie` PaymentMethod, this sub-hash contains details about the Billie payment method options.
2405
2430
  attr_accessor :billie
2431
+ # If this is a `bizum` PaymentMethod, this sub-hash contains details about the Bizum payment method options.
2432
+ attr_accessor :bizum
2406
2433
  # If this is a `blik` PaymentMethod, this sub-hash contains details about the BLIK payment method options.
2407
2434
  attr_accessor :blik
2408
2435
  # If this is a `boleto` PaymentMethod, this sub-hash contains details about the Boleto payment method options.
@@ -2437,7 +2464,7 @@ module Stripe
2437
2464
  attr_accessor :konbini
2438
2465
  # If this is a `kr_card` PaymentMethod, this sub-hash contains details about the KR Card payment method options.
2439
2466
  attr_accessor :kr_card
2440
- # If this is a `link` PaymentMethod, this sub-hash contains details about the Link payment method options.
2467
+ # If this is a `link` PaymentMethod, this sub-hash contains details about the Link payment method options (Link is also known as Onelink in the UK).
2441
2468
  attr_accessor :link
2442
2469
  # If this is a `mb_way` PaymentMethod, this sub-hash contains details about the MB WAY payment method options.
2443
2470
  attr_accessor :mb_way
@@ -2473,6 +2500,8 @@ module Stripe
2473
2500
  attr_accessor :samsung_pay
2474
2501
  # If this is a `satispay` PaymentMethod, this sub-hash contains details about the Satispay payment method options.
2475
2502
  attr_accessor :satispay
2503
+ # If this is a `scalapay` PaymentMethod, this sub-hash contains details about the ScalaPay payment method options.
2504
+ attr_accessor :scalapay
2476
2505
  # If this is a `sepa_debit` PaymentIntent, this sub-hash contains details about the SEPA Debit payment method options.
2477
2506
  attr_accessor :sepa_debit
2478
2507
  # If this is a `sofort` PaymentMethod, this sub-hash contains details about the SOFORT payment method options.
@@ -2501,6 +2530,7 @@ module Stripe
2501
2530
  bacs_debit: nil,
2502
2531
  bancontact: nil,
2503
2532
  billie: nil,
2533
+ bizum: nil,
2504
2534
  blik: nil,
2505
2535
  boleto: nil,
2506
2536
  card: nil,
@@ -2536,6 +2566,7 @@ module Stripe
2536
2566
  revolut_pay: nil,
2537
2567
  samsung_pay: nil,
2538
2568
  satispay: nil,
2569
+ scalapay: nil,
2539
2570
  sepa_debit: nil,
2540
2571
  sofort: nil,
2541
2572
  swish: nil,
@@ -2555,6 +2586,7 @@ module Stripe
2555
2586
  @bacs_debit = bacs_debit
2556
2587
  @bancontact = bancontact
2557
2588
  @billie = billie
2589
+ @bizum = bizum
2558
2590
  @blik = blik
2559
2591
  @boleto = boleto
2560
2592
  @card = card
@@ -2590,6 +2622,7 @@ module Stripe
2590
2622
  @revolut_pay = revolut_pay
2591
2623
  @samsung_pay = samsung_pay
2592
2624
  @satispay = satispay
2625
+ @scalapay = scalapay
2593
2626
  @sepa_debit = sepa_debit
2594
2627
  @sofort = sofort
2595
2628
  @swish = swish
@@ -2653,11 +2686,31 @@ module Stripe
2653
2686
  end
2654
2687
 
2655
2688
  class TransferData < ::Stripe::RequestParams
2689
+ class PaymentData < ::Stripe::RequestParams
2690
+ # An arbitrary string attached to the destination payment. Often useful for displaying to users.
2691
+ attr_accessor :description
2692
+ # Set of [key-value pairs](https://docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
2693
+ attr_accessor :metadata
2694
+
2695
+ def initialize(description: nil, metadata: nil)
2696
+ @description = description
2697
+ @metadata = metadata
2698
+ end
2699
+ end
2656
2700
  # The amount that will be transferred automatically when a charge succeeds.
2657
2701
  attr_accessor :amount
2702
+ # An arbitrary string attached to the transfer. Often useful for displaying to users.
2703
+ attr_accessor :description
2704
+ # Set of [key-value pairs](https://docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
2705
+ attr_accessor :metadata
2706
+ # The data with which to populate the destination payment.
2707
+ attr_accessor :payment_data
2658
2708
 
2659
- def initialize(amount: nil)
2709
+ def initialize(amount: nil, description: nil, metadata: nil, payment_data: nil)
2660
2710
  @amount = amount
2711
+ @description = description
2712
+ @metadata = metadata
2713
+ @payment_data = payment_data
2661
2714
  end
2662
2715
  end
2663
2716
  # Amount intended to be collected by this PaymentIntent. A positive integer representing how much to charge in the [smallest currency unit](https://docs.stripe.com/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://docs.stripe.com/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).
@@ -74,7 +74,7 @@ module Stripe
74
74
  attr_accessor :payment_method_reuse_agreement
75
75
  # If set to `auto`, enables the collection of customer consent for promotional communications. The Checkout
76
76
  # Session will determine whether to display an option to opt into promotional communication
77
- # from the merchant depending on the customer's locale. Only available to US merchants.
77
+ # from the merchant depending on the customer's locale. Only available to US merchants and US customers.
78
78
  attr_accessor :promotions
79
79
  # If set to `required`, it requires customers to check a terms of service checkbox before being able to pay.
80
80
  # There must be a valid terms of service URL set in your [Dashboard settings](https://dashboard.stripe.com/settings/public).
@@ -564,6 +564,31 @@ module Stripe
564
564
  end
565
565
  end
566
566
 
567
+ class PaymentMethodOptions < ::Stripe::RequestParams
568
+ class Card < ::Stripe::RequestParams
569
+ class Restrictions < ::Stripe::RequestParams
570
+ # The card brands to block. If a customer enters or selects a card belonging to a blocked brand, they can't complete the payment.
571
+ attr_accessor :brands_blocked
572
+
573
+ def initialize(brands_blocked: nil)
574
+ @brands_blocked = brands_blocked
575
+ end
576
+ end
577
+ # Restrictions to apply to the card payment method. For example, you can block specific card brands.
578
+ attr_accessor :restrictions
579
+
580
+ def initialize(restrictions: nil)
581
+ @restrictions = restrictions
582
+ end
583
+ end
584
+ # Configuration for `card` payment methods.
585
+ attr_accessor :card
586
+
587
+ def initialize(card: nil)
588
+ @card = card
589
+ end
590
+ end
591
+
567
592
  class PhoneNumberCollection < ::Stripe::RequestParams
568
593
  # Set to `true` to enable phone number collection.
569
594
  attr_accessor :enabled
@@ -748,6 +773,8 @@ module Stripe
748
773
  #
749
774
  # If you'd like information on how to collect a payment method outside of Checkout, read the guide on [configuring subscriptions with a free trial](https://docs.stripe.com/payments/checkout/free-trials).
750
775
  attr_accessor :payment_method_collection
776
+ # Attribute for param field payment_method_options
777
+ attr_accessor :payment_method_options
751
778
  # The list of payment method types that customers can use. If no value is passed, Stripe will dynamically show relevant payment methods from your [payment method settings](https://dashboard.stripe.com/settings/payment_methods) (20+ payment methods [supported](https://docs.stripe.com/payments/payment-methods/integration-options#payment-method-product-support)).
752
779
  attr_accessor :payment_method_types
753
780
  # Controls phone number collection settings during checkout.
@@ -792,6 +819,7 @@ module Stripe
792
819
  optional_items: nil,
793
820
  payment_intent_data: nil,
794
821
  payment_method_collection: nil,
822
+ payment_method_options: nil,
795
823
  payment_method_types: nil,
796
824
  phone_number_collection: nil,
797
825
  restrictions: nil,
@@ -824,6 +852,7 @@ module Stripe
824
852
  @optional_items = optional_items
825
853
  @payment_intent_data = payment_intent_data
826
854
  @payment_method_collection = payment_method_collection
855
+ @payment_method_options = payment_method_options
827
856
  @payment_method_types = payment_method_types
828
857
  @phone_number_collection = phone_number_collection
829
858
  @restrictions = restrictions
@@ -420,6 +420,31 @@ module Stripe
420
420
  end
421
421
  end
422
422
 
423
+ class PaymentMethodOptions < ::Stripe::RequestParams
424
+ class Card < ::Stripe::RequestParams
425
+ class Restrictions < ::Stripe::RequestParams
426
+ # The card brands to block. If a customer enters or selects a card belonging to a blocked brand, they can't complete the payment.
427
+ attr_accessor :brands_blocked
428
+
429
+ def initialize(brands_blocked: nil)
430
+ @brands_blocked = brands_blocked
431
+ end
432
+ end
433
+ # Restrictions to apply to the card payment method. For example, you can block specific card brands.
434
+ attr_accessor :restrictions
435
+
436
+ def initialize(restrictions: nil)
437
+ @restrictions = restrictions
438
+ end
439
+ end
440
+ # Configuration for `card` payment methods.
441
+ attr_accessor :card
442
+
443
+ def initialize(card: nil)
444
+ @card = card
445
+ end
446
+ end
447
+
423
448
  class PhoneNumberCollection < ::Stripe::RequestParams
424
449
  # Set to `true` to enable phone number collection.
425
450
  attr_accessor :enabled
@@ -566,6 +591,8 @@ module Stripe
566
591
  #
567
592
  # If you'd like information on how to collect a payment method outside of Checkout, read the guide on [configuring subscriptions with a free trial](https://docs.stripe.com/payments/checkout/free-trials).
568
593
  attr_accessor :payment_method_collection
594
+ # Payment-method-specific configuration.
595
+ attr_accessor :payment_method_options
569
596
  # The list of payment method types that customers can use. Pass an empty string to enable dynamic payment methods that use your [payment method settings](https://dashboard.stripe.com/settings/payment_methods).
570
597
  attr_accessor :payment_method_types
571
598
  # Controls phone number collection settings during checkout.
@@ -601,6 +628,7 @@ module Stripe
601
628
  optional_items: nil,
602
629
  payment_intent_data: nil,
603
630
  payment_method_collection: nil,
631
+ payment_method_options: nil,
604
632
  payment_method_types: nil,
605
633
  phone_number_collection: nil,
606
634
  restrictions: nil,
@@ -626,6 +654,7 @@ module Stripe
626
654
  @optional_items = optional_items
627
655
  @payment_intent_data = payment_intent_data
628
656
  @payment_method_collection = payment_method_collection
657
+ @payment_method_options = payment_method_options
629
658
  @payment_method_types = payment_method_types
630
659
  @phone_number_collection = phone_number_collection
631
660
  @restrictions = restrictions
@@ -207,6 +207,23 @@ module Stripe
207
207
  end
208
208
  end
209
209
 
210
+ class Bizum < ::Stripe::RequestParams
211
+ class DisplayPreference < ::Stripe::RequestParams
212
+ # The account's preference for whether or not to display this payment method.
213
+ attr_accessor :preference
214
+
215
+ def initialize(preference: nil)
216
+ @preference = preference
217
+ end
218
+ end
219
+ # Whether or not the payment method should be displayed.
220
+ attr_accessor :display_preference
221
+
222
+ def initialize(display_preference: nil)
223
+ @display_preference = display_preference
224
+ end
225
+ end
226
+
210
227
  class Blik < ::Stripe::RequestParams
211
228
  class DisplayPreference < ::Stripe::RequestParams
212
229
  # The account's preference for whether or not to display this payment method.
@@ -836,6 +853,23 @@ module Stripe
836
853
  end
837
854
  end
838
855
 
856
+ class Scalapay < ::Stripe::RequestParams
857
+ class DisplayPreference < ::Stripe::RequestParams
858
+ # The account's preference for whether or not to display this payment method.
859
+ attr_accessor :preference
860
+
861
+ def initialize(preference: nil)
862
+ @preference = preference
863
+ end
864
+ end
865
+ # Whether or not the payment method should be displayed.
866
+ attr_accessor :display_preference
867
+
868
+ def initialize(display_preference: nil)
869
+ @display_preference = display_preference
870
+ end
871
+ end
872
+
839
873
  class SepaDebit < ::Stripe::RequestParams
840
874
  class DisplayPreference < ::Stripe::RequestParams
841
875
  # The account's preference for whether or not to display this payment method.
@@ -1012,6 +1046,8 @@ module Stripe
1012
1046
  attr_accessor :bancontact
1013
1047
  # Billie is a [single-use](https://docs.stripe.com/payments/payment-methods#usage) payment method that offers businesses Pay by Invoice where they offer payment terms ranging from 7-120 days. Customers are redirected from your website or app, authorize the payment with Billie, then return to your website or app. You get [immediate notification](/payments/payment-methods#payment-notification) of whether the payment succeeded or failed.
1014
1048
  attr_accessor :billie
1049
+ # To enable Bizum, buyers need a Spanish IBAN from a bank connected to Bizum. Within their banking app, they can enable Bizum and link their mobile number to their IBAN.
1050
+ attr_accessor :bizum
1015
1051
  # BLIK is a [single use](https://docs.stripe.com/payments/payment-methods#usage) payment method that requires customers to authenticate their payments. When customers want to pay online using BLIK, they request a six-digit code from their banking application and enter it into the payment collection form. Check this [page](https://docs.stripe.com/payments/blik) for more details.
1016
1052
  attr_accessor :blik
1017
1053
  # Boleto is an official (regulated by the Central Bank of Brazil) payment method in Brazil. Check this [page](https://docs.stripe.com/payments/boleto) for more details.
@@ -1090,8 +1126,10 @@ module Stripe
1090
1126
  attr_accessor :revolut_pay
1091
1127
  # Samsung Pay is a [single-use](https://docs.stripe.com/payments/payment-methods#usage local wallet available in South Korea.
1092
1128
  attr_accessor :samsung_pay
1093
- # Satispay is a [single-use](https://docs.stripe.com/payments/payment-methods#usage) payment method where customers are required to [authenticate](/payments/payment-methods#customer-actions) their payment. Customers pay by being redirected from your website or app, authorizing the payment with Satispay, then returning to your website or app. You get [immediate notification](/payments/payment-methods#payment-notification) of whether the payment succeeded or failed.
1129
+ # Satispay is a [single-use](/payments/payment-methods#usage) payment method where customers are required to [authenticate](/payments/payment-methods#customer-actions) their payment. Customers pay by being redirected from your website or app, authorizing the payment with Satispay, then returning to your website or app. You get [immediate notification](/payments/payment-methods#payment-notification) of whether the payment succeeded or failed.
1094
1130
  attr_accessor :satispay
1131
+ # Scalapay is a [single-use](/payments/payment-methods#usage) payment method that lets customers pay in 3 or 4 installments. Customers are redirected from your website or app, authorize the payment with Scalapay, then return to your website or app. You get [immediate notification](/payments/payment-methods#payment-notification) of whether the payment succeeded or failed.
1132
+ attr_accessor :scalapay
1095
1133
  # The [Single Euro Payments Area (SEPA)](https://en.wikipedia.org/wiki/Single_Euro_Payments_Area) is an initiative of the European Union to simplify payments within and across member countries. SEPA established and enforced banking standards to allow for the direct debiting of every EUR-denominated bank account within the SEPA region, check this [page](https://docs.stripe.com/payments/sepa-debit) for more details.
1096
1134
  attr_accessor :sepa_debit
1097
1135
  # Stripe users in Europe and the United States can use the [Payment Intents API](https://stripe.com/docs/payments/payment-intents)—a single integration path for creating payments using any supported method—to accept [Sofort](https://www.sofort.com/) payments from customers. Check this [page](https://docs.stripe.com/payments/sofort) for more details.
@@ -1124,6 +1162,7 @@ module Stripe
1124
1162
  bacs_debit: nil,
1125
1163
  bancontact: nil,
1126
1164
  billie: nil,
1165
+ bizum: nil,
1127
1166
  blik: nil,
1128
1167
  boleto: nil,
1129
1168
  card: nil,
@@ -1164,6 +1203,7 @@ module Stripe
1164
1203
  revolut_pay: nil,
1165
1204
  samsung_pay: nil,
1166
1205
  satispay: nil,
1206
+ scalapay: nil,
1167
1207
  sepa_debit: nil,
1168
1208
  sofort: nil,
1169
1209
  sunbit: nil,
@@ -1186,6 +1226,7 @@ module Stripe
1186
1226
  @bacs_debit = bacs_debit
1187
1227
  @bancontact = bancontact
1188
1228
  @billie = billie
1229
+ @bizum = bizum
1189
1230
  @blik = blik
1190
1231
  @boleto = boleto
1191
1232
  @card = card
@@ -1226,6 +1267,7 @@ module Stripe
1226
1267
  @revolut_pay = revolut_pay
1227
1268
  @samsung_pay = samsung_pay
1228
1269
  @satispay = satispay
1270
+ @scalapay = scalapay
1229
1271
  @sepa_debit = sepa_debit
1230
1272
  @sofort = sofort
1231
1273
  @sunbit = sunbit