duncanmcclean / simple-commerce

A simple, yet powerful e-commerce addon for Statamic.
https://statamic.com/addons/duncanmcclean/simple-commerce
Other
147 stars 41 forks source link

Mollie Bank Transfer: Status Open redirects to error_redirect page #1150

Open Web10-Joris opened 2 months ago

Web10-Joris commented 2 months ago

Description

When customers use Mollie Bank Transfer for checkout, an issue arises. Currently, SC redirects customers to the error_redirect page because the order isn't immediately marked as "Paid". This occurs despite customers receiving an email or QR code from Mollie with bank transfer details.

The problem is that these orders remain "Open" in Mollie's system for several days, allowing customers to complete the transfer later. However, customers see the error_redirect page (as defined in the offsite tag) and may assume their order failed completely. This discourages them from completing the bank transfer, even though successful payments within X days would still be marked as "Paid" in SC.

Some ideas to fix this in the next version:

This way, when Mollie receives the payment in their bank account, they can update the status to "Paid" via webhook. As a temporary measure, we've disabled this payment method in Mollie to avoid confusion.

Steps to reproduce

N/A

Environment

N/A

duncanmcclean commented 2 months ago

I don't have time to look into this now, but the fix is might as simple as allowing for the Open status here: https://github.com/duncanmcclean/simple-commerce/blob/7.x/src/Gateways/Builtin/MollieGateway.php#L78

Although, we probably have to be careful that we only take them back to redirect if it's a manual bank transfer payment.

Web10-Joris commented 2 months ago

Good one. I'm not sure if there are indeed other methods that also return Open on success. My initial idea was to extend and keep track of it as a different PaymentStatus::Open, as you might want to wait with fulfilling the order until it is actually Paid.