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); }
/// <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); }
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); }
/// <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)); }