Мы используем более одной учетной записи в приложении, и когда я пытаюсь переключить учетные записи в приложении и перед вызовом Terminal.initTerminal() я делаю:
Terminal.getInstance().clearCachedCredentials();
и я отключаю устройство чтения
Невозможно инициализировать терминал, когда я пытаюсь к Terminal.initTerminal(), затем отображается исключение/ошибка:
java.lang.IllegalStateException: вы можете вызвать initTerminal только перед запросом экземпляра терминала для первый раз. Если вы пытаетесь сменить учетную запись в своем приложении, обратитесь к документации методаcleCachedCredentials.
Не знаю, проблема ли это или полоса не позволяет нам менять учетные записи в приложении.
Я хотел бы знать, есть ли способ обновить токен подключения. Если кто-то знает, пожалуйста, дайте мне знать. Я потратил на это много времени. Спасибо
Я видел это: https://github.com/stripe/stripe-termin ... /issues/88. но я не могу решить проблему.
Мой код =
private fun initializeTerminal(idUserAppInstitution: Int, token: String, result: MethodChannel.Result) {
// Set the token globally in ApiClient
ApiClient.setToken(token)
val tokenProvider = TokenProvider(idUserAppInstitution)
if (!Terminal.isInitialized()) {
try {
// Initialize the terminal, passing the idUserAppInstitution to TokenProvider
Terminal.initTerminal(applicationContext, LogLevel.VERBOSE, tokenProvider, TerminalEventListener())
terminalInitialized = true
result.success("Stripe Initialized")
} catch (e: TerminalException) {
terminalInitialized = false
result.error("INITIALIZATION_ERROR", "Error initializing Terminal: ${e.message}", null)
}
} else {
terminalInitialized = true
result.success("Stripe Already Initialized")
}
}
package com.example.np_casse
import android.util.Log // Import the Log class for debugging purposes
import com.stripe.stripeterminal.external.callable.ConnectionTokenCallback
import com.stripe.stripeterminal.external.callable.ConnectionTokenProvider
import com.stripe.stripeterminal.external.models.ConnectionTokenException
import retrofit2.Call
import retrofit2.Callback
import retrofit2.Response
class TokenProvider(private val idUserAppInstitution: Int) : ConnectionTokenProvider {
// Override the fetchConnectionToken method
override fun fetchConnectionToken(callback: ConnectionTokenCallback) {
// Use ApiClient directly to get the service
val backendService = ApiClient.service
// Call the getConnectionToken method from the BackendService
backendService.getConnectionToken(idUserAppInstitution).enqueue(object : Callback {
override fun onResponse(call: Call, response: Response) {
if (response.isSuccessful) {
val connectionToken = response.body()
if (connectionToken != null && connectionToken.secret != null) {
// Log the response for debugging
Log.d("TokenProvider", "Successfully fetched connection token: ${connectionToken.secret}")
callback.onSuccess(connectionToken.secret)
} else {
val errorMessage = "Response body or secret is null"
Log.e("TokenProvider", errorMessage)
callback.onFailure(ConnectionTokenException(errorMessage))
}
} else {
// Capture detailed error info from the response
val errorMessage = response.errorBody()?.string() ?: "Unknown error"
val statusCode = response.code()
Log.e("TokenProvider", "Error fetching connection token. Status: $statusCode, Error: $errorMessage")
callback.onFailure(ConnectionTokenException("Failed to fetch connection token: $errorMessage"))
}
}
override fun onFailure(call: Call, t: Throwable) {
// Handle network or other failures
Log.e("TokenProvider", "Network failure: ${t.message}", t)
callback.onFailure(ConnectionTokenException("Failed to fetch connection token: ${t.message}"))
}
})
}
}
Подробнее здесь: https://stackoverflow.com/questions/793 ... e-terminal
Изменить токен подключения в терминале Stripe ⇐ Android
Форум для тех, кто программирует под Android
-
Anonymous
1737380367
Anonymous
Мы используем более одной учетной записи в приложении, и когда я пытаюсь переключить учетные записи в приложении и перед вызовом [b]Terminal.initTerminal()[/b] я делаю:
[b]Terminal.getInstance().clearCachedCredentials();[/b]
и я отключаю устройство чтения
Невозможно инициализировать терминал, когда я пытаюсь к [b]Terminal.initTerminal()[/b], затем отображается исключение/ошибка:
[b]java.lang.IllegalStateException: вы можете вызвать initTerminal только перед запросом экземпляра терминала для первый раз. Если вы пытаетесь сменить учетную запись в своем приложении, обратитесь к документации методаcleCachedCredentials.
Не знаю, проблема ли это или полоса не позволяет нам менять учетные записи в приложении.[/b]
Я хотел бы знать, есть ли способ обновить токен подключения. Если кто-то знает, пожалуйста, дайте мне знать. Я потратил на это много времени. Спасибо
Я видел это: https://github.com/stripe/stripe-terminal-android/issues/88. но я не могу решить проблему.
Мой код =
private fun initializeTerminal(idUserAppInstitution: Int, token: String, result: MethodChannel.Result) {
// Set the token globally in ApiClient
ApiClient.setToken(token)
val tokenProvider = TokenProvider(idUserAppInstitution)
if (!Terminal.isInitialized()) {
try {
// Initialize the terminal, passing the idUserAppInstitution to TokenProvider
Terminal.initTerminal(applicationContext, LogLevel.VERBOSE, tokenProvider, TerminalEventListener())
terminalInitialized = true
result.success("Stripe Initialized")
} catch (e: TerminalException) {
terminalInitialized = false
result.error("INITIALIZATION_ERROR", "Error initializing Terminal: ${e.message}", null)
}
} else {
terminalInitialized = true
result.success("Stripe Already Initialized")
}
}
package com.example.np_casse
import android.util.Log // Import the Log class for debugging purposes
import com.stripe.stripeterminal.external.callable.ConnectionTokenCallback
import com.stripe.stripeterminal.external.callable.ConnectionTokenProvider
import com.stripe.stripeterminal.external.models.ConnectionTokenException
import retrofit2.Call
import retrofit2.Callback
import retrofit2.Response
class TokenProvider(private val idUserAppInstitution: Int) : ConnectionTokenProvider {
// Override the fetchConnectionToken method
override fun fetchConnectionToken(callback: ConnectionTokenCallback) {
// Use ApiClient directly to get the service
val backendService = ApiClient.service
// Call the getConnectionToken method from the BackendService
backendService.getConnectionToken(idUserAppInstitution).enqueue(object : Callback {
override fun onResponse(call: Call, response: Response) {
if (response.isSuccessful) {
val connectionToken = response.body()
if (connectionToken != null && connectionToken.secret != null) {
// Log the response for debugging
Log.d("TokenProvider", "Successfully fetched connection token: ${connectionToken.secret}")
callback.onSuccess(connectionToken.secret)
} else {
val errorMessage = "Response body or secret is null"
Log.e("TokenProvider", errorMessage)
callback.onFailure(ConnectionTokenException(errorMessage))
}
} else {
// Capture detailed error info from the response
val errorMessage = response.errorBody()?.string() ?: "Unknown error"
val statusCode = response.code()
Log.e("TokenProvider", "Error fetching connection token. Status: $statusCode, Error: $errorMessage")
callback.onFailure(ConnectionTokenException("Failed to fetch connection token: $errorMessage"))
}
}
override fun onFailure(call: Call, t: Throwable) {
// Handle network or other failures
Log.e("TokenProvider", "Network failure: ${t.message}", t)
callback.onFailure(ConnectionTokenException("Failed to fetch connection token: ${t.message}"))
}
})
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79370896/change-connection-token-in-stripe-terminal[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия