View Source Stripe.WebhookEndpoint (stripity_stripe v3.2.0)
You can configure webhook endpoints via the API to be notified about events that happen in your Stripe account or connected accounts.
Most users configure webhooks from the dashboard, which provides a user interface for registering and testing your webhook endpoints.
Related guide: Setting up webhooks
Summary
Functions
A webhook endpoint must have a url
and a list of enabled_events
. You may optionally specify the Boolean connect
parameter. If set to true, then a Connect webhook endpoint that notifies the specified url
about events from all connected accounts is created; otherwise an account webhook endpoint that notifies the specified url
only about events from your account is created. You can also create webhook endpoints in the webhooks settings section of the Dashboard.
You can also delete webhook endpoints via the webhook endpoint management page of the Stripe dashboard.
Returns a list of your webhook endpoints.
Retrieves the webhook endpoint with the given ID.
Updates the webhook endpoint. You may edit the url
, the list of enabled_events
, and the status of your endpoint.
Types
@type t() :: %Stripe.WebhookEndpoint{ api_version: binary() | nil, application: binary() | nil, created: integer(), description: binary() | nil, enabled_events: term(), id: binary(), livemode: boolean(), metadata: term(), object: binary(), secret: binary(), status: binary(), url: binary() }
The webhook_endpoint
type.
api_version
The API version events are rendered as for this webhook endpoint.application
The ID of the associated Connect application.created
Time at which the object was created. Measured in seconds since the Unix epoch.description
An optional description of what the webhook is used for.enabled_events
The list of events to enable for this endpoint.['*']
indicates that all events are enabled, except those that require explicit selection.id
Unique identifier for the object.livemode
Has the valuetrue
if the object exists in live mode or the valuefalse
if the object exists in test mode.metadata
Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.object
String representing the object's type. Objects of the same type share the same value.secret
The endpoint's secret, used to generate webhook signatures. Only returned at creation.status
The status of the webhook. It can beenabled
ordisabled
.url
The URL of the webhook endpoint.
Functions
@spec create( params :: %{ optional(:api_version) => :"2011-01-01" | :"2011-06-21" | :"2011-06-28" | :"2011-08-01" | :"2011-09-15" | :"2011-11-17" | :"2012-02-23" | :"2012-03-25" | :"2012-06-18" | :"2012-06-28" | :"2012-07-09" | :"2012-09-24" | :"2012-10-26" | :"2012-11-07" | :"2013-02-11" | :"2013-02-13" | :"2013-07-05" | :"2013-08-12" | :"2013-08-13" | :"2013-10-29" | :"2013-12-03" | :"2014-01-31" | :"2014-03-13" | :"2014-03-28" | :"2014-05-19" | :"2014-06-13" | :"2014-06-17" | :"2014-07-22" | :"2014-07-26" | :"2014-08-04" | :"2014-08-20" | :"2014-09-08" | :"2014-10-07" | :"2014-11-05" | :"2014-11-20" | :"2014-12-08" | :"2014-12-17" | :"2014-12-22" | :"2015-01-11" | :"2015-01-26" | :"2015-02-10" | :"2015-02-16" | :"2015-02-18" | :"2015-03-24" | :"2015-04-07" | :"2015-06-15" | :"2015-07-07" | :"2015-07-13" | :"2015-07-28" | :"2015-08-07" | :"2015-08-19" | :"2015-09-03" | :"2015-09-08" | :"2015-09-23" | :"2015-10-01" | :"2015-10-12" | :"2015-10-16" | :"2016-02-03" | :"2016-02-19" | :"2016-02-22" | :"2016-02-23" | :"2016-02-29" | :"2016-03-07" | :"2016-06-15" | :"2016-07-06" | :"2016-10-19" | :"2017-01-27" | :"2017-02-14" | :"2017-04-06" | :"2017-05-25" | :"2017-06-05" | :"2017-08-15" | :"2017-12-14" | :"2018-01-23" | :"2018-02-05" | :"2018-02-06" | :"2018-02-28" | :"2018-05-21" | :"2018-07-27" | :"2018-08-23" | :"2018-09-06" | :"2018-09-24" | :"2018-10-31" | :"2018-11-08" | :"2019-02-11" | :"2019-02-19" | :"2019-03-14" | :"2019-05-16" | :"2019-08-14" | :"2019-09-09" | :"2019-10-08" | :"2019-10-17" | :"2019-11-05" | :"2019-12-03" | :"2020-03-02" | :"2020-08-27" | :"2022-08-01" | :"2022-11-15" | :"2023-08-16" | :"2023-10-16", optional(:connect) => boolean(), optional(:description) => binary() | binary(), optional(:enabled_events) => [ :* | :"account.application.authorized" | :"account.application.deauthorized" | :"account.external_account.created" | :"account.external_account.deleted" | :"account.external_account.updated" | :"account.updated" | :"application_fee.created" | :"application_fee.refund.updated" | :"application_fee.refunded" | :"balance.available" | :"billing_portal.configuration.created" | :"billing_portal.configuration.updated" | :"billing_portal.session.created" | :"capability.updated" | :"cash_balance.funds_available" | :"charge.captured" | :"charge.dispute.closed" | :"charge.dispute.created" | :"charge.dispute.funds_reinstated" | :"charge.dispute.funds_withdrawn" | :"charge.dispute.updated" | :"charge.expired" | :"charge.failed" | :"charge.pending" | :"charge.refund.updated" | :"charge.refunded" | :"charge.succeeded" | :"charge.updated" | :"checkout.session.async_payment_failed" | :"checkout.session.async_payment_succeeded" | :"checkout.session.completed" | :"checkout.session.expired" | :"climate.order.canceled" | :"climate.order.created" | :"climate.order.delayed" | :"climate.order.delivered" | :"climate.order.product_substituted" | :"climate.product.created" | :"climate.product.pricing_updated" | :"coupon.created" | :"coupon.deleted" | :"coupon.updated" | :"credit_note.created" | :"credit_note.updated" | :"credit_note.voided" | :"customer.created" | :"customer.deleted" | :"customer.discount.created" | :"customer.discount.deleted" | :"customer.discount.updated" | :"customer.source.created" | :"customer.source.deleted" | :"customer.source.expiring" | :"customer.source.updated" | :"customer.subscription.created" | :"customer.subscription.deleted" | :"customer.subscription.paused" | :"customer.subscription.pending_update_applied" | :"customer.subscription.pending_update_expired" | :"customer.subscription.resumed" | :"customer.subscription.trial_will_end" | :"customer.subscription.updated" | :"customer.tax_id.created" | :"customer.tax_id.deleted" | :"customer.tax_id.updated" | :"customer.updated" | :"customer_cash_balance_transaction.created" | :"file.created" | :"financial_connections.account.created" | :"financial_connections.account.deactivated" | :"financial_connections.account.disconnected" | :"financial_connections.account.reactivated" | :"financial_connections.account.refreshed_balance" | :"financial_connections.account.refreshed_transactions" | :"identity.verification_session.canceled" | :"identity.verification_session.created" | :"identity.verification_session.processing" | :"identity.verification_session.redacted" | :"identity.verification_session.requires_input" | :"identity.verification_session.verified" | :"invoice.created" | :"invoice.deleted" | :"invoice.finalization_failed" | :"invoice.finalized" | :"invoice.marked_uncollectible" | :"invoice.paid" | :"invoice.payment_action_required" | :"invoice.payment_failed" | :"invoice.payment_succeeded" | :"invoice.sent" | :"invoice.upcoming" | :"invoice.updated" | :"invoice.voided" | :"invoiceitem.created" | :"invoiceitem.deleted" | :"issuing_authorization.created" | :"issuing_authorization.request" | :"issuing_authorization.updated" | :"issuing_card.created" | :"issuing_card.updated" | :"issuing_cardholder.created" | :"issuing_cardholder.updated" | :"issuing_dispute.closed" | :"issuing_dispute.created" | :"issuing_dispute.funds_reinstated" | :"issuing_dispute.submitted" | :"issuing_dispute.updated" | :"issuing_token.created" | :"issuing_token.updated" | :"issuing_transaction.created" | :"issuing_transaction.updated" | :"mandate.updated" | :"payment_intent.amount_capturable_updated" | :"payment_intent.canceled" | :"payment_intent.created" | :"payment_intent.partially_funded" | :"payment_intent.payment_failed" | :"payment_intent.processing" | :"payment_intent.requires_action" | :"payment_intent.succeeded" | :"payment_link.created" | :"payment_link.updated" | :"payment_method.attached" | :"payment_method.automatically_updated" | :"payment_method.detached" | :"payment_method.updated" | :"payout.canceled" | :"payout.created" | :"payout.failed" | :"payout.paid" | :"payout.reconciliation_completed" | :"payout.updated" | :"person.created" | :"person.deleted" | :"person.updated" | :"plan.created" | :"plan.deleted" | :"plan.updated" | :"price.created" | :"price.deleted" | :"price.updated" | :"product.created" | :"product.deleted" | :"product.updated" | :"promotion_code.created" | :"promotion_code.updated" | :"quote.accepted" | :"quote.canceled" | :"quote.created" | :"quote.finalized" | :"radar.early_fraud_warning.created" | :"radar.early_fraud_warning.updated" | :"refund.created" | :"refund.updated" | :"reporting.report_run.failed" | :"reporting.report_run.succeeded" | :"reporting.report_type.updated" | :"review.closed" | :"review.opened" | :"setup_intent.canceled" | :"setup_intent.created" | :"setup_intent.requires_action" | :"setup_intent.setup_failed" | :"setup_intent.succeeded" | :"sigma.scheduled_query_run.created" | :"source.canceled" | :"source.chargeable" | :"source.failed" | :"source.mandate_notification" | :"source.refund_attributes_required" | :"source.transaction.created" | :"source.transaction.updated" | :"subscription_schedule.aborted" | :"subscription_schedule.canceled" | :"subscription_schedule.completed" | :"subscription_schedule.created" | :"subscription_schedule.expiring" | :"subscription_schedule.released" | :"subscription_schedule.updated" | :"tax.settings.updated" | :"tax_rate.created" | :"tax_rate.updated" | :"terminal.reader.action_failed" | :"terminal.reader.action_succeeded" | :"test_helpers.test_clock.advancing" | :"test_helpers.test_clock.created" | :"test_helpers.test_clock.deleted" | :"test_helpers.test_clock.internal_failure" | :"test_helpers.test_clock.ready" | :"topup.canceled" | :"topup.created" | :"topup.failed" | :"topup.reversed" | :"topup.succeeded" | :"transfer.created" | :"transfer.reversed" | :"transfer.updated" | :"treasury.credit_reversal.created" | :"treasury.credit_reversal.posted" | :"treasury.debit_reversal.completed" | :"treasury.debit_reversal.created" | :"treasury.debit_reversal.initial_credit_granted" | :"treasury.financial_account.closed" | :"treasury.financial_account.created" | :"treasury.financial_account.features_status_updated" | :"treasury.inbound_transfer.canceled" | :"treasury.inbound_transfer.created" | :"treasury.inbound_transfer.failed" | :"treasury.inbound_transfer.succeeded" | :"treasury.outbound_payment.canceled" | :"treasury.outbound_payment.created" | :"treasury.outbound_payment.expected_arrival_date_updated" | :"treasury.outbound_payment.failed" | :"treasury.outbound_payment.posted" | :"treasury.outbound_payment.returned" | :"treasury.outbound_transfer.canceled" | :"treasury.outbound_transfer.created" | :"treasury.outbound_transfer.expected_arrival_date_updated" | :"treasury.outbound_transfer.failed" | :"treasury.outbound_transfer.posted" | :"treasury.outbound_transfer.returned" | :"treasury.received_credit.created" | :"treasury.received_credit.failed" | :"treasury.received_credit.succeeded" | :"treasury.received_debit.created" ], optional(:expand) => [binary()], optional(:metadata) => %{optional(binary()) => binary()} | binary(), optional(:url) => binary() }, opts :: Keyword.t() ) :: {:ok, t()} | {:error, Stripe.ApiErrors.t()} | {:error, term()}
A webhook endpoint must have a url
and a list of enabled_events
. You may optionally specify the Boolean connect
parameter. If set to true, then a Connect webhook endpoint that notifies the specified url
about events from all connected accounts is created; otherwise an account webhook endpoint that notifies the specified url
only about events from your account is created. You can also create webhook endpoints in the webhooks settings section of the Dashboard.
Details
- Method:
post
- Path:
/v1/webhook_endpoints
@spec delete(webhook_endpoint :: binary(), opts :: Keyword.t()) :: {:ok, Stripe.DeletedWebhookEndpoint.t()} | {:error, Stripe.ApiErrors.t()} | {:error, term()}
You can also delete webhook endpoints via the webhook endpoint management page of the Stripe dashboard.
Details
- Method:
delete
- Path:
/v1/webhook_endpoints/{webhook_endpoint}
@spec list( params :: %{ optional(:ending_before) => binary(), optional(:expand) => [binary()], optional(:limit) => integer(), optional(:starting_after) => binary() }, opts :: Keyword.t() ) :: {:ok, Stripe.List.t(t())} | {:error, Stripe.ApiErrors.t()} | {:error, term()}
Returns a list of your webhook endpoints.
Details
- Method:
get
- Path:
/v1/webhook_endpoints
@spec retrieve( webhook_endpoint :: binary(), params :: %{optional(:expand) => [binary()]}, opts :: Keyword.t() ) :: {:ok, t()} | {:error, Stripe.ApiErrors.t()} | {:error, term()}
Retrieves the webhook endpoint with the given ID.
Details
- Method:
get
- Path:
/v1/webhook_endpoints/{webhook_endpoint}
@spec update( webhook_endpoint :: binary(), params :: %{ optional(:description) => binary() | binary(), optional(:disabled) => boolean(), optional(:enabled_events) => [ :* | :"account.application.authorized" | :"account.application.deauthorized" | :"account.external_account.created" | :"account.external_account.deleted" | :"account.external_account.updated" | :"account.updated" | :"application_fee.created" | :"application_fee.refund.updated" | :"application_fee.refunded" | :"balance.available" | :"billing_portal.configuration.created" | :"billing_portal.configuration.updated" | :"billing_portal.session.created" | :"capability.updated" | :"cash_balance.funds_available" | :"charge.captured" | :"charge.dispute.closed" | :"charge.dispute.created" | :"charge.dispute.funds_reinstated" | :"charge.dispute.funds_withdrawn" | :"charge.dispute.updated" | :"charge.expired" | :"charge.failed" | :"charge.pending" | :"charge.refund.updated" | :"charge.refunded" | :"charge.succeeded" | :"charge.updated" | :"checkout.session.async_payment_failed" | :"checkout.session.async_payment_succeeded" | :"checkout.session.completed" | :"checkout.session.expired" | :"climate.order.canceled" | :"climate.order.created" | :"climate.order.delayed" | :"climate.order.delivered" | :"climate.order.product_substituted" | :"climate.product.created" | :"climate.product.pricing_updated" | :"coupon.created" | :"coupon.deleted" | :"coupon.updated" | :"credit_note.created" | :"credit_note.updated" | :"credit_note.voided" | :"customer.created" | :"customer.deleted" | :"customer.discount.created" | :"customer.discount.deleted" | :"customer.discount.updated" | :"customer.source.created" | :"customer.source.deleted" | :"customer.source.expiring" | :"customer.source.updated" | :"customer.subscription.created" | :"customer.subscription.deleted" | :"customer.subscription.paused" | :"customer.subscription.pending_update_applied" | :"customer.subscription.pending_update_expired" | :"customer.subscription.resumed" | :"customer.subscription.trial_will_end" | :"customer.subscription.updated" | :"customer.tax_id.created" | :"customer.tax_id.deleted" | :"customer.tax_id.updated" | :"customer.updated" | :"customer_cash_balance_transaction.created" | :"file.created" | :"financial_connections.account.created" | :"financial_connections.account.deactivated" | :"financial_connections.account.disconnected" | :"financial_connections.account.reactivated" | :"financial_connections.account.refreshed_balance" | :"financial_connections.account.refreshed_transactions" | :"identity.verification_session.canceled" | :"identity.verification_session.created" | :"identity.verification_session.processing" | :"identity.verification_session.redacted" | :"identity.verification_session.requires_input" | :"identity.verification_session.verified" | :"invoice.created" | :"invoice.deleted" | :"invoice.finalization_failed" | :"invoice.finalized" | :"invoice.marked_uncollectible" | :"invoice.paid" | :"invoice.payment_action_required" | :"invoice.payment_failed" | :"invoice.payment_succeeded" | :"invoice.sent" | :"invoice.upcoming" | :"invoice.updated" | :"invoice.voided" | :"invoiceitem.created" | :"invoiceitem.deleted" | :"issuing_authorization.created" | :"issuing_authorization.request" | :"issuing_authorization.updated" | :"issuing_card.created" | :"issuing_card.updated" | :"issuing_cardholder.created" | :"issuing_cardholder.updated" | :"issuing_dispute.closed" | :"issuing_dispute.created" | :"issuing_dispute.funds_reinstated" | :"issuing_dispute.submitted" | :"issuing_dispute.updated" | :"issuing_token.created" | :"issuing_token.updated" | :"issuing_transaction.created" | :"issuing_transaction.updated" | :"mandate.updated" | :"payment_intent.amount_capturable_updated" | :"payment_intent.canceled" | :"payment_intent.created" | :"payment_intent.partially_funded" | :"payment_intent.payment_failed" | :"payment_intent.processing" | :"payment_intent.requires_action" | :"payment_intent.succeeded" | :"payment_link.created" | :"payment_link.updated" | :"payment_method.attached" | :"payment_method.automatically_updated" | :"payment_method.detached" | :"payment_method.updated" | :"payout.canceled" | :"payout.created" | :"payout.failed" | :"payout.paid" | :"payout.reconciliation_completed" | :"payout.updated" | :"person.created" | :"person.deleted" | :"person.updated" | :"plan.created" | :"plan.deleted" | :"plan.updated" | :"price.created" | :"price.deleted" | :"price.updated" | :"product.created" | :"product.deleted" | :"product.updated" | :"promotion_code.created" | :"promotion_code.updated" | :"quote.accepted" | :"quote.canceled" | :"quote.created" | :"quote.finalized" | :"radar.early_fraud_warning.created" | :"radar.early_fraud_warning.updated" | :"refund.created" | :"refund.updated" | :"reporting.report_run.failed" | :"reporting.report_run.succeeded" | :"reporting.report_type.updated" | :"review.closed" | :"review.opened" | :"setup_intent.canceled" | :"setup_intent.created" | :"setup_intent.requires_action" | :"setup_intent.setup_failed" | :"setup_intent.succeeded" | :"sigma.scheduled_query_run.created" | :"source.canceled" | :"source.chargeable" | :"source.failed" | :"source.mandate_notification" | :"source.refund_attributes_required" | :"source.transaction.created" | :"source.transaction.updated" | :"subscription_schedule.aborted" | :"subscription_schedule.canceled" | :"subscription_schedule.completed" | :"subscription_schedule.created" | :"subscription_schedule.expiring" | :"subscription_schedule.released" | :"subscription_schedule.updated" | :"tax.settings.updated" | :"tax_rate.created" | :"tax_rate.updated" | :"terminal.reader.action_failed" | :"terminal.reader.action_succeeded" | :"test_helpers.test_clock.advancing" | :"test_helpers.test_clock.created" | :"test_helpers.test_clock.deleted" | :"test_helpers.test_clock.internal_failure" | :"test_helpers.test_clock.ready" | :"topup.canceled" | :"topup.created" | :"topup.failed" | :"topup.reversed" | :"topup.succeeded" | :"transfer.created" | :"transfer.reversed" | :"transfer.updated" | :"treasury.credit_reversal.created" | :"treasury.credit_reversal.posted" | :"treasury.debit_reversal.completed" | :"treasury.debit_reversal.created" | :"treasury.debit_reversal.initial_credit_granted" | :"treasury.financial_account.closed" | :"treasury.financial_account.created" | :"treasury.financial_account.features_status_updated" | :"treasury.inbound_transfer.canceled" | :"treasury.inbound_transfer.created" | :"treasury.inbound_transfer.failed" | :"treasury.inbound_transfer.succeeded" | :"treasury.outbound_payment.canceled" | :"treasury.outbound_payment.created" | :"treasury.outbound_payment.expected_arrival_date_updated" | :"treasury.outbound_payment.failed" | :"treasury.outbound_payment.posted" | :"treasury.outbound_payment.returned" | :"treasury.outbound_transfer.canceled" | :"treasury.outbound_transfer.created" | :"treasury.outbound_transfer.expected_arrival_date_updated" | :"treasury.outbound_transfer.failed" | :"treasury.outbound_transfer.posted" | :"treasury.outbound_transfer.returned" | :"treasury.received_credit.created" | :"treasury.received_credit.failed" | :"treasury.received_credit.succeeded" | :"treasury.received_debit.created" ], optional(:expand) => [binary()], optional(:metadata) => %{optional(binary()) => binary()} | binary(), optional(:url) => binary() }, opts :: Keyword.t() ) :: {:ok, t()} | {:error, Stripe.ApiErrors.t()} | {:error, term()}
Updates the webhook endpoint. You may edit the url
, the list of enabled_events
, and the status of your endpoint.
Details
- Method:
post
- Path:
/v1/webhook_endpoints/{webhook_endpoint}