diff --git a/Plugins/BTCPayServer.Plugins.Blink/BlinkLightningClient.cs b/Plugins/BTCPayServer.Plugins.Blink/BlinkLightningClient.cs index fc3179d..40ad7b8 100644 --- a/Plugins/BTCPayServer.Plugins.Blink/BlinkLightningClient.cs +++ b/Plugins/BTCPayServer.Plugins.Blink/BlinkLightningClient.cs @@ -645,10 +645,15 @@ mutation LnInvoicePaymentSend($input: LnInvoicePaymentInput!) { null => PayResult.Unknown, _ => throw new ArgumentOutOfRangeException() }; - if (result.Result == PayResult.Error && response.TryGetValue("errors", out var error) && error.ToString().Contains("ResourceAttemptsRedlockServiceError", StringComparison.InvariantCultureIgnoreCase)) + if (result.Result == PayResult.Error && response.TryGetValue("errors", out var error)) { - await Task.Delay(Random.Shared.Next(200, 600), cts.Token); - return await Pay(bolt11, payParams, cts.Token); + if (error.ToString().Contains("ResourceAttemptsRedlockServiceError", StringComparison.InvariantCultureIgnoreCase)) + { + await Task.Delay(Random.Shared.Next(200, 600), cts.Token); + return await Pay(bolt11, payParams, cts.Token); + } + if (error is JArray { Count: > 0 } arr) + result.ErrorDetail = arr[0]["message"]?.Value(); } if (response["transaction"]?.Value() is not null) {