Added Socket closed handling
This commit is contained in:
@@ -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);
|
||||||
|
|||||||
@@ -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));
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user