コード例 #1
0
        public ProcessedPayment GetProcessedPayment(string merchantParameters, string merchantKey, string providedSignature)
        {
            var paymentResponse   = merchantParamentersManager.GetPaymentResponse(merchantParameters);
            var expectedSignature = signatureManager.GetSignature(merchantParameters, paymentResponse.Ds_Order, merchantKey);
            var isValidSignature  = signatureComparer.ValidateResponseSignature(expectedSignature, providedSignature);
            var result            = new ProcessedPayment(paymentResponse, isValidSignature);

            return(result);
        }
コード例 #2
0
        /// <summary>
        /// Package up token request.
        /// </summary>
        /// <param name="twitterCallbackUrl">Callback Uri.</param>
        /// <returns>Success or failure.</returns>
        private async Task <bool> InitializeRequestAccessTokensAsync(string twitterCallbackUrl)
        {
            var twitterUrl = $"{OAuthBaseUrl}/request_token";

            string nonce               = GetNonce();
            string timeStamp           = GetTimeStamp();
            string sigBaseStringParams = GetSignatureBaseStringParams(_tokens.ConsumerKey, nonce, timeStamp, "oauth_callback=" + Uri.EscapeDataString(twitterCallbackUrl));
            string sigBaseString       = "GET&" + Uri.EscapeDataString(twitterUrl) + "&" + Uri.EscapeDataString(sigBaseStringParams);
            string signature           = _signatureManager.GetSignature(sigBaseString, _tokens.ConsumerSecret, true);

            twitterUrl += "?" + sigBaseStringParams + "&oauth_signature=" + Uri.EscapeDataString(signature);

            string getResponse;

            using (var request = new HttpRequestMessage(HttpMethod.Get, new Uri(twitterUrl)))
            {
                using (var response = await _client.SendAsync(request).ConfigureAwait(false))
                {
                    var data = await response.Content.ReadAsStringAsync().ConfigureAwait(false);

                    if (response.IsSuccessStatusCode)
                    {
                        getResponse = data;
                    }
                    else
                    {
                        Debug.WriteLine("HttpHelper call failed trying to retrieve Twitter Request Tokens.  Message: {0}", data);
                        return(false);
                    }
                }
            }

            var callbackConfirmed = ExtractTokenFromResponse(getResponse, TwitterOAuthTokenType.OAuthCallbackConfirmed);

            if (Convert.ToBoolean(callbackConfirmed) != true)
            {
                return(false);
            }

            _tokens.RequestToken       = ExtractTokenFromResponse(getResponse, TwitterOAuthTokenType.OAuthRequestOrAccessToken);
            _tokens.RequestTokenSecret = ExtractTokenFromResponse(getResponse, TwitterOAuthTokenType.OAuthRequestOrAccessTokenSecret);

            return(true);
        }
コード例 #3
0
        public PaymentFormData GetPaymentRequestFormData(PaymentRequest paymentRequest, string merchantKey)
        {
            PaymentFormData result = new PaymentFormData();

            result.Ds_SignatureVersion   = "HMAC_SHA256_V1";
            result.Ds_MerchantParameters = merchantParamentersManager.GetMerchantParameters(paymentRequest);
            result.Ds_Signature          = signatureManager.GetSignature(result.Ds_MerchantParameters, paymentRequest.Ds_Merchant_Order, merchantKey);

            return(result);
        }
コード例 #4
0
        /// <summary>
        /// Generate signature.
        /// </summary>
        /// <returns>Generated signature string.</returns>
        private string GenerateSignature()
        {
            string signatureBaseString = string.Format(
                CultureInfo.InvariantCulture,
                "{2}&{0}&{1}",
                OAuthEncoder.UrlEncode(RequestUriWithoutQuery.Normalize()),
                OAuthEncoder.UrlEncode(GetSignParameters()),
                Verb);

            string key = string.Format(
                CultureInfo.InvariantCulture,
                "{0}&{1}",
                OAuthEncoder.UrlEncode(ConsumerSecret.Value),
                OAuthEncoder.UrlEncode(TokenSecret.Value));

            return(_signatureManager.GetSignature(signatureBaseString, key));
        }