Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Introduction

The proposed new feature aims to enhance the user experience during the payment process by ensuring that the transaction is completed without interruptions. When the user places an order, the system will prevent them from closing the page until the payment processing is complete. This measure aims to significantly reduce errors and frustrations associated with interruptions in the payment process, offering a smoother and more satisfying shopping experience for customers.

Context

CURRENT BEHAVIOR

When the user places the an order (presses the button), the button state changes to a loading state, blocking the user to press from pressing it again. However, the rest of the page do does not change or blockedblock, having allowing the possibility user to return to the previous step in the middle of the process (press pressing X to close).

RISKS OF CURRENT BEHAVIOR

Permitting Allowing the user to go back during the payment process is a risk , because the payment process is an important step in which that involves Payment and RBI platforms are involved. Their interruption leads to several errors, depending on when the user closes the page. Once the user comes back to the Checkout, these errors may occur:

  • If the user presses the Continue button to place the same order again, the page informs the user that they have already placed the order (duplication) when it has not.

 

...

Goal

The goal is to block the user's ability to close the page while the transaction is being processed. By blocking the ability to close the page during payment processing, it is expected that there will be a significant reduction in the volume of errors and errors that can lead to high levels of frustration, we hope to minimize errors and dropouts, providing a smoother and more satisfactory purchasing process for customers.

...

Info

This feature has a flag called Enable Processing Payment Splash Screen which should be enabled to be used. Key of feature: enable-processing-payment-splash-screen

PSP’s can enable this feature with this flag: Paycomet, Paymark, Adyen

To enable, this flag please contact your CSM.

PSP’s enabled all the time (There isn’t flag): Cybersource, Checkoutdotcom

For others PSP’s there isn’t this feature.

...

  1. Redirect the user when clicking on “Cancel“ inside the popup:

If the user chooses to close the popup, the payment page enters an infinite loading state, with no completion. This behavior forces the customer to take drastic actions, such as closing the page and redoing the flow, which interrupts the purchase flow and can potentially cause frustration.

To solve this problem, we will capture the user's action of closing the popup and, when this happens, they will be redirected to the cart page and a new OrderId will be generated, consequently generating a new TransactionId.

There is also the possibility of closing the popup inside the iframe (Bizum and PayPal); in this case, the PSP (Paycomet) returns an error code that will be used to validate this scenario and consequently execute the same flow mentioned above.

There isn't a cancel button or close button inside the Waylet iframe popup.

...

  1. Redirect the user when clicking on the “close button“ in the popup:

This button remains enabled throughout the transaction process, which may allow the user to cancel (by clicking this button the user is redirected to the cart) the purchase for any reason, such as a simple delay in payment processing or any other non-apparent reason.

This may leave the impression that the payment has been canceled or that the payment has been made, which no longer occurs due to the new changes to the intl-transactions team (backend commit order).

This change is more focused on the user experience, as ghost order errors have already been resolved, as mentioned above.

...

  1. Show the splash screen loading on the payment flow

    1. Payment with Card (Onetime - First payment)

      10.mov

    2. Payment with Card (Vaulted - Card saved)

      11.mov

    3. Payment with Popup (Paypal, Waylet and Bizum)

      12.mov

  2. on-close event and unexpected closes (Infinity Loading issue)

Currently, when the user closes the popup by the close button or in an unconventional way, the page gets into an infinite loading state. This problem occurs only with payment flows that involve a popup.

If some time the Popup unexpectedly closes, the page will show the modal informing a specific error:

Info

The message errors can be changed to Lokalise, in the keys:

Title: uhohSomethingWrong

Description: paycomet.error.9999

Button: goToCheckout

...

Info

Out of the scope

FIRSTDATA, ORBITAL, FIRSTPAY and VRPAYMENT;

...

Info

CHASE, WORLDPAY, and PLACETOPAY PSPs there aren’t any payment flows in the Whitelabel code until this moment:

Adyen

  1. Payment with Card (Onetime - First payment)

    01.mov

  2. Payment with Card (Vaulted - Card saved)

    02.mov

...