From c640e3cf2c112ca4bbe1bff952bdcd62eabab0ef Mon Sep 17 00:00:00 2001 From: "nicolas.dorier" Date: Fri, 8 Nov 2024 14:21:09 +0900 Subject: [PATCH] Report errors from Blink --- .../BlinkLightningClient.cs | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) 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) {