mirror of
https://github.com/btcpayserver/btcpayserver.git
synced 2025-03-06 10:32:13 +01:00
parent
e5a1da7136
commit
cf747f1e07
2 changed files with 23 additions and 15 deletions
|
@ -193,19 +193,17 @@ namespace BTCPayServer.Controllers
|
||||||
var options = (await relevant.GetSupportedPaymentMethods(invoice.StoreData)).Where(id => pmis.Contains(id)).ToList();
|
var options = (await relevant.GetSupportedPaymentMethods(invoice.StoreData)).Where(id => pmis.Contains(id)).ToList();
|
||||||
if (!options.Any())
|
if (!options.Any())
|
||||||
{
|
{
|
||||||
TempData.SetStatusMessageModel(new StatusMessageModel()
|
var vm = new RefundModel { Title = "No matching payment method" };
|
||||||
{
|
ModelState.AddModelError(nameof(vm.AvailablePaymentMethods),
|
||||||
Severity = StatusMessageModel.StatusSeverity.Error,
|
"There are no payment methods available to provide refunds with for this invoice.");
|
||||||
Message = "There were no payment methods available to provide refunds with for this invoice."
|
return View("_RefundModal", vm);
|
||||||
});
|
|
||||||
return RedirectToAction(nameof(Invoice), new { invoiceId });
|
|
||||||
}
|
}
|
||||||
|
|
||||||
var defaultRefund = invoice.Payments
|
var defaultRefund = invoice.Payments
|
||||||
.Select(p => p.GetBlob(_NetworkProvider))
|
.Select(p => p.GetBlob(_NetworkProvider))
|
||||||
.Select(p => p?.GetPaymentMethodId())
|
.Select(p => p?.GetPaymentMethodId())
|
||||||
.FirstOrDefault(p => p != null && options.Contains(p));
|
.FirstOrDefault(p => p != null && options.Contains(p));
|
||||||
// TODO: What if no option?
|
|
||||||
var refund = new RefundModel
|
var refund = new RefundModel
|
||||||
{
|
{
|
||||||
Title = "Payment method",
|
Title = "Payment method",
|
||||||
|
|
|
@ -13,18 +13,28 @@
|
||||||
|
|
||||||
<h5 class="mb-3">@Model.Title</h5>
|
<h5 class="mb-3">@Model.Title</h5>
|
||||||
|
|
||||||
|
<partial name="_StatusMessage" />
|
||||||
|
|
||||||
|
@if (!ViewContext.ModelState.IsValid)
|
||||||
|
{
|
||||||
|
<div asp-validation-summary="All" class="text-danger"></div>
|
||||||
|
}
|
||||||
|
|
||||||
@switch (Model.RefundStep)
|
@switch (Model.RefundStep)
|
||||||
{
|
{
|
||||||
case RefundSteps.SelectPaymentMethod:
|
case RefundSteps.SelectPaymentMethod:
|
||||||
<div class="form-group">
|
if (Model.AvailablePaymentMethods != null && Model.AvailablePaymentMethods.Any())
|
||||||
<label asp-for="SelectedPaymentMethod" class="form-label"></label>
|
{
|
||||||
<select asp-items="Model.AvailablePaymentMethods" asp-for="SelectedPaymentMethod" class="form-select"></select>
|
<div class="form-group">
|
||||||
<span asp-validation-for="SelectedPaymentMethod" class="text-danger"></span>
|
<label asp-for="SelectedPaymentMethod" class="form-label"></label>
|
||||||
</div>
|
<select asp-items="Model.AvailablePaymentMethods" asp-for="SelectedPaymentMethod" class="form-select"></select>
|
||||||
|
<span asp-validation-for="SelectedPaymentMethod" class="text-danger"></span>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<button id="ok" type="submit" class="btn btn-primary w-100">Next</button>
|
<button id="ok" type="submit" class="btn btn-primary w-100">Next</button>
|
||||||
</div>
|
</div>
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case RefundSteps.SelectRate:
|
case RefundSteps.SelectRate:
|
||||||
|
|
Loading…
Add table
Reference in a new issue