Asp.net Paypal沙盒返回Url不工作vb.net

Asp.net Paypal沙盒返回Url不工作vb.net,asp.net,vb.net,paypal,paypal-sandbox,returnurl,Asp.net,Vb.net,Paypal,Paypal Sandbox,Returnurl,我正处于在我的网站上使用paypal checkout的开始阶段,我正在尝试使用一个沙箱帐户来测试一些东西。我可以通过另一个沙盒帐户来查看和购买该项目,但在我购买该项目后,它会停留在paypal的结账页面上,并告诉我我已完成付款,我将收到一封电子邮件通知。我需要它返回到其他网站的url,以便我可以尝试在我的代码中获取交易的详细信息。我在下面发布的代码非常基本,我没有任何关于返回URL的代码,我已经在我的沙箱帐户设置下填写了它 问题的第二部分是我还没有发布我的网站,我正在使用visual basi

我正处于在我的网站上使用paypal checkout的开始阶段,我正在尝试使用一个沙箱帐户来测试一些东西。我可以通过另一个沙盒帐户来查看和购买该项目,但在我购买该项目后,它会停留在paypal的结账页面上,并告诉我我已完成付款,我将收到一封电子邮件通知。我需要它返回到其他网站的url,以便我可以尝试在我的代码中获取交易的详细信息。我在下面发布的代码非常基本,我没有任何关于返回URL的代码,我已经在我的沙箱帐户设置下填写了它

问题的第二部分是我还没有发布我的网站,我正在使用visual basic调试器在浏览器中查看和测试我的网站,当我尝试将我的“本地主机”url放入返回url时,会出现错误:“我们无法验证您输入的url。请检查您的输入并重试。”我试图输入的url的一个例子是

http://localhost:11111/WebSite1/Parts_Catalog.aspx
作为一个测试url,只是为了尝试从事务中获取数据,我在google.com中放了一个测试url,认为它至少会返回到google,并带有一个错误或返回的查询字符串,但它根本不会尝试在事务完成后加载任何页面

如何让paypal沙盒返回url实际返回到url?如何将我的本地主机URL输入到网站首选项返回URL中,并使其实际识别上面列出的我的URL

这是标记代码

<asp:ImageButton ID="AddToCartBtn" runat="server"
    RowIndex='<%# Container.DisplayIndex %>'
    ImageUrl="~/Pictures/ShoppingCart.png"
    OnClick="AddToCartBtn_Click" />

这是我到目前为止为addToCart按钮提供的代码,我不知道是否需要在这里为返回url添加任何内容

 Protected Sub AddToCartBtn_Click(sender As Object, e As ImageClickEventArgs)
 Dim Item As String = "Test"
    Dim price As String = cost
    Dim business As String = "test@aol.com"
    Dim itemNumber As String = str2
    Dim itemAmount As String = price
    Dim currencyCode As String = "USD"
    Dim addItem As Integer = 1

    Dim ppHref As StringBuilder = New StringBuilder()
    ppHref.Append("https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_cart")
    ppHref.Append("&business=" + business)
    ppHref.Append("&item_name=" + itemName)
    ppHref.Append("&item_number=" + itemNumber)
    ppHref.Append("&amount=" + itemAmount)
    ppHref.Append("&currency_code=" + currencyCode)
    ppHref.Append("&add=" + addItem.ToString("#0"))
    Response.Redirect(ppHref.ToString(), True)
    Dim ReturnQaunity As String = itemAmount
    GetRouteUrl("/v1/payments/orders/<Order-Id>")
End Sub
Protected Sub AddToCartBtn\u单击(发送者作为对象,e作为图像ClickEventArgs)
将项目设置为String=“Test”
按字符串显示的价格=成本
将业务设置为字符串=”test@aol.com"
Dim itemNumber作为字符串=str2
Dim itemAmount作为字符串=价格
Dim currencyCode为String=“USD”
Dim addItem作为整数=1
Dim ppHref As StringBuilder=新建StringBuilder()
ppHref.Append(“https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_cart")
ppHref.Append(“&business=“+business”)
ppHref.Append(“&item_name=“+itemName”)
ppHref.Append(“&item_number=“+itemNumber”)
ppHref.Append(“&amount=“+itemAmount”)
ppHref.Append(“¤cy_code=“+currencyCode”)
ppHref.Append(“&add=“+addItem.ToString”(#0”))
Response.Redirect(ppHref.ToString(),True)
Dim ReturnQaunity As String=itemAmount
GetRouteUrl(“/v1/付款/订单/”)
端接头

我目前没有任何关于paypal的页面加载事件。

Andre是对的,paypal必须可以访问返回URL

你能做的就是使用一个通用的URL(我想google.com也可以,但最好使用你自己的URL),然后在浏览器窗口中编辑URL

因此,回到类似
http://www.test.com/return.html?paypalparms...
然后,当它显示在浏览器中时,将URL更改为

http://localhost/return.html?paypalparms...
然后按回车键

我在PayPal PDT和IPN测试中使用了类似的技术,效果很好


我本来会回复你的评论的,但我还没有达到让我在任何地方都可以发表评论的令人眩晕的50声誉的高度。

你不能传递本地主机url。。。或者PayPal服务器将尝试访问其本地主机,这意味着它自己确定您是否知道有任何解决方法,或者如上所述,如果我只使用其他url,如“google.com”,它还会返回到google.com,并在url字符串中附加事务详细信息?确定,我遇到的另一个问题是,即使我在沙盒的帐户设置中使用google.com作为返回Url,它也不会重定向页面,它只是位于paypal结帐确认页面上。你有自动返回功能吗?在我的网站支付偏好的个人资料页面上,它就在我输入返回url的正上方。是的,自动返回是打开的,返回url是google.com。奇怪的是,这是我最后一次尝试,它成功了。唯一的问题是返回的url是如何从中获取事务详细信息?“gws_rd”代表什么?我认为谷歌正在确保你的Google.com URL使用https,但我自己不会使用Google.com,它太聪明了,我会使用一个我知道不会对我的输入做任何事情的网站。没关系,这是谷歌切换到他们的https网站,因为我正在重定向到。