Jump to content

Latest products not updating cart.


Recommended Posts

I am new to this forum and have very little or no experience with this so I need help please, be gentle ok.

I am in the process of setting up a digital download store, have put in some test items to check and test.

I have a problem with the latest products that appear below the box slider (I am just using the default skin)

when they are selected to add to cart, the cart message comes up saying your cart is empty.

i can add product to cart from all other areas accept this Latest product boxes.

how can I resolve this please?

Link to comment
Share on other sites

Welcome navimaps4u! Glad to see you made it to the forums.

(While your site was not offline) I saw some strange things.

The "Add to Basket" form submitted the proper data to CubeCart, but CubeCart responded with an empty basket. (As you said.)

However, immediately after the web browser finished processing the response, the browser makes another AJAX call to GET index.php?_g=ajax, but no required form data.

Have you made any experimental changes to the content.homepage.php skin template?

Link to comment
Share on other sites

Thanks for your quick response, but no I have not done anything to that file accept to change the sliders, nothing to the actual script intentionally.

Please see file here.

{*
 * CubeCart v6
 * ========================================
 * CubeCart is a registered trade mark of CubeCart Limited
 * Copyright CubeCart Limited 2017. All rights reserved.
 * UK Private Limited Company No. 5323904
 * ========================================
 * Web:   http://www.cubecart.com
 * Email:  [email protected]
 * License:  GPL-3.0 https://www.gnu.org/licenses/quick-guide-gplv3.html
 *}
{if isset($DOCUMENT)}
<div id="content_homepage">
    {if $DOCUMENT.hide_title==0}<h1>{$DOCUMENT.title}</h1>{/if}
    {$DOCUMENT.content}
</div>
{/if}
{if $LATEST_PRODUCTS}
<div id="content_latest_products">
   <h2>{$LANG.catalogue.latest_products}</h2>
   <ul class="small-block-grid-1 medium-block-grid-3 large-block-grid-3" data-equalizer>
      {foreach from=$LATEST_PRODUCTS item=product}
      <li>
         <form action="{$VAL_SELF}" method="post" class="panel add_to_basket">
            <div data-equalizer-watch>
               <div class="text-center">
                  <a class="th" href="{$product.url}" title="{$product.name}"><img src="{$product.image}" alt="{$product.name}"></a>
               </div>
               <h3><a href="{$product.url}" title="{$product.name}">{$product.name|truncate:38:"&hellip;"}</a></h3>
               {if $product.review_score && $CTRL_REVIEW}
               <div class="rating"> {for $i = 1; $i <= 5; $i++}
                  {if $product.review_score >= $i} <img src="{$STORE_URL}/skins/{$SKIN_FOLDER}/images/star.png" alt=""> {elseif $product.review_score > ($i - 1) && $product.review_score < $i} <img src="{$STORE_URL}/skins/{$SKIN_FOLDER}/images/star_half.png" alt=""> {else} <img src="{$STORE_URL}/skins/{$SKIN_FOLDER}/images/star_off.png" alt=""> {/if}
                  {/for} 
               </div>
               {/if}
            </div>
            {if $product.ctrl_sale}
            <span class="old_price">{$product.price}</span> <span class="sale_price">{$product.sale_price}</span>
            {else}
            {$product.price}
            {/if}

            {* Remove comment if you want info button
            <a href="{$product.url}" title="{$product.name}" class="button tiny secondary left">{$LANG.common.info}</a>
            *}
            {if $CTRL_HIDE_PRICES}
            <div class="row collapse marg-top">
               <div class="small-12 columns">
                   <a href="{$product.url}" title="{$product.name}" class="button small postfix">{$LANG.common.info}</a>
               </div>
            </div>
            {elseif $product.available <= 0}
            <div class="row collapse marg-top">
               <div class="small-12 columns">
                  <input type="submit" value="{$LANG.common.unavailable}" class="button small disabled postfix expand" disabled>
               </div>
            </div>
            {* ctrl_stock True when a product is considered 'in stock' for purposes of allowing a purchase, either by actually being in stock or via certain settings *}
            {elseif $product.ctrl_stock && !$CATALOGUE_MODE}
            <div class="row collapse marg-top">
               <div class="small-3 columns">
                  <input type="text" name="quantity" maxlength="3" value="1" class="quantity required text-center">
               </div>
               <div class="small-9 columns ">
                  <button type="submit" value="{$LANG.catalogue.add_to_basket}" class="button small postfix">{$LANG.catalogue.add_to_basket}</button>
               </div>
            </div>
            {elseif !$CATALOGUE_MODE}
            <div class="row collapse marg-top">
               <div class="small-12 columns">
                  <input type="submit" value="{$LANG.catalogue.out_of_stock_short}" class="button small postfix disabled expand marg-top" disabled>
               </div>
            </div>
            {/if}
            <input type="hidden" name="add" value="{$product.product_id}">
         </form>
      </li>
      {/foreach}
   </ul>
</div>
{/if}

 

 

 

Link to comment
Share on other sites

22 hours ago, navimaps4u said:

Thanks for your quick response, but no I have not done anything to that file accept to change the sliders, nothing to the actual script intentionally.

Please see file here.

{*
 * CubeCart v6
 * ========================================
 * CubeCart is a registered trade mark of CubeCart Limited
 * Copyright CubeCart Limited 2017. All rights reserved.
 * UK Private Limited Company No. 5323904
 * ========================================
 * Web:   http://www.cubecart.com
 * Email:  [email protected]
 * License:  GPL-3.0 https://www.gnu.org/licenses/quick-guide-gplv3.html
 *}
{if isset($DOCUMENT)}
<div id="content_homepage">
    {if $DOCUMENT.hide_title==0}<h1>{$DOCUMENT.title}</h1>{/if}
    {$DOCUMENT.content}
</div>
{/if}
{if $LATEST_PRODUCTS}
<div id="content_latest_products">
   <h2>{$LANG.catalogue.latest_products}</h2>
   <ul class="small-block-grid-1 medium-block-grid-3 large-block-grid-3" data-equalizer>
      {foreach from=$LATEST_PRODUCTS item=product}
      <li>
         <form action="{$VAL_SELF}" method="post" class="panel add_to_basket">
            <div data-equalizer-watch>
               <div class="text-center">
                  <a class="th" href="{$product.url}" title="{$product.name}"><img src="{$product.image}" alt="{$product.name}"></a>
               </div>
               <h3><a href="{$product.url}" title="{$product.name}">{$product.name|truncate:38:"&hellip;"}</a></h3>
               {if $product.review_score && $CTRL_REVIEW}
               <div class="rating"> {for $i = 1; $i <= 5; $i++}
                  {if $product.review_score >= $i} <img src="{$STORE_URL}/skins/{$SKIN_FOLDER}/images/star.png" alt=""> {elseif $product.review_score > ($i - 1) && $product.review_score < $i} <img src="{$STORE_URL}/skins/{$SKIN_FOLDER}/images/star_half.png" alt=""> {else} <img src="{$STORE_URL}/skins/{$SKIN_FOLDER}/images/star_off.png" alt=""> {/if}
                  {/for} 
               </div>
               {/if}
            </div>
            {if $product.ctrl_sale}
            <span class="old_price">{$product.price}</span> <span class="sale_price">{$product.sale_price}</span>
            {else}
            {$product.price}
            {/if}

            {* Remove comment if you want info button
            <a href="{$product.url}" title="{$product.name}" class="button tiny secondary left">{$LANG.common.info}</a>
            *}
            {if $CTRL_HIDE_PRICES}
            <div class="row collapse marg-top">
               <div class="small-12 columns">
                   <a href="{$product.url}" title="{$product.name}" class="button small postfix">{$LANG.common.info}</a>
               </div>
            </div>
            {elseif $product.available <= 0}
            <div class="row collapse marg-top">
               <div class="small-12 columns">
                  <input type="submit" value="{$LANG.common.unavailable}" class="button small disabled postfix expand" disabled>
               </div>
            </div>
            {* ctrl_stock True when a product is considered 'in stock' for purposes of allowing a purchase, either by actually being in stock or via certain settings *}
            {elseif $product.ctrl_stock && !$CATALOGUE_MODE}
            <div class="row collapse marg-top">
               <div class="small-3 columns">
                  <input type="text" name="quantity" maxlength="3" value="1" class="quantity required text-center">
               </div>
               <div class="small-9 columns ">
                  <button type="submit" value="{$LANG.catalogue.add_to_basket}" class="button small postfix">{$LANG.catalogue.add_to_basket}</button>
               </div>
            </div>
            {elseif !$CATALOGUE_MODE}
            <div class="row collapse marg-top">
               <div class="small-12 columns">
                  <input type="submit" value="{$LANG.catalogue.out_of_stock_short}" class="button small postfix disabled expand marg-top" disabled>
               </div>
            </div>
            {/if}
            <input type="hidden" name="add" value="{$product.product_id}">
         </form>
      </li>
      {/foreach}
   </ul>
</div>
{/if}

 

 

 

Can some kind person please help with this, have I done something wrong or is it a bug?

how can I fix this issue with the cart not updating with Latest products?

Link to comment
Share on other sites

49 minutes ago, bsmither said:

We would like to see how your store behaves on our browser, but cannot when the store is offline.

Thanks bsmither its on line now. can give admin acces if you want as I am clueless any help would be appreciated.

Link to comment
Share on other sites

Let us see what you have in your .htaccess file for CubeCart.

Your site:
Req: POST <homepage>/?_g=ajaxadd
Res: 301 Location: https://www.navimaps4u.com/index.php?_g=ajaxadd

Req: POST /free-stuff.html?_g=ajaxadd
Res: 200

My site:
Req: POST <homepage>/?_g=ajaxadd
Res: 200

Req: POST /sample-set-01.html?_g=ajaxadd
Res: 200

I think your hosting environment, or the .htaccess file itself, has a rewrite directive that if there is only a querystring, with a missing document name (such as index.php), then have the web server send back a 301 telling the web browser to try again and to use the Location value which is NOT missing a document name (such as index.php).

Please know that when a web browser resolves a 301 redirect, the browser will NOT resend the POST payload.

Link to comment
Share on other sites

Please see .htaccess file below

##### START CubeCart .htaccess #####

### GZIP Compression ###
<ifmodule mod_deflate.c>
 AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript
</ifmodule>

### Files Expiration ###
<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType text/html "access 0 seconds"
    ExpiresDefault "access 7 days"
</IfModule>

### File Security ###
<FilesMatch "\.(htaccess)$">
  Order Allow,Deny
  Deny from all
</FilesMatch>

### Apache directory listing rules ###
DirectoryIndex index.php index.htm index.html
IndexIgnore *

<ifModule mod_headers.c>
  Header always append X-Frame-Options SAMEORIGIN
</ifModule>

### Rewrite rules for SEO functionality ###
<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /

  ##### START v4 SEO URL BACKWARD COMPATIBILITY #####
  RewriteCond %{QUERY_STRING} (.*)$
  RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/\.well-known/acme-challenge/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/cpanel-dcv/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/(?:\ Ballot169)?
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
  RewriteRule cat_([0-9]+)(\.[a-z]{3,4})?(.*)$ index.php?_a=category&cat_id=$1&%1 [NC]

  RewriteCond %{QUERY_STRING} (.*)$
  RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/\.well-known/acme-challenge/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/cpanel-dcv/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/(?:\ Ballot169)?
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
  RewriteRule prod_([0-9]+)(\.[a-z]{3,4})?$ index.php?_a=product&product_id=$1&%1 [NC]

  RewriteCond %{QUERY_STRING} (.*)$
  RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/\.well-known/acme-challenge/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/cpanel-dcv/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/(?:\ Ballot169)?
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
  RewriteRule info_([0-9]+)(\.[a-z]{3,4})?$ index.php?_a=document&doc_id=$1&%1 [NC]

  RewriteCond %{QUERY_STRING} (.*)$
  RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/\.well-known/acme-challenge/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/cpanel-dcv/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/(?:\ Ballot169)?
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
  RewriteRule tell_([0-9]+)(\.[a-z]{3,4})?$ index.php?_a=product&product_id=$1&%1 [NC]

  RewriteCond %{QUERY_STRING} (.*)$
  RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !^/\.well-known/acme-challenge/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/cpanel-dcv/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/(?:\ Ballot169)?
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
  RewriteRule _saleItems(\.[a-z]+)?(\?.*)?$ index.php?_a=saleitems&%1 [NC,L]
  ##### END v4 SEO URL BACKWARD COMPATIBILITY #####

  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteCond %{REQUEST_URI} !^/\.well-known/acme-challenge/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/cpanel-dcv/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/(?:\ Ballot169)?
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
  RewriteRule ^(.*)\.html?$ index.php?seo_path=$1 [L,QSA]
</IfModule>

### Default store 404 page ###
ErrorDocument 404 /index.php

## Override default 404 error document for missing page resources ##
<FilesMatch "\.(gif|jpe?g|png|ico|css|js|svg)$">
  ErrorDocument 404 "<html></html>
</FilesMatch>
##### END CubeCart .htaccess #####
# php -- BEGIN cPanel-generated handler, do not edit
# Set the “ea-php72” package as the default “PHP” programming language.
<IfModule mime_module>
AddType application/x-httpd-ea-php72 .php .php7 .phtml
</IfModule>
# php -- END cPanel-generated handler, do not edit
RewriteCond %{HTTP_HOST} ^navimaps4u\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.navimaps4u\.com$
RewriteCond %{REQUEST_URI} !^/\.well-known/acme-challenge/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/cpanel-dcv/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/(?:\ Ballot169)?
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^/?$ "https\:\/\/www\.navimaps4u\.com\/index\.php" [R=301,L]

 

Link to comment
Share on other sites

It's this part:

# php -- END cPanel-generated handler, do not edit
RewriteCond %{HTTP_HOST} ^navimaps4u\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.navimaps4u\.com$
RewriteRule ^/?$ "https\:\/\/www\.navimaps4u\.com\/index\.php" [R=301,L] 

Shortly, there will be a person very familiar with cPanel operations who should be able to instruct you on how to have cPanel remove these directives.

 

Link to comment
Share on other sites

Quote

Sounds positive, another thing I wanted to ask is, How do I give away free stuff ? because in testing it takes you via the gateway but then doesn't give you the download link, and when you go back into your account to view orders it says order  been filled or complete or something similar.

I believe there was a plugin of some kind for v3 that did this process but doesn't work on v6, any ideas?

Thanks in advance.

Link to comment
Share on other sites

I think CubeCart has you do one or two pages of checkout, but if the order total is zero, then CubeCart shouldn't actually send you off to the other site to make payment. Cubecart just gives you the Thank You page.

A feature that has been asked for, and I don't know if this has been implemented (I could check), but to take the customer directly to their download page -- if they created an account -- to fetch their digital purchases.

No account -- no download page. Such customers will need to rely on the email received that has the link for their digital purchase.

Link to comment
Share on other sites

3 hours ago, bsmither said:

It's this part:


# php -- END cPanel-generated handler, do not edit
RewriteCond %{HTTP_HOST} ^navimaps4u\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.navimaps4u\.com$
RewriteRule ^/?$ "https\:\/\/www\.navimaps4u\.com\/index\.php" [R=301,L] 

Shortly, there will be a person very familiar with cPanel operations who should be able to instruct you on how to have cPanel remove these directives.

 

This is likely a redirect that has been setup in cPanel (Domains | Redirects) although why you would want to add back in the index.php to the url is a mystery - most people would want to remove /index.php from any url to protect against any possible duplicate content issues.  Check in that area and remove the redirect that is setup

Link to comment
Share on other sites

5 hours ago, bsmither said:

It's this part:


# php -- END cPanel-generated handler, do not edit
RewriteCond %{HTTP_HOST} ^navimaps4u\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.navimaps4u\.com$
RewriteRule ^/?$ "https\:\/\/www\.navimaps4u\.com\/index\.php" [R=301,L] 

Shortly, there will be a person very familiar with cPanel operations who should be able to instruct you on how to have cPanel remove these directives.

 

Done Thanks for the help now the cart updates but I now have the issue of the payment being processed and then a redirect to the site but the order just shows pending and the download link is not being sent to the customer, i tried to  complete via admin but that just shows the order no longer available in the customer account/digital downloads page.

 

Link to comment
Share on other sites

Download links have already been created, but CubeCart will not show them unless an order is at Processing or Complete.

We ask that you verify in admin, Store Settings, Stock tab, Digital Products section, that Expiry Time and Download Attempts are completely blank.

Also, when having changed an order's status, you may need to have CubeCart clear its cache.

Link to comment
Share on other sites

8 hours ago, bsmither said:

Download links have already been created, but CubeCart will not show them unless an order is at Processing or Complete.

We ask that you verify in admin, Store Settings, Stock tab, Digital Products section, that Expiry Time and Download Attempts are completely blank.

Also, when having changed an order's status, you may need to have CubeCart clear its cache.

Thanks for your reply,

not sure but does the processing or complete part need to be done manually by admin or is there a way of it being automated?

at the moment I get this message below but that's it nothing happens after that.

Many thanks for your order! The order status is currently pending but it will automatically update to processing once payment is confirmed. Normally this is automated and will happen within the hour but please do contact us if you require more information.

The expiry time and download attempts are all blank, as you advised, email side of it is all working when tested.

So what else could I look at.?  Please

Link to comment
Share on other sites

8 minutes ago, bsmither said:

If you are using some sort of payment gateway (to make the transaction), be sure it can send back some info to CubeCart that the transaction was successful.

What gateway are you using?

It is Paypal

Link to comment
Share on other sites

In CubeCart's admin, Transaction Logs, see if any orders are getting logged here.

If so, and if there is an order listed from within the past few days, click on the order number. On the next page that shows, is there a Transaction ID? And is the Status at Processing?

Then, in Orders, view the details of that order. On the History tab, does the list of actions make sense?

Link to comment
Share on other sites

17 minutes ago, bsmither said:

In CubeCart's admin, Transaction Logs, see if any orders are getting logged here.

If so, and if there is an order listed from within the past few days, click on the order number. On the next page that shows, is there a Transaction ID? And is the Status at Processing?

Then, in Orders, view the details of that order. On the History tab, does the list of actions make sense?

Nothing is getting logged! there are no transactions in the log.

Link to comment
Share on other sites

I don't know if that is the actual problem.

This is the tricky part -- to find evidence that PayPal is sending back what is called the Instant Payment Notification (IPN).

PayPal is supposed to send back a POST payload to:
/index.php?_g=rm&type=gateway&cmd=call&module=PayPal
If the web browser successfully delivers this POST to PHP and PHP tells the web server that it ran the script successfully, then the web server sends back a 200OK response to PayPal's IPN.

CubeCart then takes that data in the POST payload and makes a call back to PayPal to verify those transaction details. This call is logged in CubeCart's admin, Request Log. Note that if no IPN, then no call back, and no logging of the call.

How do we discover if PayPal made the IPN? One needs to look at the web server's access log. In your hosting control panel, there will be the means to download access logs for the current day, or the current month, and possibly backup files of previous months.

The relevant access log will have the URL that is the IPN (see above).

Now, if there was no IPN sent (for whatever reason), or if the IPN was sent but did not get a 200OK response, then in your PayPal Merchant control panel at PayPal there should be a place that logs IPN failures for transactions.

Link to comment
Share on other sites

22 hours ago, bsmither said:

I don't know if that is the actual problem.

This is the tricky part -- to find evidence that PayPal is sending back what is called the Instant Payment Notification (IPN).

PayPal is supposed to send back a POST payload to:
/index.php?_g=rm&type=gateway&cmd=call&module=PayPal
If the web browser successfully delivers this POST to PHP and PHP tells the web server that it ran the script successfully, then the web server sends back a 200OK response to PayPal's IPN.

CubeCart then takes that data in the POST payload and makes a call back to PayPal to verify those transaction details. This call is logged in CubeCart's admin, Request Log. Note that if no IPN, then no call back, and no logging of the call.

How do we discover if PayPal made the IPN? One needs to look at the web server's access log. In your hosting control panel, there will be the means to download access logs for the current day, or the current month, and possibly backup files of previous months.

The relevant access log will have the URL that is the IPN (see above).

Now, if there was no IPN sent (for whatever reason), or if the IPN was sent but did not get a 200OK response, then in your PayPal Merchant control panel at PayPal there should be a place that logs IPN failures for transactions.

I uninstalled Paypal standard and installed "paypal checkout" and now I have 2 check out icon "Secure checkout" when you click you get this error message "The following errors were detected:Error: Security header is not valid Security error and the "paypal checkout icon" when you click you get a blank screen for a few seconds which disappears and nothing else happens.

 

Just very frustrating, I am seriously thinking of uninstalling everything and starting again,what do you think will it solve any of these issues or should I consider someother shopping card software?

Any advice will be much appreciated.

Link to comment
Share on other sites

We were asking that you visit your PayPal Merchant Account control panel to determine if PayPal had logged any abnormal responses to its attempts to send an IPN.

We believe the "Security Header is not valid" message is because a PayPal "Sandbox" ( for testing) PayPal ID is being used on the "Live" PayPal gateway, or the PayPal "Live" PayPal ID is being used when the CubeCart gateway module is configured for testing.

Or maybe the PayPal ID was mouse-highlighted from an email, and was copy-pasted into the CubeCart module text entry field. Mouse-highlighting often captures invisible spaces, tabs, and/or line endings. If this may be what happened, then we suggest manually typing in the codes.

 

Link to comment
Share on other sites

3 hours ago, bsmither said:

We were asking that you visit your PayPal Merchant Account control panel to determine if PayPal had logged any abnormal responses to its attempts to send an IPN.

We believe the "Security Header is not valid" message is because a PayPal "Sandbox" ( for testing) PayPal ID is being used on the "Live" PayPal gateway, or the PayPal "Live" PayPal ID is being used when the CubeCart gateway module is configured for testing.

Or maybe the PayPal ID was mouse-highlighted from an email, and was copy-pasted into the CubeCart module text entry field. Mouse-highlighting often captures invisible spaces, tabs, and/or line endings. If this may be what happened, then we suggest manually typing in the codes.

 

Thank you very much, That seems to have worked the error doesn't show up anymore, but the order just stays in Pending mode, does not get processed or completed automatically.

Regards

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...