PayPal\Api\FuturePayment::getRefreshToken PHP Method

getRefreshToken() public static method

Get a Refresh Token from Authorization Code
public static getRefreshToken ( $authorizationCode, ApiContext $apiContext = null ) : string | null
$authorizationCode
$apiContext PayPal\Rest\ApiContext
return string | null refresh token
    public static function getRefreshToken($authorizationCode, $apiContext = null)
    {
        $apiContext = $apiContext ? $apiContext : new ApiContext(self::$credential);
        $credential = $apiContext->getCredential();
        return $credential->getRefreshToken($apiContext->getConfig(), $authorizationCode);
    }

Usage Example

// ### Payment
// A Payment Resource; create one using
// the above types and intent set to 'sale'
$payment = new FuturePayment();
$payment->setIntent("authorize")->setPayer($payer)->setRedirectUrls($redirectUrls)->setTransactions(array($transaction));
// ### Get Refresh Token
// You need to get a permanent refresh token from the authorization code, retrieved from the mobile sdk.
// authorization code from mobile sdk
$authorizationCode = 'EJfRuAqXEE95pdVMmOym_mftTbeJD03RBX-Zjg9pLCAhdLqLeRR6YSKTNsrbQGX7lFoZ3SxwFyxADEZbBOxpn023W9SA0JzSQAy-9eLdON5eDPAyMyKlHyNVS2DqBR2iWVfQGfudbd9MDoRxMEjIZbY';
// Client Metadata id from mobile sdk
// For more information look for PayPal-Client-Metadata-Id in https://developer.paypal.com/docs/api/#authentication--headers
$clientMetadataId = '123123456';
try {
    // Exchange authorization_code for long living refresh token. You should store
    // it in a database for later use
    $refreshToken = FuturePayment::getRefreshToken($authorizationCode, $apiContext);
    // Update the access token in apiContext
    $payment->updateAccessToken($refreshToken, $apiContext);
    // For Sample Purposes Only.
    $request = clone $payment;
    // ### Create Future Payment
    // Create a payment by calling the 'create' method
    // passing it a valid apiContext.
    // (See bootstrap.php for more on `ApiContext`)
    // The return object contains the state and the
    // url to which the buyer must be redirected to
    // for payment approval
    // Please note that currently future payments works only with PayPal as a funding instrument.
    $payment->create($apiContext, $clientMetadataId);
} catch (Exception $ex) {
    // NOTE: PLEASE DO NOT USE RESULTPRINTER CLASS IN YOUR ORIGINAL CODE. FOR SAMPLE ONLY