【问题标题】:Paypal website payment standard not returning to return url from Sandbox test accountPaypal 网站支付标准不返回从沙盒测试帐户返回 url
【发布时间】:2014-08-20 09:52:56
【问题描述】:

我正在使用Paypal Website StandardAsp.Net 的集成,我的问题是即使付款成功,paypal 也没有将我返回到我的thank-you.aspx 页面。我已经在代码中将return-url 设置为

sbForm.Append("<input type=\"hidden\" name=\"return\" value=\"" + successUrl + "\">");

意思是,我使用Code-Behind 创建了表单标记。成功 url 是绝对可访问的(我可以复制 url 并粘贴到浏览器中,它可以工作)。我的sand-box 设置如下:

  1. 简介 -> 销售工具
  2. Selling Online 下 -> 网站支付首选项
  3. 自动返回:开启
  4. 返回网址:http://mywebsite/thank-you.aspx
  5. 支付数据传输:关闭
  6. PayPal 帐户可选:开启
  7. 联系电话:关闭(PayPal 推荐此选项)
  8. 支持giropay和银行转账支付:否

但是,如果我取消付款,它会返回取消页面。

编辑 参考this,我设置了PayPal Account Optional:Off,但没有运气。

编辑 当我在Paypal的成功页面上点击支付成功消息后的链接时,我可以返回并调试,但它没有返回任何QueryString,其键名为tx,结果总是Fail\n响应。

【问题讨论】:

    标签: asp.net paypal paypal-sandbox


    【解决方案1】:

    使用 Payments Standard,启用带有返回 URL 的自动返回应该会重定向,但有时可能需要长达 10 秒左右的时间才能发生重定向。这就是为什么即使所有配置都已配置且运行良好,也无法保证用户会访问您的感谢页面。

    如果您需要确保用户最终访问您的网站并且他们不可能无法访问您的感谢页面,那么您需要使用 Express Checkout API 而不是付款标准。

    直到用户返回您的站点(您在此处进行最后的 API 调用)后,快速结帐流程才会完成,因此您可以放心,您将始终访问感谢页面。

    即便如此,如果您尝试自动执行更新数据库、发送电子邮件通知等过程,您仍需要使用Instant Payment Notification (IPN)

    IPN 会立即触发,因此您可以实时自动执行程序。它还允许您处理诸如已结清的待处理付款(您不想立即交付或发货)、争议、退款等事项。

    【讨论】:

    • IPN 是否保证客户将被重定向到我的感谢页面?
    • 不,IPN 与结帐流程完全分开。它会在交易完成的那一刻被触发。不过,Express Checkout 将保证用户最终会访问您的网站。
    • 我使用了 IPN,在我的配置文件中设置了侦听器,但调试器从未访问过我的代码 :(。猜猜发生了什么?
    • IPN 是一个静默 POST,因此您必须检查您的网络日志以查看在命中时发生了什么错误。
    • 在 Express Checkout API 链接 (developer.paypal.com/docs/classic/express-checkout/…) 之后显示该 API 已于 2017 年 1 月 1 日弃用。
    【解决方案2】:

    打开Payment Data Transfer 并开始工作

    【讨论】:

      猜你喜欢
      • 2020-08-15
      • 2016-04-17
      • 2021-01-30
      • 2015-07-11
      • 2016-02-18
      • 1970-01-01
      • 2014-04-06
      • 1970-01-01
      • 2011-08-27
      相关资源
      最近更新 更多