Added Socket closed handling

This commit is contained in:
Savya Bikram Shah
2026-05-07 17:16:21 +05:45
parent 846a4fda9c
commit 3c17829453
2 changed files with 9 additions and 2 deletions

View File

@@ -27,7 +27,7 @@ namespace Darkmatter.Fonepay.Samples
var fonepay = new FonepayClient(); var fonepay = new FonepayClient();
var request = new QrRequest var request = new QrRequest
{ {
amount = 0.5f, amount = 1f,
remarks1 = "mausham ko paisa" remarks1 = "mausham ko paisa"
}; };
var qr = await fonepay.PurchaseAsync(request, destroyCancellationToken); var qr = await fonepay.PurchaseAsync(request, destroyCancellationToken);
@@ -45,7 +45,6 @@ namespace Darkmatter.Fonepay.Samples
qr.thirdpartyQrWebSocketUrl, qr.thirdpartyQrWebSocketUrl,
onQrVerified: v => Debug.Log($"Fonepay QR verified: {v}"), onQrVerified: v => Debug.Log($"Fonepay QR verified: {v}"),
ct: destroyCancellationToken); ct: destroyCancellationToken);
Debug.Log($"{JsonUtility.ToJson(payment)}");
var ok = payment.Outcome == PaymentOutcome.Complete; var ok = payment.Outcome == PaymentOutcome.Complete;
qrImage.gameObject.SetActive(false); qrImage.gameObject.SetActive(false);

View File

@@ -69,6 +69,14 @@ namespace Darkmatter.Fonepay
ws.OnQrVerified += onQrVerified; ws.OnQrVerified += onQrVerified;
ws.OnPaymentReceived += msg => tcs.TrySetResult(msg.Status); ws.OnPaymentReceived += msg => tcs.TrySetResult(msg.Status);
ws.OnClosed += err =>
{
if (err != null)
tcs.TrySetException(err);
else
tcs.TrySetException(new InvalidOperationException(
"Fonepay websocket closed before payment frame received."));
};
using var ctReg = ct.Register(() => tcs.TrySetCanceled(ct)); using var ctReg = ct.Register(() => tcs.TrySetCanceled(ct));