forked from LiveCarta/PayPal-PHP-SDK
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:
@@ -19,7 +19,7 @@ use PayPal\Common\PayPalModel;
|
|||||||
* @property \PayPal\Api\Currency net_amount
|
* @property \PayPal\Api\Currency net_amount
|
||||||
* @property string payer_email
|
* @property string payer_email
|
||||||
* @property string payer_name
|
* @property string payer_name
|
||||||
* @property string time_updated
|
* @property string time_stamp
|
||||||
* @property string time_zone
|
* @property string time_zone
|
||||||
*/
|
*/
|
||||||
class AgreementTransaction extends PayPalModel
|
class AgreementTransaction extends PayPalModel
|
||||||
@@ -211,13 +211,13 @@ class AgreementTransaction extends PayPalModel
|
|||||||
/**
|
/**
|
||||||
* Time at which this transaction happened.
|
* Time at which this transaction happened.
|
||||||
*
|
*
|
||||||
* @param string $time_updated
|
* @param string $time_stamp
|
||||||
*
|
*
|
||||||
* @return $this
|
* @return $this
|
||||||
*/
|
*/
|
||||||
public function setTimeUpdated($time_updated)
|
public function setTimeStamp($time_stamp)
|
||||||
{
|
{
|
||||||
$this->time_updated = $time_updated;
|
$this->time_stamp = $time_stamp;
|
||||||
return $this;
|
return $this;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -226,9 +226,9 @@ class AgreementTransaction extends PayPalModel
|
|||||||
*
|
*
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
public function getTimeUpdated()
|
public function getTimeStamp()
|
||||||
{
|
{
|
||||||
return $this->time_updated;
|
return $this->time_stamp;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -6,19 +6,25 @@
|
|||||||
// https://developer.paypal.com/webapps/developer/docs/api/#search-for-transactions
|
// 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
|
// 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 */
|
/** @var Agreement $agreement */
|
||||||
$agreement = require 'GetBillingAgreement.php';
|
$agreement = require 'GetBillingAgreement.php';
|
||||||
|
|
||||||
|
// Replace this with your AgreementId to search transactions based on your agreement.
|
||||||
$agreementId = $agreement->getId();
|
$agreementId = $agreement->getId();
|
||||||
|
|
||||||
use PayPal\Api\Agreement;
|
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 {
|
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) {
|
} catch (Exception $ex) {
|
||||||
ResultPrinter::printError("Search for Transactions", "AgreementTransaction", $agreementId, null, $ex);
|
ResultPrinter::printError("Search for Transactions", "AgreementTransaction", $agreementId, null, $ex);
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
ResultPrinter::printResult("Search for Transactions", "AgreementTransaction", $agreementId, null, $result);
|
ResultPrinter::printResult("Search for Transactions", "AgreementTransaction", $agreementId, $params, $result);
|
||||||
|
|
||||||
return $agreement;
|
return $agreement;
|
||||||
|
|||||||
@@ -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",
|
"pageTitle": "payouts/CreateBatchPayout",
|
||||||
"title": "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",
|
"type": "file",
|
||||||
"data": {
|
"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",
|
"pageTitle": "payouts/CreateSinglePayout",
|
||||||
"title": "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",
|
"type": "file",
|
||||||
"data": {
|
"data": {
|
||||||
|
|||||||
@@ -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"><?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>
|
<!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"><?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:
|
<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>
|
<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&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>
|
API used: GET /v1/payments/billing-agreements/<Agreement-Id>/transactions? start-date=yyyy-mm-dd&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>;
|
<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>->getId();
|
||||||
<span class="hljs-variable">$agreementId</span> = <span class="hljs-variable">$agreement</span>->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>;
|
<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> => date(<span class="hljs-string">'Y-m-d'</span>, strtotime(<span class="hljs-string">'-15 years'</span>)), <span class="hljs-string">'end_date'</span> => 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-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> => <span class="hljs-string">'2013-01-01'</span>, <span class="hljs-string">'end_date'</span> => <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>) {
|
} <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>);
|
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>);
|
<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>
|
<span class="hljs-keyword">return</span> <span class="hljs-variable">$agreement</span>;</div></div></div></div></body></html>
|
||||||
@@ -18,7 +18,7 @@ class AgreementTransactionTest extends \PHPUnit_Framework_TestCase
|
|||||||
*/
|
*/
|
||||||
public static function getJson()
|
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->getNetAmount());
|
||||||
$this->assertNotNull($obj->getPayerEmail());
|
$this->assertNotNull($obj->getPayerEmail());
|
||||||
$this->assertNotNull($obj->getPayerName());
|
$this->assertNotNull($obj->getPayerName());
|
||||||
$this->assertNotNull($obj->getTimeUpdated());
|
$this->assertNotNull($obj->getTimeStamp());
|
||||||
$this->assertNotNull($obj->getTimeZone());
|
$this->assertNotNull($obj->getTimeZone());
|
||||||
$this->assertEquals(self::getJson(), $obj->toJson());
|
$this->assertEquals(self::getJson(), $obj->toJson());
|
||||||
return $obj;
|
return $obj;
|
||||||
@@ -67,7 +67,7 @@ class AgreementTransactionTest extends \PHPUnit_Framework_TestCase
|
|||||||
$this->assertEquals($obj->getNetAmount(), CurrencyTest::getObject());
|
$this->assertEquals($obj->getNetAmount(), CurrencyTest::getObject());
|
||||||
$this->assertEquals($obj->getPayerEmail(), "TestSample");
|
$this->assertEquals($obj->getPayerEmail(), "TestSample");
|
||||||
$this->assertEquals($obj->getPayerName(), "TestSample");
|
$this->assertEquals($obj->getPayerName(), "TestSample");
|
||||||
$this->assertEquals($obj->getTimeUpdated(), "TestSample");
|
$this->assertEquals($obj->getTimeStamp(), "TestSample");
|
||||||
$this->assertEquals($obj->getTimeZone(), "TestSample");
|
$this->assertEquals($obj->getTimeZone(), "TestSample");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -175,7 +175,8 @@ class BillingAgreementsFunctionalTest extends \PHPUnit_Framework_TestCase
|
|||||||
*/
|
*/
|
||||||
public function testGetTransactions($agreement)
|
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->assertNotNull($result);
|
||||||
$this->assertTrue(is_array($result->getAgreementTransactionList()));
|
$this->assertTrue(is_array($result->getAgreementTransactionList()));
|
||||||
$this->assertTrue(sizeof($result->getAgreementTransactionList()) > 0);
|
$this->assertTrue(sizeof($result->getAgreementTransactionList()) > 0);
|
||||||
|
|||||||
Reference in New Issue
Block a user