3.1.6. Il formato dell’ordine di Taler#
Il formato dell’ordine Taler descrive il JSON che deve essere inviato al backend del commerciante per creare un ordine. È il prototipo da cui il backend dell’esercente creerà i termini del contratto <https://docs.taler.net/core/api-merchant.html#the-contract-terms>`__.
Esistono diverse versioni per il formato dell’ordine; sono descritte in dettaglio nel Manuale di riferimento.
Nota
Gli importi finanziari sono sempre specificati come stringa nel formato CURRENCY:DECIMAL_VALUE.
Questa sezione fornisce una panoramica dei campi più comuni:
- importo
 Specifica l’importo totale che il cliente deve pagare all’esercente.
- max_fee
 Questo è l’importo totale massimo delle commissioni di deposito che il commerciante è disposto a pagare. Se le spese di deposito per le monete superano questo importo, il cliente deve includerlo nel totale del pagamento. La commissione viene specificata utilizzando lo stesso formato usato per
importo.
- tariffa max_wire
 Commissione massima per il bonifico accettata dall’esercente (la quota del cliente deve essere divisa per il fattore
wire_fee_amortizatione ulteriormente ridotta se le commissioni di deposito sono inferiori amax_fee). Se manca, il valore predefinito è zero.
- ammortamento_filo
 Su quante transazioni del cliente l’esercente prevede di ammortizzare in media le commissioni bancarie? Se la commissione di bonifico dello scambio è superiore alla
max_wire_fee, la differenza viene divisa per questo numero per calcolare il contributo previsto del cliente alla commissione di bonifico. Il contributo del cliente può essere ulteriormente ridotto dalla differenza tra lamax_feee la somma delle commissioni di deposito effettive. Opzionale, il valore predefinito se mancante è 1. I valori zero e negativi non sono validi e vengono interpretati come 1.
- indirizzo_pagamento
 Quale URL accetta i pagamenti. Questo è l’URL in cui il portafoglio POSTUMA le monete.
- url_adempimento
 A quale URL deve andare il portafoglio per ottenere l’adempimento, ad esempio l’HTML o il PDF di un articolo acquistato, o un sistema di tracciamento degli ordini per le spedizioni, o una semplice pagina Web leggibile dall’uomo che indichi lo stato del contratto.
- ordine_id
 Identificatore alfanumerico, liberamente definibile dall’esercente. Utilizzato dall’esercente per identificare in modo univoco la transazione.
- sintesi
 Breve riepilogo del contratto, leggibile dall’uomo. Da utilizzare quando si visualizza il contratto in una sola riga, ad esempio nella cronologia delle transazioni del cliente.
- timestamp
 Ora in cui è stata generata l’offerta.
- scadenza_pagamento
 Timestamp dell’ora entro la quale il commerciante desidera che l’exchange trasferisca definitivamente il denaro dovuto da questo contratto. Una volta scaduto questo termine, l’exchange aggregherà tutti i depositi in cui i contratti hanno superato la
scadenza_di_rimborsoed eseguirà un unico grande pagamento via bonifico. Gli importi saranno arrotondati per difetto all’unità di bonifico; se l’importo totale è ancora inferiore all’unità di bonifico, non sarà erogato.
- termine_di_rimborso
 Data limite fino alla quale il commerciante è disposto (e in grado) di fornire rimborsi per il contratto utilizzando Taler. Si noti che lo scambio Taler terrà il pagamento in deposito almeno fino a questa scadenza. Fino a questo momento, il commerciante potrà firmare un messaggio per attivare un rimborso al cliente. Dopo questo termine, non sarà più possibile rimborsare il cliente. Deve essere inferiore al
pay_deadline.
- prodotti
 Array di prodotti venduti al cliente. Ogni voce contiene una tupla con i seguenti valori:
- descrizione
 Descrizione del prodotto.
- quantità
 Quantità degli articoli da spedire. Può specificare un’unità (ad esempio,
1 kg) o solo il numero.- prezzo
 Prezzo per
quantitàdi unità di questo prodotto spedite alla datalocalità_di_consegna. Si noti che di solito la somma di tutti i prezzi dovrebbe sommare l’importo totale del contratto, ma potrebbe essere diversa a causa di sconti o perché i singoli prezzi non sono disponibili.- prodotto_id
 ID univoco del prodotto nel catalogo del commerciante. Può essere scelto liberamente, poiché ha un significato solo per il commerciante, ma dovrebbe essere un numero nell’intervallo
.- tasse
 Mappa delle imposte applicabili che il commerciante deve pagare. L’etichetta è il nome dell’imposta, ad esempio IVA, imposta sulle vendite o imposta sul reddito, mentre il valore è l’importo dell’imposta applicabile. Si noti che sono consentite etichette arbitrarie, purché siano utilizzate per identificare il regime fiscale applicabile. I dettagli possono essere specificati dal regolatore. L’informazione viene utilizzata per dichiarare al cliente quali tasse l’esercente intende pagare e può essere utilizzata dal cliente come ricevuta. È probabile che le informazioni vengano utilizzate anche in caso di controlli fiscali sull’esercente.
- data_di_consegna
 Tempo entro il quale il prodotto deve essere consegnato alla
località_di_consegna.- posizione_di_consegna
 Questo dovrebbe fornire un’etichetta nella mappa
locations, specificando dove l’oggetto deve essere consegnato.
I valori possono essere omessi se non sono applicabili. Ad esempio, se un acquisto riguarda un pacchetto di prodotti che non hanno prezzi individuali o ID prodotto, il
product_ido ilpricepossono non essere specificati nel contratto. Allo stesso modo, per i prodotti virtuali consegnati direttamente tramite l’URI di adempimento, non c’è alcunlocale_di_consegna.- commerciante
 - indirizzo
 Questo dovrebbe fornire un’etichetta nella mappa
locations, specificando dove si trova il commerciante.- nome
 Questo dovrebbe indicare un nome leggibile per l’attività del commerciante.
- giurisdizione
 Questo dovrebbe fornire un’etichetta nella mappa
locations, specificando la giurisdizione sotto la quale questo contratto deve essere arbitrato.
- luoghi
 Mappa associativa dei luoghi utilizzati nel contratto. Le etichette dei luoghi in questa mappa possono essere scelte liberamente e utilizzate ogni volta che un luogo è richiesto in altre parti del contratto. In questo modo, se lo stesso luogo è richiesto più volte (come l’indirizzo di lavoro del cliente o dell’esercente), deve essere elencato (e trasmesso) solo una volta e può essere altrimenti richiamato tramite l’etichetta. Un elenco non esaustivo di attributi di ubicazione è il seguente:
- nome
 Nome del destinatario per la consegna, sia esso un’azienda o una persona.
- Paese
 Nome del Paese di consegna, come si trova su un pacco postale, ad esempio «Francia».
- Stato
 Nome dello Stato di consegna, come si trova su un pacco postale, ad esempio «NY».
- regione
 Nome della regione di consegna, come si trova su un pacco postale.
- province
 Nome della provincia di consegna, come si trova su un pacco postale.
- città
 Nome della città di consegna, come si trova su un pacco postale.
- codice postale
 Codice di avviamento postale per la consegna, come si trova su un pacco postale.
- strada
 Nome della via per la consegna, come si trova su un pacco postale.
- numero_di_strada
 Numero civico (numero dell’abitazione) per la consegna, come si trova su un pacco postale.
Nota
Le località non sono obbligate a specificare tutti questi campi e possono anche avere campi aggiuntivi. I renderizzatori di contratti devono rendere almeno i campi elencati sopra e dovrebbero rendere i campi che non comprendono come un elenco di valori-chiave.