• This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn more.

XF 1.1 PayPal Integration problems - step by step guide

snoopy5

Well-known member
#1
Hi

I use XF 1.1.3 and I have problems with the PayPal integration while running several XF-installation with one PayPal account.

I thought it might be a good idea and collect a kind of step by step guide for the newest PayPal technology, so others with the same problems can benefit of it. With the search function, I found this:

http://xenforo.com/help/user-upgrades/

The main problem is, that this:

...You must enable Instant Payment Notifications (IPNs) in PayPal under your Selling Preferences. You should enter a notification URL of [your Board URL]/payment_callback.php.
does not work as soon as you have more than one site with a single paypal account.

I called PayPal support and they said that I need to disable the IPN function (actually I have to - this is mandatory to be able to work with API) within my PayPal account to be able to use this account for more than one xf-installation and different domainnames.

I should rather use the API function. Otherwise PayPal will not work, the usrs will not get upgraded although they paid for it.

It seems that this is not possible with XF. At least I do not know where to put the API data into XF, such as:

API-username
API-Password

If I only work with IPN settings and the callback.php URL, the paypal function will not work with my second XF-installation, since this has another domainname and therfore another callback.php URL.

So how can I resolve this problem?

Thanks in advance
 

Mike

XenForo developer
Staff member
#2
You can only use IPNs.

The URL you enter there doesn't really matter. It's just to enable the IPN callback system in PayPal as we pass the IPN URL along with the request. There shouldn't be an issue using a PP account with 2 XF installs.

However, if PP is telling you that you have to disable IPNs to use a different PP system, you would need to create a separate PP account.
 

snoopy5

Well-known member
#3
You can only use IPNs.

The URL you enter there doesn't really matter. It's just to enable the IPN callback system in PayPal as we pass the IPN URL along with the request. There shouldn't be an issue using a PP account with 2 XF installs.

However, if PP is telling you that you have to disable IPNs to use a different PP system, you would need to create a separate PP account.
Does that mean that the user will automatically be upgraded in XF even if there is no IPN in PayPal?

As far as I know, I am not allowed to have different PayPal accounts.
 

snoopy5

Well-known member
#5
You must enable IPNs, but the actual URL entered doesn't matter.
o.k., thanks. Just tested it. This works.

Just one question to clarify. How does paypal know after completing the transaction where to guide the user?

As an example:

I have now in the IPN URL field within PayPal the URL of domain 1. just "www.mydomain1.com" without subdomians. PayPal guides me to "www.xfforum.domain1.com" where the XF forum is really located. How does Paypal know this subdomain?
 

snoopy5

Well-known member
#8
You must enable IPNs, but the actual URL entered doesn't matter.
Hi,

I want to use now also the same paypal account for 4 different sites. If I do my settings in my PayPal account and enable the IPN feature there without giving a specific URL, PayPal refuses to accept the activation of the IPN feature. If I leave the URL-field empty, IPN stays disabled.

So I have to enter a URL. Will there be a technical conflict with the xenforo software or with PayPal, if I enter in the paypal account the URL to the payment_callback.php for my domainname 1, but all other 3 domainnames with xenforo forums shall work with the same paypal account too?
 

Mike

XenForo developer
Staff member
#9
No, you need to enter a URL to enable IPNs within PayPal. XF passes the IPN URL in when the payment is made, so all related IPN calls will go to that URL. That's why technically, the specific URL entered generally doesn't matter. It makes the most sense to enter a relevant URL if possible though.