Je travaille avec la passerelle de paiement SagePay.C# WebRequest POST renvoie la page Html - comment l'afficher dans le navigateur
Sur un bouton de commande, cliquez sur J'utilise la méthode ci-dessous pour postData (contient les données de transaction) à SagePay qui renvoie ensuite le résultat sous la forme d'une page html.
public string SendRequest(string url, string postData)
{
var uri = new Uri(url);
var request = WebRequest.Create(uri);
var encoding = new UTF8Encoding();
var requestData = encoding.GetBytes(postData);
request.ContentType = "application/x-www-form-urlencoded";
request.Method = "POST";
request.Timeout = (300 * 1000); //TODO: Move timeout to config
request.ContentLength = requestData.Length;
using (var stream = request.GetRequestStream())
{
stream.Write(requestData, 0, requestData.Length);
}
var response = request.GetResponse();
string result;
using (var reader = new StreamReader(response.GetResponseStream(), Encoding.ASCII))
{
result = reader.ReadToEnd();
}
return result;
}
Comment afficher ce retour html dans la fenêtre du navigateur des utilisateurs comme ce serait le cas où ils entrent leurs informations de carte de crédit?
Quel type d'intégration SagePay utilisez-vous? Formulaire, serveur ou direct? –
Il serait l'intégration des formes .. le kit d'intégration fourni assez mauvais. – asn1981
Probablement ne devrait pas «directement» afficher les résultats d'une application tierce dans votre site Web (même si elle est approuvée, comme SagePay). Devrait inspecter la réponse HTTP, sortez les informations dont vous avez besoin dans un certain type de "résultat" modèle, puis lier à cela dans votre code HTML. Le point est, prenez juste ce dont vous avez besoin (succès/échec, messages d'information, etc), puis personnalisez votre interface utilisateur basée sur cette information. – RPM1984