github.com/stripe/stripe-go/v76@v76.25.0/sourcetransaction.go (about)

     1  //
     2  //
     3  // File generated from our OpenAPI spec
     4  //
     5  //
     6  
     7  package stripe
     8  
     9  // List source transactions for a given source.
    10  type SourceTransactionListParams struct {
    11  	ListParams `form:"*"`
    12  	Source     *string `form:"-"` // Included in URL
    13  	// Specifies which fields in the response should be expanded.
    14  	Expand []*string `form:"expand"`
    15  }
    16  
    17  // AddExpand appends a new field to expand.
    18  func (p *SourceTransactionListParams) AddExpand(f string) {
    19  	p.Expand = append(p.Expand, &f)
    20  }
    21  
    22  type SourceTransactionACHCreditTransfer struct {
    23  	// Customer data associated with the transfer.
    24  	CustomerData string `json:"customer_data"`
    25  	// Bank account fingerprint associated with the transfer.
    26  	Fingerprint string `json:"fingerprint"`
    27  	// Last 4 digits of the account number associated with the transfer.
    28  	Last4 string `json:"last4"`
    29  	// Routing number associated with the transfer.
    30  	RoutingNumber string `json:"routing_number"`
    31  }
    32  type SourceTransactionCHFCreditTransfer struct {
    33  	// Reference associated with the transfer.
    34  	Reference string `json:"reference"`
    35  	// Sender's country address.
    36  	SenderAddressCountry string `json:"sender_address_country"`
    37  	// Sender's line 1 address.
    38  	SenderAddressLine1 string `json:"sender_address_line1"`
    39  	// Sender's bank account IBAN.
    40  	SenderIBAN string `json:"sender_iban"`
    41  	// Sender's name.
    42  	SenderName string `json:"sender_name"`
    43  }
    44  type SourceTransactionGBPCreditTransfer struct {
    45  	// Bank account fingerprint associated with the Stripe owned bank account receiving the transfer.
    46  	Fingerprint string `json:"fingerprint"`
    47  	// 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.
    48  	FundingMethod string `json:"funding_method"`
    49  	// Last 4 digits of sender account number associated with the transfer.
    50  	Last4 string `json:"last4"`
    51  	// Sender entered arbitrary information about the transfer.
    52  	Reference string `json:"reference"`
    53  	// Sender account number associated with the transfer.
    54  	SenderAccountNumber string `json:"sender_account_number"`
    55  	// Sender name associated with the transfer.
    56  	SenderName string `json:"sender_name"`
    57  	// Sender sort code associated with the transfer.
    58  	SenderSortCode string `json:"sender_sort_code"`
    59  }
    60  type SourceTransactionPaperCheck struct {
    61  	// Time at which the deposited funds will be available for use. Measured in seconds since the Unix epoch.
    62  	AvailableAt string `json:"available_at"`
    63  	// Comma-separated list of invoice IDs associated with the paper check.
    64  	Invoices string `json:"invoices"`
    65  }
    66  type SourceTransactionSEPACreditTransfer struct {
    67  	// Reference associated with the transfer.
    68  	Reference string `json:"reference"`
    69  	// Sender's bank account IBAN.
    70  	SenderIBAN string `json:"sender_iban"`
    71  	// Sender's name.
    72  	SenderName string `json:"sender_name"`
    73  }
    74  
    75  // Some payment methods have no required amount that a customer must send.
    76  // Customers can be instructed to send any amount, and it can be made up of
    77  // multiple transactions. As such, sources can have multiple associated
    78  // transactions.
    79  type SourceTransaction struct {
    80  	ACHCreditTransfer *SourceTransactionACHCreditTransfer `json:"ach_credit_transfer"`
    81  	// 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.
    82  	Amount            int64                               `json:"amount"`
    83  	CHFCreditTransfer *SourceTransactionCHFCreditTransfer `json:"chf_credit_transfer"`
    84  	// Time at which the object was created. Measured in seconds since the Unix epoch.
    85  	Created int64 `json:"created"`
    86  	// 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).
    87  	Currency          Currency                            `json:"currency"`
    88  	GBPCreditTransfer *SourceTransactionGBPCreditTransfer `json:"gbp_credit_transfer"`
    89  	// Unique identifier for the object.
    90  	ID string `json:"id"`
    91  	// Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
    92  	Livemode bool `json:"livemode"`
    93  	// String representing the object's type. Objects of the same type share the same value.
    94  	Object             string                               `json:"object"`
    95  	PaperCheck         *SourceTransactionPaperCheck         `json:"paper_check"`
    96  	SEPACreditTransfer *SourceTransactionSEPACreditTransfer `json:"sepa_credit_transfer"`
    97  	// The ID of the source this transaction is attached to.
    98  	Source string `json:"source"`
    99  	// The status of the transaction, one of `succeeded`, `pending`, or `failed`.
   100  	Status string `json:"status"`
   101  	// The type of source this transaction is attached to.
   102  	Type string `json:"type"`
   103  }
   104  
   105  // SourceTransactionList is a list of SourceTransactions as retrieved from a list endpoint.
   106  type SourceTransactionList struct {
   107  	APIResource
   108  	ListMeta
   109  	Data []*SourceTransaction `json:"data"`
   110  }