5个姿势夹到男人爽_免耽漫画网免费的动漫_国产一级做性视频_调教双性大乳浪荡美人受师尊

0411-39943997
工作時間:周一至周日 8:30-17:30
技術文庫
Technical Library

關于Paypal的一些設置和使用方法(三)C#開發代碼

標簽: C#開發代碼 Papal 設置 使用方法   訪問: 16242017-09-21

1、原理:Paypal的交易原理很簡單,就是將您要支付的頁面Post提交到他的服務器上。你的頁面上要有他要的必要信息即可。

2、提交URL:


測試用的為:

真實用的為:


3、實例:


<form id="form1" action="https://www.sandbox.paypal.com/cgi-bin/webscrmethod="post">

        <input type="hidden" name="cmd" value="_xclick" />//表示立即支付

        <input type="hidden" name="business" value="youraccount@test.com" />//您的賬號

        <input type="hidden" name="item_name" value="order_no" />//訂單號

        <input type="hidden" name="amount" value="order_amount" />//訂單金額

        <input type="hidden" name="currency_code" value="USD" />//交易幣種


        <input type="submit" id="btnSubmit" value="確定提交" />           

</form>



4、提交后的反饋信息:IPN使用

當您收到新的付款交易或者已發生的付款交易的狀態發生變化時,paypal都將異步發送付款詳細數據到您所指定的url,以便您了解買家付款的具體情況并做出相應的響應。這個過程我們稱作即時付款通知(簡稱 ipn)。


ipn 在以前的文章中以設置好,忘記的同學可以回過頭去看看。


Paypal 會將一些交易信息返回給您指定的頁面:


接收信息的頁面 notify_url.cs 中的代碼如下:


//獲取參數


public static string GetFormString(string strName)

        {

            if (HttpContext.Current.Request.Form[strName] == null)

                return "";

            return HttpContext.Current.Request.Form[strName];

        }



//向paypal請求驗證


private string ValidatePaypalInfo(int payment_id)

        { 

            try

            {

                string strLive = "https://www.sandbox.paypal.com/cgi-bin/webscr";


                string strFormValues;

                string strNewValues;

                string strResponse;


                System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;


                HttpWebRequest req = (HttpWebRequest)WebRequest.Create(strLive);

                req.Method = "POST";

                req.ContentType = "application/x-www-form-urlencoded";

                byte[] param = HttpContext.Current.Request.BinaryRead(HttpContext.Current.Request.ContentLength);

                strFormValues = Encoding.ASCII.GetString(param);

                strNewValues = strFormValues + "&cmd=_notify-validate";

                req.ContentLength = strNewValues.Length;

                StreamWriter stout = new StreamWriter(req.GetRequestStream(), Encoding.ASCII);

                stout.Write(strNewValues);

                stout.Close();


                StreamReader sr = new StreamReader(req.GetResponse().GetResponseStream());

                strResponse = sr.ReadToEnd();

                sr.Close();


                return strResponse;

            }

            catch (Exception e)

            {

                Utils.WriteLog("paypal", "paypal have some error:" + e.Message + " \r\n" + e.StackTrace);


                return "";

            }

        }



//接收

protected void Page_Load(object sender, EventArgs e)

{

            string trade_no = GetFormString("txn_id"); //交易號

            string order_no = GetFormString("item_name").ToUpper(); //獲取訂單號

            string total_fee = GetFormString("mc_gross"); //獲取總金額

            string trade_status = GetFormString("payment_status"); //交易狀態


            string strResponse = ValidatePaypalInfo(site_payment_id);


 if (strResponse.ToUpper() == "VERIFIED")//驗證成功

  {


    if (trade_status.ToLower() == "completed")//交易狀態 成功

     {

//做你要做的事,比如更新訂單。

     }


   }


}


更多信息請參見:


解決方案體驗中心



Copyright? 2020 仟億科技,All rights reserved.