forked from LiveCarta/PayPal-PHP-SDK
@@ -125,6 +125,10 @@ class OAuthTokenCredential extends PayPalResourceModel
|
|||||||
*/
|
*/
|
||||||
public function getAccessToken($config)
|
public function getAccessToken($config)
|
||||||
{
|
{
|
||||||
|
// Check if we already have accessToken in Cache
|
||||||
|
if ($this->accessToken && (time() - $this->tokenCreateTime) < ($this->tokenExpiresIn - self::$expiryBufferTime)) {
|
||||||
|
return $this->accessToken;
|
||||||
|
}
|
||||||
// Check for persisted data first
|
// Check for persisted data first
|
||||||
$token = AuthorizationCache::pull($config, $this->clientId);
|
$token = AuthorizationCache::pull($config, $this->clientId);
|
||||||
if ($token) {
|
if ($token) {
|
||||||
|
|||||||
@@ -962,7 +962,77 @@ 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": "payments/CreateFuturePayment",
|
"pageTitle": "payments/CreateFuturePayment",
|
||||||
"title": "CreateFuturePayment"
|
"title": "CreateFuturePayment"
|
||||||
},
|
},
|
||||||
"depth": 2
|
"depth": 2,
|
||||||
|
"outline": [
|
||||||
|
{
|
||||||
|
"type": "heading",
|
||||||
|
"data": {
|
||||||
|
"level": 1,
|
||||||
|
"title": "Create Payment using PayPal as payment method",
|
||||||
|
"slug": "create-payment-using-paypal-as-payment-method"
|
||||||
|
},
|
||||||
|
"depth": 1,
|
||||||
|
"children": [
|
||||||
|
{
|
||||||
|
"type": "heading",
|
||||||
|
"data": {
|
||||||
|
"level": 3,
|
||||||
|
"title": "Payer",
|
||||||
|
"slug": "payer"
|
||||||
|
},
|
||||||
|
"depth": 3
|
||||||
|
}, {
|
||||||
|
"type": "heading",
|
||||||
|
"data": {
|
||||||
|
"level": 3,
|
||||||
|
"title": "Amount",
|
||||||
|
"slug": "amount"
|
||||||
|
},
|
||||||
|
"depth": 3
|
||||||
|
}, {
|
||||||
|
"type": "heading",
|
||||||
|
"data": {
|
||||||
|
"level": 3,
|
||||||
|
"title": "Transaction",
|
||||||
|
"slug": "transaction"
|
||||||
|
},
|
||||||
|
"depth": 3
|
||||||
|
}, {
|
||||||
|
"type": "heading",
|
||||||
|
"data": {
|
||||||
|
"level": 3,
|
||||||
|
"title": "Redirect urls",
|
||||||
|
"slug": "redirect-urls"
|
||||||
|
},
|
||||||
|
"depth": 3
|
||||||
|
}, {
|
||||||
|
"type": "heading",
|
||||||
|
"data": {
|
||||||
|
"level": 3,
|
||||||
|
"title": "Payment",
|
||||||
|
"slug": "payment"
|
||||||
|
},
|
||||||
|
"depth": 3
|
||||||
|
}, {
|
||||||
|
"type": "heading",
|
||||||
|
"data": {
|
||||||
|
"level": 3,
|
||||||
|
"title": "Get Refresh Token",
|
||||||
|
"slug": "get-refresh-token"
|
||||||
|
},
|
||||||
|
"depth": 3
|
||||||
|
}, {
|
||||||
|
"type": "heading",
|
||||||
|
"data": {
|
||||||
|
"level": 3,
|
||||||
|
"title": "Create Future Payment",
|
||||||
|
"slug": "create-future-payment"
|
||||||
|
},
|
||||||
|
"depth": 3
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
}, {
|
}, {
|
||||||
"type": "file",
|
"type": "file",
|
||||||
"data": {
|
"data": {
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ the above types and intent set to 'sale'</p></div></div><div class="code
|
|||||||
->setPayer(<span class="hljs-variable">$payer</span>)
|
->setPayer(<span class="hljs-variable">$payer</span>)
|
||||||
->setRedirectUrls(<span class="hljs-variable">$redirectUrls</span>)
|
->setRedirectUrls(<span class="hljs-variable">$redirectUrls</span>)
|
||||||
->setTransactions(<span class="hljs-keyword">array</span>(<span class="hljs-variable">$transaction</span>));</div></div></div><div class="segment"><div class="comments "><div class="wrapper"><h3 id="get-refresh-token">Get Refresh Token</h3>
|
->setTransactions(<span class="hljs-keyword">array</span>(<span class="hljs-variable">$transaction</span>));</div></div></div><div class="segment"><div class="comments "><div class="wrapper"><h3 id="get-refresh-token">Get Refresh Token</h3>
|
||||||
<p>You need to get a permanent refresh token from the authorization code, retrieved from the mobile sdk.</p></div></div></div><div class="segment"><div class="comments "><div class="wrapper"><p>authorization code from mobile sdk</p></div></div><div class="code"><div class="wrapper"><span class="hljs-variable">$authorizationCode</span> = <span class="hljs-string">'EJfRuAqXEE95pdVMmOym_mftTbeJD03RBX-Zjg9pLCAhdLqLeRR6YSKTNsrbQGX7lFoZ3SxwFyxADEZbBOxpn023W9SA0JzSQAy-9eLdON5eDPAyMyKlHyNVS2DqBR2iWVfQGfudbd9MDoRxMEjIZbY'</span>;</div></div></div><div class="segment"><div class="comments "><div class="wrapper"><p>Client Metadata id from mobile sdk
|
<p>You need to get a permanent refresh token from the authorization code, retrieved from the mobile sdk.</p></div></div></div><div class="segment"><div class="comments "><div class="wrapper"><p>authorization code from mobile sdk</p></div></div><div class="code"><div class="wrapper"><span class="hljs-variable">$authorizationCode</span> = <span class="hljs-string">'EK7_MAKlB4QxW1dWKnvnr_CEdLKnpH3vnGAf155Eg8yO8e_7VaQonsqIbTK9CR7tUsoIN2eCc5raOfaGbZDCT0j6k_BDE8GkyLgk8ulcQyR_3S-fgBzjMzBwNqpj3AALgCVR03zw1iT8HTsxZXp3s2U'</span>;</div></div></div><div class="segment"><div class="comments "><div class="wrapper"><p>Client Metadata id from mobile sdk
|
||||||
For more information look for PayPal-Client-Metadata-Id in <a href="https://developer.paypal.com/docs/api/#authentication--headers">https://developer.paypal.com/docs/api/#authentication--headers</a></p></div></div><div class="code"><div class="wrapper"><span class="hljs-variable">$clientMetadataId</span> = <span class="hljs-string">'123123456'</span>;
|
For more information look for PayPal-Client-Metadata-Id in <a href="https://developer.paypal.com/docs/api/#authentication--headers">https://developer.paypal.com/docs/api/#authentication--headers</a></p></div></div><div class="code"><div class="wrapper"><span class="hljs-variable">$clientMetadataId</span> = <span class="hljs-string">'123123456'</span>;
|
||||||
|
|
||||||
<span class="hljs-keyword">try</span> {</div></div></div><div class="segment"><div class="comments "><div class="wrapper"><p>Exchange authorization_code for long living refresh token. You should store
|
<span class="hljs-keyword">try</span> {</div></div></div><div class="segment"><div class="comments "><div class="wrapper"><p>Exchange authorization_code for long living refresh token. You should store
|
||||||
@@ -47,7 +47,7 @@ url to which the buyer must be redirected to
|
|||||||
for payment approval
|
for payment approval
|
||||||
Please note that currently future payments works only with PayPal as a funding instrument.</p></div></div><div class="code"><div class="wrapper"> <span class="hljs-variable">$payment</span>->create(<span class="hljs-variable">$apiContext</span>, <span class="hljs-variable">$clientMetadataId</span>);
|
Please note that currently future payments works only with PayPal as a funding instrument.</p></div></div><div class="code"><div class="wrapper"> <span class="hljs-variable">$payment</span>->create(<span class="hljs-variable">$apiContext</span>, <span class="hljs-variable">$clientMetadataId</span>);
|
||||||
|
|
||||||
} <span class="hljs-keyword">catch</span> (<span class="hljs-keyword">Exception</span> <span class="hljs-variable">$ex</span>) {</div></div></div><div class="segment"><div class="comments "><div class="wrapper"><p>NOTE: PLEASE DO NOT USE RESULTPRINTER CLASS IN YOUR ORIGINAL CODE. FOR SAMPLE ONLY</p></div></div><div class="code"><div class="wrapper"> ResultPrinter::printError(<span class="hljs-string">"Future Payment"</span>, <span class="hljs-string">"Payment"</span>, <span class="hljs-keyword">null</span>, <span class="hljs-variable">$request</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>) {</div></div></div><div class="segment"><div class="comments "><div class="wrapper"><p>NOTE: PLEASE DO NOT USE RESULTPRINTER CLASS IN YOUR ORIGINAL CODE. FOR SAMPLE ONLY</p></div></div><div class="code"><div class="wrapper"> ResultPrinter::printError(<span class="hljs-string">"Future Payment"</span>, <span class="hljs-string">"Payment"</span>, <span class="hljs-keyword">null</span>, <span class="hljs-variable">$payment</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>);
|
||||||
}</div></div></div><div class="segment"><div class="comments "><div class="wrapper"><p>NOTE: PLEASE DO NOT USE RESULTPRINTER CLASS IN YOUR ORIGINAL CODE. FOR SAMPLE ONLY</p></div></div><div class="code"><div class="wrapper"> ResultPrinter::printResult(<span class="hljs-string">"Future Payment"</span>, <span class="hljs-string">"Payment"</span>, <span class="hljs-variable">$payment</span>->getId(), <span class="hljs-variable">$request</span>, <span class="hljs-variable">$payment</span>);
|
}</div></div></div><div class="segment"><div class="comments "><div class="wrapper"><p>NOTE: PLEASE DO NOT USE RESULTPRINTER CLASS IN YOUR ORIGINAL CODE. FOR SAMPLE ONLY</p></div></div><div class="code"><div class="wrapper"> ResultPrinter::printResult(<span class="hljs-string">"Future Payment"</span>, <span class="hljs-string">"Payment"</span>, <span class="hljs-variable">$payment</span>->getId(), <span class="hljs-variable">$request</span>, <span class="hljs-variable">$payment</span>);
|
||||||
|
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ $payment->setIntent("authorize")
|
|||||||
// You need to get a permanent refresh token from the authorization code, retrieved from the mobile sdk.
|
// You need to get a permanent refresh token from the authorization code, retrieved from the mobile sdk.
|
||||||
|
|
||||||
// authorization code from mobile sdk
|
// authorization code from mobile sdk
|
||||||
$authorizationCode = 'EJfRuAqXEE95pdVMmOym_mftTbeJD03RBX-Zjg9pLCAhdLqLeRR6YSKTNsrbQGX7lFoZ3SxwFyxADEZbBOxpn023W9SA0JzSQAy-9eLdON5eDPAyMyKlHyNVS2DqBR2iWVfQGfudbd9MDoRxMEjIZbY';
|
$authorizationCode = 'EK7_MAKlB4QxW1dWKnvnr_CEdLKnpH3vnGAf155Eg8yO8e_7VaQonsqIbTK9CR7tUsoIN2eCc5raOfaGbZDCT0j6k_BDE8GkyLgk8ulcQyR_3S-fgBzjMzBwNqpj3AALgCVR03zw1iT8HTsxZXp3s2U';
|
||||||
|
|
||||||
// Client Metadata id from mobile sdk
|
// Client Metadata id from mobile sdk
|
||||||
// For more information look for PayPal-Client-Metadata-Id in https://developer.paypal.com/docs/api/#authentication--headers
|
// For more information look for PayPal-Client-Metadata-Id in https://developer.paypal.com/docs/api/#authentication--headers
|
||||||
@@ -87,7 +87,7 @@ try {
|
|||||||
|
|
||||||
} catch (Exception $ex) {
|
} catch (Exception $ex) {
|
||||||
// NOTE: PLEASE DO NOT USE RESULTPRINTER CLASS IN YOUR ORIGINAL CODE. FOR SAMPLE ONLY
|
// NOTE: PLEASE DO NOT USE RESULTPRINTER CLASS IN YOUR ORIGINAL CODE. FOR SAMPLE ONLY
|
||||||
ResultPrinter::printError("Future Payment", "Payment", null, $request, $ex);
|
ResultPrinter::printError("Future Payment", "Payment", null, $payment, $ex);
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user