Page 1 of 1

Using gateways not in s2Member yet

PostPosted: April 12th, 2011, 10:48 pm
by Jason Caldwell
timjcarter wrote:Is Paydotcom integration going to happen?


I believe it *might* be possible to integrate PayDotCom with s2Member's PayPal IPN Processor, using the Proxy Key provided by s2Member. Please check your Dashboard under: s2Member -> PayPal Options -> PayPal IPN Integration -> Proxy Key. In the latest release of s2Member v3.5.2+ we've improved the documentation regarding this feature.

WP Admin -> s2Member -> PayPal Options -> PayPal IPN Integration -> IPN w/ Proxy Key
IPN w/ Proxy Key ( optional, for 3rd-party integrations )

If you're using a 3rd-party application that needs to POST simulated IPN transactions to your s2Member installation, you can use this alternate IPN URL, which includes a Proxy Key. This encrypted Proxy Key verifies incoming data being received by s2Member's IPN processor. You can change [proxy-gateway] to whatever you like. The [proxy-gateway] value is required. It will be stored by s2Member as the Customer's Paid Subscr. Gateway. Your [proxy-gateway] value will also be reflected in s2Member's IPN log.

http://yoursite.com/?s2member_paypal_notify=1&s2member_paypal_proxy=[proxy-gateway]&s2member_paypal_proxy_verification=xxxxxxxxxxxxxxxxxxxxxxx

Any 3rd-party application that is sending IPN transactions to your s2Member installation, must ALWAYS include the custom POST variable, and that variable must always start with your installation domain ( i.e. custom=yoursite.com ). In addition, the item_number variable, must always match a format that s2Member looks for. Generally speaking, the item_number should be 1, 2, 3, or 4, indicating a specific s2Member Level #. However, s2Member also uses some advanced formats in this field. Just to be sure, we suggest creating a PayPal® Button with the s2Member Button Generator, and then taking a look at the Full Button Code to see how s2Member expects item_number to be formatted. Other than the aforementioned exceptions; all other POST variables should follow PayPal® standards. Please see: PayPal's IPN/PDT reference guide for full documentation.


All of that being said; I'm sorry, but s2Member is NOT yet tested or officially compatible with PayDotCom. There are plans to integrate this and eJunkie in the future though.

Re: Using gateways not in s2Member yet

PostPosted: August 31st, 2011, 10:17 am
by dskallman
Hey Jason,

Is there documentation on how to add a new gateway. I want to explore connecting wepay.com using the billing option. It allows for bank transfers, which is what I would love to incorporate. Any thoughts on this would be greatly appreciated!

Thanks!

Re: Using gateways not in s2Member yet

PostPosted: August 31st, 2011, 8:22 pm
by Cristián Lávaque
The gateway's API should have a documentation. Also, you can read the source files for the exisiting gateways in s2Member.

Re: Using gateways not in s2Member yet

PostPosted: October 8th, 2011, 4:48 pm
by timjcarter
Just an update here.

Paydotcom returns the PDC item number. So it has no correlation to S2member. We would need a cross reference for PDC to S2member.

Also PDC has the custom field full of stuff. We could just put out a constant of our domain name here.

So not tough to do if we had a cross reference.

If I can get me head around this I think the solution would be fairly simple to code.

Thanks

Re: Using gateways not in s2Member yet

PostPosted: October 11th, 2011, 4:36 pm
by LinkedInNinja
I need some help with this. I use eJunkie for the cart and affiliate tracking. I want to use S2 member to secure video content that people will be accessing after purchasing. I consider myself pretty tech savvy, but this has my head going in circles.

Right now, I use eJunkie buy buttons connected to my PayPal account. After purchase, eJunkie notifies my MailChimp account of the purchase to add them to my email list. In eJunkie, there is a common notification URL that goes to MailChimp. Is that where this IPN Proxy URL goes?

Also, if I'm using PayPal via eJunkie to process the payments, do I still have to add all of the PayPal account information into S2 even though I'm not creating buttons through there?

If anyone could give me clear and specific instructions on this, it would be greatly appreciated.

Also, how far off is the eJunkie integration? It appears that there is a lot of demand for it.

Thanks in advance for your help.

Re: Using gateways not in s2Member yet

PostPosted: October 12th, 2011, 8:10 pm
by Cristián Lávaque
I know one developer used the Remote Operations API to integrate s2Member with InfusionSoft. I'm sure it'll help with others too. WP Admin -> s2Member -> API / Scripting -> Pro API for Remote Operations

Re: Using gateways not in s2Member yet

PostPosted: November 11th, 2011, 11:24 am
by imbafuzz
thanks Cristián Lávaque , it really help me...

Re: Using gateways not in s2Member yet

PostPosted: November 12th, 2011, 2:15 am
by Cristián Lávaque
Cool! :)

Re: Using gateways not in s2Member yet

PostPosted: November 22nd, 2011, 2:42 am
by Jason Caldwell
Thanks for the heads up on this thread.

Just to clarify a bit. Integrating s2Member with another Payment Gateway does not require that other Payment Gateway to send IPNs exactly like PayPal does. In fact, it doesn't require that the other Payment Gateway send IPNs at all. It just requires that whoever is integrating the additional Payment Gateway for you, to understand how PayPal IPNs work, so that communication from whatever Payment Gateway you're integrating can be converted to the PayPal IPN standard, and communicated to s2Member via its Proxy IPN handler, which is mentioned in your Dashboard here:

s2Member -> PayPal Options -> IPN Integration -> IPN w/ Proxy Key

While it is certainly possible to integrate other Payment Gateways by connecting to the s2Member Pro Remote Operations API, I would not advise going this route just yet. The s2Member Pro Remote Operations API is currently only capable of creating new Users/Members, it is not yet capable of editing/deleting existing Users/Members.

I would suggest that if you intend to integrate another Payment Gateway with s2Member, that you use the IPN w/ Proxy Key methodology, thereby increasing flexiblity. s2Member's IPN handler can receive IPN responses standardized by PayPal, which allow for events to be processed by s2Member. Such as signups, cancellations, refunds, EOTs, etc. All based on the documentation in your Dashboard, under: s2Member -> PayPal Options -> IPN Integration -> IPN w/ Proxy Key, and in the PayPal reference guide: http://www.s2member.com/paypal-ipn-pdt-vars

Re: Using gateways not in s2Member yet

PostPosted: December 12th, 2011, 2:49 am
by divagrrl27
I just want to add my voice to those who would LOVE to see easy integration of s2Member with e-junkie.

I'm using e-junkie as my cart and affiliate system on my main site, and want to be able to use it on my s2Member membership site, too. Yes, I can use an affiliate plugin, but I'm not thrilled at having to make my affiliate sign up for multiple affiliate programs in order to promote my various offerings -- it would be soooo much more streamlined for them to be able to do everything in one place.

Thanks for all you guys do!

Re: Using gateways not in s2Member yet

PostPosted: December 16th, 2011, 10:38 pm
by jesseAe
I'm trying to set up an unsupported Gateway using s2member's proxy IPN handler as suggested above, and so I'm trying to understand which variables need to be passed in to effect a new member signup. Basically I need something similar to the sample code provided in this post about the Pro API for Remote Operations, but for the IPN handler methodology.

I've looked through the IPN and PDT Variables doc. So it looks like I'll be setting "txn_type" to "subscr_signup", and plugging in all the other variables from the subscription variables table?

I'm asking because I haven't been successful doing this yet, and the result has been inconclusive. I'm using cURL to post to the handler.

Thanks.

Re: Using gateways not in s2Member yet

PostPosted: December 18th, 2011, 9:04 pm
by Cristián Lávaque
Hi Jesse. I'm sorry I can't help you with that, it'd have to be Jason and he's been a bit offline the past days. I hope he'll get back to you soon. Thanks for your patience!

divagrrl27, vote taken. Thanks for the feedback! I hope we'll be supporting/integrating with more services soon.

Re: Using gateways not in s2Member yet

PostPosted: December 20th, 2011, 3:29 am
by jesseAe
Cristian, thanks for the reply, I hope Jason gets back to me soon too.

I'm going through the class files and I think I see how s2member processes the IPN but I'm still not getting any results (nothing even in the logs). I found the class that processes messages for new membership signup: c_ws_plugin__s2member_paypal_return_in_subscr_or_wa_w_level.

And I pulled out references to the following variables:

'first_name'
'last_name'
'custom'
'item_number'
'txn_type'
'payer_email'
'period3'
mc_amount3'
'recurring'

All of these can be found in Paypal's IPN/PDT doc. "txn_type" gets set to "subscr_signup" in this case.

So I set up a payment processing page that, upon receiving a success message from the gateway uses cURL to post all those IPN variables to the s2member handler along with the following query string:

s2member_paypal_notify=1&s2member_paypal_proxy=genericgateway&s2member_paypal_proxy_verification=[string provided in IPN Proxy section of Paypal setup]

And nothing. No clue as to what I'm doing wrong here as (like I mentioned) there's nothing even written to the log. Again, if anyone could point me in the right direction I'd really appreciate it.

Re: Using gateways not in s2Member yet

PostPosted: December 20th, 2011, 11:11 am
by Jason Caldwell
Thanks for the heads up on this thread.

Can I see the code that you're running please?
If logging is enabled, you should get *something* in the /s2member-logs/paypal-ipn.log file. If you're getting nothing at all, I suspect that your cURL implementation is converting the GET query string variables that trigger s2Member's IPN handler, into POST variables.

The following separation of GET/POST variables must occur.

GET variables:
s2member_paypal_notify=1
&s2member_paypal_proxy=[proxy-gateway] ( whatever yours is called )
&s2member_paypal_proxy_verification=[string provided in IPN Proxy section of Paypal setup]

POST variables:
Everything else, as described in your Dashboard.
SNAG-0014.png


* Tip. I would also check the output you receive from your call to cURL. You should get back nothing at all from s2Member. Just a simple 200 OK HTTP response code, with an empty body. Processing takes place on the s2Member side, based on the data you posted. If you get back the HTML code for a page on your site, or a 404 error, something is very wrong.

* Tip. If you copy and paste your Proxy IPN URL into a browser, you should get a log entry indicating there were no POST vars, or that s2Member was unable to verify the IPN in one way or another. If you don't get a log entry doing this simple test, something is very wrong. Is logging enabled?

Re: Using gateways not in s2Member yet

PostPosted: December 21st, 2011, 7:33 pm
by jesseAe
Jason, thanks for all our suggestions. The problem had to do with a dumb mistake in my cURL setup. I got it fixed, found another problem through the logs (fixed that too), and now I can create new subscriptions through IPN Proxy, so I think I'm all squared away. I don't have time today, but I will post all my code in a day or so just in case it's useful to anyone else. I also found a couple of query string variables in the c_ws_plugin__s2member_paypal_return_in_subscr_or_wa_w_level class that seem to be really handy, though I haven't found them documented anywhere. More on that later as well...

Re: Using gateways not in s2Member yet

PostPosted: December 28th, 2011, 4:30 pm
by Jenine
I think I would find this code very useful. I look forward to seeing it :D

Re: Using gateways not in s2Member yet

PostPosted: December 28th, 2011, 5:56 pm
by jesseAe
Okay Jenine, I will try and post soon. Holidays are messing up my productivity.

Re: Using gateways not in s2Member yet

PostPosted: January 3rd, 2012, 7:16 am
by tokyoterri
Hi Jason:

Hope you all had a great holiday!

I upgraded to Pro quite a while back but am only getting to use it now, and I have an odd question: my client is actually not going to be able to have members sign up with PayPal for quite a while because we will need to use Japan's archaic banking system (via wire transfer0. However, I trust S2Member Pro, so I installed it as a way to restrict access to the member pages and to be ready to handle PayPal when the client is prepared for it.

I'm using a BuddyPress theme, as this is a community site.

My membership levels will be:
0: there won't be a free registration: anybody who can see the public pages can just see them, but to log in to the community, you must be at least a level #1 member
#1: paid members
#2: board of directors (with access to run groups and the Forum) - they will be paid members as well
#3: strategic partners (not paid in the normal sense, as they will pay in goods and services(
#4: honorary members: vip's, essentially

Is there anything I need to know in order to set things up so that, while a person can apply for membership on the membership info page, the form will just go to the membership director, who will contact the member and arrange for payment. I'm assuming that, since there won't be any PayPal connection, that the applying member will just be pending or something like that, until the payment is received and the membership director 'releases' the pending membership?

Does that make sense? Sorry it sounds confusing. basically I want to use S2member without using PayPal just yet.

Your thoughts?

Thanks again for this wonderful system!

best,

Terri

Re: Using gateways not in s2Member yet

PostPosted: January 3rd, 2012, 5:18 pm
by Raam Dev
Hi Terri,

s2Member doesn't have an account approval process, but what you could do is allow users to register as a Free member and then when the Membership Director receives payment and wants to "approve" the users account, they would simply change the free account to a Level 1 account.

The other way of doing this would be to have users register through a separate contact form and when the Membership Director receives payment and wants to "approve" their account, he or she would then create the user manually and set their account to Level 1.

Does that make sense?

Re: Using gateways not in s2Member yet

PostPosted: January 4th, 2012, 7:17 am
by tokyoterri
Hi Raam:

Thanks for your quick reply!

I think the simplest way would be to use your first suggestion: anyone can register, but they won't be allowed on the site until the Membership Director approves them to Level 1. So that means that I will have free registration - or level 0.

one more question: is there any problem with my using the theme's Register page as my Membership Options page? I'm getting a bit confused between the point of the two pages, and if there's just one page, it seems as if it would be much easier...

Thanks again,

best,
Terri

Re: Using gateways not in s2Member yet

PostPosted: January 4th, 2012, 6:06 pm
by Raam Dev
Hi Terri,

I'm not sure what your theme's Register page is designed to do, but as long as it works with WordPress and adds users to the WordPress userbase, it should be OK to use with s2Member. (Keep in mind that the theme's Register page probably won't be filling in any of the s2Member fields, but it sounds like for your scenario, where someone goes in and manually changes the s2Member role, that should be OK.)

Re: Using gateways not in s2Member yet

PostPosted: January 10th, 2012, 4:45 am
by tokyoterri
Hi Raam:

I"m so sorry this thank you took so long!

I'm working on the site when I'm not at my regular job, so missed the chance to check back earlier.

thank you!

best,
Terri

Re: Using gateways not in s2Member yet

PostPosted: January 11th, 2012, 11:51 am
by Raam Dev
No worries, Terri! :) You're most welcome.

Re: Using gateways not in s2Member yet

PostPosted: January 24th, 2012, 11:25 am
by Fotoutbildning
I'm using S2member and the Specific page buy now button (I'm not using the member levels). I wan't to integrate it with e-junkie. Is ther a way to do this so the customers get the link to the pages they bought via s2member?