forked from LiveCarta/PayPal-PHP-SDK
Updates to Future Payment Sample
- Renamed CorrelationId to ClientMetadataId - Updated Source and Docs
This commit is contained in:
@@ -18,18 +18,18 @@ class FuturePayment extends Payment
|
|||||||
* Extends the Payment object to create future payments
|
* Extends the Payment object to create future payments
|
||||||
*
|
*
|
||||||
* @param null $apiContext
|
* @param null $apiContext
|
||||||
* @param $correlationId
|
* @param string|null $clientMetadataId
|
||||||
* @return $this
|
* @return $this
|
||||||
*/
|
*/
|
||||||
public function create($apiContext = null, $correlationId = null)
|
public function create($apiContext = null, $clientMetadataId = null)
|
||||||
{
|
{
|
||||||
if ($apiContext == null) {
|
if ($apiContext == null) {
|
||||||
$apiContext = new ApiContext(self::$credential);
|
$apiContext = new ApiContext(self::$credential);
|
||||||
}
|
}
|
||||||
$headers = array();
|
$headers = array();
|
||||||
if ($correlationId != null) {
|
if ($clientMetadataId != null) {
|
||||||
$headers = array(
|
$headers = array(
|
||||||
'PAYPAL-CLIENT-METADATA-ID' => $correlationId
|
'PAYPAL-CLIENT-METADATA-ID' => $clientMetadataId
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
$payLoad = $this->toJSON();
|
$payLoad = $this->toJSON();
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
@@ -33,7 +33,8 @@ 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>correlation id from mobile sdk</p></div></div><div class="code"><div class="wrapper"><span class="hljs-variable">$correlationId</span> = <span class="hljs-string">'123123456'</span>;
|
<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
|
||||||
|
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
|
||||||
it in a database for later use</p></div></div><div class="code"><div class="wrapper"> <span class="hljs-variable">$refreshToken</span> = FuturePayment::getRefreshToken(<span class="hljs-variable">$authorizationCode</span>, <span class="hljs-variable">$apiContext</span>);</div></div></div><div class="segment"><div class="comments "><div class="wrapper"><p>Update the access token in apiContext</p></div></div><div class="code"><div class="wrapper"> <span class="hljs-variable">$payment</span>->updateAccessToken(<span class="hljs-variable">$refreshToken</span>, <span class="hljs-variable">$apiContext</span>);</div></div></div><div class="segment"><div class="comments "><div class="wrapper"><p>For Sample Purposes Only.</p></div></div><div class="code"><div class="wrapper"> <span class="hljs-variable">$request</span> = <span class="hljs-keyword">clone</span> <span class="hljs-variable">$payment</span>;</div></div></div><div class="segment"><div class="comments "><div class="wrapper"><h3 id="create-future-payment">Create Future Payment</h3>
|
it in a database for later use</p></div></div><div class="code"><div class="wrapper"> <span class="hljs-variable">$refreshToken</span> = FuturePayment::getRefreshToken(<span class="hljs-variable">$authorizationCode</span>, <span class="hljs-variable">$apiContext</span>);</div></div></div><div class="segment"><div class="comments "><div class="wrapper"><p>Update the access token in apiContext</p></div></div><div class="code"><div class="wrapper"> <span class="hljs-variable">$payment</span>->updateAccessToken(<span class="hljs-variable">$refreshToken</span>, <span class="hljs-variable">$apiContext</span>);</div></div></div><div class="segment"><div class="comments "><div class="wrapper"><p>For Sample Purposes Only.</p></div></div><div class="code"><div class="wrapper"> <span class="hljs-variable">$request</span> = <span class="hljs-keyword">clone</span> <span class="hljs-variable">$payment</span>;</div></div></div><div class="segment"><div class="comments "><div class="wrapper"><h3 id="create-future-payment">Create Future Payment</h3>
|
||||||
@@ -43,7 +44,7 @@ passing it a valid apiContext.
|
|||||||
The return object contains the state and the
|
The return object contains the state and the
|
||||||
url to which the buyer must be redirected to
|
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">$correlationId</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>) {
|
} <span class="hljs-keyword">catch</span> (<span class="hljs-keyword">Exception</span> <span class="hljs-variable">$ex</span>) {
|
||||||
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>);
|
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>);
|
||||||
|
|||||||
@@ -59,8 +59,9 @@ $payment->setIntent("authorize")
|
|||||||
// authorization code from mobile sdk
|
// authorization code from mobile sdk
|
||||||
$authorizationCode = 'EJfRuAqXEE95pdVMmOym_mftTbeJD03RBX-Zjg9pLCAhdLqLeRR6YSKTNsrbQGX7lFoZ3SxwFyxADEZbBOxpn023W9SA0JzSQAy-9eLdON5eDPAyMyKlHyNVS2DqBR2iWVfQGfudbd9MDoRxMEjIZbY';
|
$authorizationCode = 'EJfRuAqXEE95pdVMmOym_mftTbeJD03RBX-Zjg9pLCAhdLqLeRR6YSKTNsrbQGX7lFoZ3SxwFyxADEZbBOxpn023W9SA0JzSQAy-9eLdON5eDPAyMyKlHyNVS2DqBR2iWVfQGfudbd9MDoRxMEjIZbY';
|
||||||
|
|
||||||
// correlation id from mobile sdk
|
// Client Metadata id from mobile sdk
|
||||||
$correlationId = '123123456';
|
// For more information look for PayPal-Client-Metadata-Id in https://developer.paypal.com/docs/api/#authentication--headers
|
||||||
|
$clientMetadataId = '123123456';
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// Exchange authorization_code for long living refresh token. You should store
|
// Exchange authorization_code for long living refresh token. You should store
|
||||||
@@ -81,7 +82,7 @@ try {
|
|||||||
// url to which the buyer must be redirected to
|
// 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.
|
// Please note that currently future payments works only with PayPal as a funding instrument.
|
||||||
$payment->create($apiContext, $correlationId);
|
$payment->create($apiContext, $clientMetadataId);
|
||||||
|
|
||||||
} catch (Exception $ex) {
|
} catch (Exception $ex) {
|
||||||
ResultPrinter::printError("Future Payment", "Payment", null, $request, $ex);
|
ResultPrinter::printError("Future Payment", "Payment", null, $request, $ex);
|
||||||
|
|||||||
Reference in New Issue
Block a user