【发布时间】: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
看请求头和响应头,第一次看到这个:
- 获取:https://www.paypal.com/webscr&cmd=_grant-permission&request_token=***
- 响应:HTTP/2.0 200 OK
- 各种 CSS、JS 和图像请求
- 发布:https://www.paypal.com/auth/validatecaptcha
- 响应:找到 HTTP/2.0 302 位置:/webscr&cmd=_grant-permission&request_token=***
- 获取:https://www.paypal.com/webscr&cmd=_grant-permission&request_token=***
- 响应:找到 HTTP/2.0 302 地点:https://www.paypal.com/home
在后续请求中,没有 POST 到 https://www.paypal.com/auth/validatecaptcha。
我已经在一些网络和计算机上尝试过这个,它总是一样的。
有没有人遇到过这种情况并知道原因和解决方法?
【问题讨论】:
标签: paypal paypal-nvp