Jumping on the Online payments suggestion, I definitely see a HUGE win for X3 with this option, as it would build on the supra lightweight product you already have.
That said, I understand the complexity of the whole system that goes with payments (payment module, refund, get delivery address, accept payment for physical or digital, add weight/dimension, and many many many more points).
That said, I believe their could be a sweet way to make a quick win by having an option to replace a "Buy" button link with something that we choose.
That would allow us to use Stripe (for example) with
https://stripe.com/fr-de/payments/payment-links and manage all that aspect of options/payments/refunds/delivery address etc in Stripe and not overload X3.
Stripe is just an example, one could replace that with a PayPal or any other solution, the idea is to have that "pay" aspect handle separately while having a way to bridge them.
On X3 side, I believe that having an option to customize the link of the "Buy" button for each image shouldnt be too hard/heavy ?
What do you think ?