C#.net做Paypal支付完后不自动返回到我的页面上??
做这个paypal的支付做了两天了,就差一步搞不定,太郁闷了.前面的支付都没什么问题主要是支付完成以后它不自动返回到我的页面上,我必须要在我的页面上拿到成功的信息,然后改...
做这个paypal的支付做了两天了,就差一步搞不定,太郁闷了.
前面的支付都没什么问题主要是支付完成以后它不自动返回到我的页面上,我必须要在我的页面上拿到成功的信息,然后改变库里的状态
但每次支付完了之后就会跳到 如图 上的那个页,等多久都不返回,非要手动点返回按钮才能返回到我的页面上,那这样的话要是客户不点不是会出很多问题吗??
网上的资料都说可以自动跳,我为啥不行呢?下面是我的代码.大家帮忙看下.是不是我那里出问题了.知道的给小弟指点指点.感激不尽!!!!~
public StringBuilder sb = new StringBuilder();
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
sb.Append(@" <form id='form1' runat='server' method='post' action='https://www.sandbox.paypal.com/cgi-bin/webscr'>
<input type='hidden' name='charset' value='utf-8' />
<input type='hidden' name='cmd' value='_cart' />
<input type='hidden' name='return' value='http://localhost:18739/Cosmeticlnjectables/PayPal/success.aspx' />
<input type='hidden' name='no_shipping' value='1' />
<input type='hidden' name='upload' value='1' />
<input type='hidden' name='business' value='seller_1246239775_biz@qq.com' />");
Guid directoryId = Misc.ParseGuid(Request.QueryString["DirectoryId"]);
DataTable dt = DirectoryPayOrderServices.GetPayServicesByDirectoryId(directoryId);
for (int i = 0; i < dt.Rows.Count; i++)
{
DataRow dr = dt.Rows[i];
sb.Append(string.Format("<input type='hidden' name='item_name_{0}' value='{1}' />", i.ToString(), PayServiceService.GetPayServicesById(dr["PayServiceId"].ToString()).Description));
sb.Append(string.Format("<input type='hidden' name='amount_{0}' value='{1}' />", i.ToString(), PayServiceService.GetPayServicesById(dr["PayServiceId"].ToString()).Price));
sb.Append(string.Format("<input type='hidden' name='item_total_{0}' value='{1}' />", i.ToString(), dr["TotalAmount"].ToString()));
sb.Append(string.Format("<input type='hidden' name='quantity_{0}' value='{1}' />",i.ToString(),dr["Quantity"].ToString()));
}
sb.Append(@"<input type='hidden' name='rm' value='2' />
<input type='hidden' name='currency_code' value='AUD' />
<input type='hidden' name='cancel_return' value='http://cosmeticinjectables.stagingserver.com.au/PayPal/success.aspx' />
</form>
<script type='text/javascript'>
document.getElementById('form1').submit();
</script>
;");
}
}
忘说了我前台加了一句
<body>
<%=sb.ToString() %>
</body>
那些在后台写主要是为了好控件一点
<input type="hidden" name="notify_url" value="用户付款后通知的URL">
<input type="hidden" name="return" value="付款后返回的URL">
这两个我都加了试过了,但还是不行.我在返回的页上打断点测,支付完成了都还没走断点. 展开
前面的支付都没什么问题主要是支付完成以后它不自动返回到我的页面上,我必须要在我的页面上拿到成功的信息,然后改变库里的状态
但每次支付完了之后就会跳到 如图 上的那个页,等多久都不返回,非要手动点返回按钮才能返回到我的页面上,那这样的话要是客户不点不是会出很多问题吗??
网上的资料都说可以自动跳,我为啥不行呢?下面是我的代码.大家帮忙看下.是不是我那里出问题了.知道的给小弟指点指点.感激不尽!!!!~
public StringBuilder sb = new StringBuilder();
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack)
{
sb.Append(@" <form id='form1' runat='server' method='post' action='https://www.sandbox.paypal.com/cgi-bin/webscr'>
<input type='hidden' name='charset' value='utf-8' />
<input type='hidden' name='cmd' value='_cart' />
<input type='hidden' name='return' value='http://localhost:18739/Cosmeticlnjectables/PayPal/success.aspx' />
<input type='hidden' name='no_shipping' value='1' />
<input type='hidden' name='upload' value='1' />
<input type='hidden' name='business' value='seller_1246239775_biz@qq.com' />");
Guid directoryId = Misc.ParseGuid(Request.QueryString["DirectoryId"]);
DataTable dt = DirectoryPayOrderServices.GetPayServicesByDirectoryId(directoryId);
for (int i = 0; i < dt.Rows.Count; i++)
{
DataRow dr = dt.Rows[i];
sb.Append(string.Format("<input type='hidden' name='item_name_{0}' value='{1}' />", i.ToString(), PayServiceService.GetPayServicesById(dr["PayServiceId"].ToString()).Description));
sb.Append(string.Format("<input type='hidden' name='amount_{0}' value='{1}' />", i.ToString(), PayServiceService.GetPayServicesById(dr["PayServiceId"].ToString()).Price));
sb.Append(string.Format("<input type='hidden' name='item_total_{0}' value='{1}' />", i.ToString(), dr["TotalAmount"].ToString()));
sb.Append(string.Format("<input type='hidden' name='quantity_{0}' value='{1}' />",i.ToString(),dr["Quantity"].ToString()));
}
sb.Append(@"<input type='hidden' name='rm' value='2' />
<input type='hidden' name='currency_code' value='AUD' />
<input type='hidden' name='cancel_return' value='http://cosmeticinjectables.stagingserver.com.au/PayPal/success.aspx' />
</form>
<script type='text/javascript'>
document.getElementById('form1').submit();
</script>
;");
}
}
忘说了我前台加了一句
<body>
<%=sb.ToString() %>
</body>
那些在后台写主要是为了好控件一点
<input type="hidden" name="notify_url" value="用户付款后通知的URL">
<input type="hidden" name="return" value="付款后返回的URL">
这两个我都加了试过了,但还是不行.我在返回的页上打断点测,支付完成了都还没走断点. 展开
2个回答
展开全部
<input type="hidden" name="notify_url" value="用户付款后通知的URL">
<input type="hidden" name="return" value="付款后返回的URL">
<input type="hidden" name="cancel_return" value="取消付款的URL">
<input type="hidden" name="return" value="付款后返回的URL">
<input type="hidden" name="cancel_return" value="取消付款的URL">
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询