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

InvoicesInvoicePayment

Invoice Payments represent payments made against invoices. Invoice Payments can
be accessed in two ways:
1. By expanding the `payments` field on the [Invoice](https://api.stripe.com#invoice) resource.
2. By using the Invoice Payment retrieve and list endpoints.

Invoice Payments include the mapping between payment objects, such as Payment Intent, and Invoices.
This resource and its endpoints allows you to easily track if a payment is associated with a specific invoice and
monitor the allocation details of the payments.

# `t`

```elixir
@type t() :: %Stripe.Resources.InvoicePayment{
  amount_paid: integer(),
  amount_requested: integer(),
  created: integer(),
  currency: String.t(),
  id: String.t(),
  invoice: String.t() | Stripe.Resources.Invoice.t(),
  is_default: boolean(),
  livemode: boolean(),
  object: String.t(),
  payment: Stripe.Resources.InvoicePayment.Payment.t(),
  status: String.t(),
  status_transitions: Stripe.Resources.InvoicePayment.StatusTransitions.t()
}
```

* `amount_paid` - Amount that was actually paid for this invoice, in cents (or local equivalent). This field is null until the payment is `paid`. This amount can be less than the `amount_requested` if the PaymentIntent’s `amount_received` is not sufficient to pay all of the invoices that it is attached to. Nullable.
* `amount_requested` - Amount intended to be paid toward this invoice, in cents (or local equivalent)
* `created` - Time at which the object was created. Measured in seconds since the Unix epoch. Format: Unix timestamp.
* `currency` - 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). Max length: 5000.
* `id` - Unique identifier for the object. Max length: 5000.
* `invoice` - The invoice that was paid. Expandable.
* `is_default` - Stripe automatically creates a default InvoicePayment when the invoice is finalized, and keeps it synchronized with the invoice’s `amount_remaining`. The PaymentIntent associated with the default payment can’t be edited or canceled directly.
* `livemode` - Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.
* `object` - String representing the object's type. Objects of the same type share the same value. Possible values: `invoice_payment`.
* `payment` - Expandable.
* `status` - The status of the payment, one of `open`, `paid`, or `canceled`. Max length: 5000.
* `status_transitions` - Expandable.

# `expandable_fields`

# `object_name`

---

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