Stripe Phoca POS - possible issue with Iphone/Safari update - problem is lscache

1 year 2 months ago #3657 by David Leeman
Topic Author
David Leeman's Avatar
Posts: 45
Hi

I've noticed that there seems to be a problem with Iphones/Safari; specifically not triggering the final Pay with Stripe webhook link.

The order is recorded in Phoca Cart and remains in Pending, but is not recorded in Stripe dashboard.

I've tested the API and webhooks - they are ok. Other devices (Android/Windows) seem ok, the common element is Iphone

Mozilla/5.0 (iPhone; CPU iPhone OS 14_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.3 Mobile/15E148 Safari/604.1

javascript Iphone issue perhaps? I don't really run Apple devices so am not familiar with their handling of scripts

Regards
David
The topic has been locked.
1 year 2 months ago #3658 by Dmitrijs
Dmitrijs's Avatar
Posts: 1051
Hi David,

We can write to Stripe support, but first we need to understand when exactly the things are starting to go wrong.
We are using the standard way on integration by loading the Stripe.js and at the moment it is js.stripe.com/v3/.

The order is recorded in Phoca Cart and remains in Pending, but is not recorded in Stripe dashboard.

That's the correct behavior, because when a customer is already on the payment form that means the order is waiting for payment confirmation.

specifically not triggering the final Pay with Stripe webhook link.

Probably here we need more info - customer click on Pay and nothing happens? Or customer do not see a payment form at all? Or something else?

Best regards,
Dmitry

P.S.
We do not have iPhone, but we will try to find a way to test it on iPhone.

Like our extensions and support?
Add your voice to the JED listing with a 5-score review: bit.ly/2ciJBqC
Thanks!
The topic has been locked.
1 year 2 months ago - 1 year 2 months ago #3659 by Eugene
Eugene's Avatar
Posts: 934
Hi David,
In addition to what Dmitry has written, can you, please, tell what iOS version is used at your side? Maybe Stripe increased minimal requirements to iOS.


It's already pointed above. Sorry, I did not notice it.

Like our extensions and support?
Add your voice to the JED listing with a 5 score review:: bit.ly/2ciJBqC
Thanks!
Last edit: 1 year 2 months ago by Eugene.
The topic has been locked.
1 year 2 months ago #3660 by David Leeman
Topic Author
David Leeman's Avatar
Posts: 45
Hi

Thanks for getting back so fast.

No worries Eugene

Dmitry: Your comment on pending payment makes sense.

I shall run a full order through the system with the store owner on her iphone and then will be able to track all of the triggered events

1) No card data entered - but Pay with Stripe clicked
2) Declined card test
3) Incorrect CVC test
4) True payment with all card details entered correctly.

Kind regards

David
The topic has been locked.
1 year 2 months ago #3661 by David Leeman
Topic Author
David Leeman's Avatar
Posts: 45
Hi

Eugene and Dmitry

Thanks for your response. The reason that we were alerted to this initially is that 3 customers over 2 days appeared to have a problem with their order/funds/card details and they all appeared to be using Apple devices.

Given the anomaly, I did recreate the webhook endpoint yesterday (17-03-21) while on the phone to Stripe and all of today's tests were performed using this webhook link.

Testing the system again we have recreated 2 out of the 3 scenarios on iPhone/Safari and the conclusion is that these were down to user error in the final payment process. I see now that with Apple iPhone and Safari that some errors (like 'no card details entered' warning) are picked up by the device's browser, so the payment intent is not sent to Stripe. But if card details are entered then the webhook on Stripe does log an event whether the card declines, cvc incorrect or proper transaction succeeds.

So there is a slight difference with iPhone devices (against Windows/Android) but not a major issue now that we can see the potential cause.

The final 3rd scenario we cannot re-create (customer's card was charged twice and an incorrect order number was assigned to the transaction).

But, customer has the goods and funds are being transferred from Stripe to store owners account.

However, given the amount of successfully recorded transactions we are all happy that the system works very well overall.

Outcome: all appears to be working ok

Kind regards

David
The topic has been locked.
1 year 2 months ago - 1 year 2 months ago #3662 by Dmitrijs
Dmitrijs's Avatar
Posts: 1051
David,

Thank you for such advanced user testing!

these were down to user error in the final payment process

I see now that with Apple iPhone and Safari that some errors (like 'no card details entered' warning) are picked up by the device's browser, so the payment intent is not sent to Stripe.

Is it after Pay button was clicked? I want to understand is there anyway we can improve UI so that customers do not cancel the payment form and complete the payment.

Dmitry

Like our extensions and support?
Add your voice to the JED listing with a 5-score review: bit.ly/2ciJBqC
Thanks!
Last edit: 1 year 2 months ago by Dmitrijs.
The topic has been locked.
1 year 2 months ago - 1 year 2 months ago #3663 by Dmitrijs
Dmitrijs's Avatar
Posts: 1051
Specifically I try to understand - is it possible to replicate this errors / behavior on non-iPhone devices?

Like our extensions and support?
Add your voice to the JED listing with a 5-score review: bit.ly/2ciJBqC
Thanks!
Last edit: 1 year 2 months ago by Dmitrijs.
The topic has been locked.
1 year 2 months ago - 1 year 2 months ago #3664 by David Leeman
Topic Author
David Leeman's Avatar
Posts: 45
No problem,

Phoca Cart and Stripe is an excellent combination so this plugin is perfect

So

1) I have not yet found a way to replicate the errors with non Apple devices. Of course, one must compare against a genuine Apple device or there is no true way to know how faithful is the simulation. So we used a genuine Apple iPhone 12 and Safari

2) The error event that went unlogged in Stripe using the iPhone Safari was:
add item to cart,
guest checkout,
select Stripe payment method
, then, without adding any card details, press the Pay with Stripe button.

Our test result was that the iPhone browser showed the warning no card details entered, but did not record this error event in Stripe Dashboard. However, Windows and Android devices DO allow Stripe to record the event.

I am ok with this small difference.

Kind regards

David
Last edit: 1 year 2 months ago by David Leeman.
The topic has been locked.
1 year 2 months ago #3665 by Dmitrijs
Dmitrijs's Avatar
Posts: 1051
Anyway this is weird :(

Thank you one more time.
I am looking forward to test the refund feature with you as soon as it will be ready :)

Dmitry

Like our extensions and support?
Add your voice to the JED listing with a 5-score review: bit.ly/2ciJBqC
Thanks!
The topic has been locked.
1 year 2 months ago #3666 by David Leeman
Topic Author
David Leeman's Avatar
Posts: 45
Hi Dmitry

update: The site was running Joomla lscache (the site is on UK Litespeed servers) but this causes problems for the webhook connection.

After disabling lscache plugin the transactions seem to be more 'freeflowing' so, I would advise against using this plugin (lscache)

It appears that the lscache will record a payment intent, but then the intent is stored and the next transaction takes the 'test' amount as if caught in the site's cache.

I did disable the cache on the payment pages, but, it seems this was not sufficient

This is not a foreseeable issue but thought it best to let you know. It is another possible issue other users may have.

When Joomla has problems, it is almost always a plugin!

Regards
David
The topic has been locked.

You can get our help: Monday - Friday / 09:00 to 17:00 (GMT+2). but not limited. Our staff will be pleased to provide Premium support to every paid subscriber asap, but sometimes you should be ready to wait for our reply for up to 3 days. In case of free extensions we do the best to develop and maintain them either, but their support is not necessary.

Follow us in social media