2015-04-03 86 views
1

我正在尝试将贝宝登录集成到我的JSF应用程序中。使用Java Rest API进行PayPal登录

用户应该被重定向到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,即使我使用完全相同的网址我已经安装在我的贝宝应用程序。

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

回答

1

我通过执行以下固定它。

  1. 转到http://developer.paypal.com/和登录
  2. 进入沙盒>帐户
  3. 点击-developer账户 - >档案 - > API证书
  4. 确保返回的URL是一样的返回URL你要使用
  5. 按保存

即使在这些设置返回URL是等于一个在我的应用程序设置s,只需使用该特定位置的保存按钮就可以实现。我完全不知道为什么这个固定它...

0

您是否已验证“redirectURI”的URI与开发者帐户中REST应用的URI相同?步骤:

  1. 转到https://developer.paypal.com并与您的支付宝账户登录
  2. 点击“主页”
  3. 在REST应用页面,选择您在您的Java应用程序(客户端ID和秘密使用REST应用是一样的)
  4. 在“沙盒设置应用”部分,检查是否使用相同的URL作为一个在“返回URL”字段
+0

是的,它是完全相同的网址。 – kevcodez 2015-04-04 00:32:30