/// <summary>
        /// Create an APM token
        /// </summary>
        internal static string CreateAPMToken(AuthService authService)
        {
            var tokenRequest = new TokenRequest();
            tokenRequest.clientKey = Configuration.ClientKey;

            var cardRequest = new APMRequest();
            cardRequest.type = "APM";
            cardRequest.apmName = "PAYPAL";
            cardRequest.shopperCountryCode = "GB";
            cardRequest.apmFields = new Dictionary<string, string>();

            tokenRequest.paymentMethod = cardRequest;

            TokenResponse response = authService.GetToken(tokenRequest);
            return response.token;
        }
        /// <summary>
        /// Create an access token
        /// </summary>
        internal static string CreateToken(AuthService authService)
        {
            var tokenRequest = new TokenRequest();
            tokenRequest.clientKey = Configuration.ClientKey;

            var cardRequest = new CardRequest();
            cardRequest.cardNumber = TestMastercardNumber;
            cardRequest.cvc = TestCvv;
            cardRequest.name = "csharplib client";
            cardRequest.expiryMonth = 2;
            cardRequest.expiryYear = 2018;
            cardRequest.type = "Card";

            tokenRequest.paymentMethod = cardRequest;

            TokenResponse response = authService.GetToken(tokenRequest);
            return response.token;
        }
 /// <summary>
 /// Get a temporary access token
 /// </summary>
 public TokenResponse GetToken(TokenRequest tokenRequest)
 {
     var tokenResponse = Http.Post<TokenRequest, TokenResponse>(Configuration.TokenUrl, tokenRequest);
     return tokenResponse;
 }