ladela/paypal-adaptivepayments-sdk-php

Paypal PHP Adaptive Payments SDK

Installs: 27

Dependents: 0

Stars: 4

Watchers: 1

Forks: 40

Language: PHP

v0.4.3 2013-01-14 13:39 UTC

README

Prerequisites

PayPal's PHP Adaptive Payments SDK requires

  • PHP 5.2 and above with curl/openssl extensions enabled

Using the SDK

To use the SDK,

  • Copy the config and lib folders into your project. Modify the config file to suit your needs.
  • Make sure that the lib folder in your project is available in PHP's include path
  • Include the services\AdaptivePayments\AdaptivePaymentsService.php file in your code.
  • Instantiate a service wrapper object
  • Instantiate a request object as per your project's needs. All the API request and response classes are available in services\AdaptivePayments\AdaptivePaymentsService.php
  • Invoke the appropriate method on the service object passing in the request object.

For example,

    require_once('services/AdaptivePayments/AdaptivePaymentsService.php');

    $payRequest = new PayRequest($requestEnvelope, $actionType, $cancelUrl, 
                                  $currencyCode, $receiverList, $returnUrl);
    // Add optional params
    if($_POST["feesPayer"] != "") {
       $payRequest->feesPayer = $_POST["feesPayer"];
    }
    ......

    $service = new AdaptivePaymentsService();
    $response = $service->Pay($payRequest); 
    $ack = strtoupper($response->responseEnvelope->ack); 
    if($ack == 'SUCCESS') {
        // Success
    }

The SDK provides multiple ways to authenticate your API call.

    $service = new AdaptivePaymentsService();

    // Use the default account (the first account) configured in sdk_config.ini
    $response = $service->Pay($payRequest); 

    // Use a specific account configured in sdk_config.inig
    $response = $service->Pay($payRequest, 'jb-us-seller_api1.paypal.com'); 

    // Pass in a dynamically created API credential object
    $cred = new PPCertificateCredential("username", "password", "path-to-pem-file");
    $cred->setThirdPartyAuthorization(new PPTokenAuthorization("accessToken", "tokenSecret"));
    $response = $service->Pay($payRequest, $cred);  

SDK Configuration

Replace the API credential in config/sdk_config.ini . You can use the configuration file to configure

  • (Multiple) API account credentials.
  • Service endpoint and other HTTP connection parameters
  • Logging

Please refer to the sample config file provided with this bundle.

Using multiple SDKs together

*copy the contents in 'lib/service/' to one of the SDKs *add the service endpoint to 'config/sdk_config.ini', for the endpoints refer the list below

Endpoint Configuration

*The list below specifies endpoints for different services, in SANDBOX and PRODUCTION, with their property keys and end-point as property values.

------------------------------SANDBOX------------------------------

------------------------------PRODUCTION------------------------------

For additional information please refer to https://www.x.com/developers/paypal/documentation-tools/api

Instant Payment Notification (IPN)

refer to the IPN-README in 'samples/IPN' directory

Getting help

If you need help using the SDK, a new feature that you need or have a issue to report, please visit

https://www.x.com/developers/paypal/forums/adaptive-payments-api

 OR

https://github.com/paypal/adaptivepayments-sdk-php/issues