This repository contains PayPal's PHP SDK and samples for REST API.
- PHP 5.3 or above
- curl, json & openssl extensions must be enabled
- composer for fetching dependencies (See http://getcomposer.org)
Composer
is the recommended way to get the SDK. 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)