marketing

Marketing materials (presentations, posters, flyers)
Log | Files | Refs

commit cb155628fa5c6e26191e97f43e8c2c37eb215618
parent 15ae5db2f796229ea9e9ed89811265d3cdffff62
Author: Christian Grothoff <christian@grothoff.org>
Date:   Fri, 11 Nov 2022 13:58:45 +0100

spec pay-template more nicely

Diffstat:
Mstandards/draft-grothoff-taler.xml | 103++++++++++++++++++++++++++++++++++++++++++++++++-------------------------------
1 file changed, 63 insertions(+), 40 deletions(-)

diff --git a/standards/draft-grothoff-taler.xml b/standards/draft-grothoff-taler.xml @@ -380,6 +380,54 @@ also <xref target="taler-registry" />). </t> </section> + +<section anchor="registry-entry-pay-template" title="Action: pay-template"> + <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. + </t> + <t> + Wallets do not have 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. + </t> + <t> + The specific arguments of a "pay-template" action is: + <list style="symbols"> + <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>Contact: N/A</t> + <t>References: [this.I-D]</t> + </list> +</t> +</section> + + <section anchor="registry-entry-exchange" title="Action: exchange"> <t> An "exchange" action instructs the wallet to display a prompt to the user, asking @@ -388,7 +436,7 @@ also <xref target="taler-registry" />). <t> The specific arguments of an "exchange" action are: <list style="symbols"> - <t>exchange_host: the hostname of the exchange (possibly including a port number)</t> + <t>exchange_host: hostname of the exchange (possibly including a port number)</t> <t>exchange_prefix_path: list of path components that identifies the path prefix of the exchange base URL</t> </list> </t> @@ -443,7 +491,7 @@ also <xref target="taler-registry" />). <t> <list style="symbols"> <t>Name: restore</t> -<t>Syntax: taler://auditor/{sync_rootkey}{sync_provider_list}</t> +<t>Syntax: taler://auditor/{sync_rootkey}/{sync_provider_list}</t> <t>Example: taler://restore/backup.example.com/GJKG23V4ZBHEH45YRK7TWQE8ZTY7JWTY5094TQJSRZN5DSDBX8E0/prov1.example.com,prov2.example.com</t> <t>Contact: N/A</t> <t>References: [this.I-D]</t> @@ -478,32 +526,6 @@ also <xref target="taler-registry" />). -<section anchor="Scanning QR code" title="Action:scanning"> - <t> - An "scanning" action instructs the wallet to simulate QR code. - This action can be used by the customer to pay an amount for a merchant - or for a friend. - </t> - <t> - The specific arguments of a "scanning" action is: - <list style="symbols"> - <t>merchant_host: The hostname of the merchant.</t> - <t>merchant_prefix_path: An optional list of path components that identifies the path prefix of the merchant base URL.</t> - <t>QRcode_id: Uniquely identifies the QR code</t> - </list> - </t> -<t> - <list style="symbols"> - <t>Name: scanning</t> - <t>Syntax: taler://scanning/{merchant_host}{/merchant_prefix_path*}/{QRcode_id}</t> - <t>Example: taler://scanning/merchant.example.com/FEGHYJY48FEGU6WETYIOIDEDE2QW3OCZVY</t> - <t>Contact: N/A</t> - <t>References: [this.I-D]</t> - </list> -</t> -</section> - - </section><!-- tracking --> @@ -558,18 +580,19 @@ dots and dashes)</t> </t> <figure> <artwork> - Name | Contact | Reference - ----------+-------------------------+------------ - pay | N/A | [This.I-D] - withdraw | N/A | [This.I-D] - refund | N/A | [This.I-D] - tip | N/A | [This.I-D] - pay-pull | N/A | [This.I-D] - pay-push | N/A | [This.I-D] - exchange | N/A | [This.I-D] - auditor | N/A | [This.I-D] - restore | N/A | [This.I-D] - error | N/A | [This.I-D] + Name | Contact | Reference + ---------------+-------------------------+------------ + pay | N/A | [This.I-D] + withdraw | N/A | [This.I-D] + refund | N/A | [This.I-D] + tip | N/A | [This.I-D] + pay-pull | N/A | [This.I-D] + pay-push | N/A | [This.I-D] + pay-template | N/A | [This.I-D] + exchange | N/A | [This.I-D] + auditor | N/A | [This.I-D] + restore | N/A | [This.I-D] + dev-experiment | N/A | [This.I-D] </artwork> </figure>