Sample code for 30+ languages & platforms
C++

Check PayPal Access Token Expiration

See more PayPal Examples

Checks to see if the PayPal access token expired.

Chilkat C++ Downloads

C++
#include <CkJsonObject.h>
#include <CkDateTime.h>

void ChilkatSample(void)
    {
    bool success = false;

    //  Note: Requires Chilkat v9.5.0.64 or greater.

    //  This requires the Chilkat API to have been previously unlocked.
    //  See Global Unlock Sample for sample code.

    //  In the example linked here: PayPal OAuth2 Token,
    //  we fetched a PayPal access token and saved it to a JSON file.
    //  We also recorded the current date/time.
    //  Load this JSON file and compare the current date/time with the fetch date/time
    //  and the "expires_in" value to see if the token is expired.

    CkJsonObject json;
    success = json.LoadFile("qa_data/tokens/paypal.json");
    if (success != true) {
        std::cout << "Failed to load access key json file." << "\r\n";
        return;
    }

    //  Get the current date/time.
    CkDateTime dateTime;
    bool bLocalTime = false;
    int dtNow = dateTime.GetAsUnixTime(bLocalTime);

    //  Get the access token create date/time
    int dtCreate = json.IntOf("tokenCreateTimeUtc");

    //  Find out how many seconds have elapsed.
    int numSeconds = dtNow - dtCreate;

    //  Get the expires_in value from the JSON.
    int expires_in = json.IntOf("expires_in");

    std::cout << "token age (in seconds) = " << numSeconds << "\r\n";
    std::cout << "expires_in = " << expires_in << "\r\n";

    //  If the token expired, or if it will expire in 5 minutes or less,
    //  get another token.
    if (numSeconds < (expires_in - 300)) {
        std::cout << "The token is not yet expired.  No need to fetch another." << "\r\n";
        return;
    }

    std::cout << "Time to fetch a new access token..." << "\r\n";

    //  Get another token..
    //  See the example at Get PayPal OAuth2 Token
    //  to get another token..
    }