贝宝登录 Java 休息 API

PayPal Login with Java Rest API

我目前正在尝试将 PayPal 登录集成到我的 JSF 应用程序中。

用户应该被重定向到 PayPal,登录,然后被重定向回我们的网站。使用重定向的令牌,我想获取用户的电子邮件。

我正在使用最新的 Java Restful API 并使用了 PayPal 提供的确切样本。

Map<String, String> configurationMap = new HashMap<String, String>();
    configurationMap.put("mode", "sandbox");

    APIContext apiContext = new APIContext();
    apiContext.setConfigurationMap(configurationMap);

    List<String> scopelist = new ArrayList<String>();
    scopelist.add("openid");
    scopelist.add("email");
    String redirectURI = "https://22af922.ngrok.com/";

    ClientCredentials clientCredentials = new ClientCredentials();
    clientCredentials.setClientID("my_client_id");

    String redirectUrl = Session.getRedirectURL(redirectURI, scopelist, apiContext, clientCredentials); 

生成重定向 url 工作正常,但是,在重定向时,它一直告诉我 redirect_uri 与我的应用程序设置中的 redirect_uri 不匹配,即使我是使用与我在 PayPal 应用程序中设置的完全相同的 url。

非常感谢任何帮助。提前致谢。

您是否已验证 "redirectURI" 与您的开发者帐户中的 REST 应用程序具有相同的 URI?步骤:

  1. 转到 https://developer.paypal.com 并使用您的 PayPal 帐户登录
  2. 点击'Dashboard'
  3. 在 REST 应用程序页面上,select 您在 Java 应用程序中使用的 REST 应用程序(客户端 ID 和密码相同)
  4. 在 'SANDBOX APP SETTING' 部分下,检查您使用的 url 是否与 'Return URL' 字段
  5. 中的相同

我通过执行以下操作修复了它。

  1. 转到 http://developer.paypal.com/ 并登录
  2. 转到沙盒 > 帐户
  3. 点击-developer account -> Profile -> API Credentials
  4. 确保 return url 与您尝试使用的 return url 相同
  5. 按保存

尽管这些设置中的 return url 与我的应用程序设置中的相同,但只需在该特定位置使用保存按钮就可以了。我完全不知道为什么要修复它...