Fixes to Agreement Search Transaction TimeStamp Parameter

- Updated TimeUpdate parameter to TimeStamp
- Updated Tests accordingly.
- Updated Samples accordingly
- Fixes #221
This commit is contained in:
japatel
2015-01-23 12:30:23 -06:00
parent 4326394447
commit d9a5baf202
6 changed files with 142 additions and 21 deletions

View File

@@ -19,7 +19,7 @@ use PayPal\Common\PayPalModel;
* @property \PayPal\Api\Currency net_amount
* @property string payer_email
* @property string payer_name
* @property string time_updated
* @property string time_stamp
* @property string time_zone
*/
class AgreementTransaction extends PayPalModel
@@ -211,13 +211,13 @@ class AgreementTransaction extends PayPalModel
/**
* Time at which this transaction happened.
*
* @param string $time_updated
* @param string $time_stamp
*
* @return $this
*/
public function setTimeUpdated($time_updated)
public function setTimeStamp($time_stamp)
{
$this->time_updated = $time_updated;
$this->time_stamp = $time_stamp;
return $this;
}
@@ -226,9 +226,9 @@ class AgreementTransaction extends PayPalModel
*
* @return string
*/
public function getTimeUpdated()
public function getTimeStamp()
{
return $this->time_updated;
return $this->time_stamp;
}
/**

View File

@@ -6,19 +6,25 @@
// https://developer.paypal.com/webapps/developer/docs/api/#search-for-transactions
// API used: GET /v1/payments/billing-agreements/<Agreement-Id>/transactions? start-date=yyyy-mm-dd&end-date=yyyy-mm-dd
// Retrieving the Agreement object from Create Agreement From Credit Card Sample
// Retrieving the Agreement object from Get Billing Agreement. This may not be necessary if you are trying to search for transactions of already created Agreement.
/** @var Agreement $agreement */
$agreement = require 'GetBillingAgreement.php';
// Replace this with your AgreementId to search transactions based on your agreement.
$agreementId = $agreement->getId();
use PayPal\Api\Agreement;
// Adding Params to search transaction within a given time frame.
$params = array('start_date' => date('Y-m-d', strtotime('-15 years')), 'end_date' => date('Y-m-d', strtotime('+5 days')));
try {
$result = Agreement::searchTransactions($agreementId,array('start_date' => '2013-01-01', 'end_date' => '2015-01-20'), $apiContext);
$result = Agreement::searchTransactions($agreementId, $params, $apiContext);
} catch (Exception $ex) {
ResultPrinter::printError("Search for Transactions", "AgreementTransaction", $agreementId, null, $ex);
exit(1);
}
ResultPrinter::printResult("Search for Transactions", "AgreementTransaction", $agreementId, null, $result);
ResultPrinter::printResult("Search for Transactions", "AgreementTransaction", $agreementId, $params, $result);
return $agreement;

View File

@@ -1199,7 +1199,72 @@ f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3
"pageTitle": "payouts/CreateBatchPayout",
"title": "CreateBatchPayout"
},
"depth": 2
"depth": 2,
"outline": [
{
"type": "heading",
"data": {
"level": 1,
"title": "Create Bulk Payout Sample",
"slug": "create-bulk-payout-sample"
},
"depth": 1,
"children": [
{
"type": "heading",
"data": {
"level": 3,
"title": "NOTE:",
"slug": "note"
},
"depth": 3,
"children": [
{
"type": "heading",
"data": {
"level": 4,
"title": "Batch Header Instance",
"slug": "batch-header-instance"
},
"depth": 4
}, {
"type": "heading",
"data": {
"level": 4,
"title": "Sender Item",
"slug": "sender-item"
},
"depth": 4
}, {
"type": "heading",
"data": {
"level": 4,
"title": "Sender Item 2",
"slug": "sender-item-2"
},
"depth": 4
}, {
"type": "heading",
"data": {
"level": 4,
"title": "Sender Item 3",
"slug": "sender-item-3"
},
"depth": 4
}
]
}, {
"type": "heading",
"data": {
"level": 3,
"title": "Create Payout",
"slug": "create-payout"
},
"depth": 3
}
]
}
]
}, {
"type": "file",
"data": {
@@ -1217,7 +1282,56 @@ f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3
"pageTitle": "payouts/CreateSinglePayout",
"title": "CreateSinglePayout"
},
"depth": 2
"depth": 2,
"outline": [
{
"type": "heading",
"data": {
"level": 1,
"title": "Create Single Synchronous Payout Sample",
"slug": "create-single-synchronous-payout-sample"
},
"depth": 1,
"children": [
{
"type": "heading",
"data": {
"level": 3,
"title": "NOTE:",
"slug": "note"
},
"depth": 3,
"children": [
{
"type": "heading",
"data": {
"level": 4,
"title": "Batch Header Instance",
"slug": "batch-header-instance"
},
"depth": 4
}, {
"type": "heading",
"data": {
"level": 4,
"title": "Sender Item",
"slug": "sender-item"
},
"depth": 4
}
]
}, {
"type": "heading",
"data": {
"level": 3,
"title": "Create Payout",
"slug": "create-payout"
},
"depth": 3
}
]
}
]
}, {
"type": "file",
"data": {

View File

@@ -1,18 +1,18 @@
<!DOCTYPE html><html lang="en"><head><title>billing/SearchBillingTransactions</title></head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0"><meta name="groc-relative-root" content="../"><meta name="groc-document-path" content="billing/SearchBillingTransactions"><meta name="groc-project-path" content="billing/SearchBillingTransactions.php"><link rel="stylesheet" type="text/css" media="all" href="../assets/style.css"><script type="text/javascript" src="../assets/behavior.js"></script><body><div id="meta"><div class="file-path">billing/SearchBillingTransactions.php</div></div><div id="document"><div class="segment"><div class="code"><div class="wrapper"><span class="hljs-preprocessor">&lt;?php</span></div></div></div><div class="segment"><div class="comments "><div class="wrapper"><h1 id="search-billing-transactions-sample">Search Billing Transactions Sample</h1>
<p>This sample code demonstrate how you can search all billing transactions, as documented here at:
<a href="https://developer.paypal.com/webapps/developer/docs/api/#search-for-transactions">https://developer.paypal.com/webapps/developer/docs/api/#search-for-transactions</a>
API used: GET /v1/payments/billing-agreements/<Agreement-Id>/transactions? start-date=yyyy-mm-dd&amp;end-date=yyyy-mm-dd</p></div></div></div><div class="segment"><div class="comments "><div class="wrapper"><p>Retrieving the Agreement object from Create Agreement From Credit Card Sample</p></div></div><div class="code"><div class="wrapper"><span class="hljs-comment">/**<span class="hljs-phpdoc"> @var</span> Agreement $agreement */</span>
<span class="hljs-variable">$agreement</span> = <span class="hljs-keyword">require</span> <span class="hljs-string">'GetBillingAgreement.php'</span>;
<span class="hljs-variable">$agreementId</span> = <span class="hljs-variable">$agreement</span>-&gt;getId();
<span class="hljs-keyword">use</span> <span class="hljs-title">PayPal</span>\<span class="hljs-title">Api</span>\<span class="hljs-title">Agreement</span>;
API used: GET /v1/payments/billing-agreements/<Agreement-Id>/transactions? start-date=yyyy-mm-dd&amp;end-date=yyyy-mm-dd</p></div></div></div><div class="segment"><div class="comments "><div class="wrapper"><p>Retrieving the Agreement object from Get Billing Agreement. This may not be necessary if you are trying to search for transactions of already created Agreement.</p></div></div><div class="code"><div class="wrapper"><span class="hljs-comment">/**<span class="hljs-phpdoc"> @var</span> Agreement $agreement */</span>
<span class="hljs-variable">$agreement</span> = <span class="hljs-keyword">require</span> <span class="hljs-string">'GetBillingAgreement.php'</span>;</div></div></div><div class="segment"><div class="comments "><div class="wrapper"><p>Replace this with your AgreementId to search transactions based on your agreement.</p></div></div><div class="code"><div class="wrapper"><span class="hljs-variable">$agreementId</span> = <span class="hljs-variable">$agreement</span>-&gt;getId();
<span class="hljs-keyword">use</span> <span class="hljs-title">PayPal</span>\<span class="hljs-title">Api</span>\<span class="hljs-title">Agreement</span>;</div></div></div><div class="segment"><div class="comments "><div class="wrapper"><p>Adding Params to search transaction within a given time frame.</p></div></div><div class="code"><div class="wrapper"><span class="hljs-variable">$params</span> = <span class="hljs-keyword">array</span>(<span class="hljs-string">'start_date'</span> =&gt; date(<span class="hljs-string">'Y-m-d'</span>, strtotime(<span class="hljs-string">'-15 years'</span>)), <span class="hljs-string">'end_date'</span> =&gt; date(<span class="hljs-string">'Y-m-d'</span>, strtotime(<span class="hljs-string">'+5 days'</span>)));
<span class="hljs-keyword">try</span> {
<span class="hljs-variable">$result</span> = Agreement::searchTransactions(<span class="hljs-variable">$agreementId</span>,<span class="hljs-keyword">array</span>(<span class="hljs-string">'start_date'</span> =&gt; <span class="hljs-string">'2013-01-01'</span>, <span class="hljs-string">'end_date'</span> =&gt; <span class="hljs-string">'2015-01-20'</span>), <span class="hljs-variable">$apiContext</span>);
<span class="hljs-variable">$result</span> = Agreement::searchTransactions(<span class="hljs-variable">$agreementId</span>, <span class="hljs-variable">$params</span>, <span class="hljs-variable">$apiContext</span>);
} <span class="hljs-keyword">catch</span> (<span class="hljs-keyword">Exception</span> <span class="hljs-variable">$ex</span>) {
ResultPrinter::printError(<span class="hljs-string">"Search for Transactions"</span>, <span class="hljs-string">"AgreementTransaction"</span>, <span class="hljs-variable">$agreementId</span>, <span class="hljs-keyword">null</span>, <span class="hljs-variable">$ex</span>);
<span class="hljs-keyword">exit</span>(<span class="hljs-number">1</span>);
}
ResultPrinter::printResult(<span class="hljs-string">"Search for Transactions"</span>, <span class="hljs-string">"AgreementTransaction"</span>, <span class="hljs-variable">$agreementId</span>, <span class="hljs-keyword">null</span>, <span class="hljs-variable">$result</span>);
ResultPrinter::printResult(<span class="hljs-string">"Search for Transactions"</span>, <span class="hljs-string">"AgreementTransaction"</span>, <span class="hljs-variable">$agreementId</span>, <span class="hljs-variable">$params</span>, <span class="hljs-variable">$result</span>);
<span class="hljs-keyword">return</span> <span class="hljs-variable">$agreement</span>;</div></div></div></div></body></html>

View File

@@ -18,7 +18,7 @@ class AgreementTransactionTest extends \PHPUnit_Framework_TestCase
*/
public static function getJson()
{
return '{"transaction_id":"TestSample","status":"TestSample","transaction_type":"TestSample","amount":' .CurrencyTest::getJson() . ',"fee_amount":' .CurrencyTest::getJson() . ',"net_amount":' .CurrencyTest::getJson() . ',"payer_email":"TestSample","payer_name":"TestSample","time_updated":"TestSample","time_zone":"TestSample"}';
return '{"transaction_id":"TestSample","status":"TestSample","transaction_type":"TestSample","amount":' .CurrencyTest::getJson() . ',"fee_amount":' .CurrencyTest::getJson() . ',"net_amount":' .CurrencyTest::getJson() . ',"payer_email":"TestSample","payer_name":"TestSample","time_stamp":"TestSample","time_zone":"TestSample"}';
}
/**
@@ -47,7 +47,7 @@ class AgreementTransactionTest extends \PHPUnit_Framework_TestCase
$this->assertNotNull($obj->getNetAmount());
$this->assertNotNull($obj->getPayerEmail());
$this->assertNotNull($obj->getPayerName());
$this->assertNotNull($obj->getTimeUpdated());
$this->assertNotNull($obj->getTimeStamp());
$this->assertNotNull($obj->getTimeZone());
$this->assertEquals(self::getJson(), $obj->toJson());
return $obj;
@@ -67,7 +67,7 @@ class AgreementTransactionTest extends \PHPUnit_Framework_TestCase
$this->assertEquals($obj->getNetAmount(), CurrencyTest::getObject());
$this->assertEquals($obj->getPayerEmail(), "TestSample");
$this->assertEquals($obj->getPayerName(), "TestSample");
$this->assertEquals($obj->getTimeUpdated(), "TestSample");
$this->assertEquals($obj->getTimeStamp(), "TestSample");
$this->assertEquals($obj->getTimeZone(), "TestSample");
}

View File

@@ -175,7 +175,8 @@ class BillingAgreementsFunctionalTest extends \PHPUnit_Framework_TestCase
*/
public function testGetTransactions($agreement)
{
$result = Agreement::searchTransactions($agreement->getId(),array('start_date' => '2013-01-01', 'end_date' => '2015-01-20'), null, $this->mockPayPalRestCall);
$params = array('start_date' => date('Y-m-d', strtotime('-15 years')), 'end_date' => date('Y-m-d', strtotime('+5 days')));
$result = Agreement::searchTransactions($agreement->getId(), $params, null, $this->mockPayPalRestCall);
$this->assertNotNull($result);
$this->assertTrue(is_array($result->getAgreementTransactionList()));
$this->assertTrue(sizeof($result->getAgreementTransactionList()) > 0);