【问题标题】:Paypal Sandbox Return Url not working vb.net贝宝沙箱返回网址不起作用 vb.net
【发布时间】:2014-11-04 02:50:52
【问题描述】:

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

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

http://localhost:11111/WebSite1/Parts_Catalog.aspx

作为一个测试 url,只是为了尝试从我刚刚放入 google.com 的交易中获取数据,认为它至少会以错误或返回的查询字符串返回给 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

我的页面加载事件中目前没有任何与 paypal 相关的内容。

【问题讨论】:

  • 你不能传递一个 localhost url...否则 PayPal 服务器会尝试访问他的本地主机,这意味着它自己
  • 好的,您知道对此或上面列出的任何解决方法吗,如果我只使用“google.com”之类的其他网址,它仍会返回到 google.com,并附加交易详细信息url 字符串?

标签: asp.net vb.net paypal paypal-sandbox returnurl


【解决方案1】:

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

您可以做的是使用通用 URL(我猜 google.com 会起作用,但使用您自己的 URL 可能会更好),然后在浏览器窗口中编辑 URL。

所以回到http://www.test.com/return.html?paypalparms...之类的东西 然后当它显示在您的浏览器中时,将 URL 更改为

http://localhost/return.html?paypalparms...

然后按回车键。

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

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

【讨论】:

  • 好的,我遇到的另一个问题是,即使我在沙盒的帐户设置中将 google.com 作为返回 URL,它也不会重定向页面,它只是位于 paypal 结帐确认页面。
  • 你有自动返回吗?在我的网站支付首选项的个人资料页面上,它就在我输入返回 URL 的上方
  • 是的,自动返回已开启,返回 url 对我来说是 google.com。奇怪的是,这是我最后一次尝试它,它奏效了。唯一的问题是返回 url 是 google.com/?gws_rd=ssl 我如何从中获取交易详情? 'gws_rd' 代表什么
  • 我认为这是 Google 做的productforums.google.com/forum/#!topic/websearch/5Toplm6lXPQ 确保您使用 https 作为您的 google.com 网址但我自己不会使用 google.com,它太聪明了,我会使用我知道网站不会对我的输入做任何事情。
  • 没关系,那是谷歌切换到他们的 https 网站,因为我正在重定向到 google.com
猜你喜欢
  • 2017-09-23
  • 2015-12-12
  • 2012-10-13
  • 2021-11-13
  • 2021-07-18
  • 1970-01-01
  • 2014-04-06
  • 2013-08-17
  • 2012-06-24
相关资源
最近更新 更多