View Issue Details

IDProjectCategoryView StatusLast Update
0009488Talerwallet (iOS App)public2025-05-10 02:13
ReporterFlorian Dold Assigned Toavalos Resolution deadline
ImplementerReviewer 
Release signed byDeployed by 
VerifierCommunicator 
Data protection authority notification requiredNo  
CSIRT notification requiredNo  
Estimated effort (hours)Actual effort (hours)0 
Fast-trackNo
Work packagenone
PrioritynormalSeverityfeatureReproducibilityN/A
Status closedResolutionfixed 
Target Version1.0Fixed in Version1.0 
Summary0009488: iOS walllet should render insufficient balance details / hints for merchant payments
DescriptionRight now we just show "balance insufficient", which can be confusing when the wallet has a balance in that particular currency, but it is not accepted by the merchant.

Instead, we should render the insufficient balance details and ideally also give some actionable hint ("merchant might be misconfigured").
TagsNo tags attached.

Required notifications

Address or linkRemarkAdded byNotifiedActions

Relationships

related to 0009489 closedsebasjm webext walllet should render insufficient balance details / hints for merchant payments 

Activities

Florian Dold

2025-03-20 11:15

manager   ~0024254

Easiest way (other than mocking in the UI directly) would be a dev-experiment that causes all payments to return a particular insufficient balance details. Will implement this.

Florian Dold

2025-03-26 17:19

manager   ~0024311

The causeHint that the dev experiment should trigger is the following:

  /**
   * Merchant accepts funds from a matching exchange, but the funds can't be
   * deposited with the wire method.
   */
  MerchantDepositInsufficient = "merchant-deposit-insufficient",

avalos

2025-03-27 13:20

developer   ~0024315

This can now be easily tested in wallet-core:

commit 90eaa718692a614981c3befda42bdfc2e2fc47d5
Author: Iván Ávalos <avalos@disroot.org>
Date: Thu Mar 27 14:17:50 2025 +0100

    wallet-core: add merchant-deposit-insufficient dev experiment

Simply run taler://dev-experiment/merchant-deposit-insufficient, and all purchases will give this error.

avalos

2025-03-27 13:27

developer   ~0024316

causeHint rendering was implemented in Android:

commit fe8a23b42341a4732f2f5967415068c56abd6adf
Author: Iván Ávalos <avalos@disroot.org>
Date: Thu Mar 27 14:25:25 2025 +0100

    [wallet] render causeHint in merchant payments

@MarcS: we should use the same strings on iOS:

<string name="payment_balance_insufficient">Balance insufficient!</string>
    <string name="payment_balance_insufficient_hint_age_restricted">Purchase not possible due to age restriction</string>
    <string name="payment_balance_insufficient_hint_exchange_missing_global_fees">Provider is missing the global fee configuration, this likely means it is misconfigured</string>
    <string name="payment_balance_insufficient_hint_fees_not_covered">Not enough funds to pay the provider fees not covered by the merchant</string>
    <string name="payment_balance_insufficient_hint_merchant_accept_insufficient">Merchant doesn\'t accept money from one or more providers in this wallet</string>
    <string name="payment_balance_insufficient_hint_merchant_deposit_insufficient">Merchant doesn\'t accept the wire method of the provider, this likely means it is misconfigured</string>
    <string name="payment_balance_insufficient_hint_wallet_balance_material_insufficient">Some of the coins needed for this purchase are currently unavailable</string>
    <string name="payment_balance_insufficient_max">Balance insufficient! Maximum is %1$s</string>

avalos

2025-04-09 20:07

developer   ~0024491

commit 2c7d31b41cd35c8f7f1c662cc7c1426421c133b3
Author: Iván Ávalos <avalos@disroot.org>
Date: Wed Apr 9 22:06:36 2025 +0200

    render payment causeHint (0009488)

Issue History

Date ModifiedUsernameFieldChange
2025-01-29 11:31Florian DoldNew Issue
2025-01-29 11:31Florian DoldStatusnew => assigned
2025-01-29 11:31Florian DoldAssigned To => MarcS
2025-01-29 11:31Florian DoldIssue cloned: 0009489
2025-03-20 11:15Florian DoldNote Added: 0024254
2025-03-20 11:15Florian DoldAssigned ToMarcS => Florian Dold
2025-03-26 17:19Florian DoldNote Added: 0024311
2025-03-26 17:20Florian DoldAssigned ToFlorian Dold => avalos
2025-03-27 13:20avalosNote Added: 0024315
2025-03-27 13:27avalosNote Added: 0024316
2025-04-09 20:07avalosStatusassigned => informing
2025-04-09 20:07avalosResolutionopen => fixed
2025-04-09 20:07avalosNote Added: 0024491
2025-04-09 20:21MarcSRelationship addedrelated to 0009489
2025-05-10 02:12Christian GrothoffFixed in Version => 1.0
2025-05-10 02:13Christian GrothoffStatusinforming => closed