Update generated code for v1682

This commit is contained in:
Stripe OpenAPI 2025-04-16 10:51:38 +00:00
parent 958a84233a
commit 650ab01431
19 changed files with 1063 additions and 18 deletions

View File

@ -1 +1 @@
v1681
v1682

View File

@ -78,6 +78,7 @@ 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,6 +66,7 @@ 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

@ -0,0 +1,184 @@
# 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,6 +5348,8 @@ 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).
@ -5421,6 +5423,7 @@ module Stripe
description: nil,
error_on_requires_action: nil,
expand: nil,
fx_quote: nil,
mandate: nil,
mandate_data: nil,
metadata: nil,
@ -5458,6 +5461,7 @@ 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
@ -8803,6 +8807,8 @@ 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`.
@ -8856,6 +8862,7 @@ module Stripe
customer_account: nil,
description: nil,
expand: nil,
fx_quote: nil,
mandate_data: nil,
metadata: nil,
payment_details: nil,
@ -8881,6 +8888,7 @@ module Stripe
@customer_account = customer_account
@description = description
@expand = expand
@fx_quote = fx_quote
@mandate_data = mandate_data
@metadata = metadata
@payment_details = payment_details
@ -13011,6 +13019,8 @@ 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
@ -13059,6 +13069,7 @@ module Stripe
confirmation_token: nil,
error_on_requires_action: nil,
expand: nil,
fx_quote: nil,
mandate: nil,
mandate_data: nil,
off_session: nil,
@ -13080,6 +13091,7 @@ 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
@ -13345,6 +13357,8 @@ 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

@ -88,6 +88,8 @@ module Stripe
attr_accessor :destination
# 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 transfer amount to the destination currency.
attr_accessor :fx_quote
# 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`.
attr_accessor :metadata
# You can use this parameter to transfer funds from a charge before they are added to your available balance. A pending balance will transfer immediately but the funds will not become available until the original charge becomes available. [See the Connect documentation](https://stripe.com/docs/connect/separate-charges-and-transfers#transfer-availability) for details.
@ -103,6 +105,7 @@ module Stripe
description: nil,
destination: nil,
expand: nil,
fx_quote: nil,
metadata: nil,
source_transaction: nil,
source_type: nil,
@ -113,6 +116,7 @@ module Stripe
@description = description
@destination = destination
@expand = expand
@fx_quote = fx_quote
@metadata = metadata
@source_transaction = source_transaction
@source_type = source_type
@ -150,6 +154,8 @@ module Stripe
attr_reader :destination
# If the destination is a Stripe account, this will be the ID of the payment that the destination account received for the transfer.
attr_reader :destination_payment
# The FX Quote used for the transfer.
attr_reader :fx_quote
# Unique identifier for the object.
attr_reader :id
# Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.

View File

@ -75,6 +75,7 @@ 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

@ -0,0 +1,123 @@
# 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,6 +3431,8 @@ 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).
@ -3504,6 +3506,7 @@ module Stripe
description: nil,
error_on_requires_action: nil,
expand: nil,
fx_quote: nil,
mandate: nil,
mandate_data: nil,
metadata: nil,
@ -3541,6 +3544,7 @@ 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
@ -6898,6 +6902,8 @@ 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`.
@ -6951,6 +6957,7 @@ module Stripe
customer_account: nil,
description: nil,
expand: nil,
fx_quote: nil,
mandate_data: nil,
metadata: nil,
payment_details: nil,
@ -6976,6 +6983,7 @@ module Stripe
@customer_account = customer_account
@description = description
@expand = expand
@fx_quote = fx_quote
@mandate_data = mandate_data
@metadata = metadata
@payment_details = payment_details
@ -11106,6 +11114,8 @@ 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
@ -11154,6 +11164,7 @@ module Stripe
confirmation_token: nil,
error_on_requires_action: nil,
expand: nil,
fx_quote: nil,
mandate: nil,
mandate_data: nil,
off_session: nil,
@ -11175,6 +11186,7 @@ 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

@ -73,6 +73,8 @@ module Stripe
attr_accessor :destination
# 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 transfer amount to the destination currency.
attr_accessor :fx_quote
# 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`.
attr_accessor :metadata
# You can use this parameter to transfer funds from a charge before they are added to your available balance. A pending balance will transfer immediately but the funds will not become available until the original charge becomes available. [See the Connect documentation](https://stripe.com/docs/connect/separate-charges-and-transfers#transfer-availability) for details.
@ -88,6 +90,7 @@ module Stripe
description: nil,
destination: nil,
expand: nil,
fx_quote: nil,
metadata: nil,
source_transaction: nil,
source_type: nil,
@ -98,6 +101,7 @@ module Stripe
@description = description
@destination = destination
@expand = expand
@fx_quote = fx_quote
@metadata = metadata
@source_transaction = source_transaction
@source_type = source_type

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, :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, :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
# v1 accessors: The end of the section generated from our OpenAPI spec
# OAuthService is manually maintained, as it has special behaviors
@ -45,6 +45,7 @@ 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

@ -31145,6 +31145,199 @@ 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
@ -52273,6 +52466,9 @@ 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
@ -56003,6 +56199,9 @@ 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
@ -56085,7 +56284,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]), 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]), 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
}
def initialize(
amount: nil,
@ -56102,6 +56301,7 @@ module Stripe
description: nil,
error_on_requires_action: nil,
expand: nil,
fx_quote: nil,
mandate: nil,
mandate_data: nil,
metadata: nil,
@ -59656,6 +59856,9 @@ 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
@ -59718,7 +59921,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]), 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]), 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
}
def initialize(
amount: nil,
@ -59730,6 +59933,7 @@ module Stripe
customer_account: nil,
description: nil,
expand: nil,
fx_quote: nil,
mandate_data: nil,
metadata: nil,
payment_details: nil,
@ -64135,6 +64339,9 @@ 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
@ -64196,7 +64403,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]), 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]), 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
}
def initialize(
application_fee_amount: nil,
@ -64205,6 +64412,7 @@ module Stripe
confirmation_token: nil,
error_on_requires_action: nil,
expand: nil,
fx_quote: nil,
mandate: nil,
mandate_data: nil,
off_session: nil,
@ -104352,6 +104560,9 @@ module Stripe
# If the destination is a Stripe account, this will be the ID of the payment that the destination account received for the transfer.
sig { returns(T.any(String, Stripe::Charge)) }
attr_reader :destination_payment
# The FX Quote used for the transfer.
sig { returns(String) }
attr_reader :fx_quote
# Unique identifier for the object.
sig { returns(String) }
attr_reader :id
@ -104448,6 +104659,9 @@ 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 transfer amount to the destination currency.
sig { returns(T.nilable(String)) }
attr_accessor :fx_quote
# 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`.
sig { returns(T.nilable(T::Hash[String, String])) }
attr_accessor :metadata
@ -104461,7 +104675,7 @@ module Stripe
sig { returns(T.nilable(String)) }
attr_accessor :transfer_group
sig {
params(amount: T.nilable(Integer), currency: String, description: T.nilable(String), destination: String, expand: T.nilable(T::Array[String]), metadata: T.nilable(T::Hash[String, String]), source_transaction: T.nilable(String), source_type: T.nilable(String), transfer_group: T.nilable(String)).void
params(amount: T.nilable(Integer), currency: String, description: T.nilable(String), destination: String, expand: T.nilable(T::Array[String]), fx_quote: T.nilable(String), metadata: T.nilable(T::Hash[String, String]), source_transaction: T.nilable(String), source_type: T.nilable(String), transfer_group: T.nilable(String)).void
}
def initialize(
amount: nil,
@ -104469,6 +104683,7 @@ module Stripe
description: nil,
destination: nil,
expand: nil,
fx_quote: nil,
metadata: nil,
source_transaction: nil,
source_type: nil,
@ -108537,6 +108752,7 @@ 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
@ -130095,6 +130311,120 @@ 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
@ -145127,6 +145457,9 @@ 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
@ -145209,7 +145542,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]), 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]), 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
}
def initialize(
amount: nil,
@ -145226,6 +145559,7 @@ module Stripe
description: nil,
error_on_requires_action: nil,
expand: nil,
fx_quote: nil,
mandate: nil,
mandate_data: nil,
metadata: nil,
@ -148854,6 +149188,9 @@ 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
@ -148916,7 +149253,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]), 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]), 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
}
def initialize(
amount: nil,
@ -148928,6 +149265,7 @@ module Stripe
customer_account: nil,
description: nil,
expand: nil,
fx_quote: nil,
mandate_data: nil,
metadata: nil,
payment_details: nil,
@ -153381,6 +153719,9 @@ 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
@ -153444,7 +153785,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]), 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]), 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
}
def initialize(
application_fee_amount: nil,
@ -153453,6 +153794,7 @@ module Stripe
confirmation_token: nil,
error_on_requires_action: nil,
expand: nil,
fx_quote: nil,
mandate: nil,
mandate_data: nil,
off_session: nil,
@ -180415,6 +180757,9 @@ 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 transfer amount to the destination currency.
sig { returns(T.nilable(String)) }
attr_accessor :fx_quote
# 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`.
sig { returns(T.nilable(T::Hash[String, String])) }
attr_accessor :metadata
@ -180428,7 +180773,7 @@ module Stripe
sig { returns(T.nilable(String)) }
attr_accessor :transfer_group
sig {
params(amount: T.nilable(Integer), currency: String, description: T.nilable(String), destination: String, expand: T.nilable(T::Array[String]), metadata: T.nilable(T::Hash[String, String]), source_transaction: T.nilable(String), source_type: T.nilable(String), transfer_group: T.nilable(String)).void
params(amount: T.nilable(Integer), currency: String, description: T.nilable(String), destination: String, expand: T.nilable(T::Array[String]), fx_quote: T.nilable(String), metadata: T.nilable(T::Hash[String, String]), source_transaction: T.nilable(String), source_type: T.nilable(String), transfer_group: T.nilable(String)).void
}
def initialize(
amount: nil,
@ -180436,6 +180781,7 @@ module Stripe
description: nil,
destination: nil,
expand: nil,
fx_quote: nil,
metadata: nil,
source_transaction: nil,
source_type: nil,

View File

@ -0,0 +1,196 @@
# 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,6 +2443,9 @@ 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
@ -6173,6 +6176,9 @@ 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
@ -6255,7 +6261,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]), 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]), 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
}
def initialize(
amount: nil,
@ -6272,6 +6278,7 @@ module Stripe
description: nil,
error_on_requires_action: nil,
expand: nil,
fx_quote: nil,
mandate: nil,
mandate_data: nil,
metadata: nil,
@ -9826,6 +9833,9 @@ 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
@ -9888,7 +9898,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]), 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]), 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
}
def initialize(
amount: nil,
@ -9900,6 +9910,7 @@ module Stripe
customer_account: nil,
description: nil,
expand: nil,
fx_quote: nil,
mandate_data: nil,
metadata: nil,
payment_details: nil,
@ -14305,6 +14316,9 @@ 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
@ -14366,7 +14380,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]), 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]), 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
}
def initialize(
application_fee_amount: nil,
@ -14375,6 +14389,7 @@ 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

@ -38,6 +38,9 @@ module Stripe
# If the destination is a Stripe account, this will be the ID of the payment that the destination account received for the transfer.
sig { returns(T.any(String, Stripe::Charge)) }
attr_reader :destination_payment
# The FX Quote used for the transfer.
sig { returns(String) }
attr_reader :fx_quote
# Unique identifier for the object.
sig { returns(String) }
attr_reader :id
@ -134,6 +137,9 @@ 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 transfer amount to the destination currency.
sig { returns(T.nilable(String)) }
attr_accessor :fx_quote
# 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`.
sig { returns(T.nilable(T::Hash[String, String])) }
attr_accessor :metadata
@ -147,7 +153,7 @@ module Stripe
sig { returns(T.nilable(String)) }
attr_accessor :transfer_group
sig {
params(amount: T.nilable(Integer), currency: String, description: T.nilable(String), destination: String, expand: T.nilable(T::Array[String]), metadata: T.nilable(T::Hash[String, String]), source_transaction: T.nilable(String), source_type: T.nilable(String), transfer_group: T.nilable(String)).void
params(amount: T.nilable(Integer), currency: String, description: T.nilable(String), destination: String, expand: T.nilable(T::Array[String]), fx_quote: T.nilable(String), metadata: T.nilable(T::Hash[String, String]), source_transaction: T.nilable(String), source_type: T.nilable(String), transfer_group: T.nilable(String)).void
}
def initialize(
amount: nil,
@ -155,6 +161,7 @@ module Stripe
description: nil,
destination: nil,
expand: nil,
fx_quote: nil,
metadata: nil,
source_transaction: nil,
source_type: nil,

View File

@ -0,0 +1,117 @@
# 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,6 +3714,9 @@ 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
@ -3796,7 +3799,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]), 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]), 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
}
def initialize(
amount: nil,
@ -3813,6 +3816,7 @@ module Stripe
description: nil,
error_on_requires_action: nil,
expand: nil,
fx_quote: nil,
mandate: nil,
mandate_data: nil,
metadata: nil,
@ -7441,6 +7445,9 @@ 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
@ -7503,7 +7510,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]), 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]), 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
}
def initialize(
amount: nil,
@ -7515,6 +7522,7 @@ module Stripe
customer_account: nil,
description: nil,
expand: nil,
fx_quote: nil,
mandate_data: nil,
metadata: nil,
payment_details: nil,
@ -11968,6 +11976,9 @@ 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
@ -12031,7 +12042,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]), 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]), 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
}
def initialize(
application_fee_amount: nil,
@ -12040,6 +12051,7 @@ 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

@ -74,6 +74,9 @@ 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 transfer amount to the destination currency.
sig { returns(T.nilable(String)) }
attr_accessor :fx_quote
# 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`.
sig { returns(T.nilable(T::Hash[String, String])) }
attr_accessor :metadata
@ -87,7 +90,7 @@ module Stripe
sig { returns(T.nilable(String)) }
attr_accessor :transfer_group
sig {
params(amount: T.nilable(Integer), currency: String, description: T.nilable(String), destination: String, expand: T.nilable(T::Array[String]), metadata: T.nilable(T::Hash[String, String]), source_transaction: T.nilable(String), source_type: T.nilable(String), transfer_group: T.nilable(String)).void
params(amount: T.nilable(Integer), currency: String, description: T.nilable(String), destination: String, expand: T.nilable(T::Array[String]), fx_quote: T.nilable(String), metadata: T.nilable(T::Hash[String, String]), source_transaction: T.nilable(String), source_type: T.nilable(String), transfer_group: T.nilable(String)).void
}
def initialize(
amount: nil,
@ -95,6 +98,7 @@ module Stripe
description: nil,
destination: nil,
expand: nil,
fx_quote: nil,
metadata: nil,
source_transaction: nil,
source_type: nil,

View File

@ -36,6 +36,7 @@ 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