# `Stripe.Params.PaymentLinkCreateParams.PaymentIntentData`
[🔗](https://github.com/jeffhuen/tiger_stripe/blob/main/lib/stripe/params/payment_link_create_params.ex#L565)

Nested parameters.

# `t`

```elixir
@type t() :: %Stripe.Params.PaymentLinkCreateParams.PaymentIntentData{
  capture_method: String.t() | nil,
  description: String.t() | nil,
  metadata: %{required(String.t()) =&gt; String.t()} | nil,
  setup_future_usage: String.t() | nil,
  statement_descriptor: String.t() | nil,
  statement_descriptor_suffix: String.t() | nil,
  transfer_group: String.t() | nil
}
```

* `capture_method` - Controls when the funds will be captured from the customer's account. Possible values: `automatic`, `automatic_async`, `manual`.
* `description` - An arbitrary string attached to the object. Often useful for displaying to users. Max length: 1000.
* `metadata` - Set of [key-value pairs](https://docs.stripe.com/api/metadata) that will declaratively set metadata on [Payment Intents](https://docs.stripe.com/api/payment_intents) generated from this payment link. Unlike object-level metadata, this field is declarative. Updates will clear prior values.
* `setup_future_usage` - Indicates that you intend to [make future payments](https://docs.stripe.com/payments/payment-intents#future-usage) with the payment method collected by this Checkout Session.

When setting this to `on_session`, Checkout will show a notice to the customer that their payment details will be saved.

When setting this to `off_session`, Checkout will show a notice to the customer that their payment details will be saved and used for future payments.

If a Customer has been provided or Checkout creates a new Customer,Checkout will attach the payment method to the Customer.

If Checkout does not create a Customer, the payment method is not attached to a Customer. To reuse the payment method, you can retrieve it from the Checkout Session's PaymentIntent.

When processing card payments, Checkout also uses `setup_future_usage` to dynamically optimize your payment flow and comply with regional legislation and network rules, such as SCA. Possible values: `off_session`, `on_session`.
* `statement_descriptor` - Text that appears on the customer's statement as the statement descriptor for a non-card charge. This value overrides the account's default statement descriptor. For information about requirements, including the 22-character limit, see [the Statement Descriptor docs](https://docs.stripe.com/get-started/account/statement-descriptors).

Setting this value for a card charge returns an error. For card charges, set the [statement_descriptor_suffix](https://docs.stripe.com/get-started/account/statement-descriptors#dynamic) instead. Max length: 22.
* `statement_descriptor_suffix` - Provides information about a card charge. Concatenated to the account's [statement descriptor prefix](https://docs.stripe.com/get-started/account/statement-descriptors#static) to form the complete statement descriptor that appears on the customer's statement. Max length: 22.
* `transfer_group` - A string that identifies the resulting payment as part of a group. See the PaymentIntents [use case for connected accounts](https://docs.stripe.com/connect/separate-charges-and-transfers) for details. Max length: 5000.

---

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