defmodule ExOAPI.Stripe.SDK.WebhookEndpoints do @doc """ **description**:

You can also delete webhook endpoints via the webhook endpoint management page of the Stripe dashboard.

""" @spec delete_webhook_endpoints_webhook_endpoint( client :: ExOAPI.Client.t(), body :: %{} | map(), webhook_endpoint :: String.t() ) :: {:ok, any()} | {:error, any()} def delete_webhook_endpoints_webhook_endpoint(%ExOAPI.Client{} = client, body, webhook_endpoint) do client |> ExOAPI.Client.set_module(ExOAPI.Stripe.SDK) |> ExOAPI.Client.add_method(:delete) |> ExOAPI.Client.add_base_url("https://api.stripe.com/", :exoapi_default) |> ExOAPI.Client.add_path("/v1/webhook_endpoints/{webhook_endpoint}") |> ExOAPI.Client.add_body(body) |> ExOAPI.Client.replace_in_path("webhook_endpoint", webhook_endpoint) |> ExOAPI.Client.request() end @doc """ **description**:

Updates the webhook endpoint. You may edit the url, the list of enabled_events, and the status of your endpoint.

""" @spec post_webhook_endpoints_webhook_endpoint( client :: ExOAPI.Client.t(), body :: %{ :url => String.t(), :metadata => String.t() | map(), :expand => [String.t()], :enabled_events => [ String.t() | :* | :"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" | :"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" | :"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.pending_update_applied" | :"customer.subscription.pending_update_expired" | :"customer.subscription.trial_will_end" | :"customer.subscription.updated" | :"customer.tax_id.created" | :"customer.tax_id.deleted" | :"customer.tax_id.updated" | :"customer.updated" | :"file.created" | :"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" | :"invoiceitem.updated" | :"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_transaction.created" | :"issuing_transaction.updated" | :"mandate.updated" | :"order.created" | :"order.payment_failed" | :"order.payment_succeeded" | :"order.updated" | :"order_return.created" | :"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.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" | :"recipient.created" | :"recipient.deleted" | :"recipient.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" | :"sku.created" | :"sku.deleted" | :"sku.updated" | :"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_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.failed" | :"transfer.paid" | :"transfer.reversed" | :"transfer.updated" ], :disabled => boolean(), :description => String.t() } | map(), webhook_endpoint :: String.t() ) :: {:ok, any()} | {:error, any()} def post_webhook_endpoints_webhook_endpoint(%ExOAPI.Client{} = client, body, webhook_endpoint) do client |> ExOAPI.Client.set_module(ExOAPI.Stripe.SDK) |> ExOAPI.Client.add_method(:post) |> ExOAPI.Client.add_base_url("https://api.stripe.com/", :exoapi_default) |> ExOAPI.Client.add_path("/v1/webhook_endpoints/{webhook_endpoint}") |> ExOAPI.Client.add_body(body) |> ExOAPI.Client.replace_in_path("webhook_endpoint", webhook_endpoint) |> ExOAPI.Client.request() end @doc """ **description**:

Retrieves the webhook endpoint with the given ID.

""" @type get_webhook_endpoints_webhook_endpoint_opts :: {:expand, String.t()} @spec get_webhook_endpoints_webhook_endpoint( client :: ExOAPI.Client.t(), webhook_endpoint :: String.t(), list(get_webhook_endpoints_webhook_endpoint_opts()) ) :: {:ok, any()} | {:error, any()} def get_webhook_endpoints_webhook_endpoint( %ExOAPI.Client{} = client, webhook_endpoint, opts \\ [] ) do client |> ExOAPI.Client.set_module(ExOAPI.Stripe.SDK) |> ExOAPI.Client.add_method(:get) |> ExOAPI.Client.add_base_url("https://api.stripe.com/", :exoapi_default) |> ExOAPI.Client.add_path("/v1/webhook_endpoints/{webhook_endpoint}") |> ExOAPI.Client.replace_in_path("webhook_endpoint", webhook_endpoint) |> ExOAPI.Client.add_arg_opts(:keyword, :query, opts, [ {:expand, "expand", "deepObject", true} ]) |> ExOAPI.Client.request() end @doc """ **description**:

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.

""" @spec post_webhook_endpoints( client :: ExOAPI.Client.t(), body :: %{ :url => String.t(), :metadata => String.t() | map(), :expand => [String.t()], :enabled_events => [ String.t() | :* | :"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" | :"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" | :"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.pending_update_applied" | :"customer.subscription.pending_update_expired" | :"customer.subscription.trial_will_end" | :"customer.subscription.updated" | :"customer.tax_id.created" | :"customer.tax_id.deleted" | :"customer.tax_id.updated" | :"customer.updated" | :"file.created" | :"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" | :"invoiceitem.updated" | :"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_transaction.created" | :"issuing_transaction.updated" | :"mandate.updated" | :"order.created" | :"order.payment_failed" | :"order.payment_succeeded" | :"order.updated" | :"order_return.created" | :"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.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" | :"recipient.created" | :"recipient.deleted" | :"recipient.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" | :"sku.created" | :"sku.deleted" | :"sku.updated" | :"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_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.failed" | :"transfer.paid" | :"transfer.reversed" | :"transfer.updated" ], :description => String.t(), :connect => boolean(), :api_version => String.t() | :"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" } | map() ) :: {:ok, any()} | {:error, any()} def post_webhook_endpoints(%ExOAPI.Client{} = client, body) do client |> ExOAPI.Client.set_module(ExOAPI.Stripe.SDK) |> ExOAPI.Client.add_method(:post) |> ExOAPI.Client.add_base_url("https://api.stripe.com/", :exoapi_default) |> ExOAPI.Client.add_path("/v1/webhook_endpoints") |> ExOAPI.Client.add_body(body) |> ExOAPI.Client.request() end @doc """ **description**:

Returns a list of your webhook endpoints.

""" @type get_webhook_endpoints_opts :: {:starting_after, String.t()} | {:limit, String.t()} | {:expand, String.t()} | {:ending_before, String.t()} @spec get_webhook_endpoints(client :: ExOAPI.Client.t(), list(get_webhook_endpoints_opts())) :: {:ok, any()} | {:error, any()} def get_webhook_endpoints(%ExOAPI.Client{} = client, opts \\ []) do client |> ExOAPI.Client.set_module(ExOAPI.Stripe.SDK) |> ExOAPI.Client.add_method(:get) |> ExOAPI.Client.add_base_url("https://api.stripe.com/", :exoapi_default) |> ExOAPI.Client.add_path("/v1/webhook_endpoints") |> ExOAPI.Client.add_arg_opts(:keyword, :query, opts, [ {:starting_after, "starting_after", "form", true}, {:limit, "limit", "form", true}, {:expand, "expand", "deepObject", true}, {:ending_before, "ending_before", "form", true} ]) |> ExOAPI.Client.request() end end