diff --git a/src/hooks/useWave.tsx b/src/hooks/useWave.tsx
index f8912a8..f4f1261 100644
--- a/src/hooks/useWave.tsx
+++ b/src/hooks/useWave.tsx
@@ -113,9 +113,7 @@ const useWave = (
// log.info("Opening browser for payment...");
log.info("Navigating to the qr code screen...");
closeModal();
- navigation
- ?.getParent()
- ?.navigate("waveQrCodePaymentScreen", { paymentUrl: response.wave_launch_url });
+ navigation?.getParent()?.navigate("waveQrCodePaymentScreen", { data: response });
// await openBrowserThenCheckStatus(response.wave_launch_url, response.id);
} catch (error) {
@@ -124,9 +122,26 @@ const useWave = (
}
};
+ const handlePaymentVerification = async (id: string) => {
+ log.info("handlePaymentVerification |", id);
+ try {
+ showModal();
+ const response = await waveTransactionStatusMutation.mutateAsync(id);
+ closeModal();
+ } catch (error) {
+ log.error("handlePaymentVerification |", error);
+ // closeModal();
+ // showModal();
+ } finally {
+ // TODO : remove this finally block once a proper implementation workflow is set. currently we close the modal after logging whatever response we get from the request
+ closeModal();
+ }
+ };
+
return {
waveTransactionInitializerMutation,
waveTransactionHandler,
+ handlePaymentVerification,
};
};
diff --git a/src/navigations/Types.ts b/src/navigations/Types.ts
index c13a917..3092510 100644
--- a/src/navigations/Types.ts
+++ b/src/navigations/Types.ts
@@ -1,4 +1,5 @@
import type { PaymentCode } from "@/utils/requests/Types";
+import type { IwaveStarterRespone } from "@/utils/requests/wavePayment";
import type { NativeStackScreenProps } from "@react-navigation/native-stack";
export type IpaymentStackNavigator = {
@@ -22,7 +23,7 @@ export type ImainStackNavigator = {
appBottomTabsNavigator: undefined;
paymentResultScreen: undefined;
waveQrCodePaymentScreen: {
- paymentUrl: string;
+ data: IwaveStarterRespone;
};
};