forked from LiveCarta/PayPal-PHP-SDK
Merge branch 'update-version'
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -8,6 +8,7 @@ build
|
||||
.project
|
||||
.settings
|
||||
.buildpath
|
||||
atlassian-ide-plugin.xml
|
||||
*.bak
|
||||
|
||||
# Composer
|
||||
|
||||
16
README.md
16
README.md
@@ -105,9 +105,25 @@ use PayPal\Api\Payment;
|
||||
|
||||
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.
|
||||
|
||||
## Testing
|
||||
|
||||
There are two kinds of tests that we include in our sdk package. Unit tests, and Integration Tests.
|
||||
|
||||
* **Unit Tests**
|
||||
* Unit tests can be executed by running this command `phpunit` at Paypal SDK root location.
|
||||
* It executes the tests with configuration stored in `phpunit.xml` file.
|
||||
* **Integration Tests**
|
||||
* Integration tests make curl requests to sandbox environments by default. It would test both unit as well as integration tests. To execute, run this command `phpunit -c phpunit.integration.xml` at Paypal SDK root location.
|
||||
* It executes the tests with configuration stored in `phpunit.integration.xml` file.
|
||||
* The configurations could be changed from `tests\sdk_config.ini` file.
|
||||
|
||||
## Contributing
|
||||
|
||||
* If you find solution to an [issue/improvements](https://github.com/paypal/rest-api-sdk-php/issues) in sdk that would be helpful to everyone, feel free to send us a pull request.
|
||||
* The ideal approach to create a fix would be to fork the repository, create a branch in your repository, and make a pull request out of it.
|
||||
* It is desirable if there is enough comments/documentation and Tests included in the pull request.
|
||||
* For general idea of contribution, please follow the guidelines mentioned [here](https://guides.github.com/activities/contributing-to-open-source/).
|
||||
|
||||
## More help
|
||||
|
||||
* [API Reference](https://developer.paypal.com/webapps/developer/docs/api/)
|
||||
|
||||
@@ -15,7 +15,7 @@
|
||||
"php": ">=5.3.0",
|
||||
"ext-curl": "*",
|
||||
"ext-json": "*",
|
||||
"paypal/sdk-core-php": "2.4.*"
|
||||
"paypal/sdk-core-php": "2.5.*"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "3.7.*"
|
||||
|
||||
32
phpunit.integration.xml
Normal file
32
phpunit.integration.xml
Normal file
@@ -0,0 +1,32 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<phpunit bootstrap="./tests/bootstrap.php"
|
||||
colors="true"
|
||||
processIsolation="false"
|
||||
stopOnFailure="false"
|
||||
syntaxCheck="false"
|
||||
convertErrorsToExceptions="true"
|
||||
convertNoticesToExceptions="true"
|
||||
convertWarningsToExceptions="true"
|
||||
testSuiteLoaderClass="PHPUnit_Runner_StandardTestSuiteLoader">
|
||||
|
||||
<testsuites>
|
||||
<testsuite name="All">
|
||||
<directory>tests</directory>
|
||||
</testsuite>
|
||||
</testsuites>
|
||||
|
||||
<logging>
|
||||
<log type="junit" target="build/junit.xml" logIncompleteSkipped="false" />
|
||||
<log type="coverage-html" target="build/coverage/" charset="UTF-8"
|
||||
highlight="true" lowUpperBound="35" highLowerBound="70"/>
|
||||
<log type="coverage-clover" target="build/coverage/clover.xml"/>
|
||||
</logging>
|
||||
|
||||
<filter>
|
||||
<whitelist>
|
||||
<directory suffix=".php">./lib</directory>
|
||||
<exclude>
|
||||
</exclude>
|
||||
</whitelist>
|
||||
</filter>
|
||||
</phpunit>
|
||||
@@ -15,6 +15,12 @@
|
||||
</testsuite>
|
||||
</testsuites>
|
||||
|
||||
<groups>
|
||||
<exclude>
|
||||
<group>integration</group>
|
||||
</exclude>
|
||||
</groups>
|
||||
|
||||
<logging>
|
||||
<log type="junit" target="build/junit.xml" logIncompleteSkipped="false" />
|
||||
<log type="coverage-html" target="build/coverage/" charset="UTF-8"
|
||||
|
||||
@@ -1,6 +1,18 @@
|
||||
PayPal PHP SDK release notes
|
||||
============================
|
||||
|
||||
v0.11.0
|
||||
----
|
||||
* Ability for PUT and PATCH requests
|
||||
* Invoice number, custom and soft descriptor
|
||||
* Order API and tests, more Authorization tests
|
||||
* remove references to sdk-packages
|
||||
* patch for retrieving paid invoices
|
||||
* Shipping address docs patch
|
||||
* Remove @array annotation
|
||||
* Validate return cancel url
|
||||
* type hinting, comment cleaning, and getters and setters for Shipping
|
||||
|
||||
v0.8.0
|
||||
-----
|
||||
* Invoicing API support added
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
Rest API Samples
|
||||
===================
|
||||
|
||||
This sample project is a simple web app that you can explore to understand what the payment APIs can do for you.
|
||||
|
||||
This sample project is a simple web app that you can explore to understand what the payment APIs can do for you. To try out the sample, run `composer update --no-dev` from the samples folder and you are all set.
|
||||
|
||||
To try out the sample, run `composer update --no-dev` from the rest-api-sdk-php folder and you are all set.
|
||||
|
||||
The sample comes pre-configured with a test account but in case you need to try them against your account, you must
|
||||
|
||||
|
||||
@@ -4,12 +4,15 @@
|
||||
*/
|
||||
|
||||
// Include the composer autoloader
|
||||
// The location of your project's vendor autoloader.
|
||||
$composerAutoload = dirname(dirname(dirname(__DIR__))) . '/autoload.php';
|
||||
if (!file_exists($composerAutoload))
|
||||
{
|
||||
$composerAutoload = __DIR__ .'/vendor/autoload.php';
|
||||
//If the project is used as its own project, it would use rest-api-sdk-php composer autoloader.
|
||||
$composerAutoload = dirname(__DIR__) .'/vendor/autoload.php';
|
||||
|
||||
if(!file_exists(__DIR__ .'/vendor/autoload.php')) {
|
||||
|
||||
if(!file_exists($composerAutoload)) {
|
||||
echo "The 'vendor' folder is missing. You must run 'composer update' to resolve application dependencies.\nPlease see the README for more information.\n";
|
||||
exit(1);
|
||||
}
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
{
|
||||
"name": "paypal/rest-api-sdk-sample-php",
|
||||
"description": "Samples using PayPal's REST API SDK for PHP",
|
||||
"homepage": "https://github.com/paypal/rest-api-sdk-php",
|
||||
"config": {
|
||||
"require-all": true
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.0",
|
||||
"ext-curl": "*",
|
||||
"ext-json": "*",
|
||||
"paypal/rest-api-sdk-php" : "0.8.*"
|
||||
}
|
||||
}
|
||||
@@ -51,13 +51,17 @@ $payer->setPaymentMethod("credit_card")
|
||||
// information
|
||||
$item1 = new Item();
|
||||
$item1->setName('Ground Coffee 40 oz')
|
||||
->setDescription('Ground Coffee 40 oz')
|
||||
->setCurrency('USD')
|
||||
->setQuantity(1)
|
||||
->setTax('0.30')
|
||||
->setPrice('7.50');
|
||||
$item2 = new Item();
|
||||
$item2->setName('Granola bars')
|
||||
->setDescription('Granola Bars with Peanuts')
|
||||
->setCurrency('USD')
|
||||
->setQuantity(5)
|
||||
->setTax('0.20')
|
||||
->setPrice('2.00');
|
||||
|
||||
$itemList = new ItemList();
|
||||
|
||||
@@ -122,6 +122,10 @@ class AuthorizationTest extends \PHPUnit_Framework_TestCase {
|
||||
$a2->fromJson($a1->toJson());
|
||||
$this->assertEquals($a1, $a2);
|
||||
}
|
||||
|
||||
/**
|
||||
* @group integration
|
||||
*/
|
||||
public function testOperations() {
|
||||
try {
|
||||
$authId = self::authorize();
|
||||
@@ -150,13 +154,16 @@ class AuthorizationTest extends \PHPUnit_Framework_TestCase {
|
||||
} catch (\InvalidArgumentException $ex) {
|
||||
$this->assertEquals($ex->getMessage(), "Id cannot be null");
|
||||
}
|
||||
} catch (\PayPal\Exception\PPConnectionException $ex) {
|
||||
} catch (PPConnectionException $ex) {
|
||||
$this->markTestSkipped(
|
||||
'Tests failing because of intermittent failures in Paypal Sandbox environment.' . $ex->getMessage()
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @group integration
|
||||
*/
|
||||
public function testReauthorize() {
|
||||
$authorization = Authorization::get('7GH53639GA425732B');
|
||||
|
||||
|
||||
@@ -56,8 +56,12 @@ class CaptureTest extends \PHPUnit_Framework_TestCase {
|
||||
$this->assertEquals($c1, $c2);
|
||||
}
|
||||
|
||||
/**
|
||||
* @group integration
|
||||
*/
|
||||
public function testOperations()
|
||||
{
|
||||
try {
|
||||
$authId = AuthorizationTest::authorize();
|
||||
$auth = Authorization::get($authId);
|
||||
|
||||
@@ -82,6 +86,11 @@ class CaptureTest extends \PHPUnit_Framework_TestCase {
|
||||
|
||||
$retund = $capture->refund($refund);
|
||||
$this->assertNotNull($retund->getId());
|
||||
} catch (PPConnectionException $ex) {
|
||||
$this->markTestSkipped(
|
||||
'Tests failing because of intermittent failures in Paypal Sandbox environment.' . $ex->getMessage()
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -71,6 +71,9 @@ class CreditCardTest extends \PHPUnit_Framework_TestCase {
|
||||
$this->assertEquals($c1, $c2);
|
||||
}
|
||||
|
||||
/**
|
||||
* @group integration
|
||||
*/
|
||||
public function testOperations() {
|
||||
$c1 = $this->cards['full'];
|
||||
|
||||
|
||||
@@ -66,6 +66,9 @@ class PaymentTest extends \PHPUnit_Framework_TestCase {
|
||||
$this->assertEquals($p2, $this->payments['full']);
|
||||
}
|
||||
|
||||
/**
|
||||
* @group integration
|
||||
*/
|
||||
public function testOperations() {
|
||||
|
||||
$p1 = $this->payments['new'];
|
||||
|
||||
@@ -7,6 +7,7 @@ use PayPal\Test\Constants;
|
||||
use PayPal\Test\Api\AmountTest;
|
||||
use PayPal\Test\Api\PaymentTest;
|
||||
use PayPal\Test\Api\LinksTest;
|
||||
use PayPal\Exception\PPConnectionException;
|
||||
|
||||
class SaleTest extends \PHPUnit_Framework_TestCase {
|
||||
|
||||
@@ -52,7 +53,11 @@ class SaleTest extends \PHPUnit_Framework_TestCase {
|
||||
$this->assertEquals($s1, $s2);
|
||||
}
|
||||
|
||||
/**
|
||||
* @group integration
|
||||
*/
|
||||
public function testOperations() {
|
||||
try {
|
||||
$payment = PaymentTest::createNewPayment();
|
||||
$payment->create();
|
||||
|
||||
@@ -69,5 +74,10 @@ class SaleTest extends \PHPUnit_Framework_TestCase {
|
||||
|
||||
$this->setExpectedException('\InvalidArgumentException');
|
||||
$sale->refund(NULL);
|
||||
} catch (PPConnectionException $ex) {
|
||||
$this->markTestSkipped(
|
||||
'Tests failing because of intermittent failures in Paypal Sandbox environment.' . $ex->getMessage()
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -23,13 +23,13 @@ service.EndPoint="https://api.sandbox.paypal.com"
|
||||
|
||||
log.LogEnabled=true
|
||||
|
||||
# When using a relative path, the log file is created
|
||||
# relative to the .php file that is the entry point
|
||||
# for this request. You can also provide an absolute
|
||||
# path here
|
||||
; When using a relative path, the log file is created
|
||||
; relative to the .php file that is the entry point
|
||||
; for this request. You can also provide an absolute
|
||||
; path here
|
||||
log.FileName=PayPal.log
|
||||
|
||||
# Logging level can be one of FINE, INFO, WARN or ERROR
|
||||
# Logging is most verbose in the 'FINE' level and
|
||||
# decreases as you proceed towards ERROR
|
||||
; Logging level can be one of FINE, INFO, WARN or ERROR
|
||||
; Logging is most verbose in the 'FINE' level and
|
||||
; decreases as you proceed towards ERROR
|
||||
log.LogLevel=FINE
|
||||
|
||||
Reference in New Issue
Block a user