1

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

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

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

作为一个测试 url,只是为了尝试从我刚刚放入 google.com 的事务中获取数据,认为它至少会以错误或返回的查询字符串返回到 google,但它不会尝试加载任何页面交易完成后。

如何让贝宝沙箱返回 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

我的页面加载事件中目前没有任何处理贝宝的内容。

4

1 回答 1

2

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

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

所以返回类似http://www.test.com/return.html?paypalparms... Then 当它显示在您的浏览器中时,将 URL 更改为

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

然后按回车。

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

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

于 2014-09-10T12:53:16.390 回答