Adapter capabilities

 User authentication YES
 User profile YES
 User contacts list NO
Post to user wall / update status NO
 Access provider API YES

Adapter specifications

 ID PayPal
 Protocol Open ID (OAuth)
 IDp URL https://www.paypal.com
 Keys registration https://developer.paypal.com/developer/applications/
 Dev documentation https://developer.paypal.com/docs/api/overview/
 Wrapper ./Hybrid/Providers/Paypal.php
Callback URL http://mywebsite.com/path_to_hybridauth

Configuration & Usage

  <?php
      $config = array(
        "base_url" => "http://mywebsite.com/path/to/hybridauth/",
        "providers" => array(
          "Paypal" => array(
            "enabled" => true,
            "keys" => array(
              "id" => "YOUR_CLIENT_ID",
              "secret" => "YOUR_CLIENT_SECRET",
            ),
            "scope" => array(
              "openid",
              "profile",
              "email",
              "https://uri.paypal.com/services/paypalattributes"
            ),
          ),
        ),
      );

      require_once( "/path/to/hybridauth/Hybrid/Auth.php" );

      $hybridauth = new Hybrid_Auth( $config );

      $adapter = $hybridauth->authenticate( "Paypal" );

      $user_profile = $adapter->getUserProfile();
  

For PayPal you can configure several extra options:

Registering application

  1. Go to https://developer.paypal.com/developer/applications and create a new application.
  2. Fill out any required fields such as the Application Name.
  3. Specify the domain to which your application will be returning after successfully authenticating. (i.e. http://mywebsite.com/path_to_hybridauth)
  4. Select private user data APIs that your application needs to access.
  5. Once you have registered, copy and past the created application credentials (App ID and Secret) into the HybridAuth config file.