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, null => PayResult.Unknown,
_ => throw new ArgumentOutOfRangeException() _ => 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); await Task.Delay(Random.Shared.Next(200, 600), cts.Token);
return await Pay(bolt11, payParams, 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) if (response["transaction"]?.Value<JObject>() is not null)
{ {
result.Details = new PayDetails() result.Details = new PayDetails()