Hi there,
I'm using:
Joomla 3.4.8 + VM 3.0.12
I'm trying to track down IPN failures, Joomla always returns 503:
000.000.000.000 - - [10/Dec/2015:22:20:35 +0100] "POST /index.php?option=com_virtuemart&view=pluginresponse&task=pluginnotification&tmpl=component HTTP/1.0" 503 23 "-" "PayPal IPN ( https://www.paypal.com/ipn )" "www.domain.de"
The IPN message looks like:
mc_gross=0.01&protection_eligibility=Eligible&address_status=confirmed&payer_id=xxxxx&tax=0.00&address_street=Bxxxxx&payment_date=06:10:09 Dec 30, 2015 PST&payment_status=Completed&charset=windows-1252&address_zip=12345&first_name=xxx&mc_fee=0.01&address_country_code=DE&address_name=xxx¬ify_version=3.8&custom=&payer_status=verified&business=xxx&address_country=Germany&address_city=xxx&quantity=1&verify_sign=yyy&payer_email=xxx@xxx.xxx&txn_id=xxx&payment_type=instant&last_name=xxx&address_state=&receiver_email=xxx&payment_fee=&receiver_id=xxx&txn_type=express_checkout&item_name=&mc_currency=EUR&item_number=&residence_country=DE&handling_amount=0.00&transaction_subject=&payment_gross=&shipping=0.00&ipn_track_id=xxx
When I perform the following POST for testing purposes (URL + params):
https://www.domain.de/index.php?option=com_virtuemart&view=pluginresponse&task=pluginnotification&tmpl=component&mc_gross=0.01&protection_eligibility=Eligible&address_status=confirmed&payer_id=xxxxx&tax=0.00&address_street=Bxxxxx&payment_date=06:10:09 Dec 30, 2015 PST&payment_status=Completed&charset=windows-1252&address_zip=12345&first_name=xxx&mc_fee=0.01&address_country_code=DE&address_name=xxx¬ify_version=3.8&custom=&payer_status=verified&business=xxx&address_country=Germany&address_city=xxx&quantity=1&verify_sign=yyy&payer_email=xxx@xxx.xxx&txn_id=xxx&payment_type=instant&last_name=xxx&address_state=&receiver_email=xxx&payment_fee=&receiver_id=xxx&txn_type=express_checkout&item_name=&mc_currency=EUR&item_number=&residence_country=DE&handling_amount=0.00&transaction_subject=&payment_gross=&shipping=0.00&ipn_track_id=xxx
I receive error 503 + "merchantTxId not found."
And indeed, the Paypal params do not contain the parameter.
Can anybody help me with this issue? Why is Virtuemart checking for a parameter that isn't submitted by Paypal?
Thanks in advance!
Best regards,
Niko
where do u get the error -> "merchantTxId not found." ?
I don#t see the string merchantTxId anywhere in VM
have you tried with debug and logging on to see what is there?
The error (black text on white background) occurs as soon as the /index.php?option=com_virtuemart&view=pluginresponse&task=pluginnotification&tmpl=component URL is called (no matter via GET or POST). Enabling paypal payment debug does not show anything.
r u using the standard paypal plugin..?
any attempt at a url to there just results in a blank html with a 200 response as it should
for the Post to work you need at least a payment method and an order number in the request along with the paypal data
e.g. ...&pm=3&on=234546&....
The global string search has been proved as a very good idea. Even though I'm using the default Paypal payment plugin, it seems that some other third party plugins interfere with the IPN interface (I was able to find the string "merchantTxId" in the third party plugins). I've contacted the manufacturer and let you know as soon as I can provide more details.
For other users to know: The issue was caused by a bug in the VirtueMart plugin that was provided by GiroSolution (https://www.giropay.de/haendler/tool-center/shop-plug-ins/virtuemart-plug-in/) to handle credit card and direct debit transactions.
They provided an update to v3.0.2 (I wonder why they haven't updated the official download page yet, I can only see v3.0.0) which solved the issue.
If anybody uses this plugin and also encounters issue, the plugin v3.0.2 is required (and has to be obtained via a support request until the download page is updated).
Regards,
Niko