What should happen with Canceled or Declined payments? (Stripe, Paypal)

  • Patrick Jackson
  • Topic Author
  • Offline
  • New Member
  • New Member
More
3 months 6 days ago #168748 by Patrick Jackson
Launched a new shop in the past fortnight, and am frustrated to find some scenarios I've not paid attention to closely on some older eshop sites that have less transactions, and that I'd not built (inherited the maintenance). Looking into some of the sites that I have eshop on, I've now found lots of matching scenarios, so have about a dozen sites that I want to solve this issue on.

Posting here to assist others, but once conversation begins with JoomDonation team, I'll raise a ticket if required.

What expected behaviour is:
  • When a payment started by a customer, they get to a point where the payment gateway is triggered and displayed:
    • Stripe checkout window loads or
    • Paypal Standard Checkout pop up window loads
  • If a payment is completed, the order is then processed and status changed to "Complete". Ideally most transactions go this way.
  • If a customer decided to cancel the payment and return to the cart
    • Option 1: The order is cancelled, and should have it's status changed to Cancelled so the shop owner can see the order has been cancelled.
    • Option 2: The customer changed their mind about the payment type or realised there was going to be an issue, and the customer is then returned to the website and given the option to modify their cart and try the purchase again or otherwise abandon their cart. This should return the customer to the page in the cancel_url parameter, and then process the cancellation of the order.
    • Option 3: The customer attempted the transaction and there was an error and the transaction failed (incorrect card number, insufficient funds etc). The user will typically try the transaction again to correct the error, but then will either have a successful payment on a subsequent attempt, or will choose to cancel and be redirected to the cancel_url per Option 2.
  • An abandoned cart in light of the above is then where they've added items but not yet moved to checkout.
Current Scenario
From the configuration that I currently have, the above options do not work as expected.
  • Payment commenced by customer works as expected and shows either Stripe or Paypal payment plugin they have selected.
  • If a payment is completed, this works as expected and the order is Completed.
  • If the customer cancels and returns to the cart:
    • They are taken to an "Order Cancelled" page (expected behaviour)
    • The order IS NOT CANCELLED (Option 1)
    • The customer is not given the option to modify their cart and try again (Option 2)
    • The order remains as Pending status even if the payment failed. The status should change to Failed (or other selected option - this can not be set in the Payment Plugins currently)
If there's users that have workarounds or code to improve the payment plugins so that they process the Cancelled and Failed payments properly, please advise so that I can modify the code on my sites, and so that JoomDonation EShop team can improve the payment plugins to better cater for the above scenarios.


A note on configuring Paypal Standard Checkout...
There's a scenario where Paypal STC will load in an unusual way that is not specifically documented in EShop plugin.

If you're using Joomla "System - HTTP Headers" plugin, you need to set
  • "Referrer Policy" to "strict-origin-when-cross-origin"
  • "Cross-Origin-Opener-Policy" to be "same-origin-allow-popups"
Otherwise the Paypal plugin will:
  • Open a blank popup window on top of the page
  • Open the Paypal Checkout in a pseudo-modal view on the page.
In addition to not being the desired functionality, it also leads to Paypal not transacting properly, as well as confusing the customer.

Please Log in or Create an account to join the conversation.

  • Giang Dinh Truong
  • Offline
  • Administrator
  • Administrator
More
2 months 4 weeks ago #168873 by Giang Dinh Truong
Dear Patrick Jason,

Thank you for submitting the post here. I read whole of your post. And I think you are right. I think I need to improve EShop to have more cases of processing orders as you suggested. I will work on it soon and get back to you via ticket system.

Thank you again for your suggestion.

Sincerely, Giang

Please Log in or Create an account to join the conversation.

Moderators: Giang Dinh Truong