Updated version of SDK Core

- Updated version
- Fixed Testing Bugs
- Updated README
- Updated Release note
This commit is contained in:
Jay Patel
2014-09-24 13:41:32 -05:00
parent 6f59a4186b
commit 0ed9c26d02
8 changed files with 77 additions and 47 deletions

1
.gitignore vendored
View File

@@ -8,6 +8,7 @@ build
.project
.settings
.buildpath
atlassian-ide-plugin.xml
*.bak
# Composer

View File

@@ -5,9 +5,6 @@ php:
- 5.5
- 5.6
- hhvm
env:
- CONFIGURATION_FILE=phpunit.xml
- CONFIGURATION_FILE=phpunit.integration.xml
matrix:
allow_failures:
- php: hhvm
@@ -18,7 +15,7 @@ before_script:
script:
- mkdir build
- mkdir build/coverage
- phpunit -c $CONFIGURATION_FILE
- phpunit
after_success:
- php vendor/bin/coveralls -v -c .coveralls.yml
notifications:

View File

@@ -104,10 +104,26 @@ use PayPal\Api\Payment;
## SDK Configuration
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/)

View File

@@ -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.*"
@@ -24,5 +24,5 @@
"psr-0": {
"PayPal": "lib/"
}
}
}
}

View File

@@ -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

View File

@@ -9,6 +9,6 @@
"php": ">=5.3.0",
"ext-curl": "*",
"ext-json": "*",
"paypal/rest-api-sdk-php" : "0.8.*"
"paypal/rest-api-sdk-php" : "0.11.*"
}
}

View File

@@ -24,12 +24,12 @@ use PayPal\Api\Transaction;
// used to fund a payment.
$card = new CreditCard();
$card->setType("visa")
->setNumber("4417119669820331")
->setExpireMonth("11")
->setExpireYear("2019")
->setCvv2("012")
->setFirstName("Joe")
->setLastName("Shopper");
->setNumber("4417119669820331")
->setExpireMonth("11")
->setExpireYear("2019")
->setCvv2("012")
->setFirstName("Joe")
->setLastName("Shopper");
// ### FundingInstrument
// A resource representing a Payer's funding instrument.
@@ -44,21 +44,25 @@ $fi->setCreditCard($card);
// to 'credit_card' and add an array of funding instruments.
$payer = new Payer();
$payer->setPaymentMethod("credit_card")
->setFundingInstruments(array($fi));
->setFundingInstruments(array($fi));
// ### Itemized information
// (Optional) Lets you specify item wise
// information
$item1 = new Item();
$item1->setName('Ground Coffee 40 oz')
->setCurrency('USD')
->setQuantity(1)
->setPrice('7.50');
->setDescription('Ground Coffee 40 oz')
->setCurrency('USD')
->setQuantity(1)
->setTax('0.30')
->setPrice('7.50');
$item2 = new Item();
$item2->setName('Granola bars')
->setCurrency('USD')
->setQuantity(5)
->setPrice('2.00');
->setDescription('Granola Bars with Peanuts')
->setCurrency('USD')
->setQuantity(5)
->setTax('0.20')
->setPrice('2.00');
$itemList = new ItemList();
$itemList->setItems(array($item1, $item2));
@@ -69,8 +73,8 @@ $itemList->setItems(array($item1, $item2));
// charges etc.
$details = new Details();
$details->setShipping('1.20')
->setTax('1.30')
->setSubtotal('17.50');
->setTax('1.30')
->setSubtotal('17.50');
// ### Amount
// Lets you specify a payment amount.
@@ -78,8 +82,8 @@ $details->setShipping('1.20')
// such as shipping, tax.
$amount = new Amount();
$amount->setCurrency("USD")
->setTotal("20.00")
->setDetails($details);
->setTotal("20.00")
->setDetails($details);
// ### Transaction
// A transaction defines the contract of a
@@ -87,39 +91,39 @@ $amount->setCurrency("USD")
// is fulfilling it.
$transaction = new Transaction();
$transaction->setAmount($amount)
->setItemList($itemList)
->setDescription("Payment description");
->setItemList($itemList)
->setDescription("Payment description");
// ### Payment
// A Payment Resource; create one using
// the above types and intent set to sale 'sale'
$payment = new Payment();
$payment->setIntent("sale")
->setPayer($payer)
->setTransactions(array($transaction));
->setPayer($payer)
->setTransactions(array($transaction));
// ### Create Payment
// Create a payment by calling the payment->create() method
// with a valid ApiContext (See bootstrap.php for more on `ApiContext`)
// The return object contains the state.
try {
$payment->create($apiContext);
$payment->create($apiContext);
} catch (PayPal\Exception\PPConnectionException $ex) {
echo "Exception: " . $ex->getMessage() . PHP_EOL;
var_dump($ex->getData());
exit(1);
echo "Exception: " . $ex->getMessage() . PHP_EOL;
var_dump($ex->getData());
exit(1);
}
?>
<html>
<head>
<title>Direct Credit card payments</title>
<title>Direct Credit card payments</title>
</head>
<body>
<div>
Created payment:
<?php echo $payment->getId();?>
</div>
<div>
Created payment:
<?php echo $payment->getId();?>
</div>
<pre><?php var_dump($payment->toArray());?></pre>
<a href='../index.html'>Back</a>
<a href='../index.html'>Back</a>
</body>
</html>
</html>

View File

@@ -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