-
Re: Stripe.com payment integration module
Hi everyone, just checked this with my server people and infact that was the problem. Strict mode enabled from a minor cPanel upgrade. Hope will help others with the same issue:
Hi Walter,
I have checked this issue further and it seems that some minor cPanel upgrade process run in the server created a MySQL CNF over-ride file that re-enabled the STRICT mode. I have now turned off the the mysql STRICT mode.
root@pandora [/home]# mysql -e 'select @@GLOBAL.sql_mode;'
+------------------------+
| @@GLOBAL.sql_mode |
+------------------------+
| NO_ENGINE_SUBSTITUTION |
+------------------------+
Could you please have a check now.
-
Re: Stripe.com payment integration module
Hi
Dose anyone know if stripe returns info for Payments, as mine keep coming back as CVV failure & AVS failure either in testing or production but on the stripe website it says it passed ?
Kind of like the paypal returns info on the payment going through
-
Re: Stripe.com payment integration module
To fix the CVV and AVS failure issue, you need to replace all of the `$charge->card` instances to `$charge->source`, to comply with the updated Stripe API.
I've just submitted a new version of the plugin (v1.3.4) which has this patch in place.
-
Re: Stripe.com payment integration module
I have been using Stripe, which was working ok until Centos upgrade from 7.1 to 7.3
Now, even though enabled, Stripe does not show up at checkout.
Zencart Ver 1.5.5a
Using Webmin as control panel.
No changes to ZenCart were done.
PayPal express still works.
-
Re: Stripe.com payment integration module
I'm having a problem with installing Stripe also. I have a new installation of ZC 1.5.5 with a different template. Stripe is shown in the payment modules and appears to install properly. In the shopping cart, Stripe Payment shows with my other payment choices. It can be selected but it never asks for card info. It instead tries to process the transaction and goes into a continuous loop.
Did I miss something in the install? Thanks for your help.
-
Re: Stripe.com payment integration module
Quote:
I have been using Stripe, which was working ok until Centos upgrade from 7.1 to 7.3
Now, even though enabled, Stripe does not show up at checkout.
Zencart Ver 1.5.5a
Using Webmin as control panel.
No changes to ZenCart were done.
PayPal express still works.
I was able to restore my Stripe module, but I have no idea why this worked.
I stumbled on this by trial and error.
Changing the currency in the modules control panel from USD to CAD and then changing it back again restored the payment modules function.
Why this worked or how the upgrade caused it to fail is a mystery, and the only thing I can think of was that I did not take my zencart off-line during the upgrade.
-
Re: Stripe.com payment integration module
When you upgrade Zen Cart, or any module is always suggested to uninstall the module (from admin) and reinstall to assure that it will work properly.
Quote:
Originally Posted by
wgpeters
I was able to restore my Stripe module, but I have no idea why this worked.
I stumbled on this by trial and error.
Changing the currency in the modules control panel from USD to CAD and then changing it back again restored the payment modules function.
Why this worked or how the upgrade caused it to fail is a mystery, and the only thing I can think of was that I did not take my zencart off-line during the upgrade.
-
Re: Stripe.com payment integration module
This is a great module. Thanks a lot for it.
Here is my question:
Does Stripe see my customers' ip addresses, or is up to me to check for repeated cards from the same ip address?
Thanks again for the module.
-
Re: Stripe.com payment integration module
Quote:
Originally Posted by
monkeybus
This is a great module. Thanks a lot for it.
Here is my question:
Does Stripe see my customers' ip addresses, or is up to me to check for repeated cards from the same ip address?
Thanks again for the module.
You will see the customer's IP address on the order page.
-
Re: Stripe.com payment integration module
I just installed the Stripe payment module, added the API keys, and when I click "Confirm Order" on page Step 3 of 3, it pauses and then gives me a white page that says "WARNING: An Error occurred, please refresh the page and try again." The page address where it stops is "store/index.php?main_page=checkout_process".
I am using ZC 1.5.5e. On the Stripe.Com website, in the Stripe Dashboard, the API Log shows a successful transaction. Also, order confirmation emails are being sent. Also, the order gets placed into the Admin->Customers->Orders list. The customer's page just simply doesn't get to the Order Success page.
I am using Apache 2.4.25, php 7.0.
-
Re: Stripe.com payment integration module
Just tried it with the Production Setting and it does the same thing. Succeeds with charging my credit card, puts the order in the order database, sends emails, but fails to send the customer webpage to the order success page.
-
Re: Stripe.com payment integration module
Also, when I use the Pay By Check/Money Order option, everything works fine.
-
Re: Stripe.com payment integration module
Quote:
Originally Posted by
Fjolsvith
I just installed the Stripe payment module, added the API keys, and when I click "Confirm Order" on page Step 3 of 3, it pauses and then gives me a white page that says "WARNING: An Error occurred, please refresh the page and try again." The page address where it stops is "store/index.php?main_page=checkout_process".
I am using ZC 1.5.5e. On the Stripe.Com website, in the Stripe Dashboard, the API Log shows a successful transaction. Also, order confirmation emails are being sent. Also, the order gets placed into the Admin->Customers->Orders list. The customer's page just simply doesn't get to the Order Success page.
I am using Apache 2.4.25, php 7.0.
So, I took your error message and pasted it in the the FAQ search, and this came up:
WARNING: An Error occurred, please refresh the page and try again.
-
Re: Stripe.com payment integration module
Quote:
Originally Posted by
DrByte
Ah... This is good! Too bad that URL doesn't come up on the error page!
-
Re: Stripe.com payment integration module
Wow, fixed 7 bugs in the payment module in 30 minutes! Thanks for pointing me in the right direction, Dr. Byte!
-
Re: Stripe.com payment integration module
Mind sharing/attaching a zip of your updated module file?
-
1 Attachment(s)
Re: Stripe.com payment integration module
Quote:
Originally Posted by
DrByte
Mind sharing/attaching a zip of your updated module file?
That will be great, because I have the module installed and the problem is returning >>>
Sorry, we are not shipping to your region at this time.
Please contact us for alternate arrangements.
Attachment 17028
with default settings and zones configured.
-
Re: Stripe.com payment integration module
We recently upgraded our ZC through Anne at Picaflor-Azul and love the v1.5.5a! We used PayPal and 2Checkout initially, 2Checkout dropped us as we have a category that has some explicit biker patches so found the Stripe module and Anne installed it. We really like the mod and the backend on their site. All was working well but recently we have been having some issues with duplicate and yesterday a triple order. We quickly contact the customers to confirm the status, and they all have indicated they only placed 1 order with no issues to report. The duplicates all create orders and double payments within a couple seconds. Any ideas on where to look or what may be causing the problem? Thanks and we DO appreciate all the help we have received from the "Masters" on this site.
-
Re: Stripe.com payment integration module
Hello!
I'm testing the use of the Stripe payment module for a client. I have the module installed on a clean install of ZC v. 1.5.5e (with test products) and I'm using a stripe account in test mode. I was able to successfully test a purchase with the Stripe test number and that worked fine. Next, I wanted to test what the user would see if they entered bad info - most particularly I want to verify for my client that the sale doesn't go through and that the user experience of that is clear and informative. So, I tried using one of Stripe's testing card number to throw particular errors (i.e. card declined etc.). When I use a test number for a bad card, I get a very cryptic message of "Must provide source or customer." This happens no matter what error test I do. I could not find this text using the developer toolkit in ZC admin, so is this message coming from Stripe?
Is there a way to test the module for bad transactions without using a live Stripe account?
-
Re: Stripe.com payment integration module
A little further testing and I've discovered that the issue is that the card is being saved in Stripe even though I uncheck the box to "Tick to save your card details with Stripe for future payments at this site." The first charge with a test card number works, but when I try to check out as the same customer but with any different card than the first one, I get the message "Must provide source or customer."
Obviously, this behavior is not acceptable in a live situation with real customers, so I'll need to figure out why the module is doing this. Anyone have any ideas where I should start?
-
Re: Stripe.com payment integration module
And now another discovery: even if I accept the checkbox that appears by default (Would you like to use your WHATEVER_I_PREVIOUSLY_USED card ), the charge still does not go through and gives the same "Must provide source or customer" error.
So, it would appear that currently once a customer has made a purchase with a credit card they can never make a purchase again with either their previous card or a different card???
Maybe this is because I am working in test mode? If so, it's unfortunate that I can't really test things fully and be assured it will work.
-
Re: Stripe.com payment integration module
I don't have a site installed with that module, nor an account with them.
Is it a cookies thing?
EDIT: Turns out it's because the module stores history in its own local database table. Maybe it needs to do smarter lookups?
-
Re: Stripe.com payment integration module
Thanks Dr. Byte.
I'll check that but I don't think that's the issue. I can see in the Stripe dashboard that stripe is actually saving the credit card in the customer record on the first purchase. so that really doesn't seem like cache issue. I'm guessing I'll need to really dig into the code for this module to see what it's doing.
-
Re: Stripe.com payment integration module
Was the issue with "Must provide source or customer" ever fixed because I have the same issue, it allows a customer to make 1 purchase but then comes up with this error after that. I spoke with Stripe who basically said go back to the author as there is some code missing which then went over my head to be honest.
-
Re: Stripe.com payment integration module
This module needs to be updated. I am looking into it, but need help. The New api changes for example. I also hope someone knows how to add bitcoin and applepay:
Old code:
PHP Code:
Stripe::setApiKey($secret_key);
New Api:
PHP Code:
\Stripe\Stripe::setApiKey($secret_key);
-
Re: Stripe.com payment integration module
I have installed Stripe in a test version of ZC v. 1.5.5e.
The Admin page shows up OK and I have configured it but I get the message "One of your API keys is missing".
I only need to enter two API keys "Testing Secret Key" and "Testing Publishable Key" correct? I have entered both of these from the Stripe Dashboard, see image.
I tried making the code change suggested in post 135, changing line 343 in \includes\modules\payment/stripepay.php to "\Stripe\Stripe::setApiKey($secret_key);" but it did not help, suggestions welcomed :)
-
Re: Stripe.com payment integration module
Looking at the "If" code it seems I have to enter the live APIs as well as the Test ones, will try this :dontgetit
-
Re: Stripe.com payment integration module
Entering the "live" keys solves the warning problem, pity I wanted to test it before activating my account
-
Re: Stripe.com payment integration module
Now I do not have any warnings but the Stripe payment method does not show up on the "checkout_payment" page.
There are no warnings or messages in the zen cart log folder and no test events shown in the Stripe Dashboard or in those logs so I am stuck to think of a next step.
-
Re: Stripe.com payment integration module
You can't use this code yet as the libraries, etc need to be updated. It should be ok to use as is by donloading from plugins just can'use new api features until updated like Apple Pay and Returns on admin I think plus I don't think old one is able to do fraud checks
-
Re: Stripe.com payment integration module
Look into square instead. I was going to update Stripe but decided to go with square it's better in my opinion
-
Re: Stripe.com payment integration module
Thanks.
I agree about Square but not available in my country :sadwalk:
-
Re: Stripe.com payment integration module
Hi there.
What would it take to have AUD Australia Currency added to the Stripe payment module plugin please.
Cheers,
Anthony
-
Re: Stripe.com payment integration module
I used Square but they are great for small payments only.
They reject payments over $ 300 and then you have to go throw the embarrassing process of refunding the customer and recharge via a different gateway
-
Re: Stripe.com payment integration module
How does this module collect payment information? I read through the docs and this thread, but couldn't find the answer. According to Stripe, it needs to be one of these methods to simplify PCI Compliance:
Use Checkout, Stripe.js and Elements, or our mobile SDK libraries to collect payment information, which is securely transmitted directly to Stripe without it passing through your servers
-
Re: Stripe.com payment integration module
Hi
I still have this problem that the Stripe payment method does not show up on my "checkout_payment" page Page 2 of 3).
The installation of this plugin was OK. No error messages.
The Stripe payment method shows up OK in the payment modules and so I can administer the module.
I have a Stripe account.
There are no warnings or messages in the zen cart log folder and nothing in the Stripe Dashboard.
So I am stuck to think of a next step.
I saw someone was writing a new Stripe module but that effort seems to have stalled?
-
Re: Stripe.com payment integration module
Quote:
Originally Posted by
marton_1
Hi
I still have this problem that the Stripe payment method does not show up on my "checkout_payment" page Page 2 of 3).
The installation of this plugin was OK. No error messages.
The Stripe payment method shows up OK in the payment modules and so I can administer the module.
I have a Stripe account.
There are no warnings or messages in the zen cart log folder and nothing in the Stripe Dashboard.
So I am stuck to think of a next step.
I saw someone was writing a new Stripe module but that effort seems to have stalled?
Now the Stripe payment method is showing up on my "checkout_payment" page Page 2 of 3 and the test payment works fine.
No idea why :dontgetit I did not change anything and PayPal always worked fine so it was not an SSL problem!
-
Re: Stripe.com payment integration module
Quote:
Originally Posted by
marton_1
Now the Stripe payment method is showing up on my "checkout_payment" page Page 2 of 3 and the test payment works fine.
No idea why :dontgetit I did not change anything and PayPal always worked fine so it was not an SSL problem!
Figured it out!
It only works if I do not select a payment zone; I mean leave the payment zone as -none-, who knew?
Trying to figure out if it is dangerous to leave it as none?
I am in Switzerland, Stripe is now available in Switzerland even in Swiss francs so I usually set the payment zone to Switzerland!
The payment zones show up in stripe configuring as a drop down list so even I cannot configure it incorrectly :)
-
Re: Stripe.com payment integration module
Quote:
Originally Posted by
marton_1
Figured it out!
It only works if I do not select a payment zone; I mean leave the payment zone as -none-, who knew?
Trying to figure out if it is dangerous to leave it as none?
I am in Switzerland, Stripe is now available in Switzerland even in Swiss francs so I usually set the payment zone to Switzerland!
The payment zones show up in stripe configuring as a drop down list so even I cannot configure it incorrectly :)
Unless Stripe is different from other methods, setting the Zone to Switzerland means ONLY those with Switzerland addresses can order.
-
Re: Stripe.com payment integration module
Quote:
Originally Posted by
dbltoe
Unless Stripe is different from other methods, setting the Zone to Switzerland means ONLY those with Switzerland addresses can order.
????
As I posted, I live in Switzerland and I have a Swiss address. When I set the payment zone to Switzerland then the Stripe payment method does not show up on my "checkout_payment" page Page 2 of 3).
If I set the payment zone to Europe then the Stripe payment method also does not show up on my "checkout_payment" page Page 2 of 3).
If I set the payment zone to none then the Stripe payment method does show up OK on my "checkout_payment" page Page 2 of 3).
I have Paypal Express checkout and when I set the payment zone to Switzerland or to Europe then the Paypal payment method does show up OK on my "checkout_payment" page Page 2 of 3).
I am not sure what you are trying to tell me???
-
Re: Stripe.com payment integration module
Simply that the normal setting of a payment zone in Zen Cart restricts the zone that the payment will accept to the zone that is selected.
In most payment methods, if I were to set it to Texas, only customers in Texas could make a purchase. Are you sure you have your Zone Name and Definition set properly?
Under the Locations/Taxes menu in the admin.
-
Re: Stripe.com payment integration module
Quote:
Originally Posted by
dbltoe
Simply that the normal setting of a payment zone in Zen Cart restricts the zone that the payment will accept to the zone that is selected.
In most payment methods, if I were to set it to Texas, only customers in Texas could make a purchase. Are you sure you have your Zone Name and Definition set properly?
Under the Locations/Taxes menu in the admin.
Did you understand when I posted "I have Paypal Express checkout and when I set the payment zone to Switzerland or to Europe then the Paypal payment method does show up OK " so confirming my Zone Name and Definition set properly?
-
Re: Stripe.com payment integration module
Quote:
Originally Posted by
marton_1
????
As I posted, I live in Switzerland and I have a Swiss address. When I set the payment zone to Switzerland then the Stripe payment method does not show up on my "checkout_payment" page Page 2 of 3).
If I set the payment zone to Europe then the Stripe payment method also does not show up on my "checkout_payment" page Page 2 of 3).
If I set the payment zone to none then the Stripe payment method does show up OK on my "checkout_payment" page Page 2 of 3).
I have Paypal Express checkout and when I set the payment zone to Switzerland or to Europe then the Paypal payment method does show up OK on my "checkout_payment" page Page 2 of 3).
I am not sure what you are trying to tell me???
Stripe is working fine for me but I still have this problem that I have to set the payment zone to "none" otherwise Stripe does not show up on the payment options page.
There is no corresponding log entry.
I believe the relevant Stripe code is
Code:
$db->Execute("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, set_function, date_added) values ('Payment Zone', 'MODULE_PAYMENT_STRIPEPAY_ZONE', '0', 'If a zone is selected, only enable this payment method for that zone.', '6', '20', 'zen_get_zone_class_title', 'zen_cfg_pull_down_zone_classes(', now())");
When I look at the stripe_data table then the last customer country is set correctly as CH (Switzerland).
I did not find where MODULE_PAYMENT_STRIPEPAY_ZONE is stored?
-
Re: Stripe.com payment integration module
Question: Does the Stripe payment module use Stripe Elements?
-
Re: Stripe.com payment integration module
Hi
I was wondering if this add-on is still updated?
-
Re: Stripe.com payment integration module
hello to all, I'm trying to make a live payment, but when I put the card information and click send order, this returns me to the previous page asking me to mark the box where I accept the conditions ...
no error in the file debuglog ...
tips? thank you
-
Re: Stripe.com payment integration module
Anybody know how/where this Stripe plugin updates payment_method in TABLE_ORDERS?
I am trying to show Stripe as an image with the card types supported on my checkout pages but simply as text in other places like invoice.
When I setup the image it shows up OK on the checkout pages but payment_method in TABLE_ORDERS is updated with the image link.
If I manually update payment_method in TABLE_ORDERS to be "Stripe" then everything works as I want!
-
Re: Stripe.com payment integration module
Just got this in an email from Stripe, is anybody now supporting this plugin?
Beginning September 14, 2019, PSD2 regulation will require Strong Customer Authentication (SCA) for many online payments made by European customers, to help reduce fraud.
If you use a third-party plugin, platform, or extension partner from the Works With Stripe gallery, contact your Stripe partner to see what (if any) work you will need to do to get ready for SCA.
-
Re: Stripe.com payment integration module
Quote:
Originally Posted by
marton_1
Just got this in an email from Stripe, is anybody now supporting this plugin?
Beginning September 14, 2019, PSD2 regulation will require Strong Customer Authentication (SCA) for many online payments made by European customers, to help reduce fraud.
If you use a third-party plugin, platform, or extension partner from the Works With Stripe gallery, contact your Stripe partner to see what (if any) work you will need to do to get ready for SCA.
On further research it seems that as this plugin redirects you to the Stripe site where everything happens then probably nothing needs to be changed; anybody have a different view?
-
Re: Stripe.com payment integration module
Do this module/add on already have this feature ,
3D secure for Strong Customer Authentication which will come to effect on September 14, 2019 ?
-
Re: Stripe.com payment integration module
I've been running the Stripe payment module for nearly two years and am finally getting around to addressing a problem with it.
The typical order amount on my store is $4-6k, which can cause issues for a customer on checkout. For example, they possibly do not have sufficient funds in their bank account (if using a debit card). Or, their card has a daily limit which is less than the order amount. Or, their fraud protection kicks in, declining the transaction.
When one of these declines happens for a customer, Zencart redirects back to Step 2 of the checkout process and gives the error message of "Please confirm the terms and conditions bound to this order by ticking the box below." The Payment module should be telling the customer why their card is being declined. It is frustrating for me because people try to order 2-3 times and then quit, probably with misgivings about the integrity of my store.
Is there anywhere in the module for me to look to see what can be modified to make it give a detailed error description when the customer is returned to Step 2?
-
Re: Stripe.com payment integration module
I'm reporting a bug in this payment module. It has to do with a customer who is trying to do a second purchase with a credit card, who once before had a successful purchase with the credit card using the Stripe payment module.
The second time the customer is checking out, the module fails to process the transaction if the customer has a prior StripeCustomerID returned by Stripe, and returns the customer to Step 2 of the checkout process. This value is tested for on line 399 of the file 'stripepay.php'.
-
Re: Stripe.com payment integration module
Quote:
Originally Posted by
Fjolsvith
I'm reporting a bug in this payment module. It has to do with a customer who is trying to do a second purchase with a credit card, who once before had a successful purchase with the credit card using the Stripe payment module.
The second time the customer is checking out, the module fails to process the transaction if the customer has a prior StripeCustomerID returned by Stripe, and returns the customer to Step 2 of the checkout process. This value is tested for on line 399 of the file 'stripepay.php'.
Probably not much help! But I have customers who have had multiple successful purchases with the credit card using the Stripe payment module even this week one who managed to make an incorrect but successful duplicate payment in under one minute.
If they are returned to Step 2 of the checkout process then it may be their credit is not good enough for their purchase?
Did you check the Stripe.com dashboard for error messages?
-
Re: Stripe.com payment integration module
Quote:
Probably not much help! But I have customers who have had multiple successful purchases with the credit card using the Stripe payment module even this week one who managed to make an incorrect but successful duplicate payment in under one minute.
If they are returned to Step 2 of the checkout process then it may be their credit is not good enough for their purchase?
Did you check the Stripe.com dashboard for error messages?
The Stripe dashboard doesn't even show a failed transaction. Had two returning customers in the last two weeks attempt the purchase. After the recent one, I verified the problem by myself making a purchase and then trying a second one (which failed). This is frustrating as heck.
Since there's no failed transaction, it isn't an issue with the card being declined.
On your site, if a customer's card is declined, do they get sent back to Step 2 with an error message explaining why it is declined?
-
Re: Stripe.com payment integration module
Quote:
Originally Posted by
marton_1
On further research it seems that as this plugin redirects you to the Stripe site where everything happens then probably nothing needs to be changed; anybody have a different view?
With my understanding, this module does not support the new SCA requirement. There is no procedure in this module that allows the customers to go to their bank's 3D Secure authentication page and then come back to your zen cart website. From my reading on Stripe's API, the "Payment Intents API" is the new standard, while the older "Charge API" (that this module uses) does not support SCA.
It doesn't mean that this stripe plugin will stop working after September. But there is a chance that the bank will reject the customer's credit card (with "do_not_honor") because your site cannot go to the bank's 3D Secure authentication page.
We need an update to this.
-
Re: Stripe.com payment integration module
Quote:
Originally Posted by
alexexela
We need an update to this.
I think you are correct, but is anyone working on it?
-
Re: Stripe.com payment integration module
I've been in touch with Stripe, their customer support tells me SCA is mostly for European locations and that we can still continue to use the non-SCA methods elsewhere.
I am waiting for a rep to get back to me about the implications of SCA for other locations, including Japan.
Anyone know if Zen Cart use qualifies for a better deal, like it does with some other payment processors? I will ask, but I'd prefer to hear an answer from this side also in case Stripe's customer support simply does not know.
-
Re: Stripe.com payment integration module
Never heard back from Stripe about SCA implications as they promised, will write them again tomorrow.
In the meantime, I installed the (latest) v1.3.4 of the Stripe module.
API version is still set at v1.3.2, not sure if that should be updated in includes/modules/payment/stripepay.php
Quote:
$this->api_version = 'Stripe Payments v 1.3.2 for ZenCart';
I added JPY (Japanese Yen ) to the configuration in the same file for the configuration parameter MODULE_PAYMENT_STRIPEPAY_CURRENCY.
No idea if that will be all that is required, perusing the code did not bring up any obvious issues to me (apart from that the comments are also a bit dated in part).
I'll report back when I get a Stripe account here in Japan and try to integrate it.
Plus SCA-related info when I get some.
-
Re: Stripe.com payment integration module
Zen Cart 1.5.6c
DB patch level: 1.5.6
PHP: 7.3.6-1
Quick update. Got my Stripe account set up today on the Japan site, verified and all, test and live API keys obtained and inserted into Stripe plugin configuration.
Sadly, a test brings up a well-known error during checkout in step 3 when pressing order confirmation button.
First we have the blank screen with just the following text displayed:
Quote:
WARNING: An Error occurred, please refresh the page and try again.
On refreshing the page (https://***/shop/index.php?main_page...t_confirmation) there is the error displayed in the Zen Cart checkout confirmation page:
Quote:
Must provide source or customer
.
Checking the log on the Stripe site (actually quite impressive debugging support there) does not enlighten me yet, nor does Stack Overflow where this is discussed in one instance:
https://stackoverflow.com/questions/...ce-or-customer
So I guess I'll be reading docs and figuring out what Javascript (I assume) is not populating a field.
For reference, the debug log:
Quote:
***/shop# cat logs/myDEBUG-20190725-004321-968029.log
[25-Jul-2019 00:43:22 Asia/Tokyo] Stripe Notice: Undefined property of Stripe_Charge instance: customer
[25-Jul-2019 00:43:22 Asia/Tokyo] Stripe Notice: Undefined property of Stripe_Charge instance: disputed
[25-Jul-2019 00:43:22 Asia/Tokyo] Stripe Notice: Undefined property of Stripe_Charge instance: fee
[25-Jul-2019 00:43:22 Asia/Tokyo] Stripe Notice: Undefined property of Stripe_Charge instance: invoice
[25-Jul-2019 00:43:22 Asia/Tokyo] Stripe Notice: Undefined property of Stripe_Object instance: address_city
[25-Jul-2019 00:43:22 Asia/Tokyo] Stripe Notice: Undefined property of Stripe_Object instance: address_country
[25-Jul-2019 00:43:22 Asia/Tokyo] Stripe Notice: Undefined property of Stripe_Object instance: address_line1
[25-Jul-2019 00:43:22 Asia/Tokyo] Stripe Notice: Undefined property of Stripe_Object instance: address_line1_check
[25-Jul-2019 00:43:22 Asia/Tokyo] Stripe Notice: Undefined property of Stripe_Object instance: address_line2
[25-Jul-2019 00:43:22 Asia/Tokyo] Stripe Notice: Undefined property of Stripe_Object instance: address_zip
[25-Jul-2019 00:43:22 Asia/Tokyo] Stripe Notice: Undefined property of Stripe_Object instance: address_zip_check
[25-Jul-2019 00:43:22 Asia/Tokyo] Request URI: /shop/index.php?main_page=checkout_process, IP address: 192.168.0.3
#1 trigger_error() called at [***/shop/includes/classes/db/mysql/query_factory.php:171]
#2 queryFactory->show_error() called at [***/shop/includes/classes/db/mysql/query_factory.php:143]
#3 queryFactory->set_error() called at [***/shop/includes/classes/db/mysql/query_factory.php:270]
#4 queryFactory->Execute() called at [***/shop/includes/functions/functions_general.php:952]
#5 zen_db_perform() called at [***/shop/includes/modules/payment/stripepay.php:495]
#6 stripepay->after_process() called at [***/shop/includes/classes/payment.php:254]
#7 payment->after_process() called at [***/shop/includes/modules/pages/checkout_process/header_php.php:17]
#8 require(***/shop/includes/modules/pages/checkout_process/header_php.php) called at [***/shop/index.php:36]
--> PHP Fatal error: 1364:Field 'stripe_object' doesn't have a default value :: INSERT INTO stripe_data (orders_id, stripe_charge_id, customers_id, stripe_amount, stripe_amount_refunded, stripe_currency, stripe_customer, stripe_description, stripe_disputed, stripe_fee, stripe_invoice, stripe_paid, stripe_address_city, stripe_address_country, stripe_address_line1, stripe_address_line1_check, stripe_address_line2, stripe_address_zip, stripe_address_zip_check, stripe_country, stripe_fingerprint, stripe_cvc_check, stripe_name, stripe_last4, stripe_exp_month, stripe_exp_year, stripe_type) VALUES ('34', 'ch_1EzmcgIvuX80g3UFyVX17IG5', '2', '58290', '0', 'JPY', '', '<testemailaddresshere>', '', '', '', '1', '', '', '', '', '', '', '', 'US', 'lHfW1lpMAnH1N1Ea', 'pass', '<My Name>', '4242', '1', '2021', 'Visa') ==> (as called by) ***/shop/includes/functions/functions_general.php on line 952 <== in ***/shop/includes/classes/db/mysql/query_factory.php on line 171
Note: The email address is removed here in the post, it is actually a proper email format. Ditto for My Name.
I suspect perhaps the "US" is wrong, but that can be handled later.
-
Re: Stripe.com payment integration module
Post #109 on this thread gives a suggestion to fix the missing stripe_object value:
https://www.zen-cart.com/showthread....92#post1320892
Will try this and report back.
-
Re: Stripe.com payment integration module
On activating the Stripe account (code to phone), one is presented with a thank you page, saying the account is now live, and a list of things to double check.
1. Use your live key (for API calls)
2. Use your live publishable key with Stripe.js
3. Enable HTTPS on your site
4. Add a Specified Commercial Transactions Act page
This last one was a new one of me. Here the details:
Quote:
Japanese law requires that all businesses accepting payments online provide specific information about their business by linking to a Specified Commercial Transactions Act page (特定商取引法に基づく表記) on their site.
Stripe kindly provides information on how to comply, here the links for English and Japanese:
* English: https://support.stripe.com/questions...ansactions-act
* Japanese: https://support.stripe.com/questions...ansactions-act
I could not actually find such pages on several shop sites I look at regularly. Wonder if anyone here knows more details about this. I'm not sure if I need to make a distinct an obvious page link (as suggested by Stripe), such as for Privacy Policy, Terms and Conditions, and so forth, or whether the necessary information can be included as part of an existing page.
This seems to be specific to Japan; however, if there are similar regulations in some other countries, would be nice to hear any input.
-
Re: Stripe.com payment integration module
OK, I have decided to put some time into attempting to debug the Stripe module. So first, attempt to correct the issue with stripe_object:
Quote:
> desc stripe_data;
+----------------------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------------------+--------------+------+-----+---------+----------------+
| stripe_object | varchar(64) | NO | | NULL | |
After running
Quote:
ALTER TABLE stripe_data
CHANGE stripe_object stripe_object varchar(64) NULL DEFAULT '';
the definition changes to
Quote:
> desc stripe_data;
+----------------------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------------------+--------------+------+-----+---------+----------------+
| stripe_object | varchar(64) | YES | | | |
Unfortunately, when I try a Stripe checkout, after entering the sandbox data I get at
https://***/shop/index.php?main_page=checkout_process
the following display (no other output)
Quote:
WARNING: An Error occurred, please refresh the page and try again.
and on refreshing the page, the warning
Quote:
Must provide source or customer.
displays under "Step 3 of 3 - Order Confirmation".
The debug log now shows a different error though, which is a welcome change:
Quote:
[31-Jul-2019 00:13:32 Asia/Tokyo] Stripe Notice: Undefined property of Stripe_Charge instance: customer
[31-Jul-2019 00:13:32 Asia/Tokyo] Stripe Notice: Undefined property of Stripe_Charge instance: disputed
[31-Jul-2019 00:13:32 Asia/Tokyo] Stripe Notice: Undefined property of Stripe_Charge instance: fee
[31-Jul-2019 00:13:32 Asia/Tokyo] Stripe Notice: Undefined property of Stripe_Charge instance: invoice
[31-Jul-2019 00:13:32 Asia/Tokyo] Stripe Notice: Undefined property of Stripe_Object instance: address_city
[31-Jul-2019 00:13:32 Asia/Tokyo] Stripe Notice: Undefined property of Stripe_Object instance: address_country
[31-Jul-2019 00:13:32 Asia/Tokyo] Stripe Notice: Undefined property of Stripe_Object instance: address_line1
[31-Jul-2019 00:13:32 Asia/Tokyo] Stripe Notice: Undefined property of Stripe_Object instance: address_line1_check
[31-Jul-2019 00:13:32 Asia/Tokyo] Stripe Notice: Undefined property of Stripe_Object instance: address_line2
[31-Jul-2019 00:13:32 Asia/Tokyo] Stripe Notice: Undefined property of Stripe_Object instance: address_zip
[31-Jul-2019 00:13:32 Asia/Tokyo] Stripe Notice: Undefined property of Stripe_Object instance: address_zip_check
[31-Jul-2019 00:13:32 Asia/Tokyo] Request URI: /shop/index.php?main_page=checkout_process, IP address: 192.168.0.3
#1 trigger_error() called at [/***/shop/includes/classes/db/mysql/query_factory.php:171]
#2 queryFactory->show_error() called at [/***/shop/includes/classes/db/mysql/query_factory.php:143]
#3 queryFactory->set_error() called at [/***/shop/includes/classes/db/mysql/query_factory.php:270]
#4 queryFactory->Execute() called at [/***/shop/includes/functions/functions_general.php:952]
#5 zen_db_perform() called at [/***/shop/includes/modules/payment/stripepay.php:495]
#6 stripepay->after_process() called at [/***/shop/includes/classes/payment.php:254]
#7 payment->after_process() called at [/***/shop/includes/modules/pages/checkout_process/header_php.php:17]
#8 require(/***/shop/includes/modules/pages/checkout_process/header_php.php) called at [/***/shop/index.php:36]
--> PHP Fatal error: 1406:Data too long for column 'stripe_charge_id' at row 1 :: INSERT INTO stripe_data (orders_id, stripe_charge_id, customers_id, stripe_amount, stripe_amount_refunded, stripe_currency, stripe_customer, stripe_description, stripe_disputed, stripe_fee, stripe_invoice, stripe_paid, stripe_address_city, stripe_address_country, stripe_address_line1, stripe_address_line1_check, stripe_address_line2, stripe_address_zip, stripe_address_zip_check, stripe_country, stripe_fingerprint, stripe_cvc_check, stripe_name, stripe_last4, stripe_exp_month, stripe_exp_year, stripe_type) VALUES ('36', 'ch_1F1x15IvuX80g3UFlLCPZ6ka', '2', '58290', '0', 'JPY', '', 'user AT gmail.com', '', '', '', '1', '', '', '', '', '', '', '', 'US', 'lHfW1lpMAnH1N1Ea', 'pass', 'USER NAME', '4242', '1', '2023', 'Visa') ==> (as called by) /***/shop/includes/functions/functions_general.php on line 952 <== in /***/shop/includes/classes/db/mysql/query_factory.php on line 171.
I have replaced the actual email address and user name with "user AT gmail.com" and "USER NAME" in the error log contents.
The field stripe_charge_id is being set to ch_1F1x15IvuX80g3UFlLCPZ6ka, but in the stripe_data table is defined as varchar(25)
Quote:
> desc stripe_data;
+----------------------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------------------+--------------+------+-----+---------+----------------+
| stripe_charge_id | varchar(25) | NO | | NULL | |
Clearly, the value to be set is 27 chars long. Now I guess I need to check docs to see what the max value should be.
As a test, if I altered the field to be 27 varchars,
Quote:
ALTER TABLE stripe_data CHANGE stripe_charge_id stripe_charge_id varchar(27) NOT NULL;
so that definition becomes:
Quote:
> desc stripe_data;
+----------------------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------------------+--------------+------+-----+---------+----------------+
| stripe_charge_id | varchar(27) | NO | | NULL | |
and tried checkout again.
An error still occurs, and debug log shows yet a different error. So some progress here.
As it is late, I will defer this, but it looks like the fee value is not being given correctly for the module's liking.
Quote:
[31-Jul-2019 00:30:23 Asia/Tokyo] Stripe Notice: Undefined property of Stripe_Charge instance: customer
[31-Jul-2019 00:30:23 Asia/Tokyo] Stripe Notice: Undefined property of Stripe_Charge instance: disputed
[31-Jul-2019 00:30:23 Asia/Tokyo] Stripe Notice: Undefined property of Stripe_Charge instance: fee
[31-Jul-2019 00:30:23 Asia/Tokyo] Stripe Notice: Undefined property of Stripe_Charge instance: invoice
[31-Jul-2019 00:30:23 Asia/Tokyo] Stripe Notice: Undefined property of Stripe_Object instance: address_city
[31-Jul-2019 00:30:23 Asia/Tokyo] Stripe Notice: Undefined property of Stripe_Object instance: address_country
[31-Jul-2019 00:30:23 Asia/Tokyo] Stripe Notice: Undefined property of Stripe_Object instance: address_line1
[31-Jul-2019 00:30:23 Asia/Tokyo] Stripe Notice: Undefined property of Stripe_Object instance: address_line1_check
[31-Jul-2019 00:30:23 Asia/Tokyo] Stripe Notice: Undefined property of Stripe_Object instance: address_line2
[31-Jul-2019 00:30:23 Asia/Tokyo] Stripe Notice: Undefined property of Stripe_Object instance: address_zip
[31-Jul-2019 00:30:23 Asia/Tokyo] Stripe Notice: Undefined property of Stripe_Object instance: address_zip_check
[31-Jul-2019 00:30:23 Asia/Tokyo] Request URI: /shop/index.php?main_page=checkout_process, IP address: 192.168.0.3
#1 trigger_error() called at [/***/shop/includes/classes/db/mysql/query_factory.php:171]
#2 queryFactory->show_error() called at [/***/shop/includes/classes/db/mysql/query_factory.php:143]
#3 queryFactory->set_error() called at [/***/shop/includes/classes/db/mysql/query_factory.php:270]
#4 queryFactory->Execute() called at [/***/shop/includes/functions/functions_general.php:952]
#5 zen_db_perform() called at [/***/shop/includes/modules/payment/stripepay.php:495]
#6 stripepay->after_process() called at [/***/shop/includes/classes/payment.php:254]
#7 payment->after_process() called at [/***/shop/includes/modules/pages/checkout_process/header_php.php:17]
#8 require(/***/shop/includes/modules/pages/checkout_process/header_php.php) called at [/***/shop/index.php:36]
--> PHP Fatal error: 1366:Incorrect integer value: '' for column `zencartshop`.`stripe_data`.`stripe_fee` at row 1 :: INSERT INTO stripe_data (orders_id, stripe_charge_id, customers_id, stripe_amount, stripe_amount_refunded, stripe_currency, stripe_customer, stripe_description, stripe_disputed, stripe_fee, stripe_invoice, stripe_paid, stripe_address_city, stripe_address_country, stripe_address_line1, stripe_address_line1_check, stripe_address_line2, stripe_address_zip, stripe_address_zip_check, stripe_country, stripe_fingerprint, stripe_cvc_check, stripe_name, stripe_last4, stripe_exp_month, stripe_exp_year, stripe_type) VALUES ('37', 'ch_1F1xHOIvuX80g3UF1seaLy6J', '2', '58290', '0', 'JPY', '', 'user AT gmail.com', '', '', '', '1', '', '', '', '', '', '', '', 'US', 'lHfW1lpMAnH1N1Ea', 'pass', 'USER NAME', '4242', '1', '2020', 'Visa') ==> (as called by) /***/shop/includes/functions/functions_general.php on line 952 <== in /***/shop/includes/classes/db/mysql/query_factory.php on line 171.
In sandbox no fee is taken, so the fact that the fee is not there is not a big surprise, but should it be an integer 0, or should the code accept an empty string?
I think that in the above, all these errors are generated by the Zen Cart module itself, not an error being reported by Stripe.
To be continued the following day.
-
Re: Stripe.com payment integration module
One separate issue: stripe_country seems to be set to US. I expected it to be Japan, but I guess this value is coming from Stripe and is related to the sandbox credit card information being used. In includes/modules/payment/stripepay.php we have:
Quote:
'stripe_country' => zen_db_prepare_input($charge->source->country),
I hope I am right in assuming this means the value I see is coming from Stripe's sandbox client.
-
Re: Stripe.com payment integration module
For reference, stripe_fee is defined as non-null:
Quote:
> desc stripe_data;
+----------------------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------------------+--------------+------+-----+---------+----------------+
| stripe_fee | int(11) | NO | | NULL | |
So that means, in strict mode, and empty string will not be accepted.
Tomorrow I will test to see if I alter the fee to accept null, whether it then passes the previous data successfully.
However, I'd like to understand if that change is the correct way to handle such an issue.
It seems there are a few fields in the stripe_data table that would at first glance require non null, but are defined as accepting null entries.
So confused.
Reference:
Quote:
> desc stripe_data;
+----------------------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------------------+--------------+------+-----+---------+----------------+
| stripe_id | int(11) | NO | PRI | NULL | auto_increment |
| orders_id | int(11) | NO | | NULL | |
| customers_id | int(11) | NO | | NULL | |
| stripe_charge_id | varchar(27) | NO | | NULL | | <- changed by me from original in module
| stripe_amount | int(25) | NO | | NULL | |
| stripe_amount_refunded | int(25) | YES | | NULL | |
| stripe_currency | varchar(6) | NO | | NULL | |
| stripe_customer | varchar(64) | YES | | NULL | |
| stripe_description | varchar(255) | YES | | NULL | |
| stripe_disputed | varchar(64) | NO | | NULL | |
| stripe_fee | int(11) | NO | | NULL | |
| stripe_invoice | varchar(64) | YES | | NULL | |
| stripe_object | varchar(64) | YES | | | | <- changed by me from original in module
| stripe_paid | int(11) | NO | | NULL | |
| stripe_address_city | varchar(255) | NO | | NULL | |
| stripe_address_country | varchar(255) | NO | | NULL | |
| stripe_address_line1 | varchar(255) | NO | | NULL | |
| stripe_address_line1_check | varchar(64) | YES | | NULL | |
| stripe_address_line2 | varchar(255) | YES | | NULL | |
| stripe_address_zip | varchar(255) | YES | | NULL | |
| stripe_address_zip_check | varchar(64) | YES | | NULL | |
| stripe_country | varchar(64) | NO | | NULL | |
| stripe_fingerprint | varchar(64) | NO | | NULL | |
| stripe_cvc_check | varchar(64) | YES | | NULL | |
| stripe_name | varchar(64) | NO | | NULL | |
| stripe_last4 | int(4) | NO | | NULL | |
| stripe_exp_month | int(2) | NO | | NULL | |
| stripe_exp_year | int(4) | NO | | NULL | |
| stripe_type | varchar(64) | NO | | NULL | |
+----------------------------+--------------+------+-----+---------+----------------+
29 rows in set (0.001 sec)
-
Re: Stripe.com payment integration module
Continuation...
I changed the stripe_fee field in the stripe_data table to accept NULL, as follows:
Quote:
+----------------------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------------------+--------------+------+-----+---------+----------------+
| stripe_fee | int(11) | NO | | NULL | |
ALTER TABLE stripe_data CHANGE stripe_fee stripe_fee int(11) NULL default NULL;
+----------------------------+--------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------------------+--------------+------+-----+---------+----------------+
| stripe_fee | int(11) | YES | | NULL | |
However, I still get the same error when processing a sandbox payment. So an empty string value is apparently simply not acceptable. Stumped for now, will try to initialize the stripe_fee to 0 and see what happens.
-
Re: Stripe.com payment integration module
After a bit of Googling, it seems my plan to allow NULL is mistaken. Since the default setting in MySQL/MariaDB is strict mode, empty values will not be permitted in integer fields, and to enter NULL would require a specific statement.
So it looks like I will need to cast empty string to integer 0 in PHP.
My conclusion is the between 2012, when the module was written (and obviously has worked well) many changes in MySQL have taken place, the most critical one being the application of strict mode, and also some changes in Stripe's API and fields.
I'll post again when I have figured out how to cast empty string to integer.
I note that I have no idea at this stage whether Stripe returns non-integer (fractional) values for some fields that are currently declared as integers. We shall see...
-
Re: Stripe.com payment integration module
I hacked the stripe_fee field as follows in stripepay.php:
PHP Code:
function after_process()
{
global $charge, $insert_id, $db;
//let's update the stripe_id table
// let's see if we can change $charge->fee
if (empty($charge->fee)) {
$charge->fee = 0;
}
/../
That did manage to avoid the previous error, and instead, we get the next one.
Here the debug log:
Quote:
#1 trigger_error() called at [/***/shop/includes/classes/db/mysql/query_factory.php:171]
#2 queryFactory->show_error() called at [/***/shop/includes/classes/db/mysql/query_factory.php:143]
#3 queryFactory->set_error() called at [/***/shop/includes/classes/db/mysql/query_factory.php:270]
#4 queryFactory->Execute() called at [/***/shop/includes/modules/payment/stripepay.php:509]
#5 stripepay->after_process() called at [/***/shop/includes/classes/payment.php:254]
#6 payment->after_process() called at [/***/shop/includes/modules/pages/checkout_process/header_php.php:17]
#7 require(/***/shop/includes/modules/pages/checkout_process/header_php.php) called at [/***/shop/index.php:36]
--> PHP Fatal error: 1406:Data too long for column 'cc_expires' at row 1 :: update orders set
cc_type = '',
cc_owner='USER NAME',
cc_expires='1/2020',
cc_number='XXXX-XXXX-XXXX-4242'
where
orders_id = '39' ==> (as called by) /***/shop/includes/modules/payment/stripepay.php on line 509 <== in /***/shop/includes/classes/db/mysql/query_factory.php on line 171.
I changed the actual user name to "USER NAME" above.
So it looks like it is going to be a long slog here, solving the definition of many fields used in the module.
cc_expires is a field in the table orders, and is defined as varchar(4), which clearly is incompatible with this module's attempt to set it to a format of "[M]M/YYYY".
Surely there is no way this module can work with Zen Cart if that is really the case? Maybe cc_expires used to be defined like this in older versions os Zen Cart?
I guess the way forward for now is to redefine, in the module, how cc_expires is created, to make it into the format ""MMYY", presumably. Mmm, substring from the year, and padding for the month as needed. Darn, lots of examples in the other payment modules, will have to hash up something there, no more time tonight though.
I can see a new working version at the end of this road, but I really wonder what other users have done to keep the module working on their newer Zen Cart systems.
-
Re: Stripe.com payment integration module
Well, that was not that hard. Changed the code for cc_expires from
PHP Code:
cc_expires='" . zen_db_prepare_input($charge->source->exp_month) . "/" . zen_db_prepare_input($charge->source->exp_year) . "',
to
PHP Code:
cc_expires='" . zen_db_prepare_input(str_pad($charge->source->exp_month,2,'0',STR_PAD_LEFT)) . zen_db_prepare_input(substr($charge->source->exp_year,-2)) . "',
and the order passed!!! Success, albeit with no doubt horrible code.
There are still warnings in the log:
Quote:
[01-Aug-2019 00:42:46 Asia/Tokyo] Stripe Notice: Undefined property of Stripe_Charge instance: customer
[01-Aug-2019 00:42:46 Asia/Tokyo] Stripe Notice: Undefined property of Stripe_Charge instance: disputed
[01-Aug-2019 00:42:46 Asia/Tokyo] Stripe Notice: Undefined property of Stripe_Charge instance: invoice
[01-Aug-2019 00:42:46 Asia/Tokyo] Stripe Notice: Undefined property of Stripe_Object instance: address_city
[01-Aug-2019 00:42:46 Asia/Tokyo] Stripe Notice: Undefined property of Stripe_Object instance: address_country
[01-Aug-2019 00:42:46 Asia/Tokyo] Stripe Notice: Undefined property of Stripe_Object instance: address_line1
[01-Aug-2019 00:42:46 Asia/Tokyo] Stripe Notice: Undefined property of Stripe_Object instance: address_line1_check
[01-Aug-2019 00:42:46 Asia/Tokyo] Stripe Notice: Undefined property of Stripe_Object instance: address_line2
[01-Aug-2019 00:42:46 Asia/Tokyo] Stripe Notice: Undefined property of Stripe_Object instance: address_zip
[01-Aug-2019 00:42:46 Asia/Tokyo] Stripe Notice: Undefined property of Stripe_Object instance: address_zip_check
[01-Aug-2019 00:42:46 Asia/Tokyo] Stripe Notice: Undefined property of Stripe_Object instance: type
Probably since stripe_object is no longer used and the code needs to be cleaned up for that.
I do note though that address verification is an option (AVS check), and I have turned it off. Not sure if that is related. I will do another transaction with AVS check turned on and compare.
Note I also have turned off the option to create a Stripe customer object.
-
Re: Stripe.com payment integration module
So when AVS check is turned on, the I only end up with the following warnings in the debug log:
Quote:
[01-Aug-2019 00:48:54 Asia/Tokyo] Stripe Notice: Undefined property of Stripe_Charge instance: customer
[01-Aug-2019 00:48:54 Asia/Tokyo] Stripe Notice: Undefined property of Stripe_Charge instance: disputed
[01-Aug-2019 00:48:54 Asia/Tokyo] Stripe Notice: Undefined property of Stripe_Charge instance: invoice
[01-Aug-2019 00:48:54 Asia/Tokyo] Stripe Notice: Undefined property of Stripe_Object instance: type
So the remaining properties (all address_*) seem to have been used for AVS.
-
Re: Stripe.com payment integration module
Enabling the option for creating a Stripe customer object did not change the remaining debug log output.
So I have no idea at the moment how these debug lines are related to the Stripe module options, and how to get rid of them.
-
Re: Stripe.com payment integration module
Heh, I see in my Admin orders that Stripe orders have a tax of double what it should be, very odd. Will need to check how region and so on affects this. I only have one tax declared, Japanese VAT of 8%. So the Tax field in the order says 16%, but the Japanese VAT line in the total calculations correctly states 8%.
Other payment types (e.g., moneyorder) display 8% for the Tax field.
So not sure if that is a module issue, or a Stripe issue. More investigation needed.
-
Re: Stripe.com payment integration module
Bah, I have two tax rates defined in the class VAT, one called "Japan", one called "Japan (Tokyo only)". This is for the case where I can only sell inside Tokyo. Since I did not define any payment zone for the Stripe module ("none"), it seems both these tax rates are taken together.
I will simply admit I do not understand this very well, and leave it at that for now.
-
Re: Stripe.com payment integration module
Regarding Stripe API: I am running the latest API version, 2019-05-16.
Will be reading the documentation to see what possible differences there are.
https://stripe.com/docs/api/versioning
It says one can override the Stripe version, unfortunately I don't know what version v1.3.2 of the plugin was written for.
The API changelog is pretty long, frequent updates:
https://stripe.com/docs/upgrades#api-changelog
A guide to upgrading:
https://stripe.com/docs/upgrades
Lots to read in the API reference:
https://stripe.com/docs/api
-
Re: Stripe.com payment integration module
Looking at the comment in the latest Stripe module version 1.3.4, and comparing the the changes in the Stripe API version listed in the link above, it appers v1.3.4 corresponds to the Stripe API version 2015-02-18.
So there is quite a lot of history to go through in updating.
-
Re: Stripe.com payment integration module
I would suggest rewriting this Stripe module instead of trying to repair it. Not only this module uses to the old (soon defunct) API to process payment, it also cannot support the latest security requirement.
My skill is limited and the API is somewhat confusing to me. The easiest way is probably to integrate Stripe Checkout as a new module. If you can do it, it'd be great. Seems the deadline is Sept 14th for the SCA payment requirement.
-
Re: Stripe.com payment integration module
Hi Alex,
I'm afraid writing a new module is way beyond my current capabilities, and the timeline I need to meet to use the functionality. Writing payment processor modules is definitely something I would like to do in future though, so fixing the Stripe module in stages seemed like a good start, and I am moving ahead reading the API docs little by little as I find the time.
I really don't care if all the functionality is not available (I doubt it was in the old module either), but I am worried by my lack of understanding in that I won't be able to tell if I have overlooked something critical.
Anyhow, if you have some insight/suggestions in that regard, please chime in, two pairs of eyes (and two brains) is better than one.
BTW what is the soon to be defunct API? Stripe versions its REST API, so I don't see what is going to be defunct there.
-
Re: Stripe.com payment integration module
We actually are using the module without problem (installed this at least 4 or 5 years ago), only made some minimum adjustment (mostly on the variables Stripe changed in the API over the years).
Quite a few of our clients are euro-based, so we are looking for a SCA solution. And the old Charge API is working but not what we need.
-
Re: Stripe.com payment integration module
Got it. For European users indeed SCA support will be required. For me in Japan, not the case, so an easier bullet to bite.
-
Re: Stripe.com payment integration module
Just wondering if there has been any development on this. 2 weeks time SCA will be required and all cards will get declined if SCA not set up. Has anyone got a working solution? Or is it a case of setting up anther payment solution such as Paypal to avoid any problem?
-
Re: Stripe.com payment integration module
Running ZC Version: v1.5.6c
And latest stripe module.
Every time I attempt to process a card outside of test mode I get the following notification:
Must provide source or customer.
Has anyone come up with a fix for this?
-
Re: Stripe.com payment integration module
Hi bitg, have you made the changes in the previous page (listed by me)? I assume so, as I expect otherwise even test cards would not work perhaps. But since you say "latest strip module" it sounds like you did not make any changes yet?
-
Re: Stripe.com payment integration module
Quote:
Originally Posted by
gernot
Hi bitg, have you made the changes in the previous page (listed by me)? I assume so, as I expect otherwise even test cards would not work perhaps. But since you say "latest strip module" it sounds like you did not make any changes yet?
Thanks for the reply. I have not made any changes yet. I'll look back in the thread.
-
Re: Stripe.com payment integration module
Quote:
Originally Posted by
diptimoy
Do this module/add on already have this feature ,
3D secure for Strong Customer Authentication which will come to effect on September 14, 2019 ?
Well Sept 14 has come and gone? Does anybody in Europe have actual experience of customers paying with credit card via Stripe since Sept. 14?
Myself I have not any experience; so far as I know none of my customers have tried to pay by Stripe. I do have some customers who did not complete their checkout process but no error messages and no evidence they used Stripe so maybe they simply changed their minds about the purchase?
-
Re: Stripe.com payment integration module
Quote:
Originally Posted by
marton_1
Well Sept 14 has come and gone? Does anybody in Europe have actual experience of customers paying with credit card via Stripe since Sept. 14?
Myself I have not any experience; so far as I know none of my customers have tried to pay by Stripe. I do have some customers who did not complete their checkout process but no error messages and no evidence they used Stripe so maybe they simply changed their minds about the purchase?
Did some testing and found like a couple of my customers that the payment does no longer work; I just get sent back to page 1 of the check out with no error messages.
Can anyone suggest another company to manage credit card payments. At one time I used Braintree but had some problems with the payment module.
-
Re: Stripe.com payment integration module
Quote:
Originally Posted by
marton_1
Did some testing and found like a couple of my customers that the payment does no longer work; I just get sent back to page 1 of the check out with no error messages.
Can anyone suggest another company to manage credit card payments. At one time I used Braintree but had some problems with the payment module.
Just heard that the PSD2 deadline has been pushed out from 14 September 2019 to March 2021, set by the Financial Conduct Authority.
So does not explain why my Stripe module does not work? Maybe Stripe unilateraly changed to their new PSD2 compliant API anyway which caused my problem?
I have asked Stripe support for comments
-
Re: Stripe.com payment integration module
Quote:
Originally Posted by
marton_1
Just heard that the PSD2 deadline has been pushed out from 14 September 2019 to March 2021, set by the Financial Conduct Authority.
So does not explain why my Stripe module does not work? Maybe Stripe unilateraly changed to their new PSD2 compliant API anyway which caused my problem?
I have asked Stripe support for comments
Seems the PSD2 deadline that has been pushed out from 14 September 2019 to March 2021 is only for the UK.
What a mess this is.....
-
Re: Stripe.com payment integration module
Quote:
Originally Posted by
marton_1
Just heard that the PSD2 deadline has been pushed out from 14 September 2019 to March 2021, set by the Financial Conduct Authority.
So does not explain why my Stripe module does not work? Maybe Stripe unilateraly changed to their new PSD2 compliant API anyway which caused my problem?
I have asked Stripe support for comments
Opened my mouth too soon :( :blush:
Test payment with Stripe works OK now :thumbsup:
-
Re: Stripe.com payment integration module
Quote:
Originally Posted by
marton_1
Seems the PSD2 deadline that has been pushed out from 14 September 2019 to March 2021 is only for the UK.
What a mess this is.....
yep... this is a nightmare.... some bank have started to refuse to pay here in France, I dont understand why stripe doesnt provide the pluging... I have no choice but to turn on paypal... I m checking out IPS payment also... "
and this is what stripe is saying concerning the error code
"Dans le cas où un paiement ne peut être validé par une requête 3DSecure (dans le cadre de la SCA), ce paiement n'aboutira tout simplement pas et il n'y aura pas de code d'erreur spécifique que vous verrez apparaître sur votre tableau de bord. "
I'll keep you posted....
in the case of SCA "3DSecure" rejected payment, this payment will just no work show up with an error code that you will see on your stripe dashboard" .... this is when the abandonned cart plugin become handy.....
-
Re: Stripe.com payment integration module
Thanks for the info, nightmare...
-
Re: Stripe.com payment integration module
A newbie question, is this updated to the current Stripe API? The last updated version is 2016.. :wacko:
-
Re: Stripe.com payment integration module
Quote:
Originally Posted by
naczyls747
A newbie question, is this updated to the current Stripe API? The last updated version is 2016.. :wacko:
No, it is not. But if you have the skills feel free....0
-
Re: Stripe.com payment integration module
The axe is falling
Quote:
On 31 December 2020, enforcement of the European regulatory requirement called Strong Customer Authentication (SCA) will introduce two-factor authentication requirements for many online payments in Europe. Unfortunately, payments that are not authenticated will be declined by your customers’ banks.
Although Switzerland is outside of the European Economic Area (EEA), all Swiss merchants will need to meet SCA requirements if they accept payments from EEA cardholders. This is because Switzerland’s acquirer is located within the EEA.
-
Re: Stripe.com payment integration module
There is a new Stripe payment module for oscommerce. How big a job is adapting OSC plugins for Zen Cart?
-
Re: Stripe.com payment integration module
Quote:
Originally Posted by
hairydog
There is a new Stripe payment module for oscommerce. How big a job is adapting OSC plugins for Zen Cart?
Any more news on update of stipe module to work in line with new requirement yet? thanks
-
Re: Stripe.com payment integration module
Maybe worth asking Stripe themselves if they will do the update, probably depends on how much money they will lose if all their zen cart customers disappear at the end of the year.
-
Re: Stripe.com payment integration module
No news on Strong Customer Authentication (SCA)?
I am testing myPOS which is SCA compliant and very easy and simple to install.
It claims to be ZC 157 compliant but I get some problems including a "PHP deprecated" message which I have sent to myPOS support. They did answer very quickly about a couple of my teething problems.
-
Re: Stripe.com payment integration module
Quote:
Originally Posted by
marton_1
No news on Strong Customer Authentication (SCA)?
I am testing myPOS which is SCA compliant and very easy and simple to install.
It claims to be ZC 157 compliant but I get some problems including a "PHP deprecated" message which I have sent to myPOS support. They did answer very quickly about a couple of my teething problems.
myPOS say they fixed the problems with their plugin last Thursday but the new version has not yet shown up in the zen cart plugins and they will not give me a pre-release version for testing. Pity because generally it looks good but I cannot release it on my commercial site yet because it does not revert to my site correctly.
I do offer PayPal but some people do not like it so it will be good to offer an alternative.
-
Re: Stripe.com payment integration module
Quote:
Originally Posted by
marton_1
myPOS say they fixed the problems with their plugin last Thursday but the new version has not yet shown up in the zen cart plugins and they will not give me a pre-release version for testing. Pity because generally it looks good but I cannot release it on my commercial site yet because it does not revert to my site correctly.
I do offer PayPal but some people do not like it so it will be good to offer an alternative.
It is a week now since mypos claimed they sent an updated version of their plugin to zen cat but it has not yet shown up. Is there some way I can check it really was submitted?
-
Re: Stripe.com payment integration module
Quote:
Originally Posted by
marton_1
It is a week now since mypos claimed they sent an updated version of their plugin to zen cat but it has not yet shown up. Is there some way I can check it really was submitted?
No, no submission from myPOS or iPay in the past month.
-
Re: Stripe.com payment integration module
Quote:
Originally Posted by
DrByte
No, no submission from myPOS or iPay in the past month.
Many thanks, I so informed them.
Thursday of a week ago they wrote "Yes, seems the redirect is now working as expected, you can download the new plugin with the fix because of the warning of the deprecated method on Friday and let us know if the redirects are working correctly after."
Today they wrote "We will update you once it [updated plugin] is uploaded".