View Issue Details

IDProjectCategoryView StatusLast Update
0010775Talermerchant backendpublic2025-12-15 21:09
Reportersebasjm Assigned To 
PrioritynormalSeverityfeatureReproducibilityhave not tried
Status acknowledgedResolutionopen 
Target Versionpost-1.0 
Summary0010775: wire transfer not shown and no information given by the backend
DescriptionOn my local setup I created an order, made the payment and after the wire deadline nothing happen.

No incoming, no information found if there was a problem on the backend or exchange. It seems that there was no problem since the wire transfer is now in the incoming list.

Seeing this as a merchant it's very annoying that i don't have information:

1) that i should have a wire transfer incoming or being prepared to be sent (i would like to know which exchange owes me what?)
2) the wire transfer should have been reported by the exchange but it didn't (the exchange that should have already inform an incoming wire transfer didn't )

Otherwise it feels like the money is in a limbo.
Also no error or warning logs
Tagsux

Relationships

related to 0010710 acknowledged incoming wire transfer not shown 

Activities

sebasjm

2025-12-15 17:30

developer   ~0026991

just to be clear, this is not the same as 0010710

in 0010710 I thought that "incoming" meant "after wallet payment" but it was clarified that it was "after wire deadline"

in this case I knew that the incoming will not be shown before the deadline, but not shown and no error.

sebasjm

2025-12-15 17:42

developer   ~0026992

I didn't have a way to check if there was a problems in the merchant or in the exchange, who to blame. I expected more information from the backend to know for example 1) the backend contacted the exchange and the exchange as lazy 2) the backend didn't contact the exchange and didn't know

sebasjm

2025-12-15 20:11

developer   ~0026996

I just happen to see this again and I took times.

The refund deadline was at 1765824820
The backend didn't know when asking at 1765824911
Then reported that the wire transfer was indeed on time 1765824645

IMO these times can be higher if there are issues between exchange and merchant channel. Merchant should inform when was the last time it asked the exchange and what was the last response. And be able to trigger the request to the exchange to know what is the latest status of the wire transfer.

$ curl 'http://merchant.taler.test/instances/ee/private/orders/2025.349-03T730V8Z6W42'
{
  "deposit_total": "KUDOS:0",
  "contract_terms": {
... "order_id": "2025.349-03T730V8Z6W42",
    "exchanges": [
      {
        "url": "http://exchange.taler.test/",
        "priority": 1024,
        "master_pub": "XKP6K4W4KFQYWR1ZHGAXJWW1TA3KNTA37M12GKM56VM74DMQB440",
        "max_contribution": "KUDOS:1"
      }
    ],
    "timestamp": {
      "t_s": 1765824640
    },
... "pay_deadline": {
      "t_s": 1765824700
    },
    "refund_deadline": {
      "t_s": 1765824760
    },
    "wire_transfer_deadline": {
      "t_s": 1765824820
    }
  },
  "last_payment": {
    "t_s": 1765824645
  },
... "order_status_url": "http://merchant.taler.test/instances/ee/orders/2025.349-03T730V8Z6W42?token=ZNGP49ADK4SS6K6V496778MQAW"
}

$ date +%s
1765824911

$ curl 'http://merchant.taler.test/instances/ee/private/orders/2025.349-03T730V8Z6W42'
{
  "deposit_total": "KUDOS:1.11",
  "contract_terms": {
    "order_id": "2025.349-03T730V8Z6W42",
    "exchanges": [
      {
        "url": "http://exchange.taler.test/",
        "priority": 1024,
        "master_pub": "XKP6K4W4KFQYWR1ZHGAXJWW1TA3KNTA37M12GKM56VM74DMQB440",
        "max_contribution": "KUDOS:1"
      }
    ],
    "timestamp": {
      "t_s": 1765824640
    },
    "pay_deadline": {
      "t_s": 1765824700
    },
    "refund_deadline": {
      "t_s": 1765824760
    },
    "merchant_base_url": "http://merchant.taler.test/instances/ee/",
    "wire_transfer_deadline": {
      "t_s": 1765824820
    }
  },
  "order_status": "paid",
  "last_payment": {
    "t_s": 1765824645
  },
  "wire_details": [
    {
      "wtid": "91JY4KCWF26ZHF7142ZKNM0RGSR2S79MBQYHPK1P5VZS74Q83P50",
      "exchange_url": "http://exchange.taler.test/",
      "amount": "KUDOS:1.1",
      "execution_time": {
        "t_s": 1765824645
      },
      "confirmed": false
    }
  ],
  "order_status_url": "http://merchant.taler.test/instances/ee/orders/2025.349-03T730V8Z6W42?token=ZNGP49ADK4SS6K6V496778MQAW"
}

$ date +%s
1765824919

Christian Grothoff

2025-12-15 20:37

manager   ~0026999

""
The refund deadline was at 1765824820
The backend didn't know when asking at 1765824911
Then reported that the wire transfer was indeed on time 1765824645
""
Makes no sense, since your last time is *before* your first timestamp. Anyway, there is some inherent lag, as when we ask the exchange the second the transfer is due, the exchange most likely has simply not gotten around to it. So we do an exponential back-off and retry. But this is *per order* (not per wire transfer, we don't know the wire transfer yet!). So at best we could return with the order when we last checked the wire transfer status (and when we'll check next).

Issue History

Date Modified Username Field Change
2025-12-15 00:40 sebasjm New Issue
2025-12-15 17:28 sebasjm Relationship added related to 0010710
2025-12-15 17:30 sebasjm Note Added: 0026991
2025-12-15 17:42 sebasjm Note Added: 0026992
2025-12-15 20:11 sebasjm Note Added: 0026996
2025-12-15 20:37 Christian Grothoff Note Added: 0026999
2025-12-15 20:37 Christian Grothoff Status new => acknowledged
2025-12-15 20:37 Christian Grothoff Target Version => post-1.0
2025-12-15 20:37 Christian Grothoff Tag Attached: ux