diff --git a/BTCPayServer/BTCPayServer.csproj b/BTCPayServer/BTCPayServer.csproj
index 82375ca57..270e3a962 100644
--- a/BTCPayServer/BTCPayServer.csproj
+++ b/BTCPayServer/BTCPayServer.csproj
@@ -2,7 +2,7 @@
Exe
netcoreapp2.0
- 1.0.0.19
+ 1.0.0.20
diff --git a/BTCPayServer/Controllers/InvoiceController.cs b/BTCPayServer/Controllers/InvoiceController.cs
index 75f0edefd..2c14f33f2 100644
--- a/BTCPayServer/Controllers/InvoiceController.cs
+++ b/BTCPayServer/Controllers/InvoiceController.cs
@@ -104,7 +104,7 @@ namespace BTCPayServer.Controllers
entity.ProductInformation = Map(invoice);
entity.RedirectURL = invoice.RedirectURL ?? store.StoreWebsite;
entity.Status = "new";
- entity.SpeedPolicy = store.SpeedPolicy;
+ entity.SpeedPolicy = ParseSpeedPolicy(invoice.TransactionSpeed, store.SpeedPolicy);
entity.TxFee = (await _FeeProvider.GetFeeRateAsync()).GetFee(100); // assume price for 100 bytes
entity.Rate = (double)await _RateProvider.GetRateAsync(invoice.Currency);
entity.PosData = invoice.PosData;
@@ -117,6 +117,17 @@ namespace BTCPayServer.Controllers
return new DataWrapper(resp) { Facade = "pos/invoice" };
}
+ private SpeedPolicy ParseSpeedPolicy(string transactionSpeed, SpeedPolicy defaultPolicy)
+ {
+ var mappings = new Dictionary();
+ mappings.Add("low", SpeedPolicy.LowSpeed);
+ mappings.Add("medium", SpeedPolicy.MediumSpeed);
+ mappings.Add("high", SpeedPolicy.HighSpeed);
+ if(!mappings.TryGetValue(transactionSpeed, out SpeedPolicy policy))
+ policy = defaultPolicy;
+ return policy;
+ }
+
private void FillBuyerInfo(Buyer buyer, BuyerInformation buyerInformation)
{
if(buyer == null)