|
From: | Slack Coder |
Subject: | Re: [Taler] Android Taler Wallet bug |
Date: | Thu, 11 Jan 2024 13:30:42 -0500 |
User-agent: | Mozilla Thunderbird |
On 2024-01-09, at 21:28:57, Jonathan Krebs <jonathan.krebs@bruckbu.de> wrote: On 09.01.24 21:16, Marc Stibane via Taler wrote:On 2024-01-09, at 20:57:20, Slack Coder <slackcoder@server.ky> wrote: When the same fulfillment URL is used for a second order, it results in an "You've already paid for this purchase" error. This feels unexpected because its an entirely different order.1) May a fulfillment URI be reused?No: https://docs.taler.net/taler-merchant-api-tutorial.html#repurchase-detection-and-fulfillment-urlsTo ensure this mechanism works as designed, merchants must make sure to not use the same fulfillment URL for different products or for physical products where customers may be expected to buy the article repeatedly. Similarly, it is crucial that merchants consistently use the same fulfillment URL for the same digital product where repurchase detection is desired.Yeah, that’s what I was thinking. You can only use the same fulfillment URL for a virtual good (such as a book chapter on the Taler demo shop), where the customer should get access a second time instead of paying again.
Indeed, I made the wrong assumption about the requirement on my part.
From the documentation, I had read section [4.2 on 'Merchant
Payment
Processing'](https://docs.taler.net/taler-merchant-api-tutorial.html#merchant-payment-processing),
whereas the information on the fulfillment URL is under its on
section 4.4. I checked also the [API documentation on
orders](https://docs.taler.net/core/api-merchant.html#tsref-type-Order)
which suggests looking at ContractTerms, the link for which
directs to the [age restriction
section](https://docs.taler.net/design-documents/024-age-restriction.html#tsref-type-ContractTerms).
Contract terms has its [own section
elsewhere](https://docs.taler.net/core/api-merchant.html#the-contract-terms)
which I had missed.
Its correctly shown as a hint, not an error.You can use the token $ORDER_ID in the fulillement url when creating the order, it gets replaced by the merchant backend with the actual order id, to create a unique url.However the Wallet app/webex shouldn’t show an "error" - but rather a hint to the user that they should be able to get access to the product without paying again.
[Prev in Thread] | Current Thread | [Next in Thread] |