私は支払いプラットフォームをWebアプリケーションに統合しようとしていますが、トランザクションを照会するための要件の1つは、get要求を使用して(特定の変数の)ハッシュ値をヘッダーとして送信することです。これは私がしようとしたものです:HttpClientを使用してハッシュ値をヘッダーとして送信する方法
string hashcode = "3409877" + "117" + "D3D1D05AFE42AD508";
var hashedBytes = SHA512.Create().ComputeHash(Encoding.UTF8.GetBytes(hashcode));
// Get the hashed string.
var hash = BitConverter.ToString(hashedBytes).Replace("-", "").ToLower();
hash = hash.ToString().ToUpper();
var amount_kobo = Convert.ToInt32(model.TransactionAmount * 100);
string url = "https://sandbox.interswitchng.com/collections/api/v1/gettransaction.json?productid=117&transactionreference=" + model.TransactionReference + "&amount=" + amount_kobo;
using (var client = new HttpClient())
{
#if DNX451
// ignore server certificate error
//ServicePointManager.ServerCertificateValidationCallback += (sender, certificate, chain, errors) => { return true; };
ServicePointManager.SecurityProtocol = SecurityProtocolType.Ssl3 | SecurityProtocolType.Tls | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;
#elif DNXCORE50
// no implementation for the target DNX
#endif
client.BaseAddress = new Uri(url);
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("text/html"));
client.DefaultRequestHeaders.Add("Hash",hash);
HttpResponseMessage response = await client.GetAsync(url);
string responsestr = "";
if (response.IsSuccessStatusCode)
{
responsestr = await response.Content.ReadAsStringAsync();
return Json(new { success = true, response = responsestr, hash = hash });
}
}
が、私は、私は私のハッシュヘッダーが表示されていない要求を送信した後も、ハッシュタイプとしてヘッダを送信することになっていますブラウザを検査するとき、私のハッシュは、送信されませんが、私は何をすべきか分かりません。
私はこの行を変更しようとしている:
client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("hash"));
はまだそれが動作しません。
更新 ここでは、ブラウザ Request headers
のリクエストヘッダのスクリーンショットである私のヘッダーが全く送信されないようです。
厥は働いていません後、私は、リクエストヘッダに私の答えを更新しましたブラウザに表示され、私のハッシュヘッダはそこにありません...私のヘッダがplsから送信されるのを止めることができますか? –
ありがとう、多くの、削除されたclient.DefaultRequestHeaders.Accept.Add(新しいSystem.Net.Http.Headers.MediaTypeWithQualityHeaderValue( "ハッシュ"));それは働いた。 –