Sample code for 30+ languages & platforms
Lianja

Check PayPal Access Token Expiration

See more PayPal Examples

Checks to see if the PayPal access token expired.

Chilkat Lianja Downloads

Lianja
llSuccess = .F.

// 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.

loJson = createobject("CkJsonObject")
llSuccess = loJson.LoadFile("qa_data/tokens/paypal.json")
if (llSuccess <> .T.) then
    ? "Failed to load access key json file."
    release loJson
    return
endif

// Get the current date/time.
loDateTime = createobject("CkDateTime")
llBLocalTime = .F.
lnDtNow = loDateTime.GetAsUnixTime(llBLocalTime)

// Get the access token create date/time
lnDtCreate = loJson.IntOf("tokenCreateTimeUtc")

// Find out how many seconds have elapsed.
lnNumSeconds = lnDtNow - lnDtCreate

// Get the expires_in value from the JSON.
lnExpires_in = loJson.IntOf("expires_in")

? "token age (in seconds) = " + str(lnNumSeconds)
? "expires_in = " + str(lnExpires_in)

// If the token expired, or if it will expire in 5 minutes or less,
// get another token.
if (lnNumSeconds < (lnExpires_in - 300)) then
    ? "The token is not yet expired.  No need to fetch another."
    release loJson
    release loDateTime
    return
endif

? "Time to fetch a new access token..."

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


release loJson
release loDateTime