@using BTCPayServer.Hubs @model UpdateCrowdfundViewModel @{ ViewData["Title"] = "Update Crowdfund"; } Contribution Perks Management × @ViewData["Title"] * @foreach (var opt in Model.ResetEveryValues) { @opt } Contribution Perks Add Perk Host button externally You can host contribution buttons in an external website with the following code. @if (Model.Example1 != null) { For anything with a custom amount @Model.Example1 } @if (Model.Example2 != null) { For a specific item of your perks template @Model.Example2 } A POST callback will be sent to notification with the following form will be sent to notificationUrl once the enough is paid and once again once there is enough confirmations to the payment: @Model.ExampleCallback Never trust anything but id, ignore the other fields completely, an attacker can spoof those, they are present only for backward compatibility reason: Send a GET request to https://btcpay.example.com/invoices/{invoiceId} with Content-Type: application/json Verify that the orderId is from your backend, that the price is correct and that status is either confirmed or complete You can then ship your order Invoices generated by app  Back to the app list @section Scripts { }
You can host contribution buttons in an external website with the following code.
@Model.Example1
@Model.Example2
A POST callback will be sent to notification with the following form will be sent to notificationUrl once the enough is paid and once again once there is enough confirmations to the payment:
POST
notificationUrl
@Model.ExampleCallback
Never trust anything but id, ignore the other fields completely, an attacker can spoof those, they are present only for backward compatibility reason:
id
GET
https://btcpay.example.com/invoices/{invoiceId}
Content-Type: application/json
orderId
price
status
confirmed
complete