This repository contains PayPal's PHP SDK and samples for REST API.
Before starting to use the sdk, please be aware of the existing issues and currently unavailable or upcoming features for the REST APIs. (which the sdks are based on)
- PHP 5.3 or above
- curl, json & openssl extensions must be enabled
- composer for fetching dependencies (See http://getcomposer.org)
- Clone the repo and navigate to the samples folder.
- Samples have dependency on the sdk and you can use
Composer
to get the dependencies. Ensure that you have composer installed on your machine, navigate to the samples folder and run 'composer update --no-dev' to fetch the SDK. - In case you cannot install composer on your machine, you can also fetch the SDK bundle from https://github.com/paypal/sdk-packages/raw/gh-pages/rest-api-sdk/php/rest-api-sdk-php-0.7.1.zip and unzip the bundle in to the samples folder.
- Optionally, update the bootstrap.php file with your own client Id and client secret.
- Run any of the samples in the 'samples' folder to see what the APIs can do.
To write an app that uses the SDK
- Copy the composer.json file from the sample folder over to your project and run 'composer update --no-dev' to fetch all dependencies.
- Copy the sample configuration file sdk_config.ini to a location of your choice and let the SDK know your config path using the following define directive.
define('PP_CONFIG_PATH', /path/to/your/sdk_config.ini);
- Obtain your clientId and client secret from the developer portal. You will use them to create a
OAuthTokenCredential
object. - Now you are all set to make your first API call. Create a resource object as per your need and call the relevant operation or invoke one of the static methods on your resource class.
$apiContext = new ApiContext(new OAuthTokenCredential('<clientId>', '<clientSecret>'));
$payment = new Payment();
$payment->setIntent("Sale");
...
$payment->create($apiContext);
*OR*
$payment = Payment::get('payment_id', $apiContext);
The samples in this repo pick the SDK configuration from the sdk_config.ini file. If you do not want to use an ini file or want to pick your configuration dynamically, you can use the $apiContext->setConfig()
method to pass in the configuration as a hashmap. See the sample/bootstrap.php
file for an example.
- API Reference
- [Reporting issues / feature requests] (https://github.com/paypal/rest-api-sdk-php/issues)