2009-12-31 7 views
0

J'ai 2 pages que j'ai créées dans ASP.net (C#). Le premier (appelé shoppingcart.asp) a un bouton acheter maintenant. Le second (appelé processpay.asp) attend juste que google checkout lui envoie une requête HTTP pour traiter le paiement. Ce que je voudrais faire envoyer une déclaration de poste à google checkout avec un couple de variables que je veux passé à processpay.asp (c.-à-d. Clientid = 3 & itemid = 10), mais je ne sais pas comment formater le HTTP POST déclaration ou quels paramètres je dois changer dans Google Checkout pour le faire fonctionner.Google Checkout HTTP Post avec ASP.net

Toutes les idées seraient grandement appréciées.

Répondre

2

Google Checkout a exemple de code et un tutoriel sur la façon d'intégrer avec toute application .NET:

Assurez-vous de consulter la section intitulée: "Integrating the Sample Code into your Web Application".


Cependant, si vous préférez utiliser un côté serveur POST, vous pouvez vérifier la méthode suivante qui soumet un message HTTP et renvoie la réponse sous forme de chaîne:

using System.Net; 

string HttpPost (string parameters) 
{ 
    WebRequest webRequest = WebRequest.Create("http://checkout.google.com/buttons/checkout.gif?merchant_id=1234567890"); 
    webRequest.ContentType = "application/x-www-form-urlencoded"; 
    webRequest.Method = "POST"; 

    byte[] bytes = Encoding.ASCII.GetBytes(parameters); 

    Stream os = null; 

    try 
    { 
     webRequest.ContentLength = bytes.Length; 
     os = webRequest.GetRequestStream(); 
     os.Write(bytes, 0, bytes.Length);  
    } 
    catch (WebException e) 
    { 
     // handle e.Message 
    } 
    finally 
    { 
     if (os != null) 
     { 
     os.Close(); 
     } 
    } 

    try 
    { 
     // get the response 

     WebResponse webResponse = webRequest.GetResponse(); 

     if (webResponse == null) 
     { 
      return null; 
     } 

     StreamReader sr = new StreamReader(webResponse.GetResponseStream()); 

     return sr.ReadToEnd().Trim(); 
    } 
    catch (WebException e) 
    { 
     // handle e.Message 
    } 

    return null; 
} 

Paramètres besoin à passer sous la forme: name1=value1&name2=value2

0

le code finira probablement à chercher quelque chose comme ceci:

GCheckout.Checkout.CheckoutShoppingCartRequest oneCheckoutShoppingCartRequest = 
    GCheckoutButton1.CreateRequest(); 

oneCheckoutShoppingCartRequest.MerchantPrivateData = "clientid=3"; 

GCheckout.Checkout.ShoppingCartItem oneShoppingCartItem = 
    new GCheckout.Checkout.ShoppingCartItem(); 
oneShoppingCartItem.Name = "YourProductDisplayName"; 
oneShoppingCartItem.MerchantItemID = "10"; 

oneCheckoutShoppingCartRequest.AddItem(oneShoppingCartItem);