# `Stripe.Resources.PaymentAttemptRecord`
[🔗](https://github.com/jeffhuen/tiger_stripe/blob/main/lib/stripe/resources/payment_attempt_record.ex#L2)

PaymentAttemptRecord

A Payment Attempt Record represents an individual attempt at making a payment, on or off Stripe.
Each payment attempt tries to collect a fixed amount of money from a fixed customer and payment
method. Payment Attempt Records are attached to Payment Records. Only one attempt per Payment Record
can have guaranteed funds.

# `t`

```elixir
@type t() :: %Stripe.Resources.PaymentAttemptRecord{
  amount: Stripe.Resources.PaymentAttemptRecord.Amount.t(),
  amount_authorized: Stripe.Resources.PaymentAttemptRecord.AmountAuthorized.t(),
  amount_canceled: Stripe.Resources.PaymentAttemptRecord.AmountCanceled.t(),
  amount_failed: Stripe.Resources.PaymentAttemptRecord.AmountFailed.t(),
  amount_guaranteed: Stripe.Resources.PaymentAttemptRecord.AmountGuaranteed.t(),
  amount_refunded: Stripe.Resources.PaymentAttemptRecord.AmountRefunded.t(),
  amount_requested: Stripe.Resources.PaymentAttemptRecord.AmountRequested.t(),
  application: String.t(),
  created: integer(),
  customer_details: Stripe.Resources.PaymentAttemptRecord.CustomerDetails.t(),
  customer_presence: String.t(),
  description: String.t(),
  id: String.t(),
  livemode: boolean(),
  metadata: %{required(String.t()) =&gt; String.t()},
  object: String.t(),
  payment_method_details:
    Stripe.Resources.PaymentAttemptRecord.PaymentMethodDetails.t(),
  payment_record: String.t(),
  processor_details: Stripe.Resources.PaymentAttemptRecord.ProcessorDetails.t(),
  reported_by: String.t(),
  shipping_details: Stripe.Resources.PaymentAttemptRecord.ShippingDetails.t()
}
```

* `amount` - Expandable.
* `amount_authorized` - Expandable.
* `amount_canceled` - Expandable.
* `amount_failed` - Expandable.
* `amount_guaranteed` - Expandable.
* `amount_refunded` - Expandable.
* `amount_requested` - Expandable.
* `application` - ID of the Connect application that created the PaymentAttemptRecord. Max length: 5000. Nullable.
* `created` - Time at which the object was created. Measured in seconds since the Unix epoch. Format: Unix timestamp.
* `customer_details` - Customer information for this payment. Nullable. Expandable.
* `customer_presence` - Indicates whether the customer was present in your checkout flow during this payment. Possible values: `off_session`, `on_session`. Nullable.
* `description` - An arbitrary string attached to the object. Often useful for displaying to users. Max length: 5000. Nullable.
* `id` - Unique identifier for the object. Max length: 5000.
* `livemode` - If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`.
* `metadata` - Set of [key-value pairs](https://docs.stripe.com/api/metadata) that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
* `object` - String representing the object's type. Objects of the same type share the same value. Possible values: `payment_attempt_record`.
* `payment_method_details` - Information about the Payment Method debited for this payment. Nullable. Expandable.
* `payment_record` - ID of the Payment Record this Payment Attempt Record belongs to. Max length: 5000. Nullable.
* `processor_details` - Expandable.
* `reported_by` - Indicates who reported the payment. Possible values: `self`, `stripe`.
* `shipping_details` - Shipping information for this payment. Nullable. Expandable.

# `expandable_fields`

# `object_name`

---

*Consult [api-reference.md](api-reference.md) for complete listing*
