Author Topic: PayPal IPN fails in v2.6.16  (Read 12917 times)

DomenFras

  • Beginner
  • *
  • Posts: 6
Re: PayPal IPN fails in v2.6.16
« Reply #45 on: March 14, 2015, 23:43:17 pm »
Hello,

is there already a solution know for paypal trouble (why order status doesn't change to compled). Please help ASAP.

GJC Web Design

  • 3rd party VirtueMart Developer
  • Hero Member
  • *
  • Posts: 7325
  • Virtuemart, Joomla & php developer
    • GJC Web Design
  • VirtueMart Version: 2.6.22 & 3.0.16
Re: PayPal IPN fails in v2.6.16
« Reply #46 on: March 15, 2015, 10:45:46 am »
have you tried the 2.6.17 update?

It is stated in just about EVERY 2nd POST - GIVE YOUR VERSIONS if you want help
GJC Web Design
VirtueMart and Joomla Developers - php developers http://www.gjcwebdesign.com
VM3 AusPost Shipping Plugin - e-go Shipping Plugin - VM3 Postcode Shipping Plugin - Radius Shipping Plugin - VM3 NZ Post Shipping Plugin - AusPost Estimator
Samport Payment Plugin - EcomMerchant Payment Plugin - ccBill payment Plugin
VM2 Product Lock Extension - VM2 Preconfig Adresses Extension - TaxCloud USA Taxes Plugin - Virtuemart  Product Review Component
http://extensions.joomla.org/profile/profile/details/67210
Contact for any VirtueMart or Joomla development & customisation

ProRaceSupply

  • Beginner
  • *
  • Posts: 10
Re: PayPal IPN fails in v2.6.16
« Reply #47 on: March 18, 2015, 02:05:28 am »
It would be helpful to list the steps to update.  I finally found it in the link several pages ago. Applying it fixed this problem but it took a lot of re-reading in this thread.

What I'd like to know is why Virtuemart thinks that 2.6.16 is hte latest update when it clearly breaks paypal payment for everyone.  SHouldn't this fix be pushed out.?

tarichecco

  • Beginner
  • *
  • Posts: 8
Re: PayPal IPN fails in v2.6.16
« Reply #48 on: March 19, 2015, 10:30:29 am »
Hi all,

I had the same problem and I resolved it:

After I upgraded to VM 2.6.17 Paypal still didn't  notify payments. The problem was in the table [DBPREFIX]_virtuemart_payment_plg_paypal. Upgrading process didn't update the table structure.

Maybe you have to remove Paypal method from Payment Method List and recreate it and the table is updated.

I recreated the table directly to DB with the query below (my previous table was empty) and all works fine.

Joomla 2.5.28
VM 2.6.17

Regards,
Fra

CREATE TABLE IF NOT EXISTS `x94uf_virtuemart_payment_plg_paypal` (
  `paypal_method` varchar(200) DEFAULT NULL,
  `paypal_fullresponse` text,
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `virtuemart_order_id` int(1) unsigned DEFAULT NULL,
  `order_number` char(64) DEFAULT NULL,
  `virtuemart_paymentmethod_id` mediumint(1) unsigned DEFAULT NULL,
  `payment_name` varchar(5000) DEFAULT NULL,
  `payment_order_total` decimal(15,5) NOT NULL,
  `payment_currency` smallint(1) DEFAULT NULL,
  `email_currency` smallint(1) DEFAULT NULL,
  `cost_per_transaction` decimal(10,2) DEFAULT NULL,
  `cost_percent_total` decimal(10,2) DEFAULT NULL,
  `tax_id` smallint(1) DEFAULT NULL,
  `paypal_custom` varchar(255) DEFAULT NULL,
  `paypal_response_mc_gross` decimal(10,2) DEFAULT NULL,
  `paypal_response_mc_currency` char(10) DEFAULT NULL,
  `paypal_response_invoice` char(32) DEFAULT NULL,
  `paypal_response_protection_eligibility` char(128) DEFAULT NULL,
  `paypal_response_payer_id` char(13) DEFAULT NULL,
  `paypal_response_tax` decimal(10,2) DEFAULT NULL,
  `paypal_response_payment_date` char(28) DEFAULT NULL,
  `paypal_response_payment_status` char(50) DEFAULT NULL,
  `paypal_response_pending_reason` char(50) DEFAULT NULL,
  `paypal_response_mc_fee` decimal(10,2) DEFAULT NULL,
  `paypal_response_payer_email` char(128) DEFAULT NULL,
  `paypal_response_last_name` char(64) DEFAULT NULL,
  `paypal_response_first_name` char(64) DEFAULT NULL,
  `paypal_response_business` char(128) DEFAULT NULL,
  `paypal_response_receiver_email` char(128) DEFAULT NULL,
  `paypal_response_transaction_subject` char(128) DEFAULT NULL,
  `paypal_response_residence_country` char(2) DEFAULT NULL,
  `paypal_response_txn_id` char(32) DEFAULT NULL,
  `paypal_response_txn_type` char(32) DEFAULT NULL,
  `paypal_response_parent_txn_id` char(32) DEFAULT NULL,
  `paypal_response_case_creation_date` char(32) DEFAULT NULL,
  `paypal_response_case_id` char(32) DEFAULT NULL,
  `paypal_response_case_type` char(32) DEFAULT NULL,
  `paypal_response_reason_code` char(32) DEFAULT NULL,
  `paypalresponse_raw` varchar(512) DEFAULT NULL,
  `created_on` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `created_by` int(11) NOT NULL DEFAULT '0',
  `modified_on` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `modified_by` int(11) NOT NULL DEFAULT '0',
  `locked_on` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  `locked_by` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COMMENT='Payment Paypal Table' AUTO_INCREMENT=1 ;

volksman3

  • Jr. Member
  • **
  • Posts: 91
    • Akira Studio
Re: PayPal IPN fails in v2.6.16
« Reply #49 on: March 31, 2015, 23:40:53 pm »
I have been following this thread with anticipation trying every fix various users have put out there but i am still in a bad place with no em,ail notifications  being sent and no update to conformed on a successful payment. I bought a full membership to Virtuemart in hope of some help as i am at a loss.

I am running:

Joomla 2.5.26
Virtuemart 2.6.17

I have confirmed and tried the following:

I am not blocking the paypal IP addresses in my csf firewall
Checked the database structure of the paypal plugin table and all is ok
Checked the server setup complies as per previous posts reference Proxies and we are all ok
Tried re-installing 2.6.16 and 2.6.17
Tried with Paypal IPN notifications on and off
Tried deleting the payment method and re-creating it

All of the above have not fixed the issue. I am at the point of wanting to pay a developer for a fix - can anyone other help me?????

Regards
Tony




Parachutes are like minds, they only work when they are open!
http://www.akirastudio.co.uk

evoltuion

  • Beginner
  • *
  • Posts: 8
  • A beginner
Re: PayPal IPN fails in v2.6.16
« Reply #50 on: April 01, 2015, 00:36:41 am »
I rolled back to Vm 2.6.14. It was the only solution I could get to work for my clients.

volksman3

  • Jr. Member
  • **
  • Posts: 91
    • Akira Studio
Re: PayPal IPN fails in v2.6.16
« Reply #51 on: April 01, 2015, 00:49:52 am »
Thanks for the reply, could you tell me the procedure for rolling back without loosing order and product data etc?
Parachutes are like minds, they only work when they are open!
http://www.akirastudio.co.uk

evoltuion

  • Beginner
  • *
  • Posts: 8
  • A beginner
Re: PayPal IPN fails in v2.6.16
« Reply #52 on: April 01, 2015, 01:20:45 am »
HI volksman - does that mean you own a volkswagen? please make it a kombi, please make it a kombi... :)

Just download the 2.6.14 files and install in the regular way. I don't think I uninstalled anything - although you might wantto akeeba backup your site and do a test where you uninstall the paypal plug that was put forward as the first fix. I've got three clients happily using 2.6.14 and processing payments through payapal.

volksman3

  • Jr. Member
  • **
  • Posts: 91
    • Akira Studio
Re: PayPal IPN fails in v2.6.16
« Reply #53 on: April 01, 2015, 14:39:31 pm »
lol use to have both a Beetle and Bus ;o) Thanks for this, i will try today and fingers crossed, i will report back my findings.
Parachutes are like minds, they only work when they are open!
http://www.akirastudio.co.uk

volksman3

  • Jr. Member
  • **
  • Posts: 91
    • Akira Studio
Re: PayPal IPN fails in v2.6.16
« Reply #54 on: April 01, 2015, 16:56:59 pm »
I rolled back to 2.6.14 and no luck so after many hours of digging deeper i found the issue!!!!

This his NOT virtue mart related but instead a false positive triggered in Mod_Security on the server, after some research it seams this is a common issue with Mod_Security blocking Paypal IPN notifications.

The rule that was blocking it is 960015: Request Missing an Accept Header

For now i have disabled the rule and the notifications work just fine now and email are sent with order updated. I am not trying to work out how to add an exception for the paypal IPN's so i can add this and switch the rule back on.

Hope this help some other having issues as it is not obvious or easy to find. I am still running 2.6.14 so the next step is to upgrade and see if it still works.
Parachutes are like minds, they only work when they are open!
http://www.akirastudio.co.uk

evoltuion

  • Beginner
  • *
  • Posts: 8
  • A beginner
Re: PayPal IPN fails in v2.6.16
« Reply #55 on: April 02, 2015, 00:21:59 am »
That's odd then that I haven't touched mod_security and any upgrade from 2.6.14 stops paypal but a roll back to 2.6.14 fixes it. I'm on a Rochen dedicated server, who is your host?

volksman3

  • Jr. Member
  • **
  • Posts: 91
    • Akira Studio
Re: PayPal IPN fails in v2.6.16
« Reply #56 on: April 02, 2015, 01:25:16 am »
I'm running a VPS with Canadian web hosting and for sure odd but with so many versions of centos, php, MySQL it's no wonder some things cause a false positive. I found the block reports in mod security tools which showed one of the PayPal notify IP addresses blocked. Not all servers have mod security servers by default activated and even though you have the IP white listed in cf firewall etc it still blocks as they all work off there own rules. To add more confusion mod security has several plugins wilhich may or may not be activated with there own rule sets that can sometimes fight each other
Parachutes are like minds, they only work when they are open!
http://www.akirastudio.co.uk

Tonimito

  • Beginner
  • *
  • Posts: 17
Re: PayPal IPN fails in v2.6.16
« Reply #57 on: February 22, 2016, 16:21:18 pm »
Hello,

I have the same problem, everything works perfectly except the Paypal IPN notification (work in Sandbox Mode).

Until last October 2015 I worked, we just updated versions of Joomla related (Joomla 3.4.8 and VM 3.0.12).

PayPal tells me HTTP 200 (As is correct) on a IPN Notification.

However, in the log paypal now:

Code: [Select]
2016-02-19 15:13:48 DEBUG PaymentNotification, order_number:: P2016021916
2016-02-19 15:13:48 DEBUG PaymentNotification, virtuemart_paymentmethod_id:: 2
2016-02-19 15:13:48 DEBUG checkPaypalIps SANDBOX: Array
(
    [0] => 173.0.82.126
)

2016-02-19 15:13:48 DEBUG checkPaypalIps REMOTE ADDRESS: 173.0.82.126
2016-02-19 15:13:48 ERROR validateIpnContent: Error while posting IPN:  ,  0
2016-02-19 15:13:48 DEBUG validateIpnContent: valid_ipn:
2016-02-19 15:30:26 DEBUG PaymentNotification, paypal_data:: Array
(
    [mc_gross] => 1.00
    [invoice] => P2016021911
    [auth_exp] => 07:10:28 Mar 20, 2016 PDT
    [protection_eligibility] => Eligible
    [address_status] => unconfirmed
    [payer_id] => SQD8KN7JTK4SQ
    [tax] => 0.00
    [address_street] => XXX
    [payment_date] => 07:30:19 Feb 19, 2016 PST
    [payment_status] => Completed
    [charset] => windows-1252
    [address_zip] => 08320
    [first_name] => test
    [transaction_entity] => payment
    [mc_fee] => 0.38
    [address_country_code] => ES
    [address_name] => name name
    [notify_version] => 3.8
    [custom] => iemmmvrfcik3mjud0nij49soo7
    [payer_status] => verified
    [business] => info-facilitator@sandbox.net
    [address_country] => Spain
    [address_city] => Barcelona
    [quantity] => 1
    [verify_sign] => AUifZwERiLeqHiGOvp8-DyOIYSJVAd801SiPX9p75xXdpeTBJG4wFWzK
    [payer_email] => info-buyer@sandbox.net
    [parent_txn_id] => 65B90485VF274201D
    [txn_id] => 3UX22966HT0182410
    [payment_type] => instant
    [remaining_settle] => 0
    [auth_id] => 65B90485VF274201D
    [last_name] => buyer
    [address_state] => 08
    [receiver_email] => info-facilitator@sandbox.net
    [auth_amount] => 29.07
    [payment_fee] =>
    [receiver_id] => TPCP44P35CQVG
    [txn_type] => web_accept
    [item_name] => P2016021911
    [mc_currency] => EUR
    [item_number] =>
    [residence_country] => ES
    [test_ipn] => 1
    [handling_amount] => 0.00
    [transaction_subject] =>
    [payment_gross] =>
    [auth_status] => Completed
    [shipping] => 0.00
    [ipn_track_id] => 18563d9beec80
)

2016-02-19 15:30:26 DEBUG PaymentNotification, order_number:: P2016021911
2016-02-19 15:30:26 DEBUG PaymentNotification, virtuemart_paymentmethod_id:: 2
2016-02-19 15:30:26 DEBUG checkPaypalIps SANDBOX: Array
(
    [0] => 173.0.82.126
)

2016-02-19 15:30:26 DEBUG checkPaypalIps REMOTE ADDRESS: 173.0.82.126
2016-02-19 15:30:26 ERROR validateIpnContent: Error while posting IPN:  ,  0
2016-02-19 15:30:26 DEBUG validateIpnContent: valid_ipn:

The hosting no used reversed Proxy (as indicated in: http://forum.virtuemart.net/index.php?topic=128518.msg442586#msg442586).

What can happen?
Thank you.