java - PayPal REST API java sdk - 自定义配置文件

标签 java paypal

大家下午好!

我使用 PayPal REST API java sdk,我想为我的应用程序的不同环境使用不同的配置。这是我尝试这样做的方式:

private static boolean IS_PRODUCTION = false;

private static String PAYPAL_ACCESS_TOKEN;

private static void initPayPal() {
    InputStream is = null;
    try {
        is = ApplicationConfig.class.getResourceAsStream(
                IS_PRODUCTION? "/my_paypal_sdk_config.properties" : "/my_paypal_sdk_config_test.properties");
        PayPalResource.initConfig(is);
        String clientID = ConfigManager.getInstance().getConfigurationMap().get("clientID");
        String clientSecret = ConfigManager.getInstance().getConfigurationMap().get("clientSecret");
        PAYPAL_ACCESS_TOKEN = new OAuthTokenCredential(clientID, clientSecret).getAccessToken();
    } catch (Exception e) {
        throw new RuntimeException(e);
    } finally {
        IOUtils.closeQuietly(is);
    }
}

在尝试获取我拥有的 clientID 时

java.io.IOException: Resource 'sdk_config.properties' could not be found

奇怪的行为 - 我以为我只是将 sdk 配置为使用我自己的属性文件。

请告诉我如何正确设置这些设置!

最佳答案

所以这是我找到的解决方案:

  1. 在默认位置创建一个空的 sdk_config.properties 文件
  2. 加载您自己的属性:

    private static void initPayPal() {
        InputStream is = null;
        try {
            is = ApplicationConfig.class.getResourceAsStream(
        IS_PRODUCTION ? "/my_paypal_sdk_config.properties" : "/my_paypal_sdk_config_test.properties");
            Properties props = new Properties();
            props.load(is);
            PayPalResource.initConfig(props);
            ConfigManager.getInstance().load(props);
            String clientID = ConfigManager.getInstance().getConfigurationMap().get("clientID");
            String clientSecret = ConfigManager.getInstance().getConfigurationMap().get("clientSecret");
            PAYPAL_ACCESS_TOKEN = new OAuthTokenCredential(clientID, clientSecret).getAccessToken();
        } catch (Exception e) {
            throw new RuntimeException(e);
        } finally {
            IOUtils.closeQuietly(is);
        }
    }
    

关于java - PayPal REST API java sdk - 自定义配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18359669/

相关文章:

java - 十进制转二进制代码

java - 混合泛型方法和 Java 8 语法的复合表达式无法编译

Angular 2 Paypal

java - 如何在 java.sql.Timestamp 中添加时间

java - 根据列表元素自动创建对象

java - Scala类继承和方法参数

php - 什么时候在快速结账 paypal api 中访问取消 url?

ios - 来自 iOS 的 PayPal 错误 580001 HTTP 请求

php - 在 PHP 中使用 REST API 进行 Paypal 支付

php - 在 php 中的标准 Paypal 重定向页面上添加站点 Logo