X-Cart: shopping cart software

X-Cart forums (https://forum.x-cart.com/index.php)
-   X-Payments issues & questions (https://forum.x-cart.com/forumdisplay.php?f=50)
-   -   Confirmed Bug - Customers Can't Pay partially with Gift Certificate (https://forum.x-cart.com/showthread.php?t=68326)

tartaglia 12-16-2013 03:15 PM

Confirmed Bug - Customers Can't Pay partially with Gift Certificate
 
First, I must say that I am a believer in QT and their XC product. I have been working with them since 2006. I pay for their support subscription service.

The following is posted ONLY to educate my fellow X-Carters about a BUG that has been confirmed by QT but has yet to be fixed and which could be problematic to a company and their reputation without their knowledge. The QT Maintenance Team is working on a resolution but has not released one yet.

For full disclosure I run XC 4.5.4 Gold+ w/ X-Payments.

Summary: If a customer attempts to use a XC Gift Certificate to partially pay for a purchase, they could find themselves in a unrecoverable situation and be unable to complete their order. This is significant because selling Gift Certificates is good business for merchants however if word gets out that they can't be redeemed reliably, sales of GC are likely to drop signifcantly.

Scenario (Repeatable steps):
1. Customer gets to the OPC page, enters their personal details, selects a shipping method and enters and submits their GC code for application against their order total.
2. When the order total is greater than the present value of the GC (this is a preferred scenario for merchants!), XC advises the customer that they must pay the remaining balance using another GC or Payment Method.
3. The customer selects to use the Credit Card payment method, and the XP iframe loads with fields for the credit card data.
4. At this point, should the customer choose to modify either any of their personal details (billing address, etc.) or modify the selected shipping method, they are presented with an non-human-readable error code in the payment iframe and they are unable to continue with their order.

As a merchant you may never know this is happening, unless a customer complains in detail.

In our case we were VERY much looking forward to promoting the sale of GC on our site for this holiday season. But when we learned of this bug we could not in good conscience do so for fear of frustrating our customers. I hope this post helps others.

The bug was confirmed by QT on Oct 18, 2013 on XC versions up through 4.6.1.

cflsystems 12-16-2013 03:26 PM

Re: Confirmed Bug - Customers Can't Pay partially with Gift Certificate
 
Thanks for posting this David. The scary part of your post here is

Quote:

BUG that has been confirmed by QT

then

Quote:

The QT Maintenance Team is working on a resolution but has not released one yet

followed by

Quote:

The bug was confirmed by QT on Oct 18, 2013 ...

It is Dec 16, 2013 now - this is 2 months after the bug was confirmed (so it was discovered even before this date) and for 2 months there is no patch for something critical as this?

Unless the date you provided is incorrect....

tartaglia 12-16-2013 04:10 PM

Re: Confirmed Bug - Customers Can't Pay partially with Gift Certificate
 
The dates are correct. I reported the issue to the support engineer on Oct 9, 2013. He was immediately responsive and tried to fix the problem but was unsucessfull that same day. The support engineer then did the right thing and tested default 4.6.1 code, identified it as a bug and confirmed it back to me. The support engineer did a god job, but it is out of his hands now as it resides with the Maintenance Team.

tartaglia 12-16-2013 04:12 PM

Re: Confirmed Bug - Customers Can't Pay partially with Gift Certificate
 
Sorry meant to say "The support engineer did a good job..", I don't to make hime get a big head :-)

cflsystems 12-16-2013 04:42 PM

Re: Confirmed Bug - Customers Can't Pay partially with Gift Certificate
 
I am just surprised that something critical as this is not fixed for 2 months and is probably X-Payments issue....

An e-commerce store that cannot take payments is as good as brick in water...

tartaglia 12-23-2013 02:40 PM

Re: Confirmed Bug - Customers Can't Pay partially with Gift Certificate
 
Steve, I humbly agree, I hope this helps others. Knowing what doesn't work is as important as knowing what does.

It was really disappointing that my first holiday season using X-Cart (I went live last January) I was sure I could go heavy on the marketing for our electronic gift certificates (something our competitors don't offer), but in the end I could not in good concience.

I guess some would argue that the sale of the GC is the important part cause we get our money up front, but I think if the customer can't redeem it correctly the intangible damage could be far greater.

qualiteam 12-24-2013 01:36 AM

Re: Confirmed Bug - Customers Can't Pay partially with Gift Certificate
 
I believe this issue happens with X-Payments only, so I've moved the thread to the X-Payments section of the forum.

Just wanted to let you know that we aware of the problem and it is in our TO-DO list. Unfortunately, I can't say how soon X-Payments developers can get this fixed.

carpeperdiem 12-28-2013 06:54 PM

Re: Confirmed Bug - Customers Can't Pay partially with Gift Certificate
 
I discovered this last year and simply killed off the GC redemption function. I have been using Altered Cart's Cash Rewards module -- very easy to credit anyone for instant spend @ checkout -- yes, this requires some admin clicks to apply a GC, but because I pay commissions on my GCs to affiliates, GCs are now a "product" for my store, and we do not need to use the xcart GC function.

I hate to say, the X-Cart Gift certificate module was simply never tested in the real world, not designed or engineered well, and should not be used for production.

:-(

carpeperdiem 12-28-2013 06:58 PM

Re: Confirmed Bug - Customers Can't Pay partially with Gift Certificate
 
Quote:

Originally Posted by qualiteam
I believe this issue happens with X-Payments only


Unfortunately, no. I just tested on my dev store (4.5.4)

Let's say you have 3 payment methods:

1. x-payments
2. gift certificate
3. paypal standard

Payment method #1 is default.
Customer has option to select payment method... customer selects #2. Applies gift cert... submit.

Error.

X-payments was never involved.

tartaglia 12-29-2013 08:22 AM

Re: Confirmed Bug - Customers Can't Pay partially with Gift Certificate
 
Thanks for the additional testing/confirmation carpeperdiem and cflsystems.

GOOD NEWS.... QT (Roman) has installed a patch for this issue on my store. It involved changes to the include/payment_method.php file (about 15 new lines of code)

After performing a single test (repeating the steps that reliably produced the problem on my site initially) I can say that it appears the problem is fixed.

If some of you with dev sites will get the patch and test it under your own circumstances and versions of XC it will increase my confidence that QT has put this issue to bed.

I knew QT could do it, but thanks to all your input and additional testing data points I think it helped them do it faster. BETTER for EVERYONE!

(P.S. I now have a bunch of test related GCs on my site...and guess what! There is another bug that won't let me select them from the admin side and get rid of them...oh well here comes another support ticket...happy new year everyone)

carpeperdiem 12-30-2013 06:19 AM

Re: Confirmed Bug - Customers Can't Pay partially with Gift Certificate
 
Quote:

Originally Posted by tartaglia
Thanks for the additional testing/confirmation carpeperdiem and cflsystems.

GOOD NEWS.... QT (Roman) has installed a patch for this issue on my store. It involved changes to the include/payment_method.php file (about 15 new lines of code)

After performing a single test (repeating the steps that reliably produced the problem on my site initially) I can say that it appears the problem is fixed.

If some of you with dev sites will get the patch and test it under your own circumstances and versions of XC it will increase my confidence that QT has put this issue to bed.


David,

Can you ask x-cart to share this patch with the community? Was this issue posted in bugtracker?

tartaglia 12-30-2013 11:24 AM

Re: Confirmed Bug - Customers Can't Pay partially with Gift Certificate
 
I can only assume it is in bug tracker (I did not file it there I filed it through my support subscription) I will ask the support engineer when he returns from holiday.

Also, it is my understanding that there is an external bug tracker (that users can file stuff in) and an internal bug tracker for QT maintenance staff. If this is the case it may only be in the internal one.

Have you tried asking QT for the patch for this issue? You may need to wait until after the holiday. If you still can't it then please post and let me know, I will be glad to post the 15 lines of code they added to the file.

David

Duramax 6.6L 12-31-2013 05:52 PM

Re: Confirmed Bug - Customers Can't Pay partially with Gift Certificate
 
Quote:

Originally Posted by tartaglia

Have you tried asking QT for the patch for this issue? You may need to wait until after the holiday. If you still can't it then please post and let me know, I will be glad to post the 15 lines of code they added to the file.

David


Would you please post the lines of code and where to place them to fix this problem.

BBM_ 01-06-2014 08:05 PM

Re: Confirmed Bug - Customers Can't Pay partially with Gift Certificate
 
QT,

Please share the patch as I have found this issue as well and this is without using X-Payments.

ambal 01-08-2014 06:14 AM

Re: Confirmed Bug - Customers Can't Pay partially with Gift Certificate
 
Hi Everyone,

We are finalizing the patch to make it sort of "general" for everyone and will post it here as soon as it is ready. Please allow us several days.

tartaglia 01-08-2014 10:48 AM

Re: Confirmed Bug - Customers Can't Pay partially with Gift Certificate
 
Ambal - GREAT! thank you. I was just getting back to the forums after several days off, and was told that you would be making the patch generally available.

I'm sure many, many users need this they just didn't know it before.

Again much appreciated.

ambal 01-10-2014 12:52 AM

Re: Confirmed Bug - Customers Can't Pay partially with Gift Certificate
 
2 Attachment(s)
Here comes the patch.

Attachment 3657

Please note that if it does not work for your X-Cart installation it doesn't mean it is broken. Most likely it can not be applied to your X-Cart due to some customizations, difference in versions, etc and needs adjusting for your particular X-Cart version/copy. Also, many of you guys are not technical savvy so be careful about applying patches on open source software like X-Cart. Do not apply this patch if nothing is broken!!! Use it if you see the same trouble in your X-Cart shop and you really suffer from it.

Anyways, in case of a trouble with the patch you need to contact our techs regarding applying it for you (please be informed that a technical support incident fee may be required if you are not a customer with technical support service subscription).

cflsystems 01-10-2014 09:03 AM

Re: Confirmed Bug - Customers Can't Pay partially with Gift Certificate
 
Quote:

Originally Posted by ambal
Do not apply this patch if nothing is broken!!! Use it if you see the same trouble in your X-Cart shop and you really suffer from it.


Alex does this means the patch is for specific XC or server configuration? So is this a bug in XC or X-Payments or the Connector?
Are we to take this as workaround patch or as an official fix?

Also looking at the code

Code:

+    if (!empty($userinfo['id'])) {
+        $where = 'userid = "' . addslashes($userinfo['id']) .'"';
+    } elseif(!empty($userinfo['email'])) {
+        $where = 'email = "' . addslashes($userinfo['email']) .'"';
+    } else {
+        return;
+    }


Why addslashes($userinfo['id'])?

userid is integer, always, would be better to ensure it is integer instead of escaping characters. I think you should revise this.

ambal 01-13-2014 07:00 AM

Re: Confirmed Bug - Customers Can't Pay partially with Gift Certificate
 
It is a workaround patch/fix for X-Cart's X-Payments connector module. No need to change anything at X-Payment side.

My notes are more for forum members who are not really technical savvy and can make more harm than good by applying the patch. Especially when they do not realize they are using a customized X-Cart installation.

ambal 01-14-2014 02:57 AM

Re: Confirmed Bug - Customers Can't Pay partially with Gift Certificate
 
> Why addslashes($userinfo['id'])?

Thank you for noting this. I re-uploaded a new version of the patch that uses intval instead.

carpeperdiem 01-14-2014 04:28 AM

Re: Confirmed Bug - Customers Can't Pay partially with Gift Certificate
 
Hi Alex,
Thanks for the vers 2 diff

I have not applied it yet -- but looking at the sql patch ---

Code:

Index: sql/xcart_tables.sql
--- sql/xcart_tables.sql
+++ sql/xcart_tables.sql
@@ -1582,7 +1582,8 @@ CREATE TABLE xcart_orders (
  KEY s_country (s_country),
  KEY b_country (b_country),
  KEY clickid (clickid),
-  KEY userid (userid),
+  KEY us (userid, `status`),
+  KEY es (email(64), `status`),


questions:

1. we are editing an installer file here. Do we also need to run an sql query to modify this table?
2. are we sure about KEY us and KEY es? Is this proper syntax?

Thx
J

aim 01-14-2014 05:11 AM

Re: Confirmed Bug - Customers Can't Pay partially with Gift Certificate
 
1) You can run this query
Code:

ALTER TABLE xcart_orders DROP INDEX userid,  ADD INDEX us (userid, status),  ADD INDEX es (email(64), status);

This change is optional.

2) This is the correct syntax
http://dev.mysql.com/doc/refman/5.1/en/create-table.html
us is the key name. It is formed as an acronym for the UseridStatus phrase.

carpeperdiem 01-14-2014 05:23 AM

Re: Confirmed Bug - Customers Can't Pay partially with Gift Certificate
 
Quote:

Originally Posted by aim
us is the key name. It is formed as an acronym for the UseridStatus phrase.


and es in the next line
+ KEY es (email(64), `status`),
? is that correct or should it be KEY us?

Thanks for clarifying this.
J

aim 01-14-2014 09:17 AM

Re: Confirmed Bug - Customers Can't Pay partially with Gift Certificate
 
Quote:

Originally Posted by carpeperdiem
and es in the next line
+ KEY es (email(64), `status`),
? is that correct or should it be KEY us?

Thanks for clarifying this.
J


And es is the other correct key for the email and status fields

Stizerg 01-19-2014 10:26 PM

Re: Confirmed Bug - Customers Can't Pay partially with Gift Certificate
 
Thanks guys, I even didn't know about this problem, it fixed now.


All times are GMT -8. The time now is 07:40 AM.

Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.