View Issue Details

IDProjectCategoryView StatusLast Update
0006859Talermerchant backendpublic2021-08-01 13:09
Reportersebasjm Assigned Tosebasjm 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 closedResolutionwon't fix 
Product Versiongit (master) 
Target Version0.8Fixed in Version0.8 
Summary0006859: add fullfil url into the default configuration of the instance
Descriptioncurrently there is no fulfillment url when creating an instance

a merchant can have it instance configured with a default url that redirect to the merchant instance website after paying (or a thankyou page)

order may still override the value when creating the order.

also, url should be absolute and always start with https since it will be automatically redirected from the wallet.
TagsNo tags attached.

Required notifications

Address or linkRemarkAdded byNotifiedActions

Activities

Christian Grothoff

2021-05-11 10:25

manager   ~0017818

I do not think this is what we want: (1) the fulfillment URLs tend to be highly personalized to the order, so a default makes little sense, and (2) they do not have to start with http/https, IIRC taler:// was also possible to show a message inside of the wallet.

Florian Dold

2021-05-11 10:30

manager   ~0017819

This seems to not be documented (?), but we changed this a while ago:

1. Fulfillment URLs should always be http(s)
2. *Instead* of a fulfillment URL, a fulfillment_message can also be shown.

We made this change because (2) allows i18n via the fulfillment_message_i18n property, whereas i18n would be difficult with a taler://fulfillment-success URL.

Christian Grothoff

2021-05-11 10:33

manager   ~0017821

Ah, I see. Well, it should be documented then. Still, I think having a per-instance default is not warranted, wdyt?

Florian Dold

2021-05-11 10:42

manager   ~0017822

I've added documentation for the field to the contract terms specification in the merchant API reference.

I don't see the need for a per-instance default, especially since this is very easy to specify for storefronts (no crypto / parsing / etc. necessary). But the UI should allow specifying either the message or URL.

Christian Grothoff

2021-05-11 10:57

manager   ~0017824

Just to clarify: by UI, you mean the _order creation_ UI in the SPA, right?

sebasjm

2021-05-11 16:23

developer   ~0017829

Roger that, the UI does allow setting the fulfillment url (and will allow add the messsage) but its optional. Are we ok to make this required?
 
I see rather unnecessary if the message is always "thanks for buying" and a default url may look something like https://acme.com/success/{ORDER_ID}.

Christian Grothoff

2021-05-11 20:55

manager   ~0017837

I think the fulfillment URL _must_ be optional because it has implications for repurchase detection. Right, Florian?

Florian Dold

2021-05-12 12:56

manager   ~0017842

Yes. It must be optional, or alternatively contain some random ID. Otherwise, the repurchase detection logic might prevent users from completing a purchase.

sebasjm

2021-05-12 13:50

developer   ~0017843

ACK
So, if there is not message nor url the wallet today is showing a message "Redirecting..." but no redirecting because there is no contractTerms.fulfillment_url in the response.

Should we add a default message for this case?

Florian Dold

2021-05-12 14:17

manager   ~0017844

Yes. Instead of "redirecting ...", we should show the fulfillment_message, or a default message if no fulfillment_message is specified.

(Generally either fulfillment_url or fulfillment_message should be specified though.)

Issue History

Date ModifiedUsernameFieldChange
2021-05-10 14:47sebasjmNew Issue
2021-05-10 14:47sebasjmStatusnew => assigned
2021-05-10 14:47sebasjmAssigned To => Christian Grothoff
2021-05-11 10:25Christian GrothoffNote Added: 0017818
2021-05-11 10:30Florian DoldNote Added: 0017819
2021-05-11 10:33Christian GrothoffNote Added: 0017821
2021-05-11 10:42Florian DoldNote Added: 0017822
2021-05-11 10:57Christian GrothoffNote Added: 0017824
2021-05-11 16:23sebasjmNote Added: 0017829
2021-05-11 20:55Christian GrothoffNote Added: 0017837
2021-05-11 20:55Christian GrothoffAssigned ToChristian Grothoff => Florian Dold
2021-05-11 20:56Christian GrothoffStatusassigned => feedback
2021-05-12 12:56Florian DoldNote Added: 0017842
2021-05-12 12:56Florian DoldAssigned ToFlorian Dold => sebasjm
2021-05-12 13:50sebasjmNote Added: 0017843
2021-05-12 14:17Florian DoldNote Added: 0017844
2021-08-01 13:09Christian GrothoffReproducibilityhave not tried => N/A
2021-08-01 13:09Christian GrothoffStatusfeedback => closed
2021-08-01 13:09Christian GrothoffResolutionopen => won't fix
2021-08-01 13:09Christian GrothoffFixed in Version => 0.8
2021-08-01 13:09Christian GrothoffTarget Versiongit (master) => 0.8
2025-03-22 13:09Christian GrothoffCategorymechant backend => merchant backend