Delphi DLL
Delphi DLL
Check PayPal Access Token Expiration
See more PayPal Examples
Checks to see if the PayPal access token expired.Chilkat Delphi DLL Downloads
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, CkDateTime, JsonObject;
...
procedure TForm1.Button1Click(Sender: TObject);
var
success: Boolean;
json: HCkJsonObject;
dateTime: HCkDateTime;
bLocalTime: Boolean;
dtNow: Integer;
dtCreate: Integer;
numSeconds: Integer;
expires_in: Integer;
begin
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) then
begin
Memo1.Lines.Add('Failed to load access key json file.');
Exit;
end;
// 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');
Memo1.Lines.Add('token age (in seconds) = ' + IntToStr(numSeconds));
Memo1.Lines.Add('expires_in = ' + IntToStr(expires_in));
// If the token expired, or if it will expire in 5 minutes or less,
// get another token.
if (numSeconds < (expires_in - 300)) then
begin
Memo1.Lines.Add('The token is not yet expired. No need to fetch another.');
Exit;
end;
Memo1.Lines.Add('Time to fetch a new access token...');
// Get another token..
// See the example at Get PayPal OAuth2 Token
// to get another token..
CkJsonObject_Dispose(json);
CkDateTime_Dispose(dateTime);
end;