【问题标题】:RETURNURL from a secure token来自安全令牌的 RETURNURL
【发布时间】:2016-06-07 20:11:56
【问题描述】:

我在支付流链接上使用安全令牌。我成功创建了具有以下值的令牌。

    setupParameters.put("CANCELURL", "http://localhost:9090/paypalcancel");
    setupParameters.put("ERRORURL", "http://localhost:9090/paypalerror");
    setupParameters.put("RETURNURL", "http://localhost:9090/paypalcompleted");
    setupParameters.put("URLMETHOD", "POST");
    setupParameters.put("TEMPLATE", "TEMPLATEB");
    setupParameters.put("DISABLERECEIPT", "TRUE");

看起来 RETURNURL 正在工作,但它正在重定向到下面的 url。 https://payflowlink.paypal.com/http%3A%2F%2Flocalhost%3A9090%2Fpaypalcompleted

这给了我这个 http 错误 HTTP 错误 404 - 找不到文件。 毫不奇怪,因为它没有击中我的网址。 ("http://localhost:9090/paypalcompleted")

我在这里错过了什么?

提前致谢,

保罗

【问题讨论】:

  • 你在公共服务器上试过了吗?我相信您无法使用本地服务器对此进行进一步测试。
  • 我没有。如果我在管理器的设置页面中使用了 RETURNURL 并且没有覆盖它......它可以工作。是最重要的事情搞砸了。

标签: paypal


【解决方案1】:

好的,

所以问题在于使用 Apache 的 HTTPClient。它一定是对参数进行 URLEncoding。我切换到使用标准的 java URL 连接,它工作得很好。我只需要手工制作参数字符串。

        URL obj = new URL(url);
        HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();
        con.setRequestMethod("POST");
        con.setRequestProperty("User-Agent", "Mozilla/5.0");
        con.setRequestProperty("Accept-Language", "en-US,en;q=0.5");

        String urlParameters = "";
        StringBuffer sb = new StringBuffer();
        if(setupParameters!=null) {
            for(String key : setupParameters.keySet()) {
                sb.append(key+"="+setupParameters.get(key)+"&");
            }
        }
        urlParameters=sb.toString().substring(0, sb.toString().length()-1);
        // Send post request
        con.setDoOutput(true);
        DataOutputStream wr = new DataOutputStream(con.getOutputStream());
        wr.writeBytes(urlParameters);
        wr.flush();
        wr.close();

        int responseCode = con.getResponseCode();
        System.out.println("\nSending 'POST' request to URL : " + url);
        System.out.println("Post parameters : " + urlParameters);
        System.out.println("Response Code : " + responseCode);

【讨论】:

    猜你喜欢
    • 2018-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-12
    • 2015-08-17
    • 1970-01-01
    • 2012-08-01
    • 2011-11-10
    相关资源
    最近更新 更多