【问题标题】:PayPal API permissions request takes user to PayPal home page [closed]PayPal API 权限请求将用户带到 PayPal 主页 [关闭]
【发布时间】:2017-11-15 21:17:33
【问题描述】:

我正在使用PayPal Permissions SDK (Classic/NVP) 寻求第三方付款的授权。

当有人第一次点击我的按钮,将他们重定向到 PayPal 登录并授权他们收到的请求时,他们最终会出现在 PayPal 主页上。如果他们返回并再次单击我的按钮,这次它会起作用并将他们带到正确的 PayPal 页面。

这是我的代码:

RequestPermissionsRequest rp = new RequestPermissionsRequest();
rp.scope = new List<string>();
rp.scope.Add("EXPRESS_CHECKOUT");
rp.callback = "my return url here";
rp.requestEnvelope = new RequestEnvelope("en_US");
RequestPermissionsResponse rpr = null;
PermissionsService service = new PermissionsService(PayPalClassicHelpers.Configuration.GetAcctAndConfig());
rpr = service.RequestPermissions(rp);
Response.Redirect("https://www.paypal.com/webscr&cmd=_grant-permission&request_token=" + rpr.token);

这会将他们重定向到 PayPal URL:

https://www.paypal.com/webscr&cmd=_grant-permission&request_token=***rpr.token value***

但他们第一次来到这里:

https://www.paypal.com/us/home

看请求头和响应头,第一次看到这个:

  1. 获取:https://www.paypal.com/webscr&cmd=_grant-permission&request_token=***
  2. 响应:HTTP/2.0 200 OK
  3. 各种 CSS、JS 和图像请求
  4. 发布:https://www.paypal.com/auth/validatecaptcha
  5. 响应:找到 HTTP/2.0 302 位置:/webscr&cmd=_grant-permission&request_token=***
  6. 获取:https://www.paypal.com/webscr&cmd=_grant-permission&request_token=***
  7. 响应:找到 HTTP/2.0 302 地点:https://www.paypal.com/home

在后续请求中,没有 POST 到 https://www.paypal.com/auth/validatecaptcha。

我已经在一些网络和计算机上尝试过这个,它总是一样的。

有没有人遇到过这种情况并知道原因和解决方法?

【问题讨论】:

    标签: paypal paypal-nvp


    【解决方案1】:

    只需使用“?” webscr 后的符号。

    例如,改变

    https://www.paypal.com/webscr&amp;cmd=_grant-permission&amp;request_token=到

    https://www.paypal.com/webscr?cmd=_grant-permission&amp;request_token=

    【讨论】:

    • 感谢您的发现。我不敢相信我一直没有发现自己。我不明白为什么它第一次不起作用,但第二次起作用,但现在每次我都做了这个改变!
    【解决方案2】:

    我不确定,但在测试和调试我的 PayPal 定期计费代码时遇到了同样的问题。

    在我的情况下,大多数情况下是因为用户已经使用其他帐户登录,并且 PayPal 在浏览器中保存了一些 cookie。

    这可能是保存的 cookie 问题和开发过程中经常使用的各种帐户,例如沙盒卖家和沙盒买家。

    检查一下,看看问题是否仍然存在。

    再次重申,这些只是我的经验,如果您的真实用户在生产应用程序中实际体验到这一点,那么它可能完全是另外一回事。

    【讨论】:

    • 我认为由于使用不同的测试帐户,我在测试时遇到了类似的问题。但这一次,在现场支付宝上,它似乎发生在每个人身上。我刚刚在完全清除浏览器数据后进行了测试,由于某种原因它仍然做同样的事情。幸运的是第二次成功了,但很难向用户解释尝试再做两次。
    猜你喜欢
    • 2017-09-16
    • 2012-06-02
    • 2018-06-03
    • 2012-12-19
    • 2019-08-11
    • 2014-12-17
    • 2013-05-03
    • 2012-01-17
    • 2012-07-03
    相关资源
    最近更新 更多