Jump to content

Recommended Posts

Since you are using a version of PS that is still in development, it is to be expected.

 

I suggest you try to post it in the bug tracker.

 

I have this issue posted on the bug tracker as well. The issue seems to be somewhere within the validation.php file.

Link to comment
Share on other sites

Actually those are internal error messages in the module. The way I would trace it is to open the validation.php file and at the top you can see error messages for different results. I would put something identifying in the message.

if (!isset($_POST['x_invoice_num']))
{
Logger::addLog('Missing x_invoice_num', 4);
die('An unrecoverable error occured: Missing parameter');
}
if (!Validate::isLoadedObject($cart))
{
Logger::addLog('Cart loading failed for cart '.(int)$_POST['x_invoice_num'], 4);
die('An unrecoverable error occured with the cart '.(int)$_POST['x_invoice_num']);
}
if ($cart->id != $_POST['x_invoice_num'])
{
Logger::addLog('Conflit between cart id order and customer cart id');
die('An unrecoverable conflict error occured with the cart '.(int)$_POST['x_invoice_num']);
}
$customer = new Customer((int)$cart->id_customer);
$invoiceAddress = new Address((int)$cart->id_address_invoice);
if (!Validate::isLoadedObject($customer) || !Validate::isLoadedObject($invoiceAddress))
{
Logger::addLog('Issue loading customer and/or address data');
die('An unrecoverable error occured while retrieving you data');
}

 

That is what is there, I would change it to something like

if (!isset($_POST['x_invoice_num']))
{
Logger::addLog('Missing x_invoice_num', 4);
die('An unrecoverable error occured: Missing parameter 1st invoice error');
}
if (!Validate::isLoadedObject($cart))
{
Logger::addLog('Cart loading failed for cart '.(int)$_POST['x_invoice_num'], 4);
die('An unrecoverable error occured with the cart 1st cart error '.(int)$_POST['x_invoice_num']);
}
if ($cart->id != $_POST['x_invoice_num'])
{
Logger::addLog('Conflit between cart id order and customer cart id');
die('An unrecoverable conflict error occured with the cart 2nd cart error '.(int)$_POST['x_invoice_num']);
}
$customer = new Customer((int)$cart->id_customer);
$invoiceAddress = new Address((int)$cart->id_address_invoice);
if (!Validate::isLoadedObject($customer) || !Validate::isLoadedObject($invoiceAddress))
{
Logger::addLog('Issue loading customer and/or address data');
die('An unrecoverable error occured while retrieving you data 3rd error');
}

  • Like 2
Link to comment
Share on other sites

Actually those are internal error messages in the module. The way I would trace it is to open the validation.php file and at the top you can see error messages for different results. I would put something identifying in the message.

if (!isset($_POST['x_invoice_num']))
{
Logger::addLog('Missing x_invoice_num', 4);
die('An unrecoverable error occured: Missing parameter');
}
if (!Validate::isLoadedObject($cart))
{
Logger::addLog('Cart loading failed for cart '.(int)$_POST['x_invoice_num'], 4);
die('An unrecoverable error occured with the cart '.(int)$_POST['x_invoice_num']);
}
if ($cart->id != $_POST['x_invoice_num'])
{
Logger::addLog('Conflit between cart id order and customer cart id');
die('An unrecoverable conflict error occured with the cart '.(int)$_POST['x_invoice_num']);
}
$customer = new Customer((int)$cart->id_customer);
$invoiceAddress = new Address((int)$cart->id_address_invoice);
if (!Validate::isLoadedObject($customer) || !Validate::isLoadedObject($invoiceAddress))
{
Logger::addLog('Issue loading customer and/or address data');
die('An unrecoverable error occured while retrieving you data');
}

 

That is what is there, I would change it to something like

if (!isset($_POST['x_invoice_num']))
{
Logger::addLog('Missing x_invoice_num', 4);
die('An unrecoverable error occured: Missing parameter 1st invoice error');
}
if (!Validate::isLoadedObject($cart))
{
Logger::addLog('Cart loading failed for cart '.(int)$_POST['x_invoice_num'], 4);
die('An unrecoverable error occured with the cart 1st cart error '.(int)$_POST['x_invoice_num']);
}
if ($cart->id != $_POST['x_invoice_num'])
{
Logger::addLog('Conflit between cart id order and customer cart id');
die('An unrecoverable conflict error occured with the cart 2nd cart error '.(int)$_POST['x_invoice_num']);
}
$customer = new Customer((int)$cart->id_customer);
$invoiceAddress = new Address((int)$cart->id_address_invoice);
if (!Validate::isLoadedObject($customer) || !Validate::isLoadedObject($invoiceAddress))
{
Logger::addLog('Issue loading customer and/or address data');
die('An unrecoverable error occured while retrieving you data 3rd error');
}

 

So are you saying that the error is because it is missing an invoice number? If so how do I fix the error? I get this on every sample order I try to place.

Link to comment
Share on other sites

I am saying that, that is a list of the internal error messages the module creates. I would edit them so you can see what the actual error is, then we can go from there.

 

In the list of errors this is the one with that error message. There are no others.

 

 

if (!isset($_POST['x_invoice_num']))

{

Logger::addLog('Missing x_invoice_num', 4);

die('An unrecoverable error occured: Missing parameter');

}

Link to comment
Share on other sites

Oh, I completely missed that you were using a version > 1.5 Like tomerg3 said, it is not ready for production. The payment modules do not work with it completely yet. Also, there are pretty big changes from v 1.5.09 and 1.5.13, so you should upgrade also.

Link to comment
Share on other sites

Yea the prestashop version imo needs some help. If someones card is declinded it does not pull up any error messages on the screen. Just takes them back to the cc information page. So they try again. And it never charges there card so they get upset and leave and buy from someone else.

 

I been thinking about buying the a.net mod from prestochango to see if that fixes my customers issues. I just bought his paypal modual yesterday and all seems good with it.

Link to comment
Share on other sites

Devilsown, as someone that has used it I would highly recommend it. Unlike the one's from prestashop (except 1.32) it works right out of the box. They are also very responsive to help with issues if they ever come up.

Link to comment
Share on other sites

I have downgraded to PS 1.4.8 and I am still having the same problem with the authorize.net module. Please help

 

I fixed the problem in 1.5.0.9. You have to have cURL installed in php in order for this to run. I could not find this stated anywhere in the documentation but it is a requirement. Also I removed the invoice number check as that check never passes. If there is a way to fix that I am open to suggestions but removing it works just fine.

 

Thanks for everyones input

Link to comment
Share on other sites

  • 3 weeks later...

Thank you prestolabels.

I have lost quite some time on this, specially due to the vulnerabilities in v1.3.2 that were publicly announced.

I use PS 1.4.8.2

 

This is all due to "x_invoice_num" simply comment out the checks:

 

/*if (!isset($_POST['x_invoice_num']))
{
Logger::addLog('Missing x_invoice_num', 4);
die('An unrecoverable error occured: Missing parameter');
}

if (!Validate::isLoadedObject($cart))
{
Logger::addLog('Cart loading failed for cart '.(int)$_POST['x_invoice_num'], 4);
die('An unrecoverable error occured with the cart '.(int)$_POST['x_invoice_num']);
}

if ($cart->id != $_POST['x_invoice_num'])
{
Logger::addLog('Conflit between cart id order and customer cart id');
die('An unrecoverable conflict error occured with the cart '.(int)$_POST['x_invoice_num']);
}
*/

Edited by imashav (see edit history)
  • Like 1
Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...