Merge pull request #6942 from bufo24/add-Status-template-string-in-redirect-url

feature: add {Status} template string in redirect url
This commit is contained in:
rockstardev
2025-10-21 12:00:18 -05:00
committed by GitHub

View File

@@ -484,7 +484,9 @@ namespace BTCPayServer.Services.Invoices
private Uri FillPlaceholdersUri(string v) private Uri FillPlaceholdersUri(string v)
{ {
var uriStr = (v ?? string.Empty).Replace("{OrderId}", System.Web.HttpUtility.UrlEncode(Metadata.OrderId) ?? "", StringComparison.OrdinalIgnoreCase) var uriStr = (v ?? string.Empty).Replace("{OrderId}", System.Web.HttpUtility.UrlEncode(Metadata.OrderId) ?? "", StringComparison.OrdinalIgnoreCase)
.Replace("{InvoiceId}", System.Web.HttpUtility.UrlEncode(Id) ?? "", StringComparison.OrdinalIgnoreCase); .Replace("{InvoiceId}", System.Web.HttpUtility.UrlEncode(Id) ?? "", StringComparison.OrdinalIgnoreCase)
// NOTE: Not recommended to depend on the status on client side, rather fetch invoice status via API instead
.Replace("{Status}", System.Web.HttpUtility.UrlEncode(Status.ToString()) ?? "", StringComparison.OrdinalIgnoreCase);
if (Uri.TryCreate(uriStr, UriKind.Absolute, out var uri) && (uri.Scheme == "http" || uri.Scheme == "https")) if (Uri.TryCreate(uriStr, UriKind.Absolute, out var uri) && (uri.Scheme == "http" || uri.Scheme == "https"))
return uri; return uri;
return null; return null;