I set up the eshop plugin on a website last night and came around to testing it.
Paypal offers you the ability to add multiple email addresses to a paypal account, and then you can accept emails to any number of these addresses. This is a facility that both websites that I am in the process of developing with eShop uses.
However, the Paypal IPN notification verification within eshop does not like this.
I would like eshop to take the payments from firstname.lastname@example.org which then shows up in the IPN notification as:
business: email@example.com receiver_email: firstname.lastname@example.org
However, eshop only compares that the 'receiver_email' matches what is defined in the settings, it doesn't seem to compare the 'business' email which is the one the payment was actually sent to.
This doesn't look like a large modification to the code, and would make the system work better for people that run different email addresses for their paypal accounts.
Would suggest something like the following
paypal.php, line 561:
$paypalRecipient = (isset($p->ipn_data['business'])) ? $p->ipn_data['business'] : $p->ipn_data['receiver_email']; if($paypalRecipient != $eshopoptions['business'])