lsd0006

LSD0006: The 'taler' URI scheme
Log | Files | Refs

commit 680d497494e2ceb9fe8b74390b5434d07c930f17
parent 5ea78396dfd8f196dd5f7fc76f7ba47110a66091
Author: Christian Grothoff <christian@grothoff.org>
Date:   Mon, 18 Mar 2024 23:18:02 +0100

update pay-template specification

Diffstat:
Mdraft-grothoff-taler.xml | 36++++++++++++++----------------------
1 file changed, 14 insertions(+), 22 deletions(-)

diff --git a/draft-grothoff-taler.xml b/draft-grothoff-taler.xml @@ -354,25 +354,20 @@ also <xref target="taler-registry" />). <t> A "pay-template" action instructs the wallet to ask its user to manually complete an order template and submit the information - to the merchant to obtain a "pay" request. Contract fields that - are not specified in the argument list must not be submitted. + to the merchant to obtain a "pay" request. Wallets MUST fetch + meta data about the template from the merchant to determine which + information to request from the user. </t> <t> - Wallets MAY to support users entering all possible fields - of a contract. Keys that MUST be supported at this time are the - "amount" and the "summary" fields. The wallet MUST validate that - the amount entered by the user is well-formed. For the amount, - it is possible that the QR code already specifies the currency - (e.g. "amount=CHF" or "amount=CHF:5") in which case the wallet - MUST only allow the user to enter an amount in that currency. - If the amount entered by the user exceeds the wallet balance, - the wallet SHOULD NOT allow the user to submit the action. - </t> - <t> - A QR code may not specify any keys for manual entry. In this case, - the wallet MUST immediately submit the request (with an empty body) - to the merchant to obtain a dynamically generated "taler://pay/" URI - based on the template. + Wallets MAY support users entering all possible fields of a + contract if allowed by the template. Fields that MUST be supported + at this time are the "amount" and the "summary". The wallet + MUST validate that the amount entered by the user is well-formed. + For the amount, it is possible that the template restricts + the currency in which case the wallet MUST only allow the user to + enter an amount in that currency. If the amount entered by the + user exceeds the wallet balance, the wallet SHOULD NOT allow the + user to submit the action. </t> <t> The specific arguments of a "pay-template" action is: @@ -380,16 +375,13 @@ also <xref target="taler-registry" />). <t>merchant_host: hostname of the merchant</t> <t>merchant_prefix_path: list of path components that identifies the path prefix of the merchant base URL</t> <t>template_id: identifier that uniquely identifies the template</t> - <t>key: possible contract detail to prompt the user for</t> - <t>value: default value to use for the respective key</t> </list> </t> <t> <list style="symbols"> <t>Name: pay-template</t> - <t>Syntax: taler://pay-template/{merchant_host}{/merchant_prefix_path*}/{template_id}{?key[=value]}{&amp;key[=value]}* - </t> - <t>Example: taler://pay-template/merchant.example.com/FEGHYJY48FEGU6WETYIOIDEDE2QW3OCZVY?amount=KUDOS:5</t> + <t>Syntax: taler://pay-template/{merchant_host}{/merchant_prefix_path*}/{template_id}</t> + <t>Example: taler://pay-template/merchant.example.com/lunch</t> <t>Contact: N/A</t> <t>References: [this.I-D]</t> </list>