读书人

paypal支付顺利后不会异步调用notify_

发布时间: 2013-06-19 10:26:41 作者: rapoo

paypal支付成功后不会异步调用notify_url里面的页面


<form name="paypal" target="_blank" action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick"/>
<input type="hidden" name="notify_url" value="http://www.xxx.com/paypal/success.aspx"/>
<input type="hidden" name="business" value="wj02w0_1314675989_biz@126.com"/>
<input type="hidden" name="item_name" value="order information"/>

<input type="hidden" name="amount" value="10.00"/>
<input type="hidden" name="currency_code" value="USD"/>
<input type="hidden" name="on0" value="customerId"/>
<input type="hidden" name="os0" value="stephen"/>
<input type="hidden" name="on1" value="address"/>
<input type="hidden" name="os1" value="shanghai china"/>
<input type="hidden" name="return" value="http://www.xxxx.com/paypal/ok.aspx"/>
<input type="hidden" name="cancel_return" value="http://www.xxx.com/paypal/cacel.aspx"/>
<input name="button1" type="button" value="Go to Paypal" onclick="javaScript:this.form.submit();"/>
</form>


上面是提交的页面,里面已经设定了notify_url(并且在paypal后台也设置了同样网址的“即时付款通知习惯设定”),当支付成功后会跳转到ok.aspx页面,就是不会访问notify_url所设置的页面。

success.aspx页面的代码是:

protected void Page_Load(object sender, EventArgs e)
{
HttpCookie cookie = new HttpCookie("PaypalInfoErr");
DateTime dt = DateTime.Now;//定义时间对象
TimeSpan ts = new TimeSpan(1, 0, 0, 0);//cookie有效作用时间,具体查msdn
cookie.Expires = dt.Add(ts);//添加作用时间
cookie.Values.Add("ppItem", DateTime.Now.ToString());
Response.AppendCookie(cookie);//确定写入cookie
}

里面就把当访问该页时,把当前的时间写入cookie,而过一会我刷新GetCookie.aspx,发现PaypalInfoErr一直为空
GetCookie.aspx


protected void Page_Load(object sender, EventArgs e)
{
if (Request.Cookies["PaypalInfoErr"] != null)
{
Response.Write("<br/>PaypalInfoErr不为空");
Response.Write("<br/>" + Request.Cookies["PaypalInfoErr"]["ppItem"].ToString());
}
}

------解决方案--------------------


确定支付成功?
[解决办法]
没懂啥意思。。

读书人网 >asp.net

热点推荐