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 <C_CkJsonObject.h>
#include <C_CkDateTime.h>

void ChilkatSample(void)
    {
    BOOL success;
    HCkJsonObject json;
    HCkDateTime dateTime;
    BOOL bLocalTime;
    int dtNow;
    int dtCreate;
    int numSeconds;
    int expires_in;

    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.

    json = CkJsonObject_Create();
    success = CkJsonObject_LoadFile(json,"qa_data/tokens/paypal.json");
    if (success != TRUE) {
        printf("Failed to load access key json file.\n");
        CkJsonObject_Dispose(json);
        return;
    }

    // Get the current date/time.
    dateTime = CkDateTime_Create();
    bLocalTime = FALSE;
    dtNow = CkDateTime_GetAsUnixTime(dateTime,bLocalTime);

    // Get the access token create date/time
    dtCreate = CkJsonObject_IntOf(json,"tokenCreateTimeUtc");

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

    // Get the expires_in value from the JSON.
    expires_in = CkJsonObject_IntOf(json,"expires_in");

    printf("token age (in seconds) = %d\n",numSeconds);
    printf("expires_in = %d\n",expires_in);

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

    printf("Time to fetch a new access token...\n");

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


    CkJsonObject_Dispose(json);
    CkDateTime_Dispose(dateTime);

    }