btcpayserver/BTCPayServer/Views/Invoice/Refund.cshtml
Kukks 735995954f Add custom refund option
Allows you to specify an alternative refund amount and currency. This allows partial refunds and other negotiated terms
closes #1874
2020-09-02 11:24:18 +02:00

97 lines
6.1 KiB
Plaintext

@model RefundModel
@{
ViewData["Title"] = "Refund";
}
<section>
<div class="row">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title">@Model.Title</h4>
</div>
<div class="modal-body">
<form method="post">
<input type="hidden" asp-for="RefundStep" value="@Model.RefundStep"/>
<input type="hidden" asp-for="Title" value="@Model.Title"/>
@switch (Model.RefundStep)
{
case RefundSteps.SelectPaymentMethod:
<div class="form-group">
<label asp-for="SelectedPaymentMethod"></label>
<select asp-items="Model.AvailablePaymentMethods" asp-for="SelectedPaymentMethod" class="form-control"></select>
<span asp-validation-for="SelectedPaymentMethod" class="text-danger"></span>
</div>
<div class="form-group">
<button id="ok" type="submit" class="btn btn-primary btn-block btn-lg">Next</button>
</div>
break;
case RefundSteps.SelectRate:
<input type="hidden" asp-for="SelectedPaymentMethod"/>
<input type="hidden" asp-for="CryptoAmountThen"/>
<input type="hidden" asp-for="FiatAmount"/>
<input type="hidden" asp-for="CryptoAmountNow"/>
<div class="form-group">
<div class="form-check-inline">
<input id="RateThenText" asp-for="SelectedRefundOption" type="radio" value="RateThen" class="form-check-input"/>
<label for="RateThenText" class="form-check-label">@Model.RateThenText</label>
</div>
<small class="form-text text-muted">The crypto currency price, at the rate the invoice got paid.</small>
</div>
<div class="form-group">
<div class="form-check-inline">
<input id="CurrentRateText" asp-for="SelectedRefundOption" type="radio" value="CurrentRate" class="form-check-input"/>
<label for="CurrentRateText" class="form-check-label">@Model.CurrentRateText</label>
</div>
<small class="form-text text-muted">The crypto currency price, at the current rate.</small>
</div>
<div class="form-group">
<div class="form-check-inline">
<input id="FiatText" asp-for="SelectedRefundOption" type="radio" value="Fiat" class="form-check-input"/>
<label for="FiatText" class="form-check-label">@Model.FiatText</label>
</div>
<small class="form-text text-muted">The invoice currency, at the rate when the refund will be sent.</small>
</div>
<div class="form-group">
<div class="form-check-inline">
<input id="CustomText" asp-for="SelectedRefundOption" type="radio" value="Custom" class="form-check-input"/>
<label for="CustomText" class="form-check-label">Custom</label>
</div>
<small class="form-text text-muted">The specified amount with the specified currency, at the rate when the refund will be sent. </small>
</div>
<div class="form-group">
<button id="ok" type="submit" class="btn btn-primary btn-block btn-lg">Create refund</button>
</div>
break;
case RefundSteps.SelectCustomAmount:
<input type="hidden" asp-for="SelectedPaymentMethod"/>
<input type="hidden" asp-for="CryptoAmountThen"/>
<input type="hidden" asp-for="FiatAmount"/>
<input type="hidden" asp-for="CryptoAmountNow"/>
<input type="hidden" asp-for="SelectedRefundOption"/>
<div class="form-group">
<label asp-for="CustomAmount"></label>
<div class="input-group">
<input asp-for="CustomAmount" type="number" step="any" asp-format="{0}" class="form-control"/>
<div class="input-group-append">
<input asp-for="CustomCurrency" type="text"class="form-control"/>
</div>
</div>
<span asp-validation-for="CustomAmount" class="text-danger w-100"></span>
<span asp-validation-for="CustomCurrency" class="text-danger w-100"></span>
</div>
<div class="form-group">
<button id="ok" type="submit" class="btn btn-primary btn-block btn-lg">Next</button>
</div>
break;
}
</form>
</div>
</div>
</div>
</div>
</section>