Search

What's anyone for Paypal at the moment? I was having a look at the extension here

https://github.com/symphonists/paypal_payments

But it's old and I'm not sure it's working correctly in 2.5, it installs if you edit the extension meta.

I'm not sure whether to spend time on it if there's a better way now.

It's only for a single fixed price product, but I need to do some processing after successful payment.

OK so I've continued on with paypal_payments as above. It's getting there now I think.

To install and get as far as I am now on 2.5 then you can grab the extension and edit extension.meta.xml to some version >= 2.5 this will allow the extension to install.

Grab this alternate event.paypalpaymentsipn.php from here:

https://github.com/symphonists/paypalpayments/blob/master/events/event.paypalpayments_ipn.php#L14

Don't know why but this works OK for me, thanks Koolaid!

Edit the extension driver as it says somewhere on here that the URL for Paypal is .com rather than .com.au or .co.uk as the extension has it. So change it to just use .com

It's working for me now in the sandbox all the way up to getting the IPN data into the paypal_payments/transactions section.

I believe from reading here that this doesn't return the correct headers, or maybe Sym doesn't in this case? It seems to me that I can do a Simulated IPN from Paypal sandbox to the existing page without the IPN event installed and get a IPN Succesful message in the IPN Simulator. If I try a page that doesn't exist it seems to get 400 which is good.

I believe the IPN Simulator is expecting 200 back to indicate success but I think the page without the event is doing that anyway?

I'm stuck now, I don't know how to send different headers back, or actually which to send.

There's a chance of false negatives?

Munki,

We have the Paypal extension working with Symphony 2.5.1. We skipped the sandbox testing and worked directly with 0.1 Euro test payments, worked great, you need to configure your Paypal account correctly for IPN.

@wdebusschere it "seems" to be working ok for me in the sandbox, the IPN is sending the data back. Return URL is working too by default in sandbox or by hidden variable in the submit form.

Doesn't seem some way to filter by the IPN entries to select details of people who "paid" from my orders section. It doesn't appear as a DS or anything I can filter by from the backend.

What I'm doing is trying to create a flow where after correct payment a customer is able to access other site areas.

Customise the IPN event some more to also update the Orders table as well as save the IPN data in the Paypal Payments table?

I just need some way to match up an IPN entry to a Order entry so I'd know that person had paid. I'm going to tag the entryid/invoice number onto the end of the return url to identify the customer returning to the site.

Munki,

Indeed, we had to customise the event to save in multiple sections.

@wdebusschere Thanks again, now I'm on the right track.

I've edited the extension driver to insert the entry id of the entry in the orders(in my case) table that was created when the initial form was submitted but before the post data is sent to Paypal onto the end of the paypal return url.

I can now keep track of the payee on return to the site.

I also see it's possible to insert some HTML in the hidden form that is submitted, "Redirecting to Paypal, please wait" for example.

Also forgot to mention earlier that part of making this extension 2.5.x ready is to alter the appropriate lines in extension driver to:

    # Remove preferences
Symphony::Configuration()->remove('paypal-payments');
    Symphony::Configuration()->write();

Or you can't cleanly uninstall if you want to.

Create an account or sign in to comment.

Symphony • Open Source XSLT CMS

Server Requirements

  • PHP 5.3-5.6 or 7.0-7.3
  • PHP's LibXML module, with the XSLT extension enabled (--with-xsl)
  • MySQL 5.5 or above
  • An Apache or Litespeed webserver
  • Apache's mod_rewrite module or equivalent

Compatible Hosts

Sign in

Login details