diff --git a/core/res/src/main/res/values-de/strings.xml b/core/res/src/main/res/values-de/strings.xml
index ab28c8f601..a3491e0401 100644
--- a/core/res/src/main/res/values-de/strings.xml
+++ b/core/res/src/main/res/values-de/strings.xml
@@ -468,9 +468,12 @@
%s Netzwerk
Sende Geld nur mit
Beste Gelegenheiten
+ Filter löschen
Alle Netzwerke
Alle Arten
+ Filtern nach
Meist verwendet
+ Keine Ergebnisse
Verdienen
Hallo Support-Team, ich habe einen Fehler mit dem Code %s festgestellt.
WalletConnect-Fehler
@@ -1481,10 +1484,12 @@
Abgeschlossen
Abgelehnt
Ausstehend
+ Storniert
Bedingungen, Gebühren & Limits
Bedingungen und Einschränkungen
Die Bank hat diese Transaktionsanfrage abgelehnt.
Diese Gebühr dient zur Deckung der Kosten für die Abwicklung Deiner Überweisung.Questa commissione copre il costo della gestione del tuo trasferimento.
+ Die Transaktion wurde vom Händler teilweise oder vollständig storniert
Nutze Dein Geld weiterhin. Du kannst es jederzeit einfrieren.
Karte entsperren?
Entsperren der Karte fehlgeschlagen. Versuchen Sie es später erneut.
diff --git a/core/res/src/main/res/values-es/strings.xml b/core/res/src/main/res/values-es/strings.xml
index 4e0238e409..fac79c1d1f 100644
--- a/core/res/src/main/res/values-es/strings.xml
+++ b/core/res/src/main/res/values-es/strings.xml
@@ -1481,10 +1481,12 @@
Completado
Rechazado
Pendiente
+ Revertida
Términos, tarifas y límites
Términos y límites
El banco rechazó esta solicitud de transacción.
Esta tarifa cubre el costo de procesar tu transferencia.
+ La transacción fue revertida parcial o totalmente por el comerciante
Sigue usando tu dinero. Puedes congelarlo en cualquier momento.
¿Descongelar tu tarjeta?
No se pudo descongelar la tarjeta. Inténtalo de nuevo más tarde.
diff --git a/core/res/src/main/res/values-fr/strings.xml b/core/res/src/main/res/values-fr/strings.xml
index 7eda943c3f..a89fafa94f 100644
--- a/core/res/src/main/res/values-fr/strings.xml
+++ b/core/res/src/main/res/values-fr/strings.xml
@@ -468,9 +468,14 @@
%s réseau
Envoyez des fonds en utilisant uniquement
Meilleures opportunités
+ Effacer le filtre
Tous les réseaux
Tous les types
+ Filtrer par
+ Mes réseaux
+ Réseaux
Principalement utilisé
+ Pas de résultat
Gagner
Bonjour équipe de support, j’ai rencontré une erreur avec le code : %s
Erreur WalletConnect
@@ -823,6 +828,7 @@
Volume
Tirez vers le haut ou appuyez sur la barre de recherche pour ajouter des jetons directement depuis le marché
Ajouter des jetons
+ Ajouter plus de tokens
Optimisez vos actifs tout en leur fournissant un accès instantané. %s
Activer le mode rendement
Vous devez effectuer la mise à jour %1$s afin de créer un portefeuille mobile.
@@ -1481,10 +1487,12 @@
Terminé
Refusé
En attente
+ Annulée
Conditions, frais et limites
Conditions et limites
La banque a rejeté cette demande de transaction.
Ces frais couvrent le coût du traitement de votre virement.
+ La transaction a été partiellement ou totalement annulée par le commerçant
Continuez à utiliser votre argent. Vous pouvez le geler à tout moment.
Dégeler votre carte ?
Échec du dégel de la carte. Réessayez plus tard.
@@ -1849,6 +1857,7 @@
Rafraîchir
Lancer la migration
Copier
+ Pour conserver l\'accès à vos fonds, lancez la migration conformément aux directives officielles de Clore.
La signature des messages n\'est pas prise en charge pour ce réseau.
Impossible de signer le message. Veuillez réessayer.
Selon la documentation officielle de Clore, toutes les pièces reçues avant le 21 décembre seront migrées vers Clore (token ERC-20) ; les pièces reçues après cette date ne le seront pas. Une solution de transfert arrive — restez à l\'écoute.
diff --git a/core/res/src/main/res/values-it/strings.xml b/core/res/src/main/res/values-it/strings.xml
index 0c8bcde7ac..50290eaea8 100644
--- a/core/res/src/main/res/values-it/strings.xml
+++ b/core/res/src/main/res/values-it/strings.xml
@@ -87,10 +87,12 @@
Completato
Rifiutato
In sospeso
+ Stornata
Termini, commissioni e limiti
Termini e limiti
La banca ha rifiutato questa richiesta di transazione.
Questa commissione copre il costo della gestione del tuo trasferimento.
+ La transazione è stata parzialmente o totalmente stornata dal commerciante
Continua a usare i tuoi soldi. Puoi congelarli in qualsiasi momento.
Sbloccare la tua carta?
Impossibile sbloccare la carta. Riprova più tardi.
diff --git a/core/res/src/main/res/values-ja/strings.xml b/core/res/src/main/res/values-ja/strings.xml
index c773a24141..d554a4bd2f 100644
--- a/core/res/src/main/res/values-ja/strings.xml
+++ b/core/res/src/main/res/values-ja/strings.xml
@@ -1462,10 +1462,12 @@
完了
拒否
保留中
+ 取消済み
利用規約・手数料・利用制限
利用規約と上限条件
銀行がこの取引リクエストを拒否しました。
この手数料は、送金処理にかかるコストをカバーするためのものです。
+ この取引は加盟店により一部または全額取り消されました
資金は引き続き使用できます。いつでも一時停止できます。
カードの一時停止を解除しますか?
カードの凍結解除に失敗しました。しばらくしてからもう一度お試しください。
diff --git a/core/res/src/main/res/values-ru/strings.xml b/core/res/src/main/res/values-ru/strings.xml
index cc50a2188a..550f256f3f 100644
--- a/core/res/src/main/res/values-ru/strings.xml
+++ b/core/res/src/main/res/values-ru/strings.xml
@@ -310,6 +310,7 @@
Перейти в токен
Понятно
Скрыть
+ Удерживайте, чтобы %s
час
Импортировать
В процессе
@@ -387,6 +388,7 @@
Обменять
Tangem
Tangem Wallet
+ Нажмите и удерживайте
условия участия
Условиями использования
На
@@ -478,9 +480,15 @@
Отправка средств в другой сети может повлечь потерю средств.
%s сеть
Отправляйте средства, используя только
+ Лучшие возможности
+ Очистить фильтр
Все сети
Все типы
+ Фильтровать по
+ Мои сети
+ Сети
Часто используемые
+ Нет результата
Привет, команда поддержки, у меня возникла ошибка с кодом: %s
Ошибка WalletConnect
Вы использовали карту или кольцо от другого кошелька. Приложите карту или кольцо, связанную с этим кошельком.
@@ -836,6 +844,7 @@
Объем
Потяните вверх или коснитесь поисковой строки, чтобы добавить токены напрямую из рынка
Добавить токены
+ Добавить токены
Увеличивайте доход с активов, сохраняя мгновенный доступ к ним. %s
Активировать режим доходности
Обновитесь до версии %1$s, чтобы создать мобильный кошелёк
@@ -1507,10 +1516,12 @@
Успешно завершено
Отклонено
В процессе
+ Возврат
Тарифы и полные условия
Тарифы и лимиты
Банк отклонил транзакцию
Эта комиссия покрывает стоимость обработки вашего перевода.
+ Транзакция частично или полностью возвращена продавцом
Продолжайте пользоваться картой, заморозить всегда успеете
Разморозить карту?
Не удалось разморозить карту, попробуйте еще раз
@@ -1810,6 +1821,7 @@
Обновить
Начать миграцию
Копировать
+ Чтобы сохранить доступ к своим средствам, начните миграцию в соответствии с официальными рекомендациями Clore.
Подписание сообщений не поддерживается в этой сети
Невозможно подписать сообщение. Пожалуйста, попробуй позже.
Согласно официальной документации Clore, все монеты, полученные до 21 декабря, будут мигрированы в токен Clore (ERC-20); монеты, полученные после этой даты, — нет. Решение для перевода находится в разработке — следите за обновлениями.
@@ -1920,6 +1932,7 @@
Мы обнаружили неизвестную ошибку
Кошелек Tangem в настоящий момент не поддерживает %s
Неподдерживаемый dApp
+ Код ошибки: 8 005.\nЕсли проблема сохраняется — пожалуйста, свяжитесь с нашей службой поддержки.
Мы обнаружили неизвестную ошибку
Эта сеть %s не поддерживается Tangem Wallet и не может быть подключена.
Неподдерживаемая сеть
diff --git a/core/res/src/main/res/values-uk-rUA/strings.xml b/core/res/src/main/res/values-uk-rUA/strings.xml
index 4bb916c300..cd70c14fcd 100644
--- a/core/res/src/main/res/values-uk-rUA/strings.xml
+++ b/core/res/src/main/res/values-uk-rUA/strings.xml
@@ -1480,10 +1480,12 @@
Завершено
Відхилено
В очікуванні
+ Скасовано
Умови, комісії та ліміти
Умови та обмеження
Банк відхилив цей запит на транзакцію.
Ця комісія покриває витрати на обробку вашого переказу.
+ Транзакцію було частково або повністю скасовано продавцем
Продовжуйте користуватися карткою. Заморозити можна в будь-який момент.
Розморозити картку?
Не вдалося розморозити картку. Спробуйте пізніше.
diff --git a/core/res/src/main/res/values-zh-rTW/strings.xml b/core/res/src/main/res/values-zh-rTW/strings.xml
index ad66420637..f2a8057772 100644
--- a/core/res/src/main/res/values-zh-rTW/strings.xml
+++ b/core/res/src/main/res/values-zh-rTW/strings.xml
@@ -330,10 +330,12 @@
已完成
已拒絕
處理中
+ 已撤銷
條款、費用與限制
條款與限制
銀行拒絕了此交易請求。
此費用用於支付處理您轉帳的成本。
+ 該交易已被商家部分或全額撤銷
繼續使用您的資金。您可以隨時凍結。
解凍您的卡片?
無法解凍卡片。請稍後再試。
diff --git a/core/res/src/main/res/values/strings.xml b/core/res/src/main/res/values/strings.xml
index 8916a5a857..38fbaf5e44 100644
--- a/core/res/src/main/res/values/strings.xml
+++ b/core/res/src/main/res/values/strings.xml
@@ -469,9 +469,11 @@
Send funds using only
Best opportunities
Clear filter
+ The list is temporarily empty as it’s being refreshed. Check back in a moment.
All networks
All types
Filter by
+ My networks
Networks
Mostly used
No results
@@ -828,6 +830,7 @@
Volume
Pull this up or tap the search bar to add tokens directly from the market
Add tokens
+ Add more tokens
Power up your assets while supplying them with instant access. %s
Activate Yield Mode
You must update to %1$s before creating a mobile wallet
@@ -1486,10 +1489,12 @@
Completed
Declined
Pending
+ Reversed
Terms, Fees & Limits
Terms and Limits
The bank rejected this transaction request.
This fee goes to cover the cost of handling your transfer.
+ The transaction was partially or fully reversed by the merchant
Keep using your money. You can freeze anytime.
Unfreeze your card?
Failed to unfreeze the card. Try again later.
diff --git a/data/visa/src/main/kotlin/com/tangem/data/visa/utils/TangemPayTxHistoryItemStatusConverter.kt b/data/visa/src/main/kotlin/com/tangem/data/visa/utils/TangemPayTxHistoryItemStatusConverter.kt
index 775b3843a9..e1ac53a595 100644
--- a/data/visa/src/main/kotlin/com/tangem/data/visa/utils/TangemPayTxHistoryItemStatusConverter.kt
+++ b/data/visa/src/main/kotlin/com/tangem/data/visa/utils/TangemPayTxHistoryItemStatusConverter.kt
@@ -10,6 +10,7 @@ internal object TangemPayTxHistoryItemStatusConverter : Converter TangemPayTxHistoryItem.Status.RESERVED
"COMPLETED" -> TangemPayTxHistoryItem.Status.COMPLETED
"DECLINED" -> TangemPayTxHistoryItem.Status.DECLINED
+ "REVERSED" -> TangemPayTxHistoryItem.Status.REVERSED
else -> TangemPayTxHistoryItem.Status.UNKNOWN
}
}
diff --git a/domain/visa/models/src/main/kotlin/com/tangem/domain/visa/model/TangemPayTxHistoryItem.kt b/domain/visa/models/src/main/kotlin/com/tangem/domain/visa/model/TangemPayTxHistoryItem.kt
index 9741b0d593..33289fa8f7 100644
--- a/domain/visa/models/src/main/kotlin/com/tangem/domain/visa/model/TangemPayTxHistoryItem.kt
+++ b/domain/visa/models/src/main/kotlin/com/tangem/domain/visa/model/TangemPayTxHistoryItem.kt
@@ -72,6 +72,7 @@ sealed class TangemPayTxHistoryItem {
RESERVED,
COMPLETED,
DECLINED,
+ REVERSED,
UNKNOWN,
}
}
\ No newline at end of file
diff --git a/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/model/transformers/TangemPayTxHistoryDetailsConverter.kt b/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/model/transformers/TangemPayTxHistoryDetailsConverter.kt
index d5be0d999b..4a1de8ef38 100644
--- a/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/model/transformers/TangemPayTxHistoryDetailsConverter.kt
+++ b/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/model/transformers/TangemPayTxHistoryDetailsConverter.kt
@@ -110,6 +110,7 @@ internal object TangemPayTxHistoryDetailsConverter :
is TangemPayTxHistoryItem.Spend -> {
val amountPrefix = when {
this.amount.isZero() -> ""
+ this.status == TangemPayTxHistoryItem.Status.REVERSED -> StringsSigns.MINUS
this.status == TangemPayTxHistoryItem.Status.DECLINED ||
this.amount.isPositive() -> StringsSigns.MINUS
else -> StringsSigns.PLUS
@@ -205,6 +206,10 @@ internal object TangemPayTxHistoryDetailsConverter :
text = resourceReference(R.string.tangem_pay_status_declined),
style = LabelStyle.WARNING,
)
+ TangemPayTxHistoryItem.Status.REVERSED -> LabelUM(
+ text = resourceReference(R.string.tangem_pay_status_reversed),
+ style = LabelStyle.REGULAR,
+ )
TangemPayTxHistoryItem.Status.RESERVED,
TangemPayTxHistoryItem.Status.UNKNOWN,
-> null
@@ -227,24 +232,33 @@ internal object TangemPayTxHistoryDetailsConverter :
containerColor = null,
)
is TangemPayTxHistoryItem.Spend -> when (this.status) {
- TangemPayTxHistoryItem.Status.DECLINED ->
- TangemPayTxHistoryDetailsUM.NotificationState(
- config = NotificationConfig(
- title = if (declinedReason.isNullOrEmpty()) {
- resourceReference(R.string.tangem_pay_transaction_declined_notification_text)
- } else {
- resourceReference(
- id = R.string.tangem_pay_history_item_spend_mc_declined_reason,
- formatArgs = wrappedList(requireNotNull(declinedReason)),
- )
- },
- subtitle = TextReference.EMPTY,
- iconResId = R.drawable.ic_token_info_24,
- ),
- titleColor = themedColor { TangemTheme.colors.text.warning },
- iconTint = themedColor { TangemTheme.colors.icon.warning },
- containerColor = themedColor { TangemColorPalette.Amaranth.copy(alpha = 0.1F) },
- )
+ TangemPayTxHistoryItem.Status.DECLINED -> TangemPayTxHistoryDetailsUM.NotificationState(
+ config = NotificationConfig(
+ title = if (declinedReason.isNullOrEmpty()) {
+ resourceReference(R.string.tangem_pay_transaction_declined_notification_text)
+ } else {
+ resourceReference(
+ id = R.string.tangem_pay_history_item_spend_mc_declined_reason,
+ formatArgs = wrappedList(requireNotNull(declinedReason)),
+ )
+ },
+ subtitle = TextReference.EMPTY,
+ iconResId = R.drawable.ic_token_info_24,
+ ),
+ titleColor = themedColor { TangemTheme.colors.text.warning },
+ iconTint = themedColor { TangemTheme.colors.icon.warning },
+ containerColor = themedColor { TangemColorPalette.Amaranth.copy(alpha = 0.1F) },
+ )
+ TangemPayTxHistoryItem.Status.REVERSED -> TangemPayTxHistoryDetailsUM.NotificationState(
+ config = NotificationConfig(
+ title = resourceReference(R.string.tangem_pay_transaction_reversed_notification_text),
+ subtitle = TextReference.EMPTY,
+ iconResId = R.drawable.ic_token_info_24,
+ ),
+ titleColor = themedColor { TangemTheme.colors.text.tertiary },
+ iconTint = themedColor { TangemTheme.colors.icon.secondary },
+ containerColor = null,
+ )
TangemPayTxHistoryItem.Status.PENDING,
TangemPayTxHistoryItem.Status.COMPLETED,
TangemPayTxHistoryItem.Status.RESERVED,
diff --git a/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/model/transformers/TangemPayTxHistoryItemsConverter.kt b/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/model/transformers/TangemPayTxHistoryItemsConverter.kt
index bf0f79c163..e868de30a5 100644
--- a/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/model/transformers/TangemPayTxHistoryItemsConverter.kt
+++ b/features/tangempay/details/impl/src/main/kotlin/com/tangem/features/tangempay/model/transformers/TangemPayTxHistoryItemsConverter.kt
@@ -37,6 +37,7 @@ internal class TangemPayTxHistoryItemsConverter(
val localDate = spend.date.withZone(DateTimeZone.getDefault())
val amountPrefix = when {
spend.amount.isZero() -> ""
+ spend.status == TangemPayTxHistoryItem.Status.REVERSED -> StringsSigns.MINUS
spend.status == TangemPayTxHistoryItem.Status.DECLINED || spend.amount.isPositive() -> StringsSigns.MINUS
else -> StringsSigns.PLUS
}