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

import typing

import typing_extensions
from .payment_updated_event_data import PaymentUpdatedEventDataParams


class PaymentUpdatedEventParams(typing_extensions.TypedDict):
    """
    Published when a [Payment](entity:Payment) is updated.
    Typically the `payment.status`, or `card_details.status` fields are updated
    as a payment is canceled, authorized, or completed.
    """

    merchant_id: typing_extensions.NotRequired[typing.Optional[str]]
    """
    The ID of the target merchant associated with the event.
    """

    type: typing_extensions.NotRequired[typing.Optional[str]]
    """
    The type of event this represents, `"payment.updated"`.
    """

    event_id: typing_extensions.NotRequired[typing.Optional[str]]
    """
    A unique ID for the event.
    """

    created_at: typing_extensions.NotRequired[str]
    """
    Timestamp of when the event was created, in RFC 3339 format.
    """

    data: typing_extensions.NotRequired[PaymentUpdatedEventDataParams]
    """
    Data associated with the event.
    """
