I'm completing a Drupal 4.7 module to allow paid subscriptions using PayPal. I'm currently still testing against PayPal Sandbox and am looking for some volunteers to help complete testing. Also I've writen it to provide the features I need but it would be good if it was more comprehensive. So I would like to have input on features required.

I did have a look at various other solutions but none seemed both appropriate for my needs and known to work with 4.7

This module has been writen from scratch using only the documentation and examples available from PayPal. I should also point out that this is my first Drupal module - so there may be some inellegant code!

If anyone is interested and has the time to help out please post a followup to this article.

All the best.

Lee

Comments

mwu’s picture

lee,
there are a lot of people who are going to be very excited about this.

I posted it in the issues thread for the paid membership module
http://drupal.org/node/53888#comment-115834

and on the ecommerce developers mailing list.
definitely get on it if you are not

Drupal ecommerce developers mailing list
http://lists.heydon.com.au/listinfo.cgi/ecommerce-heydon.com.au

Drupal ecommerce irc channel
#drupal-ecommerce at irc.freenode.net.

I'll write you about getting a copy to test.

benc’s picture

How do we sign up to test?

"The Power of Drupal Categories"
http://digitalsolutions.ph/couchkamotereviews/power_drupal_categories

LeeMcL’s picture

Well it does seem like a few people might be interested and have the time to help test. So Monday I'll tar up a copy onto one of my websites and post the URL here. Then if anyone has feedback they can post it here. I'm not sure if there is a recommended way to handle projects like this on Drupal but this seems a reasonable approach.

Lee

mwu’s picture

thank you very much!

LeeMcL’s picture

Remember: this module is still in test! Do not use it for a production service!

lm_paypal.tar

I've had kind of a rough weekend (involving hospitals, car break downs, and stomach flu!) so I am a little behind on testing and documentation. But I'd really appreciate feedback. Either reply to this message or email me lee@lmmrtech.com.

Lee

mwu’s picture

Lee,
you are amazing to put this on even after such a rough weekend! I'll try to test this today or tomorrow and write. thank you very much.

eaton’s picture

You might want to check out the drupal coding style guide in the handbook. There are a couple of places there where relatively 'unholy' things are done, like storing initialization values in globals, building of raw HTML forms rather than using Drupal's FormAPI, and so on.

It is probably working for you on your local machine, but using nonstandard approaches to those tasks will probably trip the module up when it's running alongside other code on a customized install of drupal.

--
Eaton's blog | VotingAPI discussion

--
Eaton — Partner at Autogram

LeeMcL’s picture

Thanks for the quick feedback, much appreciated.

I've gone through the coding style guide and corrected a number of issues.

The non FormAPI form is for processing by PayPal. All the other forms use the API.

As for globals. I use variable_get/variable_set to store the values but cache a copy in globals, just to speed things up. I've corrected the global variable names to have the missing underscore in front of them and they were already the right shape modulename_thing, to conform to the guide. Is this really a problem?

Could you let me know the other issues, please?

Thanks

--
Lee McLoughlin
lmmrtech.com

mwu’s picture

Lee and Eaton,
Lee, thanks for your quick changes.

I was a bit nervous about testing after Eaton's comments. I didn't know if Eaton's comments meant it could break something.

Is it safe to test?

LeeMcL’s picture

It is safe to test and will not conflict with other modules on your system.

There would only be a problem if you had another module installed that also had global variables whose names began:
lm_paypal_

Lee

--
Lee McLoughlin
lmmrtech.com

kbahey’s picture

There is already a Paypal framework module that is 4.7, and the Paypal Subscription module does work with 4.7 with a patch and some tweaking (I have a working copy tested against Paypal's sandbox if someone is interested). I have some reservations on it (heavy queries from cron, inability to handle manual payments), but it indeed works.

As for ecommerce, there is a push to get subscriptions in it (Paypal and non-Paypal). See this discussion for details (and specially the attached PDF).

So my questions are:

- Did you know of these before writing your own?
- Do you have reservations on the above? What are they?

I am not trying to put you down or anything like that, just trying to avoid fragmented efforts within the community and better pool resources.
--
Drupal development and customization: 2bits.com
Personal: Baheyeldin.com

--
Drupal performance tuning and optimization, hosting, development, and consulting: 2bits.com, Inc. and Twitter at: @2bits
Personal blog: Ba

LeeMcL’s picture

I'm in no way offended and I do understand your concern.

I did read up on all the relevant modules and even had a look at a commercial solution.

The existing PayPal Framework was close but seemed to be suffer from some problems (as I recall: having to match PayPal to Drupal emails, timestamp problems and cron).

I also looked at ecommerce some time ago but it was, and is?, not really aimed at a simple subscription system and it was pretty large. That isn't meant as a dig or insult to ecommerce. It looks like an excellent system but it is designed as a general and flexible commerce system. It has a lot of functionality that although really useful in general sort of gets in the way in my case (requiring shipping addresses springs to mind). I did look at perhaps modifying ecommerce but this did look like a lot more work than just implementing what I needed.

There is a commerical membership system compatible with Drupal but as far as I could tell they seemed to store credit card details locally and, for various reasons, I really want to avoid that.

I agree that adding to an existing project is, in general, the way to go. But for this one thing, PayPal based subscriptions, then I do believe a small self contained and hopefully easy to use system is appropriate.

Lee

eaton’s picture

I'm currently the 'owner' of the Paypal_Framework module, though I didn't write it -- just updated it for compatability with Drupal 4.7. I'm more than happy to commit patches for any of the issues that are there with it (email matching and timestamps for example), and if you feel up to it I'm happy to hand off control of the module as well. I just needed it for a client project and 'resurrected' it from contrib.

If you want to go forward with your separate module, that's fine -- I might even use it instead. *grin* But the issues with the framework right now are relatively minor compared to the good code and well-tested functionality. Just something to keep in mind.

--
Eaton's blog | VotingAPI discussion

--
Eaton — Partner at Autogram

brenda003’s picture

I would be very interested in this.

marcoBauli’s picture

*subscribing*

LeeMcL’s picture

A new TEST release is now available from:

lm_paypal-1.5.tgz

As before this is a pre-release test version.

Please read the UPDATE-1.txt file for notes on how to upgrade from the previous test version.

This version the code has been cleanedd up a lot and made considerably more paranoid. Mostly because I was receiving a lot of strange IPNs... turned out I had some old test subscriptions from when I was testing other paypal modules months ago.

This module now also has a very simple donations interface. See the online help and look at the end of the README file.

As before - feedback please!

Lee

PS I'm releasing this very late at night because I'll be sorting out my very dead car most of tomorrow.

--
Lee McLoughlin
lmmrtech.com

mwu’s picture

Lee,
thank you very much! (It's really nice of you to do this with your car crash and everything. Hope you get all that sorted out.)

I installed it. Was doing everything you said.
It said mysql table was missing.

saw in install.txt that we have it manually.
got this error:
1103 line 12 incorrect table name characters

I want to tell you the interface looks very good! clear. (multiple roles not supported I assume. also, I didn't see any settings for emails, etc., but I understand of course we are doing this one step at a time.

I do thank you for putting lm in front of everything so we don't get things confused (like in 4.6)

also, I assume the name should not be paypal (since it's not a paypal module.) but paypalroles (or paypal memberships)

LeeMcL’s picture

Hi Mariun,

Thanks for the feedback.

I really cannot see why mysql would be reporting error 1103. That means invalid characters in the table name, but the table name is just lm_payapl_ipns and all those characters are valid. Have you changed the contents of the sql file at all? Perhaps to reflect some restrictions from your service provider?

I'm glad you like the interface. As for multiple roles - I presume you mean a subscription that add's someone to multiple roles? I thought briefly about that but couldn't see any advantages over just defining a role that had both sets of permissions. But perhaps I missed something?

Really not sure what you mean by 'settings for emails, etc' ? Perhaps you are refering to the problem with paypal_framework where your paypal and drupal emails have to match? If so this module works very differently and that isn't a requirement.

I'm a unsure about your comments on the name. It really is a paypal module so I think the current name should stay. The name is unique and avoids any confusion with existing modules and allows it to be expanded to cover other paypal payments. For example the module now also handles donations. But perhaps you are refering to the menu items and page titles being unclear to users of a site using the module. In which case you are probably right and I'll look into changing these.

Once again thanks for the feedback.

Lee

--
Lee McLoughlin
lmmrtech.com

mwu’s picture

Lee,
thank you very much for the quick responses.
1) I simply imported the one I untarred. I did tar -xzvf like I always do, but yours had a different extension. I'll look in it.
2) This is the idea behind multiple roles
a) you pay $10 a month and you can read extra content
b) you pay $20 a month and you can also post
c) you pay $30 a month and you can also search
d) you pay $40 a month and you can access even more content.
you get the idea

3) i think with paypal framework, there was a place to set, when the user's account is about to expire, send them this message (it was prepopulated but could be changed)

4) if it'll be come a global module, then the name makes sense (as long as the ecommerce paypal does not have the same name). in 4.6, it was called paypal_framework, paypal_tipjar, etc since it was broken out into different modules.
I'd imagine you want a paypal_framework module, and break out the others, to make it easy for people to add additional modules.

thank you!

LeeMcL’s picture

> 1) I simply imported the one I untarred. I did tar -xzvf like I always do, but yours had a different extension. I'll look in it.

I tend to use gzip by default. I've copied a tar image to here.

> 2) This is the idea behind multiple roles
> a) you pay $10 a month and you can read extra content
> b) you pay $20 a month and you can also post
> c) you pay $30 a month and you can also search
> d) you pay $40 a month and you can access even more content.
> you get the idea

I see what you mean. I think you are suggesting that there is a "read" role, a "post" role, a "search" role... and then, for example, a $30 subscription that gets you added to "read", "post" and "search" roles.

But you could get the same effect with my current system. Have role with just read, a role with read+post, a role with read+post+search, ... then, for example, the £30 subscription adds you to the role with read+post+search.

> 3) i think with paypal framework, there was a place to set, when the user's account is about to expire, send them this message (it was prepopulated but could be changed)

I'd not thought of that. I will look into it.

> 4) if it'll be come a global module, then the name makes sense (as long as the ecommerce paypal
> does not have the same name). in 4.6, it was called paypal_framework, paypal_tipjar, etc since itwas
> broken out into different modules.
> I'd imagine you want a paypal_framework module, and break out the others, to make it easy for
> people to add additional modules.

Yes I did want to split it but I was running low on time to work on this - so it was a choice of donations or code split. (For the purists out there - yet I know I should have designed it better in the first place but I was learning a lot as I went along so things got a bit muddled.)

Lee

--
Lee McLoughlin
lmmrtech.com

mwu’s picture

thank you. it was the same when i untarred.
however, I am confused in that mysql and postgre files were always separate in 4.6.

I'll post on the ecommerce developers list and see if someone else can help.

sure I understand about running out of time!

mwu’s picture

is there a way to use yours and ecommerce by saying having 2 paid paypal business accounts that return to different ipn's (for one selling website)?

LeeMcL’s picture

Technically, yes this would work. But I don't believe that PayPal's rules would allow this. There is a restriction that each person can only have one personal and one business account... but you'd need to check out PayPal's own documentation to be sure.

Lee
--
Lee McLoughlin
lmmrtech.com

mwu’s picture

if you can ship it with an install file that would prevent someone like me messing it up! (though I did dozens of mysql for 4.6)

LeeMcL’s picture

I did write one but I was getting strange errors when it ran and I ran out of time to debug it!

Apologies

Lee

--
Lee McLoughlin
lmmrtech.com

LeeMcL’s picture

The last pre-release is now available. I've added .install files and the code has been split into three modules to make it easier to maintain. I've also improved the README files and online help.

If no problems are reported with this version then I'll release this version at the end of the week. So I would really appreciate feed back!

download

Lee

--
Lee McLoughlin
lmmrtech.com

mwu’s picture

Lee,
I just tested the donate button. I had a little bit of trouble with the sandbox that I had not seen before, but it worked on the third try, which I am excited about.

Thank you for making the install file, splitting out the modules, and writing more in the readme.

I tried the subscription module. Everything worked up to the point of promoting the person to the role. Alas, the person was not promoted.

However, there is a far more serious problem. When the 3 modules are enabled, the front page of the site is blank. Completely blank. When they are disabled, the site returns to normal.

I noticed you added donation and subscription info to the profile page. I think you'd want to put that in the readme. If this module ends up selling products, and someone buys a lot of products, I think the profile page would get too long.

However, this is a lot of exciting progress. Thank you.

In terms of the blank screen issue, I don't know if this error message is related. I had accidentally set the buy page to admin only, so I thought it was the problem. When I changed it to public, this error message went away.
* warning: array_keys(): The first argument should be an array in /home/b/public_html/mysite/modules/user.module on line 349.
* warning: implode(): Bad arguments. in /home/b/public_html/mysite/modules/user.module on line 349.
* user warning: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1 query: SELECT DISTINCT(p.perm) FROM role r INNER JOIN permission p ON p.rid = r.rid WHERE r.rid IN () in /home/b/public_html/mysite/includes/database.mysql.inc on line 120.

LeeMcL’s picture

The sandbox is very particular about how things happen - but if you work its way and remember to keep your main account active when testing it's usually plain sailing.

As for the subscriber not gaining the role can you look in your logs for incoming IPN messages. If there are none then make sure that the URL in your PayPal Sandbox business account is set correctly and that IPN is enabled and then try again. If there are messages can you email them to me, please.

The blank home page thats very surprising! The only thing I can think of is drupal is running out of memory. But I've just tried a clean install: Apache/2.0.54 (Debian GNU/Linux) PHP/4.3.10-16, MySQL 4.1.11-Debian_4sarge4-log, drupal-4.7.2, lm_paypal-1.7 and I have no problem with my homepage. Do you have a lot of extra modules installed? Or maybe you are running with different versions of Apache, PHP, MySQL or drupal?

I just had another thought... Subscriptions should never be based on the roles anonymous or authenticated. It seemed obvious to me while testing that neither of those roles should be used as they are internal to Drupal. But I wasn't checking for it in the code. I've amended the code to remove those roles from the available roles list.

New version 1.8 here

It would be very nasty if a user has a subscription based on authenticated, for example, and then cancelled the subscription. They'd loose the authenticated rola and I'm Not sure how Drupal would then treat such a user! So please delete any subscriptions using anonymous or authenticated roles.

As for long lists appearing in 'my account' 'view' - yes that might become an issue and I'll think about how best to solve it. I wonder if there is a 'pager' available to automatically break up large outputs into manageable chunks?

Lee

--
Lee McLoughlin
lmmrtech.com

mwu’s picture

yes, i always keep the sandboxes open so I was confused why it kept asking me to open when it was already open. finally on the 3rd try it recognized that it was already open.

thanks for v1.8.

it's not a memory problem in that everything else works fine, except i had to navigate to /user to log in.

I have a special reg role for testing. so I shouldn't ever have the anon or auth role problem. You are right that they would be big problems.

a lot of things in drupal don't page. eg list of og groups. if you have 1000 groups, the page will become too long. this is one of the major weaknesses of drupal.

evilgordo’s picture

I'm very new to the Drupal thing (uploaded core 7/24/06) and this module is exactly what I need. So far I've installed lm_paypal/donations/subscriptions (on 7/30) and tested with PPSandbox...with no problems. Even upgrades new subscribers to new roles and works well with other modules I've installed (taxonomy_access). Have yet to implement donations but the monthly and yearly subscriptions I setup work flawlessly :D

Thank you LM and excellent job!!!

mwu’s picture

in the 1.5 version, I think there was a place where you told us to go to paypal and set the correct ipn address.
I didn't see it in this version, and I think my paypal ipn is set to the wrong address. (i changed it back when I was testing paypalpro)

LeeMcL’s picture

Its still there in the help pages. But you are right its not visible enough so I'll add a link to these instructions from the start of the main settings.

--
Lee McLoughlin
lmmrtech.com

mwu’s picture

and you know we are trying to not call it subscriptions right?
they are two modules (subscription and subscriptionS) that allow you to subscribe to a thread. i think it's best we call it paid membership or something that will not get confused with the subscriptions modules.

LeeMcL’s picture

I was, sort of, aware of that. The problem is that PayPal calls them subscriptions and I was using PayPal terminology as that's what users will see whenever they are on PayPal or get subscription related emails from PayPal. I do always call them "LM PayPal Subscriptions" just to help reduce the confusion.

Lee

--
Lee McLoughlin
lmmrtech.com

uknewperson’s picture

Just wanted to chip in. I downloaded the subscription module yesterday and tested it on the PAYPAL sandbox this morning. All seemed to work ok. The only thing was that my user did not seem to get automatically upgraded to a "paid up role" until I'd accepted the payment in my PAYPAL account. Is this normal operation or should I set something different? I had a look around the PAYPAL account settings and couldn't see anything obvious. Any help would be appreciated. I logged on here to post this message and see the comments about roles. So guess I'll have to download 1.8 and try it. Anyway, GREAT WORK FELLA is wot I say! I've only been playing with Drupal for about 3 weeks now and I'm actually very impressed. I've never done anything remotely like it on the web before...but I bought the new David Mercer book and dived it. I've loaded about 10 custom modules...could not get other PAYPAL modules ( framework, etc ) to work yesterday and also no luck with CiviCRM but apart from that all's gone really well.

Latest Status: just tried installing latest version. First mistake I made was to not unsubscribe my one test user. So had to reload my back-up database. This did thankfully, enable me to unsubscribe this user. Then un-enabled the modules and dropped the tables. Then loaded up new 1.8 version and ...welll, it gave an error message that tables couldn't be found. ( Cannot rememberfor sure but I think the tables were automatically generated last time??). Anyhow, then after messing around a while decided to reload old database (again ) but with new v1.8 module files. Seems to wrk ok , but original subscribed user still seems to be subscribed...yet when I go to PAYPAL sandbox account says subscription was cancelled. Any idea how to get out of this loop? Also, checked in module settings and it is saying that the user can only upgrade to "PAid Subscriber" and not "Authorised USer" so that seems ok.

LeeMcL’s picture

Most likely is that there is a currency conversion going on. You need to automate handling such payments, here is the note on how to do this from admin/help/lm_paypal

  • While on PayPal if you plan to handle multiple currencies then go to Payment Receiving Preferences. For the entry Block payments sent to me in a currency I do not hold: I suggest setting it either Yes (to block them) or No, accept them and convert them to .... If set on Ask Me then each payment will have to be manually confirmed!

There is another possibility. I think, and this is a hazy memory, that the very first time you use PayPal you have to manually accept the first payment. Then it either automatically accepts them from then on or it asks you what to do in future, I can't recall which.

As for your loop problem, follow the instructions in UPGRADE-from-test.txt again and you'll be back to a blank slate. (After dropping the lm_paypal tables you have to remove the lm_paypal* module entries from the system table or the tables won't be created when you re-enable the module.)

And thanks for checking that the available roles are now correct! I really do appreciate the feedback.

Lee

--
Lee McLoughlin
lmmrtech.com

uknewperson’s picture

Hi Lee,

For info I did tick the option on multiplecurrencies that automatically converts them, so it might be because it's the first user.

Question: how do I "remove the lm_paypal* module entries from the system table"? I can understand that if something is in that table it needs clearing out but I'm completely new to mysql and I'm using PhPAdmin. There is the ability to drop a table but how do I remove entries? Is there a command that I can cut-and-paste in to do the job ( I'd need to know where to plug in my dbase name, etc ). Thanks for all your help and work on the module. The only other thing I would say - is it possible that it could be configured to take advantage of having say the first 6 months or year or whatever free. I think PAYPAL offers this facility. I appreciate this may be going beyond what you set out to achieve. Only would be extremely useful for the website application I have in mind. Cheers.

LeeMcL’s picture

Here is the SQL to drop the lm_paypal* entries from system. Go into phpmyadmin (or similar) make sure you select the correct table(!!!) then paste this into an SQL window. I dont know phpadmin the only web based tool I regularly use is phpmyadmin or I would provide more detailed instructions.

DELETE FROM system WHERE name = 'lm_paypal';
DELETE FROM system WHERE name = 'lm_paypal_subscriptions';
DELETE FROM system WHERE name = 'lm_paypal_donations';

This is only needed because the previous test versions did not use .install files.

The code for free trial periods is mostly written (just need to add some validation code) but I've not had a chance to test it yet so it is currently commented out.

Lee

--
Lee McLoughlin
lmmrtech.com

mwu’s picture

i have a memory that in 4.6 user was not promoted until cron was run (and this involved some nasty timezone issues).

perhaps cron needs to be run before the user is promoted

thank you for making the ipn help more visible.

you wrote earlier you would look into configurable notification emails. That would be great.

I'm out most of today but I should have time to test tomorrow.

thank you.

your plan was not to call it lm_paypal, when released? or were you? that would be an interesting solution.

someone was writing profileplus or something when someone released a module (not knowing) with the exact same name but different functionality. so it was very confusing.

lm_paypal works for me if that's what you intended.

LeeMcL’s picture

Users should be promoted as soon as the IPN signedup & payment messages arrive, cron isn't required. I've seen IPN messages delayed if, for example, you are manually accepting payments involving currency conversions. Thats why I recommend changing the setting on PayPal to accept and convert payments (see admin/help/lm_paypal). I've also noted an odd effect on Sandbox where if you have to manually accept a payment then IPN's are delayed for hours but emails come thru right away. Which is very confusing.

I've not looked at the notification emails yet - but will soon.

BTW: Thanks for all the testing! I've really appreciated the feedback.

My plan really is to call it lm_paypal when its released as that should avoid clashes with any other PayPal modules.

--
Lee McLoughlin
lmmrtech.com

davemybes’s picture

Lee,

This is an awesome module!! I have been looking at doing Paypal donations for a while and have hesitated due to all the issues with the other paypal modules. Yours is the first I have tried out. Well, everything works perfectly (at least through the Paypal sandbox). I click the donate button, log in as my sandbox buyer, do the payment, et voila, I'm back in Drupal at the right page. Everything checks out fine in the sandbox: all payments were sent and received with no problems. Confirmation emails were sent and received to both buyer and seller etc. I haven't tried out the subscriptions module as I don't need that kind of usability...yet ;)

FYI, I am using Drupal 4.7.2 with the following contributed modules: flexinode, image, views, webform and translation. I will be looking at setting up payments in french as well as in english. If anyone is interested, I can post here to let you know how it goes.

One last thing - I would like to change the donation icon to something else, probably one of Paypal's Solution Graphics. I can see where to change the URL to the graphic in your module, but maybe it would be a nice option to allow the user to select from the different logos. Just a thought.

Thanks again for a brilliant module. I just love it when things work the first time :)

______________________________________________________________________________________________________

LeeMcL’s picture

Thanks for the feedback.

Pleased to hear the module is working well for you and that it works along side the other modules you are using. I knew it would - but its still nice to have it confirmed!

I will improve the example donations button snippet to show how to change the graphic. There is an optional 4th parameter that I neglected to mention in the example in the online help that is the button_url. By default it is set to:

'http://www.paypal.com/en_US/i/btn/x-click-butcc-donate.gif'

but you could change it to whatever you like. PayPal provides other donations buttons:

http://www.paypal.com/en_US/i/btn/x-click-but21.gif
http://www.paypal.com/en_US/i/btn/x-click-but04.gif
http://www.paypal.com/en_US/i/btn/x-click-but11.gif

--
Lee McLoughlin
lmmrtech.com

davemybes’s picture

I have changed the button to something I like better. I ended up not using one of the Donation ones, as its more a one time payment than a donation.

I have noticed a possible problem in my testing. For my Drupal user there are no entries in the profile under donations, even though quite a few have gone through. I have entered the return url (http:..../lm_paypal/ipn) into my business profile IPN settings, but I have put a different URL for the thanks page. When I click "return to Merchant" it brings me back to this latter page. Also, there is no message in watchdog when I return to Drupal either.

Any ideas?

______________________________________________________________________________________________________

LeeMcL’s picture

If there are no watchdog messages then PayPal isn't sending completed IPN's.

On PayPal under your business account please check that you have the right IPN url set (should be the same as the one in the online help) and that IPN is enabled. While still on PayPal see if there are any incoming payments that need accepting. Until they are accepted an IPN will not be sent.

Please let me know how you get on.

Lee

--
Lee McLoughlin
lmmrtech.com

davemybes’s picture

Hi Lee

IPN is setup correctly and is activated, and all payments are automatically accepted. I have double-checked the confirmation emails in the sandbox and all came through OK. I am assuming that by ticking the "LM PayPal Obey Test IPNS" option, testing in the sandbox will allow your module and drupal to function as if it were a real transaction. Do I need any of the Test Certificates from the Paypal site?

I am using the i18n translation module, so all addresses have either en or fr prepended to them. I have changed the IPN return address to .../en/lm_paypal/ipn and also to .../lm_paypal/ipn, but neither seem to work. I have also set the thank you page to your default page (lm_paypal/donations_thanks), thinking that maybe there is something there that reads the IPN, but this doesn't affect anything either.

One other very minor thing, your default thank you page has a spelling error. Currently it has Donatinon instead of Donation in the title. The code is on line 144: 'title' => t('LM PayPal Donatinon Thanks'),

- Dave

______________________________________________________________________________________________________

LeeMcL’s picture

Can you access your web server logs? If so please check that PayPal is sending a request to the server and also what URL it being sent?

If you cannot access the logs then as a test disable lm_paypal and then under sandbox send money to the websites business account. Then look in administer/logs to see if a message arrived and the URL it was sent to.

Ticking the "LM PayPal Obey Test IPNS" option does as you stated - it treats Sandbox transactions as real. PayPal certificates are not needed.

Unless the i18n module changes the url lm_paypal module listens on I cannot see why it would interfere. PayPal should send IPNs to http://MySite/lm_paypal/ipn

And finally, I've corrected the typo! Thanks

Lee

--
Lee McLoughlin
lmmrtech.com

davemybes’s picture

Lee,

I can see some entries in my logs coming from Paypal. All are the same:

66.135.197.164 - - [31/Jul/2006:07:09:45 -0600] "POST /~mbacasec/lm_paypal/ipn HTTP/1.0" 200 7420 "-" "-"

and these are followed immediately by:

198.168.152.20 - - [31/Jul/2006:06:22:10 -0600] "POST /~mbacasec/en//lm_paypal/donations_thanks HTTP/1.1" 200 7598 "-" "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.8.0.5) Gecko/20060719 Firefox/1.5.0.5"

Don't worry about the double // in the second log entry. The page is still displayed correctly, and I have corrected the path in the lm_paypal settings.

______________________________________________________________________________________________________

LeeMcL’s picture

Well those messages look OK. There is 200 status so it looks like it has been processed.

In Drupal's logs for around the same timestamp what sort of messages are appearing?

--
Lee McLoughlin
lmmrtech.com

davemybes’s picture

Hi Lee

Well, I have solved most of the problem. It looks like I created a page with the same path as the lm_paypal/ipn path. Hence, your module wasn't processing the IPNs. I don't remember doing it, but I guess I must have - probably at 1am. So, my bad, on that one.

I have installed your updated module (1.11) and everything goes OK until I check the drupal logs. It accepts everything, but fails on the business email check. It lists the two email addresses that don't match, but they're exactly the same. Odd. Anyway, the main thing is that it now lists the donations in your new tables - very nice by the way - and I can now track them properly.

Keep up the good work. When I have a bit more time, I'll play around with the subscription bit, as that's probably going to come up in one of my upcoming projects.

______________________________________________________________________________________________________

LeeMcL’s picture

Not sure whats going wrong there. But the code is pretty simple - maybe too simple. When I get back from my short holiday on Sunday I'll have a look... no I'm too impatient... have to look now!

In lm_paypal.module look for a line containing strcasecmp and replace it with this and see if it helps:

  if (strcasecmp(trim($ipn->receiver_email), trim($_lm_paypal_business)) != 0) {

Not neat but should work. I'll look into a proper fix on my return.

Lee

--
Lee McLoughlin
lmmrtech.com

davemybes’s picture

That does the job! I can't see where anything is being added, but trimming the email addresses solves the problem. There's probably just a space that is creeping in somewhere. Thanks again and enjoy your holiday.

______________________________________________________________________________________________________

mwu’s picture

hi, thank you both.
i'm trying to understand the current status,
i-- you are testing donation and not subscriptions right? everything is working correctly except profile page right?

davemybes’s picture

mariun, yes that's right - for both questions.

______________________________________________________________________________________________________

drupalninja99’s picture

When I refund the payment this is what I get:

"No processor for this IPN, ignoring:" in the log and then when I click view it says:

id	8
timestamp	Mon, 2006-07-31 20:30
txn_id	27B36555KH015321J
processed	0
verify_sign	AcZs720BbJ3vQQvY5xTy
parent_txn_id	0JG73275CC392192R
payment_date	13:30:04 Jul 31, 2006 PDT
payment_status	Refunded
payment_type	instant
reason_code	refund
payer_email	sarahcallicott@gmail.com
first_name	Jay
last_name	Callicott
payer_id	SKWPSZTKGXB48
residence_country	US
business	jrcallicott@gmail.com
quantity	0
item_number	1
receiver_email	jrcallicott@gmail.com
receiver_id	M2M3JQLSQT6K4
custom	1
mc_currency	USD
payment_fee	-0.33
payment_gross	-1.00
mc_fee	-0.33
mc_gross	-1.00
subscr_id	S-9C5010305C660454V

I have in my paypal settings "?q=lm_paypal/ipn" for the IPN page. Is there something I'm doing wrong? I want the script to automatically unsubscribe this user.

LeeMcL’s picture

I currently ignore refunds, hence the log message.

But refunds won't unsubscribe a user. You'll have to cancel their subscription under your PayPal business account.
--
Lee McLoughlin
lmmrtech.com

mwu’s picture

i got an error message saying table lm_paypal_ipns does not exist. and it's true that in phpmyadmin it does not. I see it's in the install file. I'll drop the tables and reinstall.

by the way, after i dropped the tables, the problem returned of the front page being blank.

i went to admin modules. i unchecked the lm modules. submit. I rechecked the lm modules. submit. look in phpmyadmin. no lm tables. tomorrow I'll look on the server and see if the correct install file is there.

looking great other than that. paypal took a credit card for the subscription, which I'm very excited about. also said it'll take a credit card for the recurring payments, which is the first time i've heard paypal standard does indeed do this.

LeeMcL’s picture

It is not enough just to drop the tables. You have to remove the relevant entries from the system table. You only need to do this because the early test versions didn't use .install files. This will not be necessary in future.

Here are the notes from UPGRADE.txt

1. cancel any existing subscriptions on paypal/sandbox
2. remove any locally writen inline php generating subscriptions/donations
3. Disable lm_paypal* in admin/modules
4. Drop the lm_paypal* tables from your database and delete the entries for
   these module from the system table:
     mysql -u user -p pass mydrupaldatabase < drop_test.sql

Here is the contents of drop_test.sql so for step 4 above you can paste it into an SQL window under phpmyadmin.

DROP TABLE IF EXISTS lm_paypal_ipns;
DROP TABLE IF EXISTS lm_paypal_subscribers;
DROP TABLE IF EXISTS lm_paypal_subscriptions;
DROP TABLE IF EXISTS lm_paypal_donations;
DELETE FROM system WHERE name = 'lm_paypal';
DELETE FROM system WHERE name = 'lm_paypal_subscriptions';
DELETE FROM system WHERE name = 'lm_paypal_donations';

Lee

--
Lee McLoughlin
lmmrtech.com

mwu’s picture

Lee,
thank you for your patience!
good news and bad news.
good news:
1) the person was upgraded to the role and I didn't see any error messages

bad news:
1) when the lm modules are enabled, frontpage is blank. also /user is blank. I had to get in by opening another browser which logged me in by default. when I disabled the 3 lm modules, these pages came back.

is no one else having this problem?

mwu’s picture

Lee,
thank you for your patience!
good news and bad news.
good news:
1) the person was upgraded to the role and I didn't see any error messages

bad news:
1) when the lm modules are enabled, frontpage is blank. also /user is blank. I had to get in by opening another browser which logged me in by default. when I disabled the 3 lm modules, these pages came back.

is no one else having this problem?

mwu’s picture

hmm, I got an "internal server error, cannot connect to server." When I hit submit again, 2 identical posts appeared.

any way, this is what I had done:
1) looked in sandbox for a way to turn off subscription. didn't see any way.
2) went into phpmyadmin and dropped lm tables. dropped the entry from system table.
3) realized I had tested using 1.7 yesterday. uploaded 1.8.
4) repasted subscribe button, though I would say the code is identical
5) by the way, I didn't see where in the instructions it says to set paypal ipn to "...lm_pay..."

edit: found it. it's on this page
http://www.x.com/admin/help/lm_paypal
setting should be
http://www.x.com/lm_paypal/ipn
6) reenabled the modules.
I didn't run update php
7) deleted entry in system table that had been created by the role membership module (written by someone else, I forget who). It was 0 before deletion.

as I said, everything worked. although log in pages are blank

LeeMcL’s picture

lm_paypal-1.11.tar.gz

Please read the UPGRADE.txt notes.

I've cleaned up things internally and improved the saved donations.
As requested now only the most recent donations are shown in the users view with a link to a pager for all the users donations.

Fixed a bug in 1.8 where it would sometimes not drop users from roles when the subscription ended.

There is now a paged way to look at all the saved ipns, all the subscribers to a particular subscription and donations from all users.

I've started on email code but that willl now have to wait for next week as I am away for several days.

Lee

--
Lee McLoughlin
lmmrtech.com

mwu’s picture

Lee,
thank you very much for the rapid new release!
1) the link to paypal unsubscribe worked in terms of paypal and showing up in records. I already demoted the person so I can't check demotion. (I never knew about paypal's unsubscribe page. Thanks for explaining that.)
Note to others: in access control, check authenticated users for lm paypal subscribe, so that users can use the unsubscribe link.
2) Apparently there is no way to manually add a user who pays by check or something. that would be great to have.

I'll keep testing the role promotion/demotion, and front page issue.

thank you so much. If this works I might be using it for all the products and just drop ecommerce!

have a good trip.

drupalninja99’s picture

I think the way you manually add people is just in the user edit screen where you would manually add or remove people's subscriptions.

Lee,

If I sign up for the virtual terminal thing which allows people to pay over phone or via fax will it register with the IPN thing when the payment goes through? I'm thinking it will right?

mwu’s picture

J,
I am completely confused by your answer and question.
1) I see nowhere on the user screen where I can add a subscription for that person.
there is an unsubscribe link but no subscribe link. I believe your answer is wrong.

2) there is absolutely no reason why the ipn would respond to anything other than an ipn message from paypal, unless I have completely misunderstood what this module does and what ipn is.

LeeMcL’s picture

I'm guessing they mean just manually adding that role to the user by going in as an administrator and editing there account. The downside is, of course, you'll have to manually delete them from the account too when the subscription ends!

PayPal does have some sort of e-cheques thing. I've seen it on various menus but I know nothing else about it.

In theory I could write a 2nd module to allow admin's to manager non-PayPal subscribers but it isn't something I'm likely to work on for some time.

Lee
--
Lee McLoughlin
lmmrtech.com

nekstrom’s picture

Sadly for some reason I can't seem to get the file. If any one has another link I would appreciate it.

I've actually already written my own paypal subscription module but I'd like to compare and maybe combine the best parts of each.

Nathan

mwu’s picture

i uploaded a copy to drupal.org. I posted it at the bottom of this thread
http://drupal.org/node/77132

if you have the email notification done, that's the missing piece right now.

LeeMcL’s picture

None of my servers appear online and I'm not back till Sunday!

Lee
--
Lee McLoughlin
lmmrtech.com

mwu’s picture

hope you don't have anything critical. but people can download from the link I put up, so lm paypal tar gz should be okay.

mwu’s picture

well, the good news is that the front page is not blank.

however, my new user got this error when she logged in for the first time:

* warning: array_keys(): The first argument should be an array in /home//public_html//modules/user.module on line 349.
* warning: implode(): Bad arguments. in /home//public_html//modules/user.module on line 349.
* user warning: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1 query: SELECT DISTINCT(p.perm) FROM role r INNER JOIN permission p ON p.rid = r.rid WHERE r.rid IN () in /home//public_html//includes/database.mysql.inc on line 120.

I don't recall seeing this error before. Could it have to do with your modules?

per comment below, I do not have this error in a brand new sandbox. however, I wonder if it can be an interaction between lm modules and role membership module.

LeeMcL’s picture

I am on holiday at the moment - back Sunday. So I won't as fast at responding to emails as before.

There is a role membership module! What is it called?

Judging by the SQL error the user that was trying to login has lost ALL roles - including authenticated. I dont know how this could happen. Drupal will treat them in a very freaky fashion!

I suggest wiping that installation out and restarting it from scratch!

I've never had this problem and noone else has reported it so I dont believe its lm_paypal at fault. Have you used any other modules that modify users roles in the same installation?

Lee

--
Lee McLoughlin
lmmrtech.com

mwu’s picture

lee,
thank you very much for writing back even when you are on vacation.

the role membership 0 module is here
http://drupal.org/node/53888#comment-112156

there might be a later one but I didn't see it just now.
it didn't work well and kept producing error messages even when disabled and removed from the directory. (maybe due to the store.patch but I didn't see anything in the patch to produce the error message.)

today I upgraded to 4.7.3. deleted role membership. deleted ecommerce. that got rid of some error messages.

tomorrow I'll test out lm_paypal on the new install, after I read the paypal docs on how to test with credit cards. I suspect it will work fine now that I'm on a clean install!

mwu’s picture

it seems I am confused about the paypal sandbox procedure for testing credit cards.

i thought i am supposed to add a new credit for my business account. it generates a credit card number, which i then use for all my test users, until it reaches the $2000 number.

i thought that's what i've been doing.

when i tried to do that now (with paypal regular/recurring, not paypal pro) paypal sandbox said this credit card is already assigned to another account.

i tried incrementing the credit card number by 1. I got "card number is invalid."

mwu’s picture

to address the credit card issue, I thought I'd look in the paypal documentation. I thought I saw in one of your files which paypal documents you are relying on. which of your files is it? are those lines still in there?

mwu’s picture

hmm, when my brand new user logged out the front page is blank.
the /user page is there

edit: I started a new sandbox. installed lm modules. I've made the subscriptions but I haven't had a user buy anything. so far the front page has not disappeared. the problem in my other sandbox may be due to interaction with role membership module (disabled, but still causing error messages.)

I added a new user and did not get an error message.

mwu’s picture

user was correctly promoted to role. tomorrow I'll check for demotion. interestingly enough, when I checked the lm sub logs, the user was show as being live (not live, dead, live)

Others please help test and see if you get the blank front page!

mwu’s picture

Hurray!

I just did a test. As far as I know, everything worked perfectly.

buyer paid with a credit card.

was correctly promoted. showed up in profile correctly

tomorrow I'll check to see that recurring billing happened.

I guess the next thing to test is multiple roles.

lee,thank you very much. congratulations on picking up drupal so fast.

mwu’s picture

instructions for testing the credit card.
i made a mistake in adding the credit card.
here is the info:

Paypal sandbox
http://paypaltech.com/Patrick/testAcctOpt/ .
http://paypaldev.org/topic.asp?TOPIC_ID=12953
-----
Please follow these steps to generate a test credit card number for use in the Sandbox for either the PayPal account optional payment flow or Direct Payment API:
1. Log in to your Developer Central account at https://www.developer.paypal.com
2. Click the "Sandbox" tab.
3. Select any one of your Sandbox accounts and click the "Launch Sandbox" button.
4. Log in to this Sandbox account and go to the account Profile.
5. Click the "Credit Cards" link.
6. Click 'Add'
7. A credit card number is generated for you on this next screen.
8. Write this number down and use it for testing.
9. DO NOT ADD THE CARD or it won't work
10. when you use the number as a test buyer, the expiration date does not matter, as long as it's in the future. the verification number does not matter, but i recall reading 111 won't work.
Note: The Sandbox currently generates only Visa card numbers. This is also documented in the Sandbox User Guide located at https://www.paypal.com/en_US/pdf/PP_Sandbox_UserGuide.pdf . Also see "Step 4 Generate a test credit card number from your Sandbox account" at http://paypaltech.com/Patrick/testAcctOpt/ .
testing tip:
- Testing tip: Write down the first and last name, street address, phone number, credit card, expiration date, card verification number, etc. you use when you make your first Account Optional test payment so that you can use that exact same data in the future. Doing this will prevent you from having to potentially generate a new dummy credit card number for each test you perform. You can even go as far as to load up your code with this data as the values for the pre-population fields in the button code. This way, you only have to type in the information for the credit card when you perform subsequent tests. All the other data should be on the form already, passed in from the pre-population values.

mwu’s picture

I just had a failed transaction (due to paypal password issues. I don't think it's lm modules related)

paypal sent me back to the postpurchase page. which I didn't realize. this was my "thanks for your order page."

if this is the correct behavior, then we should let webmasters know so the postpurchase page can cover both success and failure.

mwu’s picture

I tried multiple roles. Buyer was correctly promoted to second role.

I tried cancelling. Buyer was correctly canceled.

I'll ask on the ecommerce list for more testers and for security checks. It looks like the module is potentially ready to be released. (Lee, I think you said you'll work on notification emails. that would be great!)

thank you very much.

mwu’s picture

Lee,
do you have any interest in a pay per posting module? like a classified. pay $30 per ad.
(userpoints heads this way but is buggy)

I am thinking of sponsoring such a module. Please feel free to private message me with a quote.

I'd like to launch by Aug. 31

mwu’s picture

I uploaded a copy of 1.11 here.

http://drupal.org/node/77132

good luck!

mwu’s picture

I just tested to see what would happen if someone were promoted to a role for a non-recurring payment.

the payment went through correctly.
the person was promoted correctly.

under "my subscriptions" it said "subscribed to nothing" which was counterintuitive. since the buyer right now has privileges to post ads for say 1 month.

this is not too bad, since it's possible i'll only give the ability to post ads for 48 hours or something. something that does not recur is not much like a subscription.

this may be related to the person testing donations where it did not show up in the profile. as far as i know, that was not fixed, but i have not been testing donations.

for testing purposes, I'm using one day instead of 1 month.
later i'll check that the person was properly demoted.

davemybes’s picture

Hi Mariun

It was me doing the donations testing, and, yes, the donations still do not appear in the user profile. However, they do appear in the administer > LM_Paypal... section. Not appearing the in the user profile is currently not an issue as it will be mostly non-registered users using the donation button. So, except for that little bug, I agree that this module is pretty much ready for release. Good job, Lee.

______________________________________________________________________________________________________

mwu’s picture

there is one small thing that is nagging me.

10 minutes ago I got the blank screen again.
However, it was after the paypal sandbox had given repeated errors. I opened up a different brower (firefox) and my front page was blank. I could get /user.
I disabled the lm modules, and my front page came back.
I enabled the lm modules. The front page was still there.

this is on a 4.7.3 install without ecommerce or role membership. However, the database is the old one.

others please do post if you install successfully or run into problems so that we have more data.

As I think about it more, I think this occurs after some sort of log-in error with paypal. where the user used the wrong password, or said they don't have an account, and they do, or something. I remember yesterday the sandbox was returning errors.

I have seen that before on the paypal forums of the sandbox returning errors when it shouldn't. (a cannot connect to server type of error.) It appears to be sometimes a toned-down "You've tried 3 times we won't let you try again" error.

so I opened a new browser, firefox. that's when i got the blank screen.

I do hope to get some insight into this. as I never saw this before the lm modules. If I were to launch and to experience this problem only intermittently it would be quite serious, not to mention hard to debug.

mwu’s picture

one thing that I found strange was that on a 4.7.3 and new install of lm modules, it remembered the url for my postpurchase page. i had dropped all lm tables in phpmyadmin. was the url stored elsewhere?

I'm wondering because I'm trying to think of what other variables role membership (by a different author) might have modified and thus be causing the blank screen even after its removal

mwu’s picture

hi Lee,
if you haven't done this, could you please check your modules against the security checklists?
http://drupal.org/node/62304

http://drupal.org/node/28984

thank you!

mwu’s picture

Lee,
I'm planning to start with these modules and build out.
say eventually have the various ecommerce capabilities, such as file downloads, tangibles, not using paypal etc.

i have to start with this one because i need recurring automatically debited memberships which ecommerce does not have. hopefully, this will generate the income to pay for all other modules.

i just wanted to make sure my assumption is correct, that this kind of extension is possible. or even just building out modules that are compatible and do not conflict.

down the road (6 to 24 months type timeframe), what i might want are:
1) file downloads (for ebooks)
2) selling physical books via cafepress. (i don't know if ecommerce would be used for that now)
3) auctions
farther down the road:
4) selling physical books off the site.

mwu’s picture

I went into my error logs (via cpanel)
and found zillions of these.
I've copied a number of them so you can see the time elapsed. The entire front page of errors is filled with these.
I'm puzzled why this function is being called so many times.

Call to undefined function: t() in /home/public_html/modules/lm_paypal/lm_paypal.module on line 61
[Sat Aug 5 16:43:51 2006] [error] PHP Fatal error: Call to undefined function: t() in /home/public_html/modules/lm_paypal/lm_paypal.module on line 61
[Sat Aug 5 16:43:50 2006] [error] PHP Fatal error: Call to undefined function: t() in /home/public_html/modules/lm_paypal/lm_paypal.module on line 61
[Sat Aug 5 16:43:50 2006] [error] PHP Fatal error: Call to undefined function: t() in /home/public_html/modules/lm_paypal/lm_paypal.module on line 61
[Sat Aug 5 16:43:49 2006] [error] PHP Fatal error: Call to undefined function: t() in /home/public_html/modules/lm_paypal/lm_paypal.module on line 61
[Sat Aug 5 16:43:49 2006] [error] PHP Fatal error: Call to undefined function: t() in /home/public_html/modules/lm_paypal/lm_paypal.module on line 61
[Sat Aug 5 16:43:49 2006] [error] PHP Fatal error: Call to undefined function: t() in /home/public_html/modules/lm_paypal/lm_paypal.module on line 61
[Sat Aug 5 16:43:48 2006] [error] PHP Fatal error: Call to undefined function: t() in /home/public_html/modules/lm_paypal/lm_paypal.module on line 61
[Sat Aug 5 16:23:03 2006] [error] PHP Fatal error: Call to undefined function: t() in /home/public_html/modules/lm_paypal/lm_paypal.module on line 61
[Sat Aug 5 16:20:12 2006] [error] PHP Fatal error: Call to undefined function: t() in /home/public_html/modules/lm_paypal/lm_paypal.module on line 61
[Sat Aug 5 16:02:57 2006] [error] PHP Fatal error:

LeeMcL’s picture

function t() is a fundamental Drupal function from includes/common.inc

If it cannot be found then something is very wrong with your Drupal installation!

You need to check everything out to see why includes/common.inc cannot be found.

Lee
--
Lee McLoughlin
lmmrtech.com

mwu’s picture

I looked at line 61. no obvious syntax errors to me.

$_lm_paypal_currency_option = array(
// '' => t('default currency'), Force a currency to be specified
'USD' => t('U.S. Dollar'),
'GBP' => t('Pound Sterling'),
'EUR' => t('Euro'),
'AUD' => t('Australian Dollar'), // Not available for subscriptions?
'CAD' => t('Canadian Dollar'),
'JPY' => t('Japanese Yen'),
);

what bothers me also is this error. I don't see why I'm getting donate errors when I'm not making any donations recurring. And there is no public donate button, so it should not be a user who is trying it out.

Sat Aug 5 16:02:57 2006] [error] PHP Fatal error: Call to undefined function: lm_paypal_donate() in /home/public_html/includes/common.inc(1175) : eval()'d code on line 5
[Sat Aug 5 16:02:57 2006] [error] PHP Fatal error: Call to undefined function: lm_paypal_donate() in /home/public_html/includes/common.inc(1175) : eval()'d code on line 5
[Sat Aug 5 16:01:50 2006] [error] PHP Fatal error: Call to undefined function: lm_paypal_donate() in /home/public_html/includes/common.inc(1175) : eval()'d code on line 5
[Sat Aug 5 16:01:39 2006] [error] PHP Fatal error: Call to undefined function: lm_paypal_donate() in /home/public_html/includes/common.inc(1175) : eval()'d code on line 5
[Sat Aug 5 16:01:32 2006] [error] PHP Fatal error: Call to undefined function: lm_paypal_donate() in /home/public_html/includes/common.inc(1175) : eval()'d code on line 5
[Sat Aug 5 15:59:53 2006] [error] PHP Fatal error: Call to undefined function: lm_paypal_donate() in /home/public_html/includes/common.inc(1175) : eval()'d code on line 5
[Sat Aug 5 15:29:21 2006] [error] PHP Fatal error: Call to undefined function: t() in /home/public_html/modules/lm_paypal/lm_paypal.module on line 61
[Sat Aug 5 15

mwu’s picture

error LM_PayPal_Subscr 2006-08-05 11:09 Attempt to end unknown subscription, ignored Anonymous view
error LM_PayPal_Subscr 2006-08-05 11:08 Ignoring invalid, unrecognised, or pending subscription ... Anonymous view
error LM_PayPal_Subscr 2006-08-05 11:07 Attempt to end unknown subscription, ignored Anonymous view
error LM_PayPal_Subscr 2006-08-05 11:07 Attempt to end unknown subscription, ignored Anonymous view
error LM_PayPal_Subscr 2006-08-05 11:06 Payment mismatch (supplied,expected), subscription ... Anonymous view
error LM_PayPal_Subscr 2006-08-05 10:26 Attempt to end ended subscription, ignored 0 Anonymous view
error LM_PayPal_Subscr 2006-08-05 10:23 Ignoring invalid, unrecognised, or pending subscription ... Anonymous view
error LM_PayPal_Subscr 2006-08-05 10:22 Ignoring invalid, unrecognised, or pending subscription ... Anonymous view
error LM_PayPal_Subscr 2006-08-05 10:22 Payment mismatch (supplied,expected), subscription ... Anonymous view
error LM_PayPal_Subscr 2006-08-05 10:07 Ignoring invalid, unrecognised, or pending subscription ... Anonymous view
error LM_PayPal_Subscr 2006-08-05 10:05 Payment mismatch (supplied,expected), subscription ...

mwu’s picture

i disabled all lm modules because I was trouble shooting something else.
here are my errors from cpanel error log. i don't know what's trying to call it.
i guess it might be paypal ipn. i didn't think paypal ipn tried 24/7

[Sun Aug 6 08:35:57 2006] [error] PHP Fatal error: Call to undefined function: lm_paypal_can_subscribe() in /home/public_html/includes/common.inc(1175) : eval()'d code on line 3
[Sun Aug 6 08:23:33 2006] [error] PHP Fatal error: Call to undefined function: lm_paypal_can_subscribe() in /home/public_html/includes/common.inc(1175) : eval()'d code on line 3
[Sun Aug 6 07:32:07 2006] [error] PHP Fatal error: Call to undefined function: lm_paypal_can_subscribe() in /home/public_html/includes/common.inc(1175) : eval()'d code on line 3
[Sun Aug 6 06:44:13 2006] [error] PHP Fatal error: Call to undefined function: lm_paypal_can_subscribe() in /home/public_html/includes/common.inc(1175) : eval()'d code on line 3
[Sun Aug 6 06:30:06 2006] [error] PHP Fatal error: Call to undefined function: lm_paypal_can_subscribe() in /home/public_html/includes/common.inc(1175) : eval()'d code on line 3
[Sun A

here are my error logs from drupal admin
page not found 2006-08-06 06:59 lm_paypal/ipn not found. Anonymous
warning page not found 2006-08-06 06:59 lm_paypal/ipn not found. Anonymous
warning page not found 2006-08-06 06:59 lm_paypal/ipn not found.

LeeMcL’s picture

There are two things going on here:

  • lm_paypal_can_subscribe is only ever called if you have created a peice of specialised PHP calling it. I'm guessing you have created a page or block somewhere using it.
  • lm_paypal/ipn not found. Anonymous - PayPal is trying to send an IPN to you and because the module is disabled the page isn't there.

--
Lee McLoughlin
lmmrtech.com

mwu’s picture

Lee,
I think it could be time to ask for commit access (which they do about every 2 weeks), and create a project page (I don't know who has authority to make the page). That way we can file specific issues and follow up on specific issues.

this page is getting very long and hard to go thru.

LeeMcL’s picture

I asked for this a while ago and have exchanged emails but no decision yet.

To avoid this overlong page I'll post a new article soon.

Lee
--
Lee McLoughlin
lmmrtech.com

mwu’s picture

they do it about once every 2 weeks because they do it in batches. and sometimes they overlook a piece of email. definitely do follow up if it's been more than 2 weeks. or you can look in the infrastructure mailing list archives to see when they last granted cvs and see if there was a message to you.

mwu’s picture

I'm getting duplicate entries in admin --lmpaypal logs. I'll try to get more details.

mwu’s picture

Hi Lee,
welcome back. Hope you got your 3 servers back up without much hassle. thanks for the replies. I'm moving over to a dedicated server on a clean install. I'm getting ready to set paypal live. if you are planning another release please let me know.
otherwise i'll install 1.11. thank you.

LeeMcL’s picture

I found one bug (causing an invalid watchdog warning). But while adding trial periods I had to rework some of the existing code. So I plan to issue a new release soon.

I've started on email notifications and will try to roll them into the same release.

--
Lee McLoughlin
lmmrtech.com

mwu’s picture

based on my conversation with paypal today, my understanding is that i can simply have 2 business accounts with 2 ipn addresses, which means I can use lmpaypal and ecommerce simultaneously.

LeeMcL’s picture

As mentioned this thread is now a little too long. So I've started a new one to go along with the latest release:

http://drupal.org/node/78002

--
Lee McLoughlin
lmmrtech.com