// See ITransactionRegistrar for parameter descriptions
        public DoExpressCheckoutPaymentResponse SendDoExpressCheckoutPayment(string token, string payerId, string currencyCode, decimal amount)
        {
            DoExpressCheckoutPaymentRequest request = new DoExpressCheckoutPaymentRequest(token, payerId, currencyCode, amount);

            string postData = serializer.Serialize(request);
            Logging.LogLongMessage("PayPal Send Request", "Serlialized Request to PayPal API: " + postData);

            string response = requestSender.SendRequest(Configuration.Current.PayPalAPIUrl, postData);
            string decodedResponse = System.Web.HttpUtility.UrlDecode(response, System.Text.Encoding.Default);
            Logging.LogLongMessage("PayPal Response Recieved", "Decoded Respose from PayPal API: " + decodedResponse);

            return deserializer.Deserialize<DoExpressCheckoutPaymentResponse>(decodedResponse);
        }
        // See ITransactionRegistrar for parameter descriptions
        public DoExpressCheckoutPaymentResponse SendDoExpressCheckoutPayment(string token, string payerId, string currencyCode, decimal amount)
        {
            DoExpressCheckoutPaymentRequest request = new DoExpressCheckoutPaymentRequest(token, payerId, currencyCode, amount);

            string postData = serializer.Serialize(request);

            Logging.LogLongMessage("PayPal Send Request", "Serlialized Request to PayPal API: " + postData);

            string response        = requestSender.SendRequest(Configuration.Current.PayPalAPIUrl, postData);
            string decodedResponse = System.Web.HttpUtility.UrlDecode(response, System.Text.Encoding.Default);

            Logging.LogLongMessage("PayPal Response Recieved", "Decoded Respose from PayPal API: " + decodedResponse);

            return(deserializer.Deserialize <DoExpressCheckoutPaymentResponse>(decodedResponse));
        }