Report errors from Blink

This commit is contained in:
nicolas.dorier
2024-11-08 14:21:09 +09:00
parent fdb2f39cdb
commit c640e3cf2c

View File

@@ -645,11 +645,16 @@ 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))
{
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<string>();
}
if (response["transaction"]?.Value<JObject>() is not null)
{
result.Details = new PayDetails()