【问题标题】:Switching card readers in stripe terminal在条带终端中切换读卡器
【发布时间】:2021-08-01 18:15:48
【问题描述】:

我正在使用com.stripe:stripeterminal:1.0.17,我正在尝试在应用程序中切换读卡器,但尝试 initTerminal 时出现崩溃:您只能在请求终端实例之前调用 initTerminal第一次。

我在清缓存,我觉得这个功能有问题,我对java不太感兴趣,所以很难找到问题:

 public void stripeTerminal(String stripeTerminalToken) {
    Activity currentActivity = getCurrentActivity();
      terminalToken = stripeTerminalToken;
      try {
        Log.i("find_me", "terminal: " + terminal);
        if (terminal != null) {
          terminal.clearCachedCredentials();
        }

        Terminal.initTerminal(mContext, LogLevel.VERBOSE, new TokenProvider(),
        new TerminalEventListener());
        terminal = Terminal.getInstance();
 
      } catch(TerminalException e) {
          Exception exception = new Exception(e.getErrorMessage());
          Crashlytics.logException(exception);
          WritableMap params = Arguments.createMap();
          params.putString("errorMsg", e.getErrorMessage());
          sendEventToJS(mContext, "stripeDevicesList", params);
          if (terminal != null) {
            terminal.clearCachedCredentials();
          }
          terminal = null;
      }
  }

【问题讨论】:

    标签: java stripe-payments


    【解决方案1】:

    您可以通过在调用Terminal.initTerminal 之前添加Terminal.isInitialized 检查来解决此问题。 Terminal.clearCachedCredentials 用于切换帐户 - 它不允许您多次调用 Terminal.initTerminal

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-21
      • 2019-04-30
      • 2015-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-07
      • 2020-03-27
      相关资源
      最近更新 更多