سؤال

لدي صفحتان قمت بإنشائه في ASP.NET (C#). أول واحد (يسمى التسوق. asp) لديه زر شراء الآن. والثاني (يسمى ProcessPay.asp) ينتظر فقط Google Checkout لإرسال طلب HTTP إليه لمعالجة الدفع. ما أود القيام به إرسال بيان نشر إلى Google Checkout مع اثنين من المتغيرات التي أريد نقلها مرة أخرى إلى ProcessPay.asp (أي clientId = 3 & itemId = 10) ، لكنني لا أعرف كيفية تنسيق عبارة post http أو ما هي الإعدادات التي يجب أن أغيرها في Google Checkout لجعلها تعمل.

اي افكار يمكن ان تكون رائعه للعرض.

هل كانت مفيدة؟

المحلول

يحتوي Google Checkout على نموذج رمز وتعليمي حول كيفية دمجه مع أي تطبيق .NET:

تأكد من التحقق من القسم بعنوان: "دمج رمز العينة في تطبيق الويب الخاص بك".


ومع ذلك ، إذا كنت تفضل استخدام منشور من جانب الخادم ، فقد ترغب في التحقق من الطريقة التالية التي تقدم منشور HTTP وإرجاع الاستجابة كسلسلة:

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

يجب تمرير المعلمات في النموذج: name1=value1&name2=value2

نصائح أخرى

من المحتمل أن ينتهي الرمز بالبحث عن شيء من هذا القبيل:

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

بالأمس اعتدت http://www.codeproject.com/kb/aspnet/asp_netredirectandpost.aspx لإرسال بيانات النشر وتعمل بشكل جيد

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top