@model EditWebhookViewModel @using BTCPayServer.Client.Models; @{ Layout = "../Shared/_NavLayout.cshtml"; ViewData.SetActivePageAndTitle(StoreNavPages.Webhooks, "Webhooks"); }

Webhooks settings

The endpoint receiving the payload must validate the payload by checking that the HTTP header BTCPAY-SIG of the callback matches the HMAC256 of the secret on the payload's body bytes.

We will try to redeliver any failed delivery after 10 seconds, 1 minutes and up to 6 times after 10 minutes

Events

    @foreach (var evt in new[] { ("A new invoice has been created", WebhookEventType.InvoiceCreated), ("A new payment has been received", WebhookEventType.InvoiceReceivedPayment), ("An invoice is processing", WebhookEventType.InvoiceProcessing), ("An invoice has expired", WebhookEventType.InvoiceExpired), ("An invoice has been settled", WebhookEventType.InvoiceSettled), ("An invoice became invalid", WebhookEventType.InvoiceInvalid) }) {
  • }
@if (Model.IsNew) { } else { }
@if (!Model.IsNew && Model.Deliveries.Count > 0) {

Recent deliveries

    @foreach (var delivery in Model.Deliveries) {
  • @if (delivery.Success) { } else { } @delivery.Id @delivery.Time.ToBrowserDate()
  • }
}
@section Scripts { @await Html.PartialAsync("_ValidationScriptsPartial") }