Merge upstream and update generated code for v1667

This commit is contained in:
Stripe OpenAPI 2025-04-08 21:01:26 +00:00
commit ce5d5dbdb7
21 changed files with 61 additions and 1030 deletions

View File

@ -50,6 +50,7 @@ Metrics/CyclomaticComplexity:
Metrics/PerceivedComplexity:
Exclude:
- "lib/stripe/api_requestor.rb"
- "lib/stripe/stripe_object.rb"
- "lib/stripe/util.rb"
Metrics/MethodLength:

View File

@ -1 +1 @@
v1666
v1667

View File

@ -20,8 +20,6 @@ The library also provides other features. For example:
See the [Ruby API docs](https://stripe.com/docs/api?lang=ruby).
See [video demonstrations][youtube-playlist] covering how to use the library.
## Installation
You don't need this source code unless you want to modify the gem. If you just
@ -158,6 +156,9 @@ print(customer.last_response.http_status) # to retrieve status code
print(customer.last_response.http_headers) # to retrieve headers
```
If you are accessing a response field with custom hashes provided by you, such as `Customer.metadata`,
please access your fields with the `[]` accessor.
### Configuring a proxy
A proxy can be configured with `Stripe.proxy`:

View File

@ -78,7 +78,6 @@ module Stripe
FinancialConnections::Transaction.object_name => FinancialConnections::Transaction,
Forwarding::Request.object_name => Forwarding::Request,
FundingInstructions.object_name => FundingInstructions,
FxQuote.object_name => FxQuote,
GiftCards::Card.object_name => GiftCards::Card,
GiftCards::Transaction.object_name => GiftCards::Transaction,
Identity::VerificationReport.object_name => Identity::VerificationReport,

View File

@ -66,7 +66,6 @@ require "stripe/resources/financial_connections/session"
require "stripe/resources/financial_connections/transaction"
require "stripe/resources/forwarding/request"
require "stripe/resources/funding_instructions"
require "stripe/resources/fx_quote"
require "stripe/resources/gift_cards/card"
require "stripe/resources/gift_cards/transaction"
require "stripe/resources/identity/verification_report"

View File

@ -1,184 +0,0 @@
# File generated from our OpenAPI spec
# frozen_string_literal: true
module Stripe
# The FX Quotes API provides three key functions:
# - View current exchange rates: The object shows Stripe's current exchange rate for any given currency pair.
# - Extended quotes: The API provides rate quotes valid for a 1-hour period or a 24-hour period, eliminating uncertainty from FX fluctuations.
# - View FX fees: The API provides information on the FX fees Stripe will charge on your FX transaction, allowing you to anticipate specific settlement amounts before payment costs.
class FxQuote < APIResource
extend Stripe::APIOperations::Create
extend Stripe::APIOperations::List
OBJECT_NAME = "fx_quote"
def self.object_name
"fx_quote"
end
class Rates < Stripe::StripeObject
class RateDetails < Stripe::StripeObject
# The rate for the currency pair.
attr_reader :base_rate
# The fee for locking the conversion rates.
attr_reader :duration_premium
# The FX fee for the currency pair.
attr_reader :fx_fee_rate
# A reference rate for the currency pair provided by the reference rate provider.
attr_reader :reference_rate
# The reference rate provider.
attr_reader :reference_rate_provider
end
# The rate that includes the FX fee rate.
attr_reader :exchange_rate
# Attribute for field rate_details
attr_reader :rate_details
end
class Usage < Stripe::StripeObject
class Payment < Stripe::StripeObject
# The Stripe account ID that the funds will be transferred to.
#
# This field should match the account ID that would be used in the PaymentIntents transfer_data[destination] field.
attr_reader :destination
# The Stripe account ID that these funds are intended for.
#
# This field must match the account ID that would be used in the PaymentIntents on_behalf_of field.
attr_reader :on_behalf_of
end
class Transfer < Stripe::StripeObject
# The Stripe account ID that the funds will be transferred to.
#
# This field should match the account ID that would be used in the Transfers destination field.
attr_reader :destination
end
# The details required to use an FX Quote for a payment
attr_reader :payment
# The details required to use an FX Quote for a transfer
attr_reader :transfer
# The transaction type for which the FX Quote will be used.
#
# Can be 'payment' or 'transfer'.
attr_reader :type
end
class ListParams < Stripe::RequestParams
# 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.
attr_accessor :ending_before
# Specifies which fields in the response should be expanded.
attr_accessor :expand
# A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
attr_accessor :limit
# 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.
attr_accessor :starting_after
def initialize(ending_before: nil, expand: nil, limit: nil, starting_after: nil)
@ending_before = ending_before
@expand = expand
@limit = limit
@starting_after = starting_after
end
end
class CreateParams < Stripe::RequestParams
class Usage < Stripe::RequestParams
class Payment < Stripe::RequestParams
# The Stripe account ID that the funds will be transferred to.
#
# This field should match the account ID that would be used in the PaymentIntents transfer_data[destination] field.
attr_accessor :destination
# The Stripe account ID that these funds are intended for.
#
# This field should match the account ID that would be used in the PaymentIntents on_behalf_of field.
attr_accessor :on_behalf_of
def initialize(destination: nil, on_behalf_of: nil)
@destination = destination
@on_behalf_of = on_behalf_of
end
end
class Transfer < Stripe::RequestParams
# The Stripe account ID that the funds will be transferred to.
#
# This field should match the account ID that would be used in the Transfers destination field.
attr_accessor :destination
def initialize(destination: nil)
@destination = destination
end
end
# The payment transaction details that are intended for the FX Quote.
attr_accessor :payment
# The transfer transaction details that are intended for the FX Quote.
attr_accessor :transfer
# Which transaction the FX Quote will be used for
#
# Can be “payment” | “transfer”
attr_accessor :type
def initialize(payment: nil, transfer: nil, type: nil)
@payment = payment
@transfer = transfer
@type = type
end
end
# Specifies which fields in the response should be expanded.
attr_accessor :expand
# A list of three letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be [supported currencies](https://stripe.com/docs/currencies).
attr_accessor :from_currencies
# The duration that you wish the quote to be locked for. The quote will be usable for the duration specified. The default is `none`. The maximum is 1 day.
attr_accessor :lock_duration
# 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).
attr_accessor :to_currency
# The usage specific information for the quote.
attr_accessor :usage
def initialize(
expand: nil,
from_currencies: nil,
lock_duration: nil,
to_currency: nil,
usage: nil
)
@expand = expand
@from_currencies = from_currencies
@lock_duration = lock_duration
@to_currency = to_currency
@usage = usage
end
end
# Time at which the quote was created, measured in seconds since the Unix epoch.
attr_reader :created
# Unique identifier for the object.
attr_reader :id
# The duration the exchange rate quote remains valid from creation time. Allowed values are none, hour, and day. Note that for the test mode API available in alpha, you can request an extended quote, but it won't be usable for any transactions.
attr_reader :lock_duration
# Time at which the quote will expire, measured in seconds since the Unix epoch.
#
# If lock_duration is set to none this field will be set to null.
attr_reader :lock_expires_at
# Lock status of the quote. Transitions from active to expired once past the lock_expires_at timestamp.
#
# Can return value none, active, or expired.
attr_reader :lock_status
# String representing the object's type. Objects of the same type share the same value.
attr_reader :object
# Information about the rates.
attr_reader :rates
# The currency to convert into, typically this is the currency that you want to settle to your Stripe balance. Three-letter ISO currency code, in lowercase. Must be a supported currency.
attr_reader :to_currency
# Attribute for field usage
attr_reader :usage
# Creates an FX Quote object
def self.create(params = {}, opts = {})
request_stripe_object(method: :post, path: "/v1/fx_quotes", params: params, opts: opts)
end
# Returns a list of FX quotes that have been issued. The FX quotes are returned in sorted order, with the most recent FX quotes appearing first.
def self.list(params = {}, opts = {})
request_stripe_object(method: :get, path: "/v1/fx_quotes", params: params, opts: opts)
end
end
end

View File

@ -5348,8 +5348,6 @@ module Stripe
attr_accessor :error_on_requires_action
# Specifies which fields in the response should be expanded.
attr_accessor :expand
# The FX rate in the quote is validated and used to convert the presentment amount to the settlement amount.
attr_accessor :fx_quote
# ID of the mandate that's used for this payment. This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm).
attr_accessor :mandate
# This hash contains details about the Mandate to create. This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm).
@ -5423,7 +5421,6 @@ module Stripe
description: nil,
error_on_requires_action: nil,
expand: nil,
fx_quote: nil,
mandate: nil,
mandate_data: nil,
metadata: nil,
@ -5461,7 +5458,6 @@ module Stripe
@description = description
@error_on_requires_action = error_on_requires_action
@expand = expand
@fx_quote = fx_quote
@mandate = mandate
@mandate_data = mandate_data
@metadata = metadata
@ -8807,8 +8803,6 @@ module Stripe
attr_accessor :description
# Specifies which fields in the response should be expanded.
attr_accessor :expand
# The FX rate in the quote is validated and used to convert the presentment amount to the settlement amount.
attr_accessor :fx_quote
# This hash contains details about the Mandate to create.
attr_accessor :mandate_data
# 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`.
@ -8862,7 +8856,6 @@ module Stripe
customer_account: nil,
description: nil,
expand: nil,
fx_quote: nil,
mandate_data: nil,
metadata: nil,
payment_details: nil,
@ -8888,7 +8881,6 @@ module Stripe
@customer_account = customer_account
@description = description
@expand = expand
@fx_quote = fx_quote
@mandate_data = mandate_data
@metadata = metadata
@payment_details = payment_details
@ -13019,8 +13011,6 @@ module Stripe
attr_accessor :error_on_requires_action
# Specifies which fields in the response should be expanded.
attr_accessor :expand
# The FX rate in the quote is validated and used to convert the presentment amount to the settlement amount.
attr_accessor :fx_quote
# ID of the mandate that's used for this payment.
attr_accessor :mandate
# Attribute for param field mandate_data
@ -13069,7 +13059,6 @@ module Stripe
confirmation_token: nil,
error_on_requires_action: nil,
expand: nil,
fx_quote: nil,
mandate: nil,
mandate_data: nil,
off_session: nil,
@ -13091,7 +13080,6 @@ module Stripe
@confirmation_token = confirmation_token
@error_on_requires_action = error_on_requires_action
@expand = expand
@fx_quote = fx_quote
@mandate = mandate
@mandate_data = mandate_data
@off_session = off_session
@ -13357,8 +13345,6 @@ module Stripe
attr_reader :customer_account
# An arbitrary string attached to the object. Often useful for displaying to users.
attr_reader :description
# The FX Quote used for the PaymentIntent.
attr_reader :fx_quote
# Unique identifier for the object.
attr_reader :id
# The payment error encountered in the previous PaymentIntent confirmation. It will be cleared if the PaymentIntent is later updated for any reason.

View File

@ -75,7 +75,6 @@ require "stripe/services/financial_connections/transaction_service"
require "stripe/services/financial_connections_service"
require "stripe/services/forwarding/request_service"
require "stripe/services/forwarding_service"
require "stripe/services/fx_quote_service"
require "stripe/services/gift_cards/card_service"
require "stripe/services/gift_cards/transaction_service"
require "stripe/services/gift_cards_service"

View File

@ -1,123 +0,0 @@
# File generated from our OpenAPI spec
# frozen_string_literal: true
module Stripe
class FxQuoteService < StripeService
class ListParams < Stripe::RequestParams
# 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.
attr_accessor :ending_before
# Specifies which fields in the response should be expanded.
attr_accessor :expand
# A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
attr_accessor :limit
# 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.
attr_accessor :starting_after
def initialize(ending_before: nil, expand: nil, limit: nil, starting_after: nil)
@ending_before = ending_before
@expand = expand
@limit = limit
@starting_after = starting_after
end
end
class CreateParams < Stripe::RequestParams
class Usage < Stripe::RequestParams
class Payment < Stripe::RequestParams
# The Stripe account ID that the funds will be transferred to.
#
# This field should match the account ID that would be used in the PaymentIntents transfer_data[destination] field.
attr_accessor :destination
# The Stripe account ID that these funds are intended for.
#
# This field should match the account ID that would be used in the PaymentIntents on_behalf_of field.
attr_accessor :on_behalf_of
def initialize(destination: nil, on_behalf_of: nil)
@destination = destination
@on_behalf_of = on_behalf_of
end
end
class Transfer < Stripe::RequestParams
# The Stripe account ID that the funds will be transferred to.
#
# This field should match the account ID that would be used in the Transfers destination field.
attr_accessor :destination
def initialize(destination: nil)
@destination = destination
end
end
# The payment transaction details that are intended for the FX Quote.
attr_accessor :payment
# The transfer transaction details that are intended for the FX Quote.
attr_accessor :transfer
# Which transaction the FX Quote will be used for
#
# Can be “payment” | “transfer”
attr_accessor :type
def initialize(payment: nil, transfer: nil, type: nil)
@payment = payment
@transfer = transfer
@type = type
end
end
# Specifies which fields in the response should be expanded.
attr_accessor :expand
# A list of three letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be [supported currencies](https://stripe.com/docs/currencies).
attr_accessor :from_currencies
# The duration that you wish the quote to be locked for. The quote will be usable for the duration specified. The default is `none`. The maximum is 1 day.
attr_accessor :lock_duration
# 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).
attr_accessor :to_currency
# The usage specific information for the quote.
attr_accessor :usage
def initialize(
expand: nil,
from_currencies: nil,
lock_duration: nil,
to_currency: nil,
usage: nil
)
@expand = expand
@from_currencies = from_currencies
@lock_duration = lock_duration
@to_currency = to_currency
@usage = usage
end
end
class RetrieveParams < Stripe::RequestParams
# Specifies which fields in the response should be expanded.
attr_accessor :expand
def initialize(expand: nil)
@expand = expand
end
end
# Creates an FX Quote object
def create(params = {}, opts = {})
request(method: :post, path: "/v1/fx_quotes", params: params, opts: opts, base_address: :api)
end
# Returns a list of FX quotes that have been issued. The FX quotes are returned in sorted order, with the most recent FX quotes appearing first.
def list(params = {}, opts = {})
request(method: :get, path: "/v1/fx_quotes", params: params, opts: opts, base_address: :api)
end
# Retrieve an FX Quote object
def retrieve(id, params = {}, opts = {})
request(
method: :get,
path: format("/v1/fx_quotes/%<id>s", { id: CGI.escape(id) }),
params: params,
opts: opts,
base_address: :api
)
end
end
end

View File

@ -3431,8 +3431,6 @@ module Stripe
attr_accessor :error_on_requires_action
# Specifies which fields in the response should be expanded.
attr_accessor :expand
# The FX rate in the quote is validated and used to convert the presentment amount to the settlement amount.
attr_accessor :fx_quote
# ID of the mandate that's used for this payment. This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm).
attr_accessor :mandate
# This hash contains details about the Mandate to create. This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm).
@ -3506,7 +3504,6 @@ module Stripe
description: nil,
error_on_requires_action: nil,
expand: nil,
fx_quote: nil,
mandate: nil,
mandate_data: nil,
metadata: nil,
@ -3544,7 +3541,6 @@ module Stripe
@description = description
@error_on_requires_action = error_on_requires_action
@expand = expand
@fx_quote = fx_quote
@mandate = mandate
@mandate_data = mandate_data
@metadata = metadata
@ -6902,8 +6898,6 @@ module Stripe
attr_accessor :description
# Specifies which fields in the response should be expanded.
attr_accessor :expand
# The FX rate in the quote is validated and used to convert the presentment amount to the settlement amount.
attr_accessor :fx_quote
# This hash contains details about the Mandate to create.
attr_accessor :mandate_data
# 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`.
@ -6957,7 +6951,6 @@ module Stripe
customer_account: nil,
description: nil,
expand: nil,
fx_quote: nil,
mandate_data: nil,
metadata: nil,
payment_details: nil,
@ -6983,7 +6976,6 @@ module Stripe
@customer_account = customer_account
@description = description
@expand = expand
@fx_quote = fx_quote
@mandate_data = mandate_data
@metadata = metadata
@payment_details = payment_details
@ -11114,8 +11106,6 @@ module Stripe
attr_accessor :error_on_requires_action
# Specifies which fields in the response should be expanded.
attr_accessor :expand
# The FX rate in the quote is validated and used to convert the presentment amount to the settlement amount.
attr_accessor :fx_quote
# ID of the mandate that's used for this payment.
attr_accessor :mandate
# Attribute for param field mandate_data
@ -11164,7 +11154,6 @@ module Stripe
confirmation_token: nil,
error_on_requires_action: nil,
expand: nil,
fx_quote: nil,
mandate: nil,
mandate_data: nil,
off_session: nil,
@ -11186,7 +11175,6 @@ module Stripe
@confirmation_token = confirmation_token
@error_on_requires_action = error_on_requires_action
@expand = expand
@fx_quote = fx_quote
@mandate = mandate
@mandate_data = mandate_data
@off_session = off_session

View File

@ -4,7 +4,7 @@ module Stripe
class V1Services < StripeService
# v1 accessors: The beginning of the section generated from our OpenAPI spec
attr_reader :accounts
attr_reader :account_links, :account_notices, :account_sessions, :apple_pay_domains, :application_fees, :apps, :balance, :balance_settings, :balance_transactions, :billing, :billing_portal, :capital, :charges, :checkout, :climate, :confirmation_tokens, :test_helpers, :country_specs, :coupons, :credit_notes, :customers, :customer_sessions, :disputes, :entitlements, :ephemeral_keys, :events, :exchange_rates, :files, :file_links, :financial_connections, :forwarding, :fx_quotes, :gift_cards, :identity, :invoices, :invoice_rendering_templates, :invoice_items, :issuing, :mandates, :margins, :orders, :payment_attempt_records, :payment_intents, :payment_links, :payment_methods, :payment_method_configurations, :payment_method_domains, :payment_records, :payouts, :plans, :prices, :privacy, :products, :promotion_codes, :quotes, :radar, :refunds, :reporting, :reviews, :sigma, :setup_attempts, :setup_intents, :shipping_rates, :sources, :subscriptions, :subscription_items, :subscription_schedules, :tax, :tax_codes, :tax_ids, :tax_rates, :terminal, :tokens, :topups, :transfers, :treasury, :webhook_endpoints, :external_accounts
attr_reader :account_links, :account_notices, :account_sessions, :apple_pay_domains, :application_fees, :apps, :balance, :balance_settings, :balance_transactions, :billing, :billing_portal, :capital, :charges, :checkout, :climate, :confirmation_tokens, :test_helpers, :country_specs, :coupons, :credit_notes, :customers, :customer_sessions, :disputes, :entitlements, :ephemeral_keys, :events, :exchange_rates, :files, :file_links, :financial_connections, :forwarding, :gift_cards, :identity, :invoices, :invoice_rendering_templates, :invoice_items, :issuing, :mandates, :margins, :orders, :payment_attempt_records, :payment_intents, :payment_links, :payment_methods, :payment_method_configurations, :payment_method_domains, :payment_records, :payouts, :plans, :prices, :privacy, :products, :promotion_codes, :quotes, :radar, :refunds, :reporting, :reviews, :sigma, :setup_attempts, :setup_intents, :shipping_rates, :sources, :subscriptions, :subscription_items, :subscription_schedules, :tax, :tax_codes, :tax_ids, :tax_rates, :terminal, :tokens, :topups, :transfers, :treasury, :webhook_endpoints, :external_accounts
# v1 accessors: The end of the section generated from our OpenAPI spec
# OAuthService is manually maintained, as it has special behaviors
@ -45,7 +45,6 @@ module Stripe
@file_links = Stripe::FileLinkService.new(@requestor)
@financial_connections = Stripe::FinancialConnectionsService.new(@requestor)
@forwarding = Stripe::ForwardingService.new(@requestor)
@fx_quotes = Stripe::FxQuoteService.new(@requestor)
@gift_cards = Stripe::GiftCardsService.new(@requestor)
@identity = Stripe::IdentityService.new(@requestor)
@invoices = Stripe::InvoiceService.new(@requestor)

View File

@ -372,7 +372,16 @@ module Stripe
end
keys.each do |k|
instance_variable_set(:"@#{k}", values[k])
if Util.valid_variable_name?(k)
instance_variable_set(:"@#{k}", values[k])
else
Util.log_info(<<~LOG
The variable name '#{k}' is not a valid Ruby variable name.
Use ["#{k}"] to access this field, skipping instance variable instantiation...
LOG
)
end
end
end

View File

@ -4,6 +4,9 @@ require "cgi"
module Stripe
module Util
LEGAL_FIRST_CHARACTER = /[a-zA-Z_]/.freeze
LEGAL_VARIABLE_CHARACTER = /[a-zA-Z0-9_]/.freeze
def self.objects_to_ids(obj)
case obj
when APIResource
@ -315,6 +318,14 @@ module Stripe
end
end
# Return false for strings that are invalid variable names
# Does NOT expect there to be a preceding '@' for instance variables
def self.valid_variable_name?(key)
return false if key.empty? || key[0] !~ LEGAL_FIRST_CHARACTER
key[1..-1].chars.all? { |char| char =~ LEGAL_VARIABLE_CHARACTER }
end
def self.check_string_argument!(key)
raise TypeError, "argument must be a string" unless key.is_a?(String)

View File

@ -31022,199 +31022,6 @@ module Stripe
end
end
# typed: true
module Stripe
# The FX Quotes API provides three key functions:
# - View current exchange rates: The object shows Stripe's current exchange rate for any given currency pair.
# - Extended quotes: The API provides rate quotes valid for a 1-hour period or a 24-hour period, eliminating uncertainty from FX fluctuations.
# - View FX fees: The API provides information on the FX fees Stripe will charge on your FX transaction, allowing you to anticipate specific settlement amounts before payment costs.
class FxQuote < APIResource
class Rates < Stripe::StripeObject
class RateDetails < Stripe::StripeObject
# The rate for the currency pair.
sig { returns(Float) }
attr_reader :base_rate
# The fee for locking the conversion rates.
sig { returns(Float) }
attr_reader :duration_premium
# The FX fee for the currency pair.
sig { returns(Float) }
attr_reader :fx_fee_rate
# A reference rate for the currency pair provided by the reference rate provider.
sig { returns(T.nilable(Float)) }
attr_reader :reference_rate
# The reference rate provider.
sig { returns(T.nilable(String)) }
attr_reader :reference_rate_provider
end
# The rate that includes the FX fee rate.
sig { returns(Float) }
attr_reader :exchange_rate
# Attribute for field rate_details
sig { returns(RateDetails) }
attr_reader :rate_details
end
class Usage < Stripe::StripeObject
class Payment < Stripe::StripeObject
# The Stripe account ID that the funds will be transferred to.
#
# This field should match the account ID that would be used in the PaymentIntents transfer_data[destination] field.
sig { returns(T.nilable(String)) }
attr_reader :destination
# The Stripe account ID that these funds are intended for.
#
# This field must match the account ID that would be used in the PaymentIntents on_behalf_of field.
sig { returns(T.nilable(String)) }
attr_reader :on_behalf_of
end
class Transfer < Stripe::StripeObject
# The Stripe account ID that the funds will be transferred to.
#
# This field should match the account ID that would be used in the Transfers destination field.
sig { returns(String) }
attr_reader :destination
end
# The details required to use an FX Quote for a payment
sig { returns(T.nilable(Payment)) }
attr_reader :payment
# The details required to use an FX Quote for a transfer
sig { returns(T.nilable(Transfer)) }
attr_reader :transfer
# The transaction type for which the FX Quote will be used.
#
# Can be 'payment' or 'transfer'.
sig { returns(String) }
attr_reader :type
end
# Time at which the quote was created, measured in seconds since the Unix epoch.
sig { returns(Integer) }
attr_reader :created
# Unique identifier for the object.
sig { returns(String) }
attr_reader :id
# The duration the exchange rate quote remains valid from creation time. Allowed values are none, hour, and day. Note that for the test mode API available in alpha, you can request an extended quote, but it won't be usable for any transactions.
sig { returns(String) }
attr_reader :lock_duration
# Time at which the quote will expire, measured in seconds since the Unix epoch.
#
# If lock_duration is set to none this field will be set to null.
sig { returns(T.nilable(Integer)) }
attr_reader :lock_expires_at
# Lock status of the quote. Transitions from active to expired once past the lock_expires_at timestamp.
#
# Can return value none, active, or expired.
sig { returns(String) }
attr_reader :lock_status
# String representing the object's type. Objects of the same type share the same value.
sig { returns(String) }
attr_reader :object
# Information about the rates.
sig { returns(T::Hash[String, Rates]) }
attr_reader :rates
# The currency to convert into, typically this is the currency that you want to settle to your Stripe balance. Three-letter ISO currency code, in lowercase. Must be a supported currency.
sig { returns(String) }
attr_reader :to_currency
# Attribute for field usage
sig { returns(Usage) }
attr_reader :usage
class ListParams < Stripe::RequestParams
# 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.
sig { returns(T.nilable(String)) }
attr_accessor :ending_before
# Specifies which fields in the response should be expanded.
sig { returns(T.nilable(T::Array[String])) }
attr_accessor :expand
# A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
sig { returns(T.nilable(Integer)) }
attr_accessor :limit
# 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.
sig { returns(T.nilable(String)) }
attr_accessor :starting_after
sig {
params(ending_before: T.nilable(String), expand: T.nilable(T::Array[String]), limit: T.nilable(Integer), starting_after: T.nilable(String)).void
}
def initialize(ending_before: nil, expand: nil, limit: nil, starting_after: nil); end
end
class CreateParams < Stripe::RequestParams
class Usage < Stripe::RequestParams
class Payment < Stripe::RequestParams
# The Stripe account ID that the funds will be transferred to.
#
# This field should match the account ID that would be used in the PaymentIntents transfer_data[destination] field.
sig { returns(T.nilable(String)) }
attr_accessor :destination
# The Stripe account ID that these funds are intended for.
#
# This field should match the account ID that would be used in the PaymentIntents on_behalf_of field.
sig { returns(T.nilable(String)) }
attr_accessor :on_behalf_of
sig { params(destination: T.nilable(String), on_behalf_of: T.nilable(String)).void }
def initialize(destination: nil, on_behalf_of: nil); end
end
class Transfer < Stripe::RequestParams
# The Stripe account ID that the funds will be transferred to.
#
# This field should match the account ID that would be used in the Transfers destination field.
sig { returns(String) }
attr_accessor :destination
sig { params(destination: String).void }
def initialize(destination: nil); end
end
# The payment transaction details that are intended for the FX Quote.
sig { returns(T.nilable(::Stripe::FxQuote::CreateParams::Usage::Payment)) }
attr_accessor :payment
# The transfer transaction details that are intended for the FX Quote.
sig { returns(T.nilable(::Stripe::FxQuote::CreateParams::Usage::Transfer)) }
attr_accessor :transfer
# Which transaction the FX Quote will be used for
#
# Can be “payment” | “transfer”
sig { returns(String) }
attr_accessor :type
sig {
params(payment: T.nilable(::Stripe::FxQuote::CreateParams::Usage::Payment), transfer: T.nilable(::Stripe::FxQuote::CreateParams::Usage::Transfer), type: String).void
}
def initialize(payment: nil, transfer: nil, type: nil); end
end
# Specifies which fields in the response should be expanded.
sig { returns(T.nilable(T::Array[String])) }
attr_accessor :expand
# A list of three letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be [supported currencies](https://stripe.com/docs/currencies).
sig { returns(T::Array[String]) }
attr_accessor :from_currencies
# The duration that you wish the quote to be locked for. The quote will be usable for the duration specified. The default is `none`. The maximum is 1 day.
sig { returns(String) }
attr_accessor :lock_duration
# 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).
sig { returns(String) }
attr_accessor :to_currency
# The usage specific information for the quote.
sig { returns(T.nilable(::Stripe::FxQuote::CreateParams::Usage)) }
attr_accessor :usage
sig {
params(expand: T.nilable(T::Array[String]), from_currencies: T::Array[String], lock_duration: String, to_currency: String, usage: T.nilable(::Stripe::FxQuote::CreateParams::Usage)).void
}
def initialize(
expand: nil,
from_currencies: nil,
lock_duration: nil,
to_currency: nil,
usage: nil
); end
end
# Creates an FX Quote object
sig {
params(params: T.any(::Stripe::FxQuote::CreateParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::FxQuote)
}
def self.create(params = {}, opts = {}); end
# Returns a list of FX quotes that have been issued. The FX quotes are returned in sorted order, with the most recent FX quotes appearing first.
sig {
params(params: T.any(::Stripe::FxQuote::ListParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::ListObject)
}
def self.list(params = {}, opts = {}); end
end
end
# typed: true
module Stripe
module GiftCards
# A gift card represents a single gift card owned by a customer, including the
@ -52343,9 +52150,6 @@ module Stripe
# An arbitrary string attached to the object. Often useful for displaying to users.
sig { returns(T.nilable(String)) }
attr_reader :description
# The FX Quote used for the PaymentIntent.
sig { returns(T.nilable(String)) }
attr_reader :fx_quote
# Unique identifier for the object.
sig { returns(String) }
attr_reader :id
@ -56076,9 +55880,6 @@ module Stripe
# Specifies which fields in the response should be expanded.
sig { returns(T.nilable(T::Array[String])) }
attr_accessor :expand
# The FX rate in the quote is validated and used to convert the presentment amount to the settlement amount.
sig { returns(T.nilable(String)) }
attr_accessor :fx_quote
# ID of the mandate that's used for this payment. This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm).
sig { returns(T.nilable(String)) }
attr_accessor :mandate
@ -56161,7 +55962,7 @@ module Stripe
sig { returns(T.nilable(T::Boolean)) }
attr_accessor :use_stripe_sdk
sig {
params(amount: Integer, application_fee_amount: T.nilable(Integer), async_workflows: T.nilable(::Stripe::PaymentIntent::CreateParams::AsyncWorkflows), automatic_payment_methods: T.nilable(::Stripe::PaymentIntent::CreateParams::AutomaticPaymentMethods), capture_method: T.nilable(String), confirm: T.nilable(T::Boolean), confirmation_method: T.nilable(String), confirmation_token: T.nilable(String), currency: String, customer: T.nilable(String), customer_account: T.nilable(String), description: T.nilable(String), error_on_requires_action: T.nilable(T::Boolean), expand: T.nilable(T::Array[String]), fx_quote: T.nilable(String), mandate: T.nilable(String), mandate_data: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentIntent::CreateParams::MandateData))), metadata: T.nilable(T::Hash[String, String]), off_session: T.nilable(T.any(T::Boolean, String)), on_behalf_of: T.nilable(String), payment_details: T.nilable(::Stripe::PaymentIntent::CreateParams::PaymentDetails), payment_method: T.nilable(String), payment_method_configuration: T.nilable(String), payment_method_data: T.nilable(::Stripe::PaymentIntent::CreateParams::PaymentMethodData), payment_method_options: T.nilable(::Stripe::PaymentIntent::CreateParams::PaymentMethodOptions), payment_method_types: T.nilable(T::Array[String]), radar_options: T.nilable(::Stripe::PaymentIntent::CreateParams::RadarOptions), receipt_email: T.nilable(String), return_url: T.nilable(String), secret_key_confirmation: T.nilable(String), setup_future_usage: T.nilable(String), shipping: T.nilable(::Stripe::PaymentIntent::CreateParams::Shipping), statement_descriptor: T.nilable(String), statement_descriptor_suffix: T.nilable(String), transfer_data: T.nilable(::Stripe::PaymentIntent::CreateParams::TransferData), transfer_group: T.nilable(String), use_stripe_sdk: T.nilable(T::Boolean)).void
params(amount: Integer, application_fee_amount: T.nilable(Integer), async_workflows: T.nilable(::Stripe::PaymentIntent::CreateParams::AsyncWorkflows), automatic_payment_methods: T.nilable(::Stripe::PaymentIntent::CreateParams::AutomaticPaymentMethods), capture_method: T.nilable(String), confirm: T.nilable(T::Boolean), confirmation_method: T.nilable(String), confirmation_token: T.nilable(String), currency: String, customer: T.nilable(String), customer_account: T.nilable(String), description: T.nilable(String), error_on_requires_action: T.nilable(T::Boolean), expand: T.nilable(T::Array[String]), mandate: T.nilable(String), mandate_data: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentIntent::CreateParams::MandateData))), metadata: T.nilable(T::Hash[String, String]), off_session: T.nilable(T.any(T::Boolean, String)), on_behalf_of: T.nilable(String), payment_details: T.nilable(::Stripe::PaymentIntent::CreateParams::PaymentDetails), payment_method: T.nilable(String), payment_method_configuration: T.nilable(String), payment_method_data: T.nilable(::Stripe::PaymentIntent::CreateParams::PaymentMethodData), payment_method_options: T.nilable(::Stripe::PaymentIntent::CreateParams::PaymentMethodOptions), payment_method_types: T.nilable(T::Array[String]), radar_options: T.nilable(::Stripe::PaymentIntent::CreateParams::RadarOptions), receipt_email: T.nilable(String), return_url: T.nilable(String), secret_key_confirmation: T.nilable(String), setup_future_usage: T.nilable(String), shipping: T.nilable(::Stripe::PaymentIntent::CreateParams::Shipping), statement_descriptor: T.nilable(String), statement_descriptor_suffix: T.nilable(String), transfer_data: T.nilable(::Stripe::PaymentIntent::CreateParams::TransferData), transfer_group: T.nilable(String), use_stripe_sdk: T.nilable(T::Boolean)).void
}
def initialize(
amount: nil,
@ -56178,7 +55979,6 @@ module Stripe
description: nil,
error_on_requires_action: nil,
expand: nil,
fx_quote: nil,
mandate: nil,
mandate_data: nil,
metadata: nil,
@ -59733,9 +59533,6 @@ module Stripe
# Specifies which fields in the response should be expanded.
sig { returns(T.nilable(T::Array[String])) }
attr_accessor :expand
# The FX rate in the quote is validated and used to convert the presentment amount to the settlement amount.
sig { returns(T.nilable(String)) }
attr_accessor :fx_quote
# This hash contains details about the Mandate to create.
sig { returns(T.nilable(::Stripe::PaymentIntent::UpdateParams::MandateData)) }
attr_accessor :mandate_data
@ -59798,7 +59595,7 @@ module Stripe
sig { returns(T.nilable(String)) }
attr_accessor :transfer_group
sig {
params(amount: T.nilable(Integer), application_fee_amount: T.nilable(T.nilable(T.any(String, Integer))), async_workflows: T.nilable(::Stripe::PaymentIntent::UpdateParams::AsyncWorkflows), capture_method: T.nilable(String), currency: T.nilable(String), customer: T.nilable(String), customer_account: T.nilable(String), description: T.nilable(String), expand: T.nilable(T::Array[String]), fx_quote: T.nilable(String), mandate_data: T.nilable(::Stripe::PaymentIntent::UpdateParams::MandateData), metadata: T.nilable(T.nilable(T.any(String, T::Hash[String, String]))), payment_details: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentIntent::UpdateParams::PaymentDetails))), payment_method: T.nilable(String), payment_method_configuration: T.nilable(String), payment_method_data: T.nilable(::Stripe::PaymentIntent::UpdateParams::PaymentMethodData), payment_method_options: T.nilable(::Stripe::PaymentIntent::UpdateParams::PaymentMethodOptions), payment_method_types: T.nilable(T::Array[String]), receipt_email: T.nilable(T.nilable(String)), setup_future_usage: T.nilable(T.nilable(T.any(String, String))), shipping: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentIntent::UpdateParams::Shipping))), statement_descriptor: T.nilable(String), statement_descriptor_suffix: T.nilable(String), transfer_data: T.nilable(::Stripe::PaymentIntent::UpdateParams::TransferData), transfer_group: T.nilable(String)).void
params(amount: T.nilable(Integer), application_fee_amount: T.nilable(T.nilable(T.any(String, Integer))), async_workflows: T.nilable(::Stripe::PaymentIntent::UpdateParams::AsyncWorkflows), capture_method: T.nilable(String), currency: T.nilable(String), customer: T.nilable(String), customer_account: T.nilable(String), description: T.nilable(String), expand: T.nilable(T::Array[String]), mandate_data: T.nilable(::Stripe::PaymentIntent::UpdateParams::MandateData), metadata: T.nilable(T.nilable(T.any(String, T::Hash[String, String]))), payment_details: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentIntent::UpdateParams::PaymentDetails))), payment_method: T.nilable(String), payment_method_configuration: T.nilable(String), payment_method_data: T.nilable(::Stripe::PaymentIntent::UpdateParams::PaymentMethodData), payment_method_options: T.nilable(::Stripe::PaymentIntent::UpdateParams::PaymentMethodOptions), payment_method_types: T.nilable(T::Array[String]), receipt_email: T.nilable(T.nilable(String)), setup_future_usage: T.nilable(T.nilable(T.any(String, String))), shipping: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentIntent::UpdateParams::Shipping))), statement_descriptor: T.nilable(String), statement_descriptor_suffix: T.nilable(String), transfer_data: T.nilable(::Stripe::PaymentIntent::UpdateParams::TransferData), transfer_group: T.nilable(String)).void
}
def initialize(
amount: nil,
@ -59810,7 +59607,6 @@ module Stripe
customer_account: nil,
description: nil,
expand: nil,
fx_quote: nil,
mandate_data: nil,
metadata: nil,
payment_details: nil,
@ -64216,9 +64012,6 @@ module Stripe
# Specifies which fields in the response should be expanded.
sig { returns(T.nilable(T::Array[String])) }
attr_accessor :expand
# The FX rate in the quote is validated and used to convert the presentment amount to the settlement amount.
sig { returns(T.nilable(String)) }
attr_accessor :fx_quote
# ID of the mandate that's used for this payment.
sig { returns(T.nilable(String)) }
attr_accessor :mandate
@ -64280,7 +64073,7 @@ module Stripe
sig { returns(T.nilable(T::Boolean)) }
attr_accessor :use_stripe_sdk
sig {
params(application_fee_amount: T.nilable(T.nilable(T.any(String, Integer))), async_workflows: T.nilable(::Stripe::PaymentIntent::ConfirmParams::AsyncWorkflows), capture_method: T.nilable(String), confirmation_token: T.nilable(String), error_on_requires_action: T.nilable(T::Boolean), expand: T.nilable(T::Array[String]), fx_quote: T.nilable(String), mandate: T.nilable(String), mandate_data: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentIntent::ConfirmParams::MandateData))), off_session: T.nilable(T.any(T::Boolean, String)), payment_details: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentIntent::ConfirmParams::PaymentDetails))), payment_method: T.nilable(String), payment_method_data: T.nilable(::Stripe::PaymentIntent::ConfirmParams::PaymentMethodData), payment_method_options: T.nilable(::Stripe::PaymentIntent::ConfirmParams::PaymentMethodOptions), payment_method_types: T.nilable(T::Array[String]), radar_options: T.nilable(::Stripe::PaymentIntent::ConfirmParams::RadarOptions), receipt_email: T.nilable(T.nilable(String)), return_url: T.nilable(String), setup_future_usage: T.nilable(T.nilable(T.any(String, String))), shipping: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentIntent::ConfirmParams::Shipping))), use_stripe_sdk: T.nilable(T::Boolean)).void
params(application_fee_amount: T.nilable(T.nilable(T.any(String, Integer))), async_workflows: T.nilable(::Stripe::PaymentIntent::ConfirmParams::AsyncWorkflows), capture_method: T.nilable(String), confirmation_token: T.nilable(String), error_on_requires_action: T.nilable(T::Boolean), expand: T.nilable(T::Array[String]), mandate: T.nilable(String), mandate_data: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentIntent::ConfirmParams::MandateData))), off_session: T.nilable(T.any(T::Boolean, String)), payment_details: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentIntent::ConfirmParams::PaymentDetails))), payment_method: T.nilable(String), payment_method_data: T.nilable(::Stripe::PaymentIntent::ConfirmParams::PaymentMethodData), payment_method_options: T.nilable(::Stripe::PaymentIntent::ConfirmParams::PaymentMethodOptions), payment_method_types: T.nilable(T::Array[String]), radar_options: T.nilable(::Stripe::PaymentIntent::ConfirmParams::RadarOptions), receipt_email: T.nilable(T.nilable(String)), return_url: T.nilable(String), setup_future_usage: T.nilable(T.nilable(T.any(String, String))), shipping: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentIntent::ConfirmParams::Shipping))), use_stripe_sdk: T.nilable(T::Boolean)).void
}
def initialize(
application_fee_amount: nil,
@ -64289,7 +64082,6 @@ module Stripe
confirmation_token: nil,
error_on_requires_action: nil,
expand: nil,
fx_quote: nil,
mandate: nil,
mandate_data: nil,
off_session: nil,
@ -108642,7 +108434,6 @@ module Stripe
attr_reader :file_links
attr_reader :financial_connections
attr_reader :forwarding
attr_reader :fx_quotes
attr_reader :gift_cards
attr_reader :identity
attr_reader :invoices
@ -130080,120 +129871,6 @@ module Stripe
end
end
# typed: true
module Stripe
class FxQuoteService < StripeService
class ListParams < Stripe::RequestParams
# 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.
sig { returns(T.nilable(String)) }
attr_accessor :ending_before
# Specifies which fields in the response should be expanded.
sig { returns(T.nilable(T::Array[String])) }
attr_accessor :expand
# A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
sig { returns(T.nilable(Integer)) }
attr_accessor :limit
# 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.
sig { returns(T.nilable(String)) }
attr_accessor :starting_after
sig {
params(ending_before: T.nilable(String), expand: T.nilable(T::Array[String]), limit: T.nilable(Integer), starting_after: T.nilable(String)).void
}
def initialize(ending_before: nil, expand: nil, limit: nil, starting_after: nil); end
end
class CreateParams < Stripe::RequestParams
class Usage < Stripe::RequestParams
class Payment < Stripe::RequestParams
# The Stripe account ID that the funds will be transferred to.
#
# This field should match the account ID that would be used in the PaymentIntents transfer_data[destination] field.
sig { returns(T.nilable(String)) }
attr_accessor :destination
# The Stripe account ID that these funds are intended for.
#
# This field should match the account ID that would be used in the PaymentIntents on_behalf_of field.
sig { returns(T.nilable(String)) }
attr_accessor :on_behalf_of
sig { params(destination: T.nilable(String), on_behalf_of: T.nilable(String)).void }
def initialize(destination: nil, on_behalf_of: nil); end
end
class Transfer < Stripe::RequestParams
# The Stripe account ID that the funds will be transferred to.
#
# This field should match the account ID that would be used in the Transfers destination field.
sig { returns(String) }
attr_accessor :destination
sig { params(destination: String).void }
def initialize(destination: nil); end
end
# The payment transaction details that are intended for the FX Quote.
sig { returns(T.nilable(::Stripe::FxQuoteService::CreateParams::Usage::Payment)) }
attr_accessor :payment
# The transfer transaction details that are intended for the FX Quote.
sig { returns(T.nilable(::Stripe::FxQuoteService::CreateParams::Usage::Transfer)) }
attr_accessor :transfer
# Which transaction the FX Quote will be used for
#
# Can be “payment” | “transfer”
sig { returns(String) }
attr_accessor :type
sig {
params(payment: T.nilable(::Stripe::FxQuoteService::CreateParams::Usage::Payment), transfer: T.nilable(::Stripe::FxQuoteService::CreateParams::Usage::Transfer), type: String).void
}
def initialize(payment: nil, transfer: nil, type: nil); end
end
# Specifies which fields in the response should be expanded.
sig { returns(T.nilable(T::Array[String])) }
attr_accessor :expand
# A list of three letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be [supported currencies](https://stripe.com/docs/currencies).
sig { returns(T::Array[String]) }
attr_accessor :from_currencies
# The duration that you wish the quote to be locked for. The quote will be usable for the duration specified. The default is `none`. The maximum is 1 day.
sig { returns(String) }
attr_accessor :lock_duration
# 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).
sig { returns(String) }
attr_accessor :to_currency
# The usage specific information for the quote.
sig { returns(T.nilable(::Stripe::FxQuoteService::CreateParams::Usage)) }
attr_accessor :usage
sig {
params(expand: T.nilable(T::Array[String]), from_currencies: T::Array[String], lock_duration: String, to_currency: String, usage: T.nilable(::Stripe::FxQuoteService::CreateParams::Usage)).void
}
def initialize(
expand: nil,
from_currencies: nil,
lock_duration: nil,
to_currency: nil,
usage: nil
); end
end
class RetrieveParams < Stripe::RequestParams
# Specifies which fields in the response should be expanded.
sig { returns(T.nilable(T::Array[String])) }
attr_accessor :expand
sig { params(expand: T.nilable(T::Array[String])).void }
def initialize(expand: nil); end
end
# Creates an FX Quote object
sig {
params(params: T.any(::Stripe::FxQuoteService::CreateParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::FxQuote)
}
def create(params = {}, opts = {}); end
# Returns a list of FX quotes that have been issued. The FX quotes are returned in sorted order, with the most recent FX quotes appearing first.
sig {
params(params: T.any(::Stripe::FxQuoteService::ListParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::ListObject)
}
def list(params = {}, opts = {}); end
# Retrieve an FX Quote object
sig {
params(id: String, params: T.any(::Stripe::FxQuoteService::RetrieveParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::FxQuote)
}
def retrieve(id, params = {}, opts = {}); end
end
end
# typed: true
module Stripe
class GiftCardsService < StripeService
attr_reader :cards
@ -145226,9 +144903,6 @@ module Stripe
# Specifies which fields in the response should be expanded.
sig { returns(T.nilable(T::Array[String])) }
attr_accessor :expand
# The FX rate in the quote is validated and used to convert the presentment amount to the settlement amount.
sig { returns(T.nilable(String)) }
attr_accessor :fx_quote
# ID of the mandate that's used for this payment. This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm).
sig { returns(T.nilable(String)) }
attr_accessor :mandate
@ -145311,7 +144985,7 @@ module Stripe
sig { returns(T.nilable(T::Boolean)) }
attr_accessor :use_stripe_sdk
sig {
params(amount: Integer, application_fee_amount: T.nilable(Integer), async_workflows: T.nilable(::Stripe::PaymentIntentService::CreateParams::AsyncWorkflows), automatic_payment_methods: T.nilable(::Stripe::PaymentIntentService::CreateParams::AutomaticPaymentMethods), capture_method: T.nilable(String), confirm: T.nilable(T::Boolean), confirmation_method: T.nilable(String), confirmation_token: T.nilable(String), currency: String, customer: T.nilable(String), customer_account: T.nilable(String), description: T.nilable(String), error_on_requires_action: T.nilable(T::Boolean), expand: T.nilable(T::Array[String]), fx_quote: T.nilable(String), mandate: T.nilable(String), mandate_data: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentIntentService::CreateParams::MandateData))), metadata: T.nilable(T::Hash[String, String]), off_session: T.nilable(T.any(T::Boolean, String)), on_behalf_of: T.nilable(String), payment_details: T.nilable(::Stripe::PaymentIntentService::CreateParams::PaymentDetails), payment_method: T.nilable(String), payment_method_configuration: T.nilable(String), payment_method_data: T.nilable(::Stripe::PaymentIntentService::CreateParams::PaymentMethodData), payment_method_options: T.nilable(::Stripe::PaymentIntentService::CreateParams::PaymentMethodOptions), payment_method_types: T.nilable(T::Array[String]), radar_options: T.nilable(::Stripe::PaymentIntentService::CreateParams::RadarOptions), receipt_email: T.nilable(String), return_url: T.nilable(String), secret_key_confirmation: T.nilable(String), setup_future_usage: T.nilable(String), shipping: T.nilable(::Stripe::PaymentIntentService::CreateParams::Shipping), statement_descriptor: T.nilable(String), statement_descriptor_suffix: T.nilable(String), transfer_data: T.nilable(::Stripe::PaymentIntentService::CreateParams::TransferData), transfer_group: T.nilable(String), use_stripe_sdk: T.nilable(T::Boolean)).void
params(amount: Integer, application_fee_amount: T.nilable(Integer), async_workflows: T.nilable(::Stripe::PaymentIntentService::CreateParams::AsyncWorkflows), automatic_payment_methods: T.nilable(::Stripe::PaymentIntentService::CreateParams::AutomaticPaymentMethods), capture_method: T.nilable(String), confirm: T.nilable(T::Boolean), confirmation_method: T.nilable(String), confirmation_token: T.nilable(String), currency: String, customer: T.nilable(String), customer_account: T.nilable(String), description: T.nilable(String), error_on_requires_action: T.nilable(T::Boolean), expand: T.nilable(T::Array[String]), mandate: T.nilable(String), mandate_data: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentIntentService::CreateParams::MandateData))), metadata: T.nilable(T::Hash[String, String]), off_session: T.nilable(T.any(T::Boolean, String)), on_behalf_of: T.nilable(String), payment_details: T.nilable(::Stripe::PaymentIntentService::CreateParams::PaymentDetails), payment_method: T.nilable(String), payment_method_configuration: T.nilable(String), payment_method_data: T.nilable(::Stripe::PaymentIntentService::CreateParams::PaymentMethodData), payment_method_options: T.nilable(::Stripe::PaymentIntentService::CreateParams::PaymentMethodOptions), payment_method_types: T.nilable(T::Array[String]), radar_options: T.nilable(::Stripe::PaymentIntentService::CreateParams::RadarOptions), receipt_email: T.nilable(String), return_url: T.nilable(String), secret_key_confirmation: T.nilable(String), setup_future_usage: T.nilable(String), shipping: T.nilable(::Stripe::PaymentIntentService::CreateParams::Shipping), statement_descriptor: T.nilable(String), statement_descriptor_suffix: T.nilable(String), transfer_data: T.nilable(::Stripe::PaymentIntentService::CreateParams::TransferData), transfer_group: T.nilable(String), use_stripe_sdk: T.nilable(T::Boolean)).void
}
def initialize(
amount: nil,
@ -145328,7 +145002,6 @@ module Stripe
description: nil,
error_on_requires_action: nil,
expand: nil,
fx_quote: nil,
mandate: nil,
mandate_data: nil,
metadata: nil,
@ -148957,9 +148630,6 @@ module Stripe
# Specifies which fields in the response should be expanded.
sig { returns(T.nilable(T::Array[String])) }
attr_accessor :expand
# The FX rate in the quote is validated and used to convert the presentment amount to the settlement amount.
sig { returns(T.nilable(String)) }
attr_accessor :fx_quote
# This hash contains details about the Mandate to create.
sig { returns(T.nilable(::Stripe::PaymentIntentService::UpdateParams::MandateData)) }
attr_accessor :mandate_data
@ -149022,7 +148692,7 @@ module Stripe
sig { returns(T.nilable(String)) }
attr_accessor :transfer_group
sig {
params(amount: T.nilable(Integer), application_fee_amount: T.nilable(T.nilable(T.any(String, Integer))), async_workflows: T.nilable(::Stripe::PaymentIntentService::UpdateParams::AsyncWorkflows), capture_method: T.nilable(String), currency: T.nilable(String), customer: T.nilable(String), customer_account: T.nilable(String), description: T.nilable(String), expand: T.nilable(T::Array[String]), fx_quote: T.nilable(String), mandate_data: T.nilable(::Stripe::PaymentIntentService::UpdateParams::MandateData), metadata: T.nilable(T.nilable(T.any(String, T::Hash[String, String]))), payment_details: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentIntentService::UpdateParams::PaymentDetails))), payment_method: T.nilable(String), payment_method_configuration: T.nilable(String), payment_method_data: T.nilable(::Stripe::PaymentIntentService::UpdateParams::PaymentMethodData), payment_method_options: T.nilable(::Stripe::PaymentIntentService::UpdateParams::PaymentMethodOptions), payment_method_types: T.nilable(T::Array[String]), receipt_email: T.nilable(T.nilable(String)), setup_future_usage: T.nilable(T.nilable(T.any(String, String))), shipping: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentIntentService::UpdateParams::Shipping))), statement_descriptor: T.nilable(String), statement_descriptor_suffix: T.nilable(String), transfer_data: T.nilable(::Stripe::PaymentIntentService::UpdateParams::TransferData), transfer_group: T.nilable(String)).void
params(amount: T.nilable(Integer), application_fee_amount: T.nilable(T.nilable(T.any(String, Integer))), async_workflows: T.nilable(::Stripe::PaymentIntentService::UpdateParams::AsyncWorkflows), capture_method: T.nilable(String), currency: T.nilable(String), customer: T.nilable(String), customer_account: T.nilable(String), description: T.nilable(String), expand: T.nilable(T::Array[String]), mandate_data: T.nilable(::Stripe::PaymentIntentService::UpdateParams::MandateData), metadata: T.nilable(T.nilable(T.any(String, T::Hash[String, String]))), payment_details: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentIntentService::UpdateParams::PaymentDetails))), payment_method: T.nilable(String), payment_method_configuration: T.nilable(String), payment_method_data: T.nilable(::Stripe::PaymentIntentService::UpdateParams::PaymentMethodData), payment_method_options: T.nilable(::Stripe::PaymentIntentService::UpdateParams::PaymentMethodOptions), payment_method_types: T.nilable(T::Array[String]), receipt_email: T.nilable(T.nilable(String)), setup_future_usage: T.nilable(T.nilable(T.any(String, String))), shipping: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentIntentService::UpdateParams::Shipping))), statement_descriptor: T.nilable(String), statement_descriptor_suffix: T.nilable(String), transfer_data: T.nilable(::Stripe::PaymentIntentService::UpdateParams::TransferData), transfer_group: T.nilable(String)).void
}
def initialize(
amount: nil,
@ -149034,7 +148704,6 @@ module Stripe
customer_account: nil,
description: nil,
expand: nil,
fx_quote: nil,
mandate_data: nil,
metadata: nil,
payment_details: nil,
@ -153488,9 +153157,6 @@ module Stripe
# Specifies which fields in the response should be expanded.
sig { returns(T.nilable(T::Array[String])) }
attr_accessor :expand
# The FX rate in the quote is validated and used to convert the presentment amount to the settlement amount.
sig { returns(T.nilable(String)) }
attr_accessor :fx_quote
# ID of the mandate that's used for this payment.
sig { returns(T.nilable(String)) }
attr_accessor :mandate
@ -153554,7 +153220,7 @@ module Stripe
sig { returns(T.nilable(T::Boolean)) }
attr_accessor :use_stripe_sdk
sig {
params(application_fee_amount: T.nilable(T.nilable(T.any(String, Integer))), async_workflows: T.nilable(::Stripe::PaymentIntentService::ConfirmParams::AsyncWorkflows), capture_method: T.nilable(String), confirmation_token: T.nilable(String), error_on_requires_action: T.nilable(T::Boolean), expand: T.nilable(T::Array[String]), fx_quote: T.nilable(String), mandate: T.nilable(String), mandate_data: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentIntentService::ConfirmParams::MandateData))), off_session: T.nilable(T.any(T::Boolean, String)), payment_details: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentIntentService::ConfirmParams::PaymentDetails))), payment_method: T.nilable(String), payment_method_data: T.nilable(::Stripe::PaymentIntentService::ConfirmParams::PaymentMethodData), payment_method_options: T.nilable(::Stripe::PaymentIntentService::ConfirmParams::PaymentMethodOptions), payment_method_types: T.nilable(T::Array[String]), radar_options: T.nilable(::Stripe::PaymentIntentService::ConfirmParams::RadarOptions), receipt_email: T.nilable(T.nilable(String)), return_url: T.nilable(String), setup_future_usage: T.nilable(T.nilable(T.any(String, String))), shipping: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentIntentService::ConfirmParams::Shipping))), use_stripe_sdk: T.nilable(T::Boolean)).void
params(application_fee_amount: T.nilable(T.nilable(T.any(String, Integer))), async_workflows: T.nilable(::Stripe::PaymentIntentService::ConfirmParams::AsyncWorkflows), capture_method: T.nilable(String), confirmation_token: T.nilable(String), error_on_requires_action: T.nilable(T::Boolean), expand: T.nilable(T::Array[String]), mandate: T.nilable(String), mandate_data: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentIntentService::ConfirmParams::MandateData))), off_session: T.nilable(T.any(T::Boolean, String)), payment_details: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentIntentService::ConfirmParams::PaymentDetails))), payment_method: T.nilable(String), payment_method_data: T.nilable(::Stripe::PaymentIntentService::ConfirmParams::PaymentMethodData), payment_method_options: T.nilable(::Stripe::PaymentIntentService::ConfirmParams::PaymentMethodOptions), payment_method_types: T.nilable(T::Array[String]), radar_options: T.nilable(::Stripe::PaymentIntentService::ConfirmParams::RadarOptions), receipt_email: T.nilable(T.nilable(String)), return_url: T.nilable(String), setup_future_usage: T.nilable(T.nilable(T.any(String, String))), shipping: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentIntentService::ConfirmParams::Shipping))), use_stripe_sdk: T.nilable(T::Boolean)).void
}
def initialize(
application_fee_amount: nil,
@ -153563,7 +153229,6 @@ module Stripe
confirmation_token: nil,
error_on_requires_action: nil,
expand: nil,
fx_quote: nil,
mandate: nil,
mandate_data: nil,
off_session: nil,

View File

@ -1,196 +0,0 @@
# File generated from our OpenAPI spec
# frozen_string_literal: true
# typed: true
module Stripe
# The FX Quotes API provides three key functions:
# - View current exchange rates: The object shows Stripe's current exchange rate for any given currency pair.
# - Extended quotes: The API provides rate quotes valid for a 1-hour period or a 24-hour period, eliminating uncertainty from FX fluctuations.
# - View FX fees: The API provides information on the FX fees Stripe will charge on your FX transaction, allowing you to anticipate specific settlement amounts before payment costs.
class FxQuote < APIResource
class Rates < Stripe::StripeObject
class RateDetails < Stripe::StripeObject
# The rate for the currency pair.
sig { returns(Float) }
attr_reader :base_rate
# The fee for locking the conversion rates.
sig { returns(Float) }
attr_reader :duration_premium
# The FX fee for the currency pair.
sig { returns(Float) }
attr_reader :fx_fee_rate
# A reference rate for the currency pair provided by the reference rate provider.
sig { returns(T.nilable(Float)) }
attr_reader :reference_rate
# The reference rate provider.
sig { returns(T.nilable(String)) }
attr_reader :reference_rate_provider
end
# The rate that includes the FX fee rate.
sig { returns(Float) }
attr_reader :exchange_rate
# Attribute for field rate_details
sig { returns(RateDetails) }
attr_reader :rate_details
end
class Usage < Stripe::StripeObject
class Payment < Stripe::StripeObject
# The Stripe account ID that the funds will be transferred to.
#
# This field should match the account ID that would be used in the PaymentIntents transfer_data[destination] field.
sig { returns(T.nilable(String)) }
attr_reader :destination
# The Stripe account ID that these funds are intended for.
#
# This field must match the account ID that would be used in the PaymentIntents on_behalf_of field.
sig { returns(T.nilable(String)) }
attr_reader :on_behalf_of
end
class Transfer < Stripe::StripeObject
# The Stripe account ID that the funds will be transferred to.
#
# This field should match the account ID that would be used in the Transfers destination field.
sig { returns(String) }
attr_reader :destination
end
# The details required to use an FX Quote for a payment
sig { returns(T.nilable(Payment)) }
attr_reader :payment
# The details required to use an FX Quote for a transfer
sig { returns(T.nilable(Transfer)) }
attr_reader :transfer
# The transaction type for which the FX Quote will be used.
#
# Can be 'payment' or 'transfer'.
sig { returns(String) }
attr_reader :type
end
# Time at which the quote was created, measured in seconds since the Unix epoch.
sig { returns(Integer) }
attr_reader :created
# Unique identifier for the object.
sig { returns(String) }
attr_reader :id
# The duration the exchange rate quote remains valid from creation time. Allowed values are none, hour, and day. Note that for the test mode API available in alpha, you can request an extended quote, but it won't be usable for any transactions.
sig { returns(String) }
attr_reader :lock_duration
# Time at which the quote will expire, measured in seconds since the Unix epoch.
#
# If lock_duration is set to none this field will be set to null.
sig { returns(T.nilable(Integer)) }
attr_reader :lock_expires_at
# Lock status of the quote. Transitions from active to expired once past the lock_expires_at timestamp.
#
# Can return value none, active, or expired.
sig { returns(String) }
attr_reader :lock_status
# String representing the object's type. Objects of the same type share the same value.
sig { returns(String) }
attr_reader :object
# Information about the rates.
sig { returns(T::Hash[String, Rates]) }
attr_reader :rates
# The currency to convert into, typically this is the currency that you want to settle to your Stripe balance. Three-letter ISO currency code, in lowercase. Must be a supported currency.
sig { returns(String) }
attr_reader :to_currency
# Attribute for field usage
sig { returns(Usage) }
attr_reader :usage
class ListParams < Stripe::RequestParams
# 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.
sig { returns(T.nilable(String)) }
attr_accessor :ending_before
# Specifies which fields in the response should be expanded.
sig { returns(T.nilable(T::Array[String])) }
attr_accessor :expand
# A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
sig { returns(T.nilable(Integer)) }
attr_accessor :limit
# 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.
sig { returns(T.nilable(String)) }
attr_accessor :starting_after
sig {
params(ending_before: T.nilable(String), expand: T.nilable(T::Array[String]), limit: T.nilable(Integer), starting_after: T.nilable(String)).void
}
def initialize(ending_before: nil, expand: nil, limit: nil, starting_after: nil); end
end
class CreateParams < Stripe::RequestParams
class Usage < Stripe::RequestParams
class Payment < Stripe::RequestParams
# The Stripe account ID that the funds will be transferred to.
#
# This field should match the account ID that would be used in the PaymentIntents transfer_data[destination] field.
sig { returns(T.nilable(String)) }
attr_accessor :destination
# The Stripe account ID that these funds are intended for.
#
# This field should match the account ID that would be used in the PaymentIntents on_behalf_of field.
sig { returns(T.nilable(String)) }
attr_accessor :on_behalf_of
sig { params(destination: T.nilable(String), on_behalf_of: T.nilable(String)).void }
def initialize(destination: nil, on_behalf_of: nil); end
end
class Transfer < Stripe::RequestParams
# The Stripe account ID that the funds will be transferred to.
#
# This field should match the account ID that would be used in the Transfers destination field.
sig { returns(String) }
attr_accessor :destination
sig { params(destination: String).void }
def initialize(destination: nil); end
end
# The payment transaction details that are intended for the FX Quote.
sig { returns(T.nilable(::Stripe::FxQuote::CreateParams::Usage::Payment)) }
attr_accessor :payment
# The transfer transaction details that are intended for the FX Quote.
sig { returns(T.nilable(::Stripe::FxQuote::CreateParams::Usage::Transfer)) }
attr_accessor :transfer
# Which transaction the FX Quote will be used for
#
# Can be “payment” | “transfer”
sig { returns(String) }
attr_accessor :type
sig {
params(payment: T.nilable(::Stripe::FxQuote::CreateParams::Usage::Payment), transfer: T.nilable(::Stripe::FxQuote::CreateParams::Usage::Transfer), type: String).void
}
def initialize(payment: nil, transfer: nil, type: nil); end
end
# Specifies which fields in the response should be expanded.
sig { returns(T.nilable(T::Array[String])) }
attr_accessor :expand
# A list of three letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be [supported currencies](https://stripe.com/docs/currencies).
sig { returns(T::Array[String]) }
attr_accessor :from_currencies
# The duration that you wish the quote to be locked for. The quote will be usable for the duration specified. The default is `none`. The maximum is 1 day.
sig { returns(String) }
attr_accessor :lock_duration
# 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).
sig { returns(String) }
attr_accessor :to_currency
# The usage specific information for the quote.
sig { returns(T.nilable(::Stripe::FxQuote::CreateParams::Usage)) }
attr_accessor :usage
sig {
params(expand: T.nilable(T::Array[String]), from_currencies: T::Array[String], lock_duration: String, to_currency: String, usage: T.nilable(::Stripe::FxQuote::CreateParams::Usage)).void
}
def initialize(
expand: nil,
from_currencies: nil,
lock_duration: nil,
to_currency: nil,
usage: nil
); end
end
# Creates an FX Quote object
sig {
params(params: T.any(::Stripe::FxQuote::CreateParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::FxQuote)
}
def self.create(params = {}, opts = {}); end
# Returns a list of FX quotes that have been issued. The FX quotes are returned in sorted order, with the most recent FX quotes appearing first.
sig {
params(params: T.any(::Stripe::FxQuote::ListParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::ListObject)
}
def self.list(params = {}, opts = {}); end
end
end

View File

@ -2443,9 +2443,6 @@ module Stripe
# An arbitrary string attached to the object. Often useful for displaying to users.
sig { returns(T.nilable(String)) }
attr_reader :description
# The FX Quote used for the PaymentIntent.
sig { returns(T.nilable(String)) }
attr_reader :fx_quote
# Unique identifier for the object.
sig { returns(String) }
attr_reader :id
@ -6176,9 +6173,6 @@ module Stripe
# Specifies which fields in the response should be expanded.
sig { returns(T.nilable(T::Array[String])) }
attr_accessor :expand
# The FX rate in the quote is validated and used to convert the presentment amount to the settlement amount.
sig { returns(T.nilable(String)) }
attr_accessor :fx_quote
# ID of the mandate that's used for this payment. This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm).
sig { returns(T.nilable(String)) }
attr_accessor :mandate
@ -6261,7 +6255,7 @@ module Stripe
sig { returns(T.nilable(T::Boolean)) }
attr_accessor :use_stripe_sdk
sig {
params(amount: Integer, application_fee_amount: T.nilable(Integer), async_workflows: T.nilable(::Stripe::PaymentIntent::CreateParams::AsyncWorkflows), automatic_payment_methods: T.nilable(::Stripe::PaymentIntent::CreateParams::AutomaticPaymentMethods), capture_method: T.nilable(String), confirm: T.nilable(T::Boolean), confirmation_method: T.nilable(String), confirmation_token: T.nilable(String), currency: String, customer: T.nilable(String), customer_account: T.nilable(String), description: T.nilable(String), error_on_requires_action: T.nilable(T::Boolean), expand: T.nilable(T::Array[String]), fx_quote: T.nilable(String), mandate: T.nilable(String), mandate_data: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentIntent::CreateParams::MandateData))), metadata: T.nilable(T::Hash[String, String]), off_session: T.nilable(T.any(T::Boolean, String)), on_behalf_of: T.nilable(String), payment_details: T.nilable(::Stripe::PaymentIntent::CreateParams::PaymentDetails), payment_method: T.nilable(String), payment_method_configuration: T.nilable(String), payment_method_data: T.nilable(::Stripe::PaymentIntent::CreateParams::PaymentMethodData), payment_method_options: T.nilable(::Stripe::PaymentIntent::CreateParams::PaymentMethodOptions), payment_method_types: T.nilable(T::Array[String]), radar_options: T.nilable(::Stripe::PaymentIntent::CreateParams::RadarOptions), receipt_email: T.nilable(String), return_url: T.nilable(String), secret_key_confirmation: T.nilable(String), setup_future_usage: T.nilable(String), shipping: T.nilable(::Stripe::PaymentIntent::CreateParams::Shipping), statement_descriptor: T.nilable(String), statement_descriptor_suffix: T.nilable(String), transfer_data: T.nilable(::Stripe::PaymentIntent::CreateParams::TransferData), transfer_group: T.nilable(String), use_stripe_sdk: T.nilable(T::Boolean)).void
params(amount: Integer, application_fee_amount: T.nilable(Integer), async_workflows: T.nilable(::Stripe::PaymentIntent::CreateParams::AsyncWorkflows), automatic_payment_methods: T.nilable(::Stripe::PaymentIntent::CreateParams::AutomaticPaymentMethods), capture_method: T.nilable(String), confirm: T.nilable(T::Boolean), confirmation_method: T.nilable(String), confirmation_token: T.nilable(String), currency: String, customer: T.nilable(String), customer_account: T.nilable(String), description: T.nilable(String), error_on_requires_action: T.nilable(T::Boolean), expand: T.nilable(T::Array[String]), mandate: T.nilable(String), mandate_data: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentIntent::CreateParams::MandateData))), metadata: T.nilable(T::Hash[String, String]), off_session: T.nilable(T.any(T::Boolean, String)), on_behalf_of: T.nilable(String), payment_details: T.nilable(::Stripe::PaymentIntent::CreateParams::PaymentDetails), payment_method: T.nilable(String), payment_method_configuration: T.nilable(String), payment_method_data: T.nilable(::Stripe::PaymentIntent::CreateParams::PaymentMethodData), payment_method_options: T.nilable(::Stripe::PaymentIntent::CreateParams::PaymentMethodOptions), payment_method_types: T.nilable(T::Array[String]), radar_options: T.nilable(::Stripe::PaymentIntent::CreateParams::RadarOptions), receipt_email: T.nilable(String), return_url: T.nilable(String), secret_key_confirmation: T.nilable(String), setup_future_usage: T.nilable(String), shipping: T.nilable(::Stripe::PaymentIntent::CreateParams::Shipping), statement_descriptor: T.nilable(String), statement_descriptor_suffix: T.nilable(String), transfer_data: T.nilable(::Stripe::PaymentIntent::CreateParams::TransferData), transfer_group: T.nilable(String), use_stripe_sdk: T.nilable(T::Boolean)).void
}
def initialize(
amount: nil,
@ -6278,7 +6272,6 @@ module Stripe
description: nil,
error_on_requires_action: nil,
expand: nil,
fx_quote: nil,
mandate: nil,
mandate_data: nil,
metadata: nil,
@ -9833,9 +9826,6 @@ module Stripe
# Specifies which fields in the response should be expanded.
sig { returns(T.nilable(T::Array[String])) }
attr_accessor :expand
# The FX rate in the quote is validated and used to convert the presentment amount to the settlement amount.
sig { returns(T.nilable(String)) }
attr_accessor :fx_quote
# This hash contains details about the Mandate to create.
sig { returns(T.nilable(::Stripe::PaymentIntent::UpdateParams::MandateData)) }
attr_accessor :mandate_data
@ -9898,7 +9888,7 @@ module Stripe
sig { returns(T.nilable(String)) }
attr_accessor :transfer_group
sig {
params(amount: T.nilable(Integer), application_fee_amount: T.nilable(T.nilable(T.any(String, Integer))), async_workflows: T.nilable(::Stripe::PaymentIntent::UpdateParams::AsyncWorkflows), capture_method: T.nilable(String), currency: T.nilable(String), customer: T.nilable(String), customer_account: T.nilable(String), description: T.nilable(String), expand: T.nilable(T::Array[String]), fx_quote: T.nilable(String), mandate_data: T.nilable(::Stripe::PaymentIntent::UpdateParams::MandateData), metadata: T.nilable(T.nilable(T.any(String, T::Hash[String, String]))), payment_details: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentIntent::UpdateParams::PaymentDetails))), payment_method: T.nilable(String), payment_method_configuration: T.nilable(String), payment_method_data: T.nilable(::Stripe::PaymentIntent::UpdateParams::PaymentMethodData), payment_method_options: T.nilable(::Stripe::PaymentIntent::UpdateParams::PaymentMethodOptions), payment_method_types: T.nilable(T::Array[String]), receipt_email: T.nilable(T.nilable(String)), setup_future_usage: T.nilable(T.nilable(T.any(String, String))), shipping: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentIntent::UpdateParams::Shipping))), statement_descriptor: T.nilable(String), statement_descriptor_suffix: T.nilable(String), transfer_data: T.nilable(::Stripe::PaymentIntent::UpdateParams::TransferData), transfer_group: T.nilable(String)).void
params(amount: T.nilable(Integer), application_fee_amount: T.nilable(T.nilable(T.any(String, Integer))), async_workflows: T.nilable(::Stripe::PaymentIntent::UpdateParams::AsyncWorkflows), capture_method: T.nilable(String), currency: T.nilable(String), customer: T.nilable(String), customer_account: T.nilable(String), description: T.nilable(String), expand: T.nilable(T::Array[String]), mandate_data: T.nilable(::Stripe::PaymentIntent::UpdateParams::MandateData), metadata: T.nilable(T.nilable(T.any(String, T::Hash[String, String]))), payment_details: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentIntent::UpdateParams::PaymentDetails))), payment_method: T.nilable(String), payment_method_configuration: T.nilable(String), payment_method_data: T.nilable(::Stripe::PaymentIntent::UpdateParams::PaymentMethodData), payment_method_options: T.nilable(::Stripe::PaymentIntent::UpdateParams::PaymentMethodOptions), payment_method_types: T.nilable(T::Array[String]), receipt_email: T.nilable(T.nilable(String)), setup_future_usage: T.nilable(T.nilable(T.any(String, String))), shipping: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentIntent::UpdateParams::Shipping))), statement_descriptor: T.nilable(String), statement_descriptor_suffix: T.nilable(String), transfer_data: T.nilable(::Stripe::PaymentIntent::UpdateParams::TransferData), transfer_group: T.nilable(String)).void
}
def initialize(
amount: nil,
@ -9910,7 +9900,6 @@ module Stripe
customer_account: nil,
description: nil,
expand: nil,
fx_quote: nil,
mandate_data: nil,
metadata: nil,
payment_details: nil,
@ -14316,9 +14305,6 @@ module Stripe
# Specifies which fields in the response should be expanded.
sig { returns(T.nilable(T::Array[String])) }
attr_accessor :expand
# The FX rate in the quote is validated and used to convert the presentment amount to the settlement amount.
sig { returns(T.nilable(String)) }
attr_accessor :fx_quote
# ID of the mandate that's used for this payment.
sig { returns(T.nilable(String)) }
attr_accessor :mandate
@ -14380,7 +14366,7 @@ module Stripe
sig { returns(T.nilable(T::Boolean)) }
attr_accessor :use_stripe_sdk
sig {
params(application_fee_amount: T.nilable(T.nilable(T.any(String, Integer))), async_workflows: T.nilable(::Stripe::PaymentIntent::ConfirmParams::AsyncWorkflows), capture_method: T.nilable(String), confirmation_token: T.nilable(String), error_on_requires_action: T.nilable(T::Boolean), expand: T.nilable(T::Array[String]), fx_quote: T.nilable(String), mandate: T.nilable(String), mandate_data: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentIntent::ConfirmParams::MandateData))), off_session: T.nilable(T.any(T::Boolean, String)), payment_details: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentIntent::ConfirmParams::PaymentDetails))), payment_method: T.nilable(String), payment_method_data: T.nilable(::Stripe::PaymentIntent::ConfirmParams::PaymentMethodData), payment_method_options: T.nilable(::Stripe::PaymentIntent::ConfirmParams::PaymentMethodOptions), payment_method_types: T.nilable(T::Array[String]), radar_options: T.nilable(::Stripe::PaymentIntent::ConfirmParams::RadarOptions), receipt_email: T.nilable(T.nilable(String)), return_url: T.nilable(String), setup_future_usage: T.nilable(T.nilable(T.any(String, String))), shipping: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentIntent::ConfirmParams::Shipping))), use_stripe_sdk: T.nilable(T::Boolean)).void
params(application_fee_amount: T.nilable(T.nilable(T.any(String, Integer))), async_workflows: T.nilable(::Stripe::PaymentIntent::ConfirmParams::AsyncWorkflows), capture_method: T.nilable(String), confirmation_token: T.nilable(String), error_on_requires_action: T.nilable(T::Boolean), expand: T.nilable(T::Array[String]), mandate: T.nilable(String), mandate_data: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentIntent::ConfirmParams::MandateData))), off_session: T.nilable(T.any(T::Boolean, String)), payment_details: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentIntent::ConfirmParams::PaymentDetails))), payment_method: T.nilable(String), payment_method_data: T.nilable(::Stripe::PaymentIntent::ConfirmParams::PaymentMethodData), payment_method_options: T.nilable(::Stripe::PaymentIntent::ConfirmParams::PaymentMethodOptions), payment_method_types: T.nilable(T::Array[String]), radar_options: T.nilable(::Stripe::PaymentIntent::ConfirmParams::RadarOptions), receipt_email: T.nilable(T.nilable(String)), return_url: T.nilable(String), setup_future_usage: T.nilable(T.nilable(T.any(String, String))), shipping: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentIntent::ConfirmParams::Shipping))), use_stripe_sdk: T.nilable(T::Boolean)).void
}
def initialize(
application_fee_amount: nil,
@ -14389,7 +14375,6 @@ module Stripe
confirmation_token: nil,
error_on_requires_action: nil,
expand: nil,
fx_quote: nil,
mandate: nil,
mandate_data: nil,
off_session: nil,

View File

@ -1,117 +0,0 @@
# File generated from our OpenAPI spec
# frozen_string_literal: true
# typed: true
module Stripe
class FxQuoteService < StripeService
class ListParams < Stripe::RequestParams
# 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.
sig { returns(T.nilable(String)) }
attr_accessor :ending_before
# Specifies which fields in the response should be expanded.
sig { returns(T.nilable(T::Array[String])) }
attr_accessor :expand
# A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
sig { returns(T.nilable(Integer)) }
attr_accessor :limit
# 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.
sig { returns(T.nilable(String)) }
attr_accessor :starting_after
sig {
params(ending_before: T.nilable(String), expand: T.nilable(T::Array[String]), limit: T.nilable(Integer), starting_after: T.nilable(String)).void
}
def initialize(ending_before: nil, expand: nil, limit: nil, starting_after: nil); end
end
class CreateParams < Stripe::RequestParams
class Usage < Stripe::RequestParams
class Payment < Stripe::RequestParams
# The Stripe account ID that the funds will be transferred to.
#
# This field should match the account ID that would be used in the PaymentIntents transfer_data[destination] field.
sig { returns(T.nilable(String)) }
attr_accessor :destination
# The Stripe account ID that these funds are intended for.
#
# This field should match the account ID that would be used in the PaymentIntents on_behalf_of field.
sig { returns(T.nilable(String)) }
attr_accessor :on_behalf_of
sig { params(destination: T.nilable(String), on_behalf_of: T.nilable(String)).void }
def initialize(destination: nil, on_behalf_of: nil); end
end
class Transfer < Stripe::RequestParams
# The Stripe account ID that the funds will be transferred to.
#
# This field should match the account ID that would be used in the Transfers destination field.
sig { returns(String) }
attr_accessor :destination
sig { params(destination: String).void }
def initialize(destination: nil); end
end
# The payment transaction details that are intended for the FX Quote.
sig { returns(T.nilable(::Stripe::FxQuoteService::CreateParams::Usage::Payment)) }
attr_accessor :payment
# The transfer transaction details that are intended for the FX Quote.
sig { returns(T.nilable(::Stripe::FxQuoteService::CreateParams::Usage::Transfer)) }
attr_accessor :transfer
# Which transaction the FX Quote will be used for
#
# Can be “payment” | “transfer”
sig { returns(String) }
attr_accessor :type
sig {
params(payment: T.nilable(::Stripe::FxQuoteService::CreateParams::Usage::Payment), transfer: T.nilable(::Stripe::FxQuoteService::CreateParams::Usage::Transfer), type: String).void
}
def initialize(payment: nil, transfer: nil, type: nil); end
end
# Specifies which fields in the response should be expanded.
sig { returns(T.nilable(T::Array[String])) }
attr_accessor :expand
# A list of three letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be [supported currencies](https://stripe.com/docs/currencies).
sig { returns(T::Array[String]) }
attr_accessor :from_currencies
# The duration that you wish the quote to be locked for. The quote will be usable for the duration specified. The default is `none`. The maximum is 1 day.
sig { returns(String) }
attr_accessor :lock_duration
# 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).
sig { returns(String) }
attr_accessor :to_currency
# The usage specific information for the quote.
sig { returns(T.nilable(::Stripe::FxQuoteService::CreateParams::Usage)) }
attr_accessor :usage
sig {
params(expand: T.nilable(T::Array[String]), from_currencies: T::Array[String], lock_duration: String, to_currency: String, usage: T.nilable(::Stripe::FxQuoteService::CreateParams::Usage)).void
}
def initialize(
expand: nil,
from_currencies: nil,
lock_duration: nil,
to_currency: nil,
usage: nil
); end
end
class RetrieveParams < Stripe::RequestParams
# Specifies which fields in the response should be expanded.
sig { returns(T.nilable(T::Array[String])) }
attr_accessor :expand
sig { params(expand: T.nilable(T::Array[String])).void }
def initialize(expand: nil); end
end
# Creates an FX Quote object
sig {
params(params: T.any(::Stripe::FxQuoteService::CreateParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::FxQuote)
}
def create(params = {}, opts = {}); end
# Returns a list of FX quotes that have been issued. The FX quotes are returned in sorted order, with the most recent FX quotes appearing first.
sig {
params(params: T.any(::Stripe::FxQuoteService::ListParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::ListObject)
}
def list(params = {}, opts = {}); end
# Retrieve an FX Quote object
sig {
params(id: String, params: T.any(::Stripe::FxQuoteService::RetrieveParams, T::Hash[T.untyped, T.untyped]), opts: T.untyped).returns(Stripe::FxQuote)
}
def retrieve(id, params = {}, opts = {}); end
end
end

View File

@ -3714,9 +3714,6 @@ module Stripe
# Specifies which fields in the response should be expanded.
sig { returns(T.nilable(T::Array[String])) }
attr_accessor :expand
# The FX rate in the quote is validated and used to convert the presentment amount to the settlement amount.
sig { returns(T.nilable(String)) }
attr_accessor :fx_quote
# ID of the mandate that's used for this payment. This parameter can only be used with [`confirm=true`](https://stripe.com/docs/api/payment_intents/create#create_payment_intent-confirm).
sig { returns(T.nilable(String)) }
attr_accessor :mandate
@ -3799,7 +3796,7 @@ module Stripe
sig { returns(T.nilable(T::Boolean)) }
attr_accessor :use_stripe_sdk
sig {
params(amount: Integer, application_fee_amount: T.nilable(Integer), async_workflows: T.nilable(::Stripe::PaymentIntentService::CreateParams::AsyncWorkflows), automatic_payment_methods: T.nilable(::Stripe::PaymentIntentService::CreateParams::AutomaticPaymentMethods), capture_method: T.nilable(String), confirm: T.nilable(T::Boolean), confirmation_method: T.nilable(String), confirmation_token: T.nilable(String), currency: String, customer: T.nilable(String), customer_account: T.nilable(String), description: T.nilable(String), error_on_requires_action: T.nilable(T::Boolean), expand: T.nilable(T::Array[String]), fx_quote: T.nilable(String), mandate: T.nilable(String), mandate_data: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentIntentService::CreateParams::MandateData))), metadata: T.nilable(T::Hash[String, String]), off_session: T.nilable(T.any(T::Boolean, String)), on_behalf_of: T.nilable(String), payment_details: T.nilable(::Stripe::PaymentIntentService::CreateParams::PaymentDetails), payment_method: T.nilable(String), payment_method_configuration: T.nilable(String), payment_method_data: T.nilable(::Stripe::PaymentIntentService::CreateParams::PaymentMethodData), payment_method_options: T.nilable(::Stripe::PaymentIntentService::CreateParams::PaymentMethodOptions), payment_method_types: T.nilable(T::Array[String]), radar_options: T.nilable(::Stripe::PaymentIntentService::CreateParams::RadarOptions), receipt_email: T.nilable(String), return_url: T.nilable(String), secret_key_confirmation: T.nilable(String), setup_future_usage: T.nilable(String), shipping: T.nilable(::Stripe::PaymentIntentService::CreateParams::Shipping), statement_descriptor: T.nilable(String), statement_descriptor_suffix: T.nilable(String), transfer_data: T.nilable(::Stripe::PaymentIntentService::CreateParams::TransferData), transfer_group: T.nilable(String), use_stripe_sdk: T.nilable(T::Boolean)).void
params(amount: Integer, application_fee_amount: T.nilable(Integer), async_workflows: T.nilable(::Stripe::PaymentIntentService::CreateParams::AsyncWorkflows), automatic_payment_methods: T.nilable(::Stripe::PaymentIntentService::CreateParams::AutomaticPaymentMethods), capture_method: T.nilable(String), confirm: T.nilable(T::Boolean), confirmation_method: T.nilable(String), confirmation_token: T.nilable(String), currency: String, customer: T.nilable(String), customer_account: T.nilable(String), description: T.nilable(String), error_on_requires_action: T.nilable(T::Boolean), expand: T.nilable(T::Array[String]), mandate: T.nilable(String), mandate_data: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentIntentService::CreateParams::MandateData))), metadata: T.nilable(T::Hash[String, String]), off_session: T.nilable(T.any(T::Boolean, String)), on_behalf_of: T.nilable(String), payment_details: T.nilable(::Stripe::PaymentIntentService::CreateParams::PaymentDetails), payment_method: T.nilable(String), payment_method_configuration: T.nilable(String), payment_method_data: T.nilable(::Stripe::PaymentIntentService::CreateParams::PaymentMethodData), payment_method_options: T.nilable(::Stripe::PaymentIntentService::CreateParams::PaymentMethodOptions), payment_method_types: T.nilable(T::Array[String]), radar_options: T.nilable(::Stripe::PaymentIntentService::CreateParams::RadarOptions), receipt_email: T.nilable(String), return_url: T.nilable(String), secret_key_confirmation: T.nilable(String), setup_future_usage: T.nilable(String), shipping: T.nilable(::Stripe::PaymentIntentService::CreateParams::Shipping), statement_descriptor: T.nilable(String), statement_descriptor_suffix: T.nilable(String), transfer_data: T.nilable(::Stripe::PaymentIntentService::CreateParams::TransferData), transfer_group: T.nilable(String), use_stripe_sdk: T.nilable(T::Boolean)).void
}
def initialize(
amount: nil,
@ -3816,7 +3813,6 @@ module Stripe
description: nil,
error_on_requires_action: nil,
expand: nil,
fx_quote: nil,
mandate: nil,
mandate_data: nil,
metadata: nil,
@ -7445,9 +7441,6 @@ module Stripe
# Specifies which fields in the response should be expanded.
sig { returns(T.nilable(T::Array[String])) }
attr_accessor :expand
# The FX rate in the quote is validated and used to convert the presentment amount to the settlement amount.
sig { returns(T.nilable(String)) }
attr_accessor :fx_quote
# This hash contains details about the Mandate to create.
sig { returns(T.nilable(::Stripe::PaymentIntentService::UpdateParams::MandateData)) }
attr_accessor :mandate_data
@ -7510,7 +7503,7 @@ module Stripe
sig { returns(T.nilable(String)) }
attr_accessor :transfer_group
sig {
params(amount: T.nilable(Integer), application_fee_amount: T.nilable(T.nilable(T.any(String, Integer))), async_workflows: T.nilable(::Stripe::PaymentIntentService::UpdateParams::AsyncWorkflows), capture_method: T.nilable(String), currency: T.nilable(String), customer: T.nilable(String), customer_account: T.nilable(String), description: T.nilable(String), expand: T.nilable(T::Array[String]), fx_quote: T.nilable(String), mandate_data: T.nilable(::Stripe::PaymentIntentService::UpdateParams::MandateData), metadata: T.nilable(T.nilable(T.any(String, T::Hash[String, String]))), payment_details: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentIntentService::UpdateParams::PaymentDetails))), payment_method: T.nilable(String), payment_method_configuration: T.nilable(String), payment_method_data: T.nilable(::Stripe::PaymentIntentService::UpdateParams::PaymentMethodData), payment_method_options: T.nilable(::Stripe::PaymentIntentService::UpdateParams::PaymentMethodOptions), payment_method_types: T.nilable(T::Array[String]), receipt_email: T.nilable(T.nilable(String)), setup_future_usage: T.nilable(T.nilable(T.any(String, String))), shipping: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentIntentService::UpdateParams::Shipping))), statement_descriptor: T.nilable(String), statement_descriptor_suffix: T.nilable(String), transfer_data: T.nilable(::Stripe::PaymentIntentService::UpdateParams::TransferData), transfer_group: T.nilable(String)).void
params(amount: T.nilable(Integer), application_fee_amount: T.nilable(T.nilable(T.any(String, Integer))), async_workflows: T.nilable(::Stripe::PaymentIntentService::UpdateParams::AsyncWorkflows), capture_method: T.nilable(String), currency: T.nilable(String), customer: T.nilable(String), customer_account: T.nilable(String), description: T.nilable(String), expand: T.nilable(T::Array[String]), mandate_data: T.nilable(::Stripe::PaymentIntentService::UpdateParams::MandateData), metadata: T.nilable(T.nilable(T.any(String, T::Hash[String, String]))), payment_details: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentIntentService::UpdateParams::PaymentDetails))), payment_method: T.nilable(String), payment_method_configuration: T.nilable(String), payment_method_data: T.nilable(::Stripe::PaymentIntentService::UpdateParams::PaymentMethodData), payment_method_options: T.nilable(::Stripe::PaymentIntentService::UpdateParams::PaymentMethodOptions), payment_method_types: T.nilable(T::Array[String]), receipt_email: T.nilable(T.nilable(String)), setup_future_usage: T.nilable(T.nilable(T.any(String, String))), shipping: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentIntentService::UpdateParams::Shipping))), statement_descriptor: T.nilable(String), statement_descriptor_suffix: T.nilable(String), transfer_data: T.nilable(::Stripe::PaymentIntentService::UpdateParams::TransferData), transfer_group: T.nilable(String)).void
}
def initialize(
amount: nil,
@ -7522,7 +7515,6 @@ module Stripe
customer_account: nil,
description: nil,
expand: nil,
fx_quote: nil,
mandate_data: nil,
metadata: nil,
payment_details: nil,
@ -11976,9 +11968,6 @@ module Stripe
# Specifies which fields in the response should be expanded.
sig { returns(T.nilable(T::Array[String])) }
attr_accessor :expand
# The FX rate in the quote is validated and used to convert the presentment amount to the settlement amount.
sig { returns(T.nilable(String)) }
attr_accessor :fx_quote
# ID of the mandate that's used for this payment.
sig { returns(T.nilable(String)) }
attr_accessor :mandate
@ -12042,7 +12031,7 @@ module Stripe
sig { returns(T.nilable(T::Boolean)) }
attr_accessor :use_stripe_sdk
sig {
params(application_fee_amount: T.nilable(T.nilable(T.any(String, Integer))), async_workflows: T.nilable(::Stripe::PaymentIntentService::ConfirmParams::AsyncWorkflows), capture_method: T.nilable(String), confirmation_token: T.nilable(String), error_on_requires_action: T.nilable(T::Boolean), expand: T.nilable(T::Array[String]), fx_quote: T.nilable(String), mandate: T.nilable(String), mandate_data: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentIntentService::ConfirmParams::MandateData))), off_session: T.nilable(T.any(T::Boolean, String)), payment_details: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentIntentService::ConfirmParams::PaymentDetails))), payment_method: T.nilable(String), payment_method_data: T.nilable(::Stripe::PaymentIntentService::ConfirmParams::PaymentMethodData), payment_method_options: T.nilable(::Stripe::PaymentIntentService::ConfirmParams::PaymentMethodOptions), payment_method_types: T.nilable(T::Array[String]), radar_options: T.nilable(::Stripe::PaymentIntentService::ConfirmParams::RadarOptions), receipt_email: T.nilable(T.nilable(String)), return_url: T.nilable(String), setup_future_usage: T.nilable(T.nilable(T.any(String, String))), shipping: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentIntentService::ConfirmParams::Shipping))), use_stripe_sdk: T.nilable(T::Boolean)).void
params(application_fee_amount: T.nilable(T.nilable(T.any(String, Integer))), async_workflows: T.nilable(::Stripe::PaymentIntentService::ConfirmParams::AsyncWorkflows), capture_method: T.nilable(String), confirmation_token: T.nilable(String), error_on_requires_action: T.nilable(T::Boolean), expand: T.nilable(T::Array[String]), mandate: T.nilable(String), mandate_data: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentIntentService::ConfirmParams::MandateData))), off_session: T.nilable(T.any(T::Boolean, String)), payment_details: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentIntentService::ConfirmParams::PaymentDetails))), payment_method: T.nilable(String), payment_method_data: T.nilable(::Stripe::PaymentIntentService::ConfirmParams::PaymentMethodData), payment_method_options: T.nilable(::Stripe::PaymentIntentService::ConfirmParams::PaymentMethodOptions), payment_method_types: T.nilable(T::Array[String]), radar_options: T.nilable(::Stripe::PaymentIntentService::ConfirmParams::RadarOptions), receipt_email: T.nilable(T.nilable(String)), return_url: T.nilable(String), setup_future_usage: T.nilable(T.nilable(T.any(String, String))), shipping: T.nilable(T.nilable(T.any(String, ::Stripe::PaymentIntentService::ConfirmParams::Shipping))), use_stripe_sdk: T.nilable(T::Boolean)).void
}
def initialize(
application_fee_amount: nil,
@ -12051,7 +12040,6 @@ module Stripe
confirmation_token: nil,
error_on_requires_action: nil,
expand: nil,
fx_quote: nil,
mandate: nil,
mandate_data: nil,
off_session: nil,

View File

@ -36,7 +36,6 @@ module Stripe
attr_reader :file_links
attr_reader :financial_connections
attr_reader :forwarding
attr_reader :fx_quotes
attr_reader :gift_cards
attr_reader :identity
attr_reader :invoices

View File

@ -238,6 +238,13 @@ module Stripe
assert_equal true, obj.send(:metaclass).method_defined?(:foo)
end
should "nonstandard keys in response hashes work" do
stub_request(:post, "#{Stripe.api_base}/v1/customers")
.to_return(body: JSON.generate(object: "customer", email: "test@example.com", metadata: { "this-is?a.test" => "foo" }))
c = Stripe::Customer.create({ email: "test@example.com", metadata: { "this-is?a.test" => "foo" } })
assert_equal "foo", c.metadata["this-is?a.test"]
end
should "pass opts down to children when initializing" do
opts = { custom: "opts" }

View File

@ -325,6 +325,21 @@ module Stripe
end
end
context ".valid_variable_name?" do
should "reject invalid variable name" do
assert Util.valid_variable_name?("FOOfoo")
assert Util.valid_variable_name?("foo123")
assert Util.valid_variable_name?("foo_123_")
assert Util.valid_variable_name?("_123_foo")
refute Util.valid_variable_name?("123foo")
refute Util.valid_variable_name?("foo-bar")
refute Util.valid_variable_name?("foo?bar")
refute Util.valid_variable_name?("foo!bar")
refute Util.valid_variable_name?("foo-?!_bar")
refute Util.valid_variable_name?("1FOO-.><bar?")
end
end
#
# private
#