Paypal "Your order was not placed: the recipient PayPal account is wrong."

Hi, we have a strange Paypal problem.



When paying with a credit card, the order status goes to Failed (set up for Canceled reversal, Denied and Expired) and the order message states



Payment processor response

Your order was not placed: the recipient PayPal account is wrong.



Customer also gets message “Your order was not placed: the recipient PayPal account is wrong.”



However, the payment is placed correctly i.e. customer pays and gets Paypal confirmation email! But from CS Cart gets a failed order notification.



Also the order number/invoice number is not transmitted to Paypal.



In the meantime, we turned off Paypal module and switched to Paypal Express Checkout module only. Not sure what we are missing.

Did you ever figure out anything here? We are getting the same error after upgrading.

Hi, I raised this to support and this was the conclusion:



[color=#555555]Usually such an error occurs due to the incorrect account configuration. In this case it is better to contact PayPal support team regarding this issue.[/color]



We then switched to Paypal Express which worked, but is quite limited.



Now we have switched back to Paypal Standard, first testing it in Paypal Sandbox. There was a problem that order status did not change, but a fix was provided by support:



[color=#555555]There is no such a bug in the standard CS-Cart installation. It seems that the problem occurs because our [/color]fn_order_placement_routines[color=#555555] function does not work properly on the server where the store is installed. In order to resolve this issue, please replace the following part of code:[/color]

if ($order_info['status'] == STATUS_INCOMPLETED_ORDER) {

fn_change_order_status($_REQUEST['order_id'], 'O', '', false);

}



[color=#555555]with this one:[/color]

if ($order_info['status'] == STATUS_INCOMPLETED_ORDER) {

fn_change_order_status($_REQUEST['order_id'], 'P', '', true);

}



[color=#555555]in the [/color]paypal.php[color=#555555] file located in the [/color]app/payments[color=#555555] directory of your CS-Cart installation.[/color]



So my advice is to switch to Paypal Express Checkout for now and test/troubleshoot Paypal Standard in the sandbox to get it working.

It is such a shame that Cs-cart has been so unhelpful with these problems. I too opened up a ticket and wasted credits and still suffering these problems. I had been using Version 2.2.4 for a long time and it all worked perfectly, then I upgraded to version 4.0.3 and its been a nightmare. paypal orders either go to incompleted, open (waiting for payment) and only the paypal express seems to mark the item as successfully paid but if they use paypal express it doesnt calculate the shipping properly. Although we have tried to keep up with the paypal notifications and the uncompleted and open, but not all of the incompleted orders have been paid… its not easy and we miss them… then we have unhappy customers which means more lost business.



I desperately need to solve this problem, this problem has only occurred since the upgrade so it has to be a bug within cs-cart as it has only occurred since the upgrade, it would be really good if they could resolve the problem rather than trying to pass the fault onto someone else.


[quote name='japanexp' timestamp='1390400196' post='175785']



[color=#555555]Usually such an error occurs due to the incorrect account configuration. In this case it is better to contact PayPal support team [/color]

[color=#555555]There is no such a bug in the standard CS-Cart installation. It seems that the problem occurs because our [/color]fn_order_placement_routines[color=#555555] function does not work properly on the server where the store is installed. In order to resolve this issue, please replace the following part of code:[/color]

if ($order_info['status'] == STATUS_INCOMPLETED_ORDER) {

fn_change_order_status($_REQUEST['order_id'], 'O', '', false);

}



[color=#555555]with this one:[/color]

if ($order_info['status'] == STATUS_INCOMPLETED_ORDER) {

fn_change_order_status($_REQUEST['order_id'], 'P', '', true);

}



[color=#555555]in the [/color]paypal.php[color=#555555] file located in the [/color]app/payments[color=#555555] directory of your CS-Cart installation.[/color]



So my advice is to switch to Paypal Express Checkout for now and test/troubleshoot Paypal Standard in the sandbox to get it working.

[/quote]



japanexp - I will change the code as you have done and see if that works but i still have the problem with the open orders, but we just dont want to have orders that have not been paid int the system either

I had this same issue. The fix was extremely simple. Make sure you use your primary paypal e-mail addrerss when using paypal payments. For some reason it requires your primary paypal address. I upgraded from 3.06 to 4.1.1 and after the upgrade I had the same issue. After putting in my e-mail that paypal has as primary it worked fine.



Hope this helps.



Chris

That is what ended up working for us to. Not a good fix, but it worked.