stripe-ruby/rbi/stripe/resources/source_mandate_notification.rbi

95 lines
4.0 KiB
Ruby

# File generated from our OpenAPI spec
# frozen_string_literal: true
# typed: true
module Stripe
# Source mandate notifications should be created when a notification related to
# a source mandate must be sent to the payer. They will trigger a webhook or
# deliver an email to the customer.
class SourceMandateNotification < APIResource
class AcssDebit < Stripe::StripeObject
# The statement descriptor associate with the debit.
sig { returns(T.nilable(String)) }
def statement_descriptor; end
def self.inner_class_types
@inner_class_types = {}
end
def self.field_remappings
@field_remappings = {}
end
end
class BacsDebit < Stripe::StripeObject
# Last 4 digits of the account number associated with the debit.
sig { returns(T.nilable(String)) }
def last4; end
def self.inner_class_types
@inner_class_types = {}
end
def self.field_remappings
@field_remappings = {}
end
end
class SepaDebit < Stripe::StripeObject
# SEPA creditor ID.
sig { returns(T.nilable(String)) }
def creditor_identifier; end
# Last 4 digits of the account number associated with the debit.
sig { returns(T.nilable(String)) }
def last4; end
# Mandate reference associated with the debit.
sig { returns(T.nilable(String)) }
def mandate_reference; end
def self.inner_class_types
@inner_class_types = {}
end
def self.field_remappings
@field_remappings = {}
end
end
# Attribute for field acss_debit
sig { returns(T.nilable(AcssDebit)) }
def acss_debit; end
# A positive integer in the smallest currency unit (that is, 100 cents for $1.00, or 1 for ¥1, Japanese Yen being a zero-decimal currency) representing the amount associated with the mandate notification. The amount is expressed in the currency of the underlying source. Required if the notification type is `debit_initiated`.
sig { returns(T.nilable(Integer)) }
def amount; end
# Attribute for field bacs_debit
sig { returns(T.nilable(BacsDebit)) }
def bacs_debit; end
# Time at which the object was created. Measured in seconds since the Unix epoch.
sig { returns(Integer) }
def created; end
# Unique identifier for the object.
sig { returns(String) }
def id; end
# Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
sig { returns(T::Boolean) }
def livemode; end
# String representing the object's type. Objects of the same type share the same value.
sig { returns(String) }
def object; end
# The reason of the mandate notification. Valid reasons are `mandate_confirmed` or `debit_initiated`.
sig { returns(String) }
def reason; end
# Attribute for field sepa_debit
sig { returns(T.nilable(SepaDebit)) }
def sepa_debit; end
# `Source` objects allow you to accept a variety of payment methods. They
# represent a customer's payment instrument, and can be used with the Stripe API
# just like a `Card` object: once chargeable, they can be charged, or can be
# attached to customers.
#
# Stripe doesn't recommend using the deprecated [Sources API](https://stripe.com/docs/api/sources).
# We recommend that you adopt the [PaymentMethods API](https://stripe.com/docs/api/payment_methods).
# This newer API provides access to our latest features and payment method types.
#
# Related guides: [Sources API](https://stripe.com/docs/sources) and [Sources & Customers](https://stripe.com/docs/sources/customers).
sig { returns(Stripe::Source) }
def source; end
# The status of the mandate notification. Valid statuses are `pending` or `submitted`.
sig { returns(String) }
def status; end
# The type of source this mandate notification is attached to. Should be the source type identifier code for the payment method, such as `three_d_secure`.
sig { returns(String) }
def type; end
end
end