# This file was auto-generated by Fern from our API Definition.

import typing_extensions
import typing_extensions
import typing
from .checkout_options import CheckoutOptionsParams
from .pre_populated_data import PrePopulatedDataParams


class PaymentLinkParams(typing_extensions.TypedDict):
    id: typing_extensions.NotRequired[str]
    """
    The Square-assigned ID of the payment link.
    """

    version: int
    """
    The Square-assigned version number, which is incremented each time an update is committed to the payment link.
    """

    description: typing_extensions.NotRequired[typing.Optional[str]]
    """
    The optional description of the `payment_link` object.
    It is primarily for use by your application and is not used anywhere.
    """

    order_id: typing_extensions.NotRequired[str]
    """
    The ID of the order associated with the payment link.
    """

    checkout_options: typing_extensions.NotRequired[CheckoutOptionsParams]
    """
    The checkout options configured for the payment link.
    For more information, see [Optional Checkout Configurations](https://developer.squareup.com/docs/checkout-api/optional-checkout-configurations).
    """

    pre_populated_data: typing_extensions.NotRequired[PrePopulatedDataParams]
    """
    Describes buyer data to prepopulate
    on the checkout page.
    """

    url: typing_extensions.NotRequired[str]
    """
    The shortened URL of the payment link.
    """

    long_url: typing_extensions.NotRequired[str]
    """
    The long URL of the payment link.
    """

    created_at: typing_extensions.NotRequired[str]
    """
    The timestamp when the payment link was created, in RFC 3339 format.
    """

    updated_at: typing_extensions.NotRequired[str]
    """
    The timestamp when the payment link was last updated, in RFC 3339 format.
    """

    payment_note: typing_extensions.NotRequired[typing.Optional[str]]
    """
    An optional note. After Square processes the payment, this note is added to the
    resulting `Payment`.
    """
