@reevit/react 0.5.4 → 0.5.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.mjs CHANGED
@@ -625,11 +625,20 @@ function useReevit(options) {
625
625
  },
626
626
  [onError]
627
627
  );
628
- const reset = useCallback(() => {
628
+ const reset = useCallback(async () => {
629
+ if (state.paymentIntent && state.status !== "success") {
630
+ try {
631
+ const apiClient = apiClientRef.current;
632
+ if (apiClient) {
633
+ await apiClient.cancelPaymentIntent(state.paymentIntent.id);
634
+ }
635
+ } catch {
636
+ }
637
+ }
629
638
  initializingRef.current = false;
630
639
  initRequestIdRef.current += 1;
631
640
  dispatch({ type: "RESET" });
632
- }, []);
641
+ }, [state.paymentIntent, state.status]);
633
642
  const close = useCallback(async () => {
634
643
  if (state.paymentIntent && state.status !== "success") {
635
644
  try {
@@ -2252,10 +2261,10 @@ function ReevitCheckout({
2252
2261
  [selectMethod]
2253
2262
  );
2254
2263
  const handleProviderSelect = useCallback(
2255
- (provider) => {
2264
+ async (provider) => {
2256
2265
  if (provider === selectedProvider) {
2257
2266
  setSelectedProvider(null);
2258
- reset();
2267
+ await reset();
2259
2268
  setShowPSPBridge(false);
2260
2269
  setMomoData(null);
2261
2270
  return;
@@ -2263,7 +2272,7 @@ function ReevitCheckout({
2263
2272
  const providerMethods = providerOptions.find((option) => option.provider === provider)?.methods || paymentMethods;
2264
2273
  const methodForInit = selectedMethod && providerMethods.includes(selectedMethod) ? selectedMethod : providerMethods[0] || paymentMethods[0];
2265
2274
  setSelectedProvider(provider);
2266
- reset();
2275
+ await reset();
2267
2276
  setShowPSPBridge(false);
2268
2277
  setMomoData(null);
2269
2278
  initialize(methodForInit, { preferredProvider: provider, allowedProviders: [provider] });
@@ -2305,8 +2314,8 @@ function ReevitCheckout({
2305
2314
  const handlePSPClose = useCallback(() => {
2306
2315
  setShowPSPBridge(false);
2307
2316
  }, []);
2308
- const handleBack = useCallback(() => {
2309
- reset();
2317
+ const handleBack = useCallback(async () => {
2318
+ await reset();
2310
2319
  setMomoData(null);
2311
2320
  setShowPSPBridge(false);
2312
2321
  }, [reset]);