Tutorials for Magento and Joomla! - Yireo

Configuring PayPal Access for Joomla!

The PayPal Access for Joomla! extension allows you to authenticate users against the PayPal Access webservice, allowing easy authentication but also the inclusion of certain PayPal details within the Joomla! site. This guide helps you through the installation and configuration of PayPal Access.

Installing and configuring the Joomla! extensions

The PayPal Access for Joomla! extension actually exists out of 3 different extensions:

  • Module: The module displays a simple form with a PayPal-button on your site. Once the button is clicked upon, a new popup will open, starting the authentication process.
  • Component: The popup will load the component-page. The component first checks whether the user has already been logged in, and if not, 
  • Plugin: Once the user has been authenticated using PayPal Access, the user is redirected back to the component. To make sure all Joomla! events are passed correctly, the Authentication Plugin is then called manually by the component, making sure that the Joomla! session is updated correctly and that third party extensions can be notified.

Install all 3 extensions. Afterwards, enable the Authentication - PayPal Access plugin using the Joomla! Plugin Manager. The ordering of this plugin is not relevant. Also, create a new PayPal Access module-instance using the Joomla! Module Manager and assign it to a module-position of your frontend.

As a first test, it's a good idea to configure the module with the Debug option set to Yes. This allows you to inspect whether the PayPal Access authentication has any effect.

There is no backend for the component.

paypalaccess extensions

Register a new X.Commerce application

PayPal Access falls under the hood of X.Commerce and on the website of X.Commerce you can register for a new API-application to be used. Browse to the URL https://www.x.com/products/access/applications/submit. If you have no account yet, you need to register first. Once logged in, click on Register Application.

Within the registration form, make sure to enter the following details under Basic Info:

  • API Scope: Currently the scopes Milo and Where don't do anything with this extension. However, the scope Identity is required for this extension to work. Once Identity is selected, the form will display more fields.
  • Display Name: Give your application a certain name. This can be anything.
  • Domain URL: The URL under which your Joomla! frontend is available. This is used by PayPal to check which settings need to be applied to your site. Just copy the base-URL of your site (including the http:// or https:// part).
  • Contact Email: Your email-address.

Within the same registration form, make sure to enter the following details under Identity Services (these options only appear if Identity is checked under the API Scope):

  • Return URL: This is not used by this extension, so just enter the same URL as used under Domain URL.
  • Privacy Policy URL: This is not used by this extension, so just enter any domain pointing to some text. To be set for later changes, you might also want to link this to the terms & conditions of your own Joomla! site.
  • Logo URL: This is not used by this extension, but to be set for later changes, just point this to the logo of your Joomla! site.
  • Supported Protocols: Make sure to select OpenID 2.0. You can also set OAuth 2.0 but this currently has no effect.
  • Attributes Level: Do not set this to AuthenticationOnly, because this will not allow the Joomla! authentication-process to be completed. The Basic mode will include simple details needed for Joomla! authentication, while the Advanced mode will include various PayPal address-details to be used in other Joomla! extensions (like VirtueMart, JomSocial, Tienda or MageBridge).  When using the Advanced mode, you have to make sure that your site is using SSL and that all URLs configured earlier have HTTPS enabled.

Once completed, hit Register Application. Normally, registration takes place on the spot - meaning that your application should be working right away. In the past, we have seen that the API-servers are sometimes overloaded, so that registration takes some more time to be completed.

Note that PayPal will also generate an App ID and an App Secret for this application. These are not used by this extension, and can be ignored.

paypalaccess registration

Testing the setup

Everything should be in place. In your Joomla! frontend, you should be able to see the PayPal Access module. Hit the button and popup will open up. Within the popup, you will see the HTML-content being loaded from the PayPal Access API. When everything is setup correctly, PayPal will ask you whether you want to authenticate against PayPal Access. If this is the first time that you access PayPal Access from this site, there is also a notification about this Joomla! site gaining access to PayPal Access.

Once PayPal Authentication is completed, the Joomla! Authentication Plugin should pick up the details and complete the authentication process. When the module has the Debug-option enabled, it will display the extra PayPal fields. When the debug-fields only contain a token, this means that the authentication using either Basic or Advanced mode did not work as expected. Hit the Reset-link to try again.

When the debug-fields contain fields like email, first and last, then you will know that the PayPal Access authentication was successfull, and also the corresponding Joomla! user should have been logged in.

paypalaccess process

Troubleshooting

PayPal Access Error: No OpenID server found. When you receive this error, probably the outgoing call from your webserver to the PayPal Access server failed. Check whether the DNS-configuration of your webserver resolves external addresses correctly. Also make sure the PHP-option allow_url_fopen is enabled.

Created on Monday, 30 January 2012
Modified on Monday, 30 January 2012

About Yireo

Yireo tries to help webdevelopers build successful Joomla! and Magento sites.

More about Yireo