VirtueMart Forum

VirtueMart 2 + 3 + 4 => Plugins: Payment, Shipment and others => Topic started by: gremaley on February 11, 2016, 00:18:41 AM

Title: Cart Error - Card Number Invalid - when first landing in cart
Post by: gremaley on February 11, 2016, 00:18:41 AM
This seems like a simple error - yet I can not solve it.

I am using 2 payment methods - PayPal Pro and PayPal Express.
VM 3.0.12, Joomla 3.4.8 and the Diverse Shop theme

Whenever I add a product to the cart and then click the link to the cart this error appears.
After much testing it appears that the link to the cart is trying to submit the form - before giving you a chance to fill it out.
If I unpublish the credit card payment method and leave PayPal Express only - clicking the link to go to the cart actually bypasses the cart altogether and takes you to the PayPal website for checkout...

I am hoping someone has seen this issue before? Maybe a commercial plugin would fix this?
Thanks everyone in advance.

Title: Re: Cart Error - Card Number Invalid - when first landing in cart
Post by: jenkinhill on February 11, 2016, 11:42:48 AM
To rule out template/theme issues switch to Protostar and test.
Title: Re: Cart Error - Card Number Invalid - when first landing in cart
Post by: gremaley on February 11, 2016, 15:15:00 PM
Thank you!
I ended spending the whole day yesterday working on this issue and finally got it working.

Not sure if it is a theme/template issue or not but I ended up gambling $45(usd) on a commercial plug-in for PayPal-Pro and the error went away. The cart landing page only returns that error box now if you try to submit an order with no credit card values entered. Which is the correct function.

So for my installation it appears the stock plug-in for PayPal-Pro just doesn't work.

Thanks again for weighing in.
Title: Re: Cart Error - Card Number Invalid - when first landing in cart
Post by: gtelegadis on April 16, 2016, 20:47:38 PM
I have looked far and wide and finally discovered the fix for all of those using vm 3.0.10 and using stock virtuemart paypal module as your payment method.  The issue is that when using one page checkout with stock paypal as the payment module, when a customer clicks step 3 shipping method the cart refreshes and results in a series of credit card errors on the top of the page.  This comes from technically not having credit card details in the fields even though the customer has yet to get to that step.  The issue is the case both with stock virtuemart one page check out and other 3rd party one page checkout upgrades such as rupostel and virtueplanet one page checkout.  The fix is as follows:

1.   Open plugins/vmpayment/paypal/paypal.php

Find the following codes in line 1104:
Copy
Codes
   public function plgVmOnSelectCheckPayment(VirtueMartCart $cart, &$msg) {

Replace above by:
Copy
Codes
   public function plgVmOnSelectCheckPayment(VirtueMartCart $cart, &$msg) {

      if(!vRequest::getInt('virtuemart_paymentmethod_id', 0)) {
         return null;
      }

Similarly find the following codes in line 1301:
Copy
Codes
   function plgVmOnCheckoutCheckDataPayment(VirtueMartCart $cart) {


Replace above by:
Copy
Codes
   function plgVmOnCheckoutCheckDataPayment(VirtueMartCart $cart) {

      if(!vRequest::getInt('virtuemart_paymentmethod_id', 0)) {
         return null;
      }

Title: Re: Cart Error - Card Number Invalid - when first landing in cart
Post by: shoper_06 on April 17, 2016, 00:35:40 AM
Quote from: gtelegadis on April 16, 2016, 20:47:38 PM
I have looked far and wide and finally discovered the fix for all of those using vm 3.0.10 and using stock virtuemart paypal module as your payment method.  The issue is that when using one page checkout with stock paypal as the payment module, when a customer clicks step 3 shipping method the cart refreshes and results in a series of credit card errors on the top of the page.  This comes from technically not having credit card details in the fields even though the customer has yet to get to that step.  The issue is the case both with stock virtuemart one page check out and other 3rd party one page checkout upgrades such as rupostel and virtueplanet one page checkout.  The fix is as follows:

1.   Open plugins/vmpayment/paypal/paypal.php

Find the following codes in line 1104:
Copy
Codes
   public function plgVmOnSelectCheckPayment(VirtueMartCart $cart, &$msg) {

Replace above by:
Copy
Codes
   public function plgVmOnSelectCheckPayment(VirtueMartCart $cart, &$msg) {

      if(!vRequest::getInt('virtuemart_paymentmethod_id', 0)) {
         return null;
      }

Similarly find the following codes in line 1301:
Copy
Codes
   function plgVmOnCheckoutCheckDataPayment(VirtueMartCart $cart) {


Replace above by:
Copy
Codes
   function plgVmOnCheckoutCheckDataPayment(VirtueMartCart $cart) {

      if(!vRequest::getInt('virtuemart_paymentmethod_id', 0)) {
         return null;
      }


Used it to fix same problem with stripe , worked as Great Thank You
Title: Re: Cart Error - Card Number Invalid - when first landing in cart
Post by: Jumbo! on April 17, 2016, 10:22:49 AM
Quote from: shoper_06 on April 17, 2016, 00:35:40 AM
Quote from: gtelegadis on April 16, 2016, 20:47:38 PM
I have looked far and wide and finally discovered the fix for all of those using vm 3.0.10 and using stock virtuemart paypal module as your payment method.  The issue is that when using one page checkout with stock paypal as the payment module, when a customer clicks step 3 shipping method the cart refreshes and results in a series of credit card errors on the top of the page.  This comes from technically not having credit card details in the fields even though the customer has yet to get to that step.  The issue is the case both with stock virtuemart one page check out and other 3rd party one page checkout upgrades such as rupostel and virtueplanet one page checkout.  The fix is as follows:

1.   Open plugins/vmpayment/paypal/paypal.php

Find the following codes in line 1104:
Copy
Codes
   public function plgVmOnSelectCheckPayment(VirtueMartCart $cart, &$msg) {

Replace above by:
Copy
Codes
   public function plgVmOnSelectCheckPayment(VirtueMartCart $cart, &$msg) {

      if(!vRequest::getInt('virtuemart_paymentmethod_id', 0)) {
         return null;
      }

Similarly find the following codes in line 1301:
Copy
Codes
   function plgVmOnCheckoutCheckDataPayment(VirtueMartCart $cart) {


Replace above by:
Copy
Codes
   function plgVmOnCheckoutCheckDataPayment(VirtueMartCart $cart) {

      if(!vRequest::getInt('virtuemart_paymentmethod_id', 0)) {
         return null;
      }


Used it to fix same problem with stripe , worked as Great Thank You


As I told you it is a problem of your payment plugin - http://forum.virtuemart.net/index.php?topic=133887.msg464713
Title: Re: Cart Error - Card Number Invalid - when first landing in cart
Post by: ahsan.abbasi on May 04, 2016, 09:25:14 AM
Hi,
I also have this issue.
Using third Party 'one page check out plugin' and Pay 'Pall Payment pro' as payment module.
Try it with pro star template and disabled one page checkout but issue still there.
So i work with solution provided by 'gtelegadis' and work like a charm.

Thanks
Title: Re: Cart Error - Card Number Invalid - when first landing in cart
Post by: communion on May 04, 2016, 11:09:50 AM
Hey are you seeing the card fields filled with 'garbage' character strings, or partial garbage characters? I'm wondering if I am having the same issue?

http://forum.virtuemart.net/index.php?topic=134109.0