File: //home/arjun/projects/env/lib64/python3.10/site-packages/stripe/api_resources/source_transaction.py
# -*- coding: utf-8 -*-
# File generated from our OpenAPI spec
from stripe.stripe_object import StripeObject
from typing import ClassVar, Optional
from typing_extensions import Literal
class SourceTransaction(StripeObject):
"""
Some payment methods have no required amount that a customer must send.
Customers can be instructed to send any amount, and it can be made up of
multiple transactions. As such, sources can have multiple associated
transactions.
"""
OBJECT_NAME: ClassVar[Literal["source_transaction"]] = "source_transaction"
class AchCreditTransfer(StripeObject):
customer_data: Optional[str]
"""
Customer data associated with the transfer.
"""
fingerprint: Optional[str]
"""
Bank account fingerprint associated with the transfer.
"""
last4: Optional[str]
"""
Last 4 digits of the account number associated with the transfer.
"""
routing_number: Optional[str]
"""
Routing number associated with the transfer.
"""
class ChfCreditTransfer(StripeObject):
reference: Optional[str]
"""
Reference associated with the transfer.
"""
sender_address_country: Optional[str]
"""
Sender's country address.
"""
sender_address_line1: Optional[str]
"""
Sender's line 1 address.
"""
sender_iban: Optional[str]
"""
Sender's bank account IBAN.
"""
sender_name: Optional[str]
"""
Sender's name.
"""
class GbpCreditTransfer(StripeObject):
fingerprint: Optional[str]
"""
Bank account fingerprint associated with the Stripe owned bank account receiving the transfer.
"""
funding_method: Optional[str]
"""
The credit transfer rails the sender used to push this transfer. The possible rails are: Faster Payments, BACS, CHAPS, and wire transfers. Currently only Faster Payments is supported.
"""
last4: Optional[str]
"""
Last 4 digits of sender account number associated with the transfer.
"""
reference: Optional[str]
"""
Sender entered arbitrary information about the transfer.
"""
sender_account_number: Optional[str]
"""
Sender account number associated with the transfer.
"""
sender_name: Optional[str]
"""
Sender name associated with the transfer.
"""
sender_sort_code: Optional[str]
"""
Sender sort code associated with the transfer.
"""
class PaperCheck(StripeObject):
available_at: Optional[str]
"""
Time at which the deposited funds will be available for use. Measured in seconds since the Unix epoch.
"""
invoices: Optional[str]
"""
Comma-separated list of invoice IDs associated with the paper check.
"""
class SepaCreditTransfer(StripeObject):
reference: Optional[str]
"""
Reference associated with the transfer.
"""
sender_iban: Optional[str]
"""
Sender's bank account IBAN.
"""
sender_name: Optional[str]
"""
Sender's name.
"""
ach_credit_transfer: Optional[AchCreditTransfer]
amount: int
"""
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 your customer has pushed to the receiver.
"""
chf_credit_transfer: Optional[ChfCreditTransfer]
created: int
"""
Time at which the object was created. Measured in seconds since the Unix epoch.
"""
currency: str
"""
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).
"""
gbp_credit_transfer: Optional[GbpCreditTransfer]
id: str
"""
Unique identifier for the object.
"""
livemode: bool
"""
Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
"""
object: Literal["source_transaction"]
"""
String representing the object's type. Objects of the same type share the same value.
"""
paper_check: Optional[PaperCheck]
sepa_credit_transfer: Optional[SepaCreditTransfer]
source: str
"""
The ID of the source this transaction is attached to.
"""
status: str
"""
The status of the transaction, one of `succeeded`, `pending`, or `failed`.
"""
type: Literal[
"ach_credit_transfer",
"ach_debit",
"alipay",
"bancontact",
"card",
"card_present",
"eps",
"giropay",
"ideal",
"klarna",
"multibanco",
"p24",
"sepa_debit",
"sofort",
"three_d_secure",
"wechat",
]
"""
The type of source this transaction is attached to.
"""
_inner_class_types = {
"ach_credit_transfer": AchCreditTransfer,
"chf_credit_transfer": ChfCreditTransfer,
"gbp_credit_transfer": GbpCreditTransfer,
"paper_check": PaperCheck,
"sepa_credit_transfer": SepaCreditTransfer,
}