-
The end of Zen Cart in Europe? SCA kills payments
Unless you are able to use PayPal (which proves unreliable for high volume sites) there doesn't seem to be any payment methods that are SCA compliant. Officially, that's not required until 14th March, but increasing numbers of card payments are being declined, seemingly due to lack of SCA.
This seems amazing, and I have to wonder whether Zen Cart has any future if such a major shortcoming can be ignored like this.
-
Re: The end of Zen Cart in Europe? SCA kills payments
Quote:
Originally Posted by
hairydog
Unless you are able to use PayPal (which proves unreliable for high volume sites) there doesn't seem to be any payment methods that are SCA compliant. Officially, that's not required until 14th March, but increasing numbers of card payments are being declined, seemingly due to lack of SCA.
This seems amazing, and I have to wonder whether Zen Cart has any future if such a major shortcoming can be ignored like this.
:huh:
I'm using PayPal. So does my hosting provider and many other bigger companies. They even give better percentages when your volume is bigger. Perhaps they're no so easy for businesses which fail to provide the necessary permits. I don't know as our is verified by them ... and the tax department. :down:
Debit bank card, local services like iDeal (NL), Banksys (BE) etc. go though PayNL
I'm even using them under no service, no pay conditions as they only deduct a fee per payment.
I don't have any benefit from this but this is the site of the latter: https://www.pay.nl/en/packages/pioneer
Their plugin on GitHub works for all ZC 1.5.X and I'm using it on ZC 1.5.7c under PHP 7.4
The free package is available for businesses in Belgium, France, Germany, Italy, Luxembourg, The Netherlands and Spain. Other countries have to take at least the Business pack which costs € 50 per month.
"Excessive use" for the free package is more than 100 calls per 60 seconds. :shocking: (starts dreaming of an office at a tropical beach)
Again no registered business, no service. :sadwalk:
-
Re: The end of Zen Cart in Europe? SCA kills payments
The problem with PayPal is technical. A small percentage of payments time out. It was worse early in the pandemic, but it never went away. The sites I'm talking about have a high turnover and got an extremely good rate from PayPal, but they were losing sales due to the timeouts.
These are UK based stores, selling in pounds sterling. Typically between £80 and £2,000 per order.
-
Re: The end of Zen Cart in Europe? SCA kills payments
As far as I see it,
customer chooses a payment method,
confirms order,
gets redirected to a SCA-compliant payment gateway,
pays/gives a blood sample or whatever the bank demands,
gateway tells ZC about it,
order is registered.
I don't see the problem for Zen Cart, or am I missing something?
-
Re: The end of Zen Cart in Europe? SCA kills payments
You can use Square as long as you add the fix https://www.zen-cart.com/showthread....77#post1381277
Would be really useful to get this added to the core.
-
Re: The end of Zen Cart in Europe? SCA kills payments
Mark, the Square fix you linked to is no longer available - would you be able to PR the fix or make a new zip available?
-
Re: The end of Zen Cart in Europe? SCA kills payments
Time out?
- They changed their mind
- Balance problems
- Tried a "found" CC
- Human hack research
-
Re: The end of Zen Cart in Europe? SCA kills payments
Quote:
Originally Posted by
brittainmark
Done. Pull request #4624 this have been done against 1.5.8 stream but i do not think it has changed since 1.5.7
Currently in my git hub as brittainmark:Square_SCA_Compliance
You will need the following files
/includes/modules/pages/checkout_payment/jscript_square.php
/includes/modules/payment/square.php
overwrite the originals and it should work.
Please note: This was done by @Rocketsites and @Congerman
-
Re: The end of Zen Cart in Europe? SCA kills payments
Hi guys, I just made the changes to my site's square module, using the 2 files from brittainmark's git hub. However I'm having the same problem as MrPix in this thread: after entering card details, clicking "continue" does nothing.
I get an error log as follows:
PHP Warning: Undefined array key 0 in .../store/includes/modules/pages/checkout_payment/jscript_square.php on line 39
line 39 is:
Code:
locationId: '<?php echo $location[1][0]; ?>',
Removing the changes, the module works fine, but obviously no SCA prompt.
I am using zen cart 1.5.7c and PHP 8.0.
-
Re: The end of Zen Cart in Europe? SCA kills payments
Do you have locations defined on your square account?
In zen cart in configuration table my MODULE_PAYMENT_SQUARE_LOCATION = Inner Light Crystals:[xxxxxxxxxxxxx]:GBP
where xxxxxxxxxxxxx is the square location id of my online store.
You can check your value using sql -
Code:
SELECT * FROM configuration WHERE configuration_key = MODULE_PAYMENT_SQUARE_LOCATION
if you use a prefix you will need to add it e.g. configuration = zen_configuration
-
Re: The end of Zen Cart in Europe? SCA kills payments
If you want to check you have locations set up.
If you go to admin>modules>payment
Select Square then edit and change the location ID.
You should get a list of the location you have set up on Square.
Select the one that represents your online store and save the changes.
-
Re: The end of Zen Cart in Europe? SCA kills payments
I guess I don't...looking in the configuration table, when I search for MODULE_PAYMENT_SQUARE_LOCATION under "configuration_key", in the result, "configuration_value" is empty. Is that where I am looking? I'm not sure what to put in there.
I found my 13 digit Location ID in my Square account settings, and tried putting that into the "configuration_value" field, in the format you showed, (in my case, "20th Century Glass:[xxxxxxxxxxxxx]:GBP", but I still have the same problem. Just in case I misunderstood something (very likely) I also tried adding just the 13 digit Location ID, without the other bits, but still no luck.
-
Re: The end of Zen Cart in Europe? SCA kills payments
Quote:
Originally Posted by
brittainmark
If you want to check you have locations set up.
If you go to admin>modules>payment
Select Square then edit and change the location ID.
You should get a list of the location you have set up on Square.
Select the one that represents your online store and save the changes.
I tried this, but I only have 1 location in the drop down list (20th Century Glass).
-
Re: The end of Zen Cart in Europe? SCA kills payments
try using zencart admin to set it
admin>modules>payment
Select Square then edit and change the location ID.
You should get a list of the location you have set up on Square.
Select the one that represents your online store and save the changes.
-
Re: The end of Zen Cart in Europe? SCA kills payments
is it selected?
when you select it it should update when you save. Then you will get the full string displayed including the location id
-
Re: The end of Zen Cart in Europe? SCA kills payments
It was already selected, but I selected it again and saved anyway, and it did update, it now says: "20th Century Glass:[xxxxxxxxxxxxx]:GBP"
So that part is fixed. However I still have the same problem when clicking continue after entering card details (nothing happens).
-
Re: The end of Zen Cart in Europe? SCA kills payments
UPDATE - So I refreshed things a few times and tried again, this time it got a bit further - I had a popup asking me to approve the payment via my banking app, I did that, all went fine, clicked the button on the popup to say I had approved via the app. The popup went away, but I was still on the same page where we enter card details. So I tried to click "continue" again, but nothing happens...
-
Re: The end of Zen Cart in Europe? SCA kills payments
Can you check that you do not have and error files in your logs directory.
-
Re: The end of Zen Cart in Europe? SCA kills payments
When the checkout_payment page loads, before I enter any card details, I get a deprecated log file about paypal, the other payment module I have installed. No other log files are generated during or after entering card details, clicking the button on the popup, or clicking continue again once the popup has gone.
-
Re: The end of Zen Cart in Europe? SCA kills payments
I have put the original 1.5.7 versions of the files that I downloaded on my site at https://inner-light.co.uk/square.zip
Try these! If that works then I must have copied something incorrectly to the 1.5.8 version. OR something else has changed.
If not then as I did not write the original I am at a loss.
I might have some time tomorrow to set up a developer sandbox and test enviroment to see if I can see what is happening.
-
Re: The end of Zen Cart in Europe? SCA kills payments
Thanks, I'll try them out tomorrow and let you know how it goes!
-
Re: The end of Zen Cart in Europe? SCA kills payments
Think I have found the error. I had a comma instead of a dot in the square.php which means that the token was not being set as it should be.
Try downloading the latest square.php or change line 217 from
'<input type="hidden" id="card-exp" name="' . $this->code . '_cc_exp">',
to
'<input type="hidden" id="card-exp" name="' . $this->code . '_cc_exp">'.
sorry about that.
-
Re: The end of Zen Cart in Europe? SCA kills payments
Thanks so much! That seems to have fixed it. I didn't get an SCA challenge this time, but I guess that is random and is up to the bank. I'll keep it running on my site and let you know if any problems occur.
-
Re: The end of Zen Cart in Europe? SCA kills payments
That change stopped the payment modules page in the admin from loading when it reached the Square row.
I tried taking the comma out without adding a period (which looked like the right fix to me) and the admin page loads again, but still clicking Next after entering card details does nothing.
There are no errors in the logs directory. Should there be?
-
Re: The end of Zen Cart in Europe? SCA kills payments
No, the timed out payments were simply that Paypal failed to respond, even after seconds of waiting.
Some customers phoned to pay by card over the phone and the payments went through OK, so there was nothing wrong with the customer or the card, just the PayPal system being overloaded.
Of course, PayPal denied there was a problem, as usual for payment providers.
And payment attempts made out of business hours just plain failed
-
Re: The end of Zen Cart in Europe? SCA kills payments
After "fixing" the problem of the comma by removing the comma I get as far as the entering card details, but no further.
So I took the entire zip file which seems to have a ZC1.5.8 installation. I installed it as a clean install, added the UK zone, tax zone, VAT tax rate. Added a test item. Set the Square payment module up (successfully) and it all seems OK.
But still when I've entered the card details and click Continue, nothing happens.
Any suggestions?
-
Re: The end of Zen Cart in Europe? SCA kills payments
@hairydog,
Sorry confused.
the correct code is in my git hub https://github.com/brittainmark/zenc...SCA_Compliance and should not need modifying.
I beleive that @WayneStephens has this working.
If you took the download from https://inner-light.co.uk/square.zip this is the original version and should not need modification.
One issue seems to be that the Java script can cache.
For info the lines 212 - 219 of square.php should be
Code:
array(
'title' => '',
'field' => '<input type="hidden" id="card-nonce" name="nonce">' .
'<input type="hidden" id="card-type" name="' . $this->code . '_cc_type">' .
'<input type="hidden" id="card-four" name="' . $this->code . '_cc_four">' .
'<input type="hidden" id="card-exp" name="' . $this->code . '_cc_exp">'.
'<input type="hidden" id="token" name="' . $this->code . '_token">',
),
-
Re: The end of Zen Cart in Europe? SCA kills payments
The zip file I used is zencart-Square_SCA_Compliance.zip which I downloaded from your Github
The API I was using was 2020-08-12 I think. I've just updated to the latest version, but that seems to have made no difference.
Good point about javascript cache. I just tried in a different browser. Still nothing happens when I click Continue after entering card details. And no log entries.
-
Re: The end of Zen Cart in Europe? SCA kills payments
Quote:
Originally Posted by
brittainmark
Do you have locations defined on your square account?
In zen cart in configuration table my MODULE_PAYMENT_SQUARE_LOCATION = Inner Light Crystals:[xxxxxxxxxxxxx]:GBP
where xxxxxxxxxxxxx is the square location id of my online store.
You can check your value using sql -
Code:
SELECT * FROM configuration WHERE configuration_key = MODULE_PAYMENT_SQUARE_LOCATION
if you use a prefix you will need to add it e.g. configuration = zen_configuration
Something odd here. That query returns no results, but I can see an entry in configuration that has the key
MODULE_PAYMENT_SQUARE_LOCATION |
how does that differ from
MODULE_PAYMENT_SQUARE_LOCATION
?
I can't see a difference!
MODULE_PAYMENT_SQUARE_LOCATION |
-
Re: The end of Zen Cart in Europe? SCA kills payments
Aha! I have managed to find the problem.
I tried changing cookie settings, and it seems that setting both "Cookie Domain" and "Force Cookie Use" to true have made a difference.
Now I get the SCA popup and everything! :)
But it isn't working on the ZC1.5.6c live site. :(
-
Re: The end of Zen Cart in Europe? SCA kills payments
Got it working on the live site by the simple expedient of uninstalling, deleting the plugin files, re-uploading them, then reinstalling the payment module.
Thank you very much for making this possible.
To celebrate this success, I've successfully updated another similar site. Perhaps yet another tomorrow, if all goes well in the interim.
-
Re: The end of Zen Cart in Europe? SCA kills payments
Good to hear. The change was written by @rocketsites. I just happened to be the one who still had the code and sent it to Zen Cart to fix the issue for the future.
I did discover that if you do not have an entry in the configuration file for loaction then the module failed.
the select should be
Code:
SELECT * FROM configuration WHERE configuration_key = "MODULE_PAYMENT_SQUARE_LOCATION";
it will return amoung other fields
configuration_key = MODULE_PAYMENT_SQUARE_LOCATION
configuration_value = Location name:[xxxxxxxxxxx]:£££
where: Location name is the location of the store on your square account
[xxxxxxxxxxx] is the loactin code from square and
£££ is the three letter curency code e.g. GBP
If it is not set up then:
Log in to your store admin and go to
admin>modules>payment
Select Square then edit and change the location ID.
You should get a list of the location you have set up on Square.
Select the one that represents your online store and save the changes.
-
Re: The end of Zen Cart in Europe? SCA kills payments
I have updated the square sca fix it is available at https://inner-light.co.uk/SquareSCA.zip
-
Re: The end of Zen Cart in Europe? SCA kills payments
Does this fix make Square compliant with 3DS 2.0 which Mastercard and Visa will require in UK and EU from October 2022?
From then, Paypal Website Payments Pro included in Zen Cart will no longer be any use - Cardinal (who currently handle SCA for WPP in UK) and Paypal are no longer supporting WPP.
The answer I received from a Cardinal rep
Quote:
PayPal and Cardinal will not be supporting EMV 3DS 2.1 on our legacy solution for PayPal Pro UK merchants. In order to process EMV 3DS 2.1 transactions PayPal will support this on an alternate solution called Complete Payments.
Unfortunately no-one has written an integration for the new Paypal service and my post about it from Jan has over 700 views but no replies, so it looks like there is no plan to update it for UK/EU stores.
I'd prefer to stick with Paypal need a back-up plan other than Braintree. Square might be the answer.
-
Re: The end of Zen Cart in Europe? SCA kills payments
Quote:
Originally Posted by
brittainmark
I was just curious how long you have been with Square? I did try a while ago, after a month they suddenly disconnected me lol. Think my store fell foul of T's and C's for allowed store type somehow, but maybe they have relaxed it a little bit?
-
Re: The end of Zen Cart in Europe? SCA kills payments
I have been with them since 2019. Did you create the cron job to keep your token alive? If not, it may just have been that your token became invalid. There are instructions in the README.html file in the mod package.
-
Re: The end of Zen Cart in Europe? SCA kills payments
I was accepted and using it for a month, then they stopped my account, citing nature of the store I think. It was about 2019 so I just gave up, was strange they must have vetted me but then decided they made a mistake.
-
Re: The end of Zen Cart in Europe? SCA kills payments
Quote:
Originally Posted by
gsh68
Does this fix make Square compliant with 3DS 2.0 which Mastercard and Visa will require in UK and EU from October 2022?
From then, Paypal Website Payments Pro included in Zen Cart will no longer be any use - Cardinal (who currently handle SCA for WPP in UK) and Paypal are no longer supporting WPP.
The answer I received from a Cardinal rep
Unfortunately no-one has written an integration for the new Paypal service and my post about it from Jan has over 700 views but no replies, so it looks like there is no plan to update it for UK/EU stores.
I'd prefer to stick with Paypal need a back-up plan other than Braintree. Square might be the answer.
So far as I know Braintree does not support SCA, I assume this is what you meant?
I tried installing the Okepay plugin but no configuration menu showed up, nothing in error log, no reply from their support.
Vismapay, only available in Finland.
Square, not available in my country.
Caibo, throws up some PHP warnings, no menu displayed for me to enter credit card details, no reply from their support.
Paylike rejected my application
Paypal works fine but some customers do not like it so it would be good to have a SCA compliant alternative.
-
Re: The end of Zen Cart in Europe? SCA kills payments
You want the square web pay module, not this fix. This was a temporary fix for the old format that is being retired in june. I do not think there is any difference on the front end for 3ds 1.0 and 2.0 . My understanding is that 2.0 allows the card supplier to assess the risk and authorise the payment with out user input.
-
Re: The end of Zen Cart in Europe? SCA kills payments
You might have missed
Quote:
Square, not available in my country.
Also, IF it is available in your country, you might want to check github for new things that might not have been submitted yet.