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

Nested struct within the parent resource.

# `t`

```elixir
@type t() :: %Stripe.Resources.InvoicePayment.Payment{
  charge: String.t() | Stripe.Resources.Charge.t() | nil,
  payment_intent: String.t() | Stripe.Resources.PaymentIntent.t() | nil,
  payment_record: String.t() | Stripe.Resources.PaymentRecord.t() | nil,
  type: String.t() | nil
}
```

* `charge` - ID of the successful charge for this payment when `type` is `charge`.Note: charge is only surfaced if the charge object is not associated with a payment intent. If the charge object does have a payment intent, the Invoice Payment surfaces the payment intent instead.
* `payment_intent` - ID of the PaymentIntent associated with this payment when `type` is `payment_intent`. Note: This property is only populated for invoices finalized on or after March 15th, 2019.
* `payment_record` - ID of the PaymentRecord associated with this payment when `type` is `payment_record`.
* `type` - Type of payment object associated with this invoice payment. Possible values: `charge`, `payment_intent`, `payment_record`.

---

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