Formato de la orden Taler

3.1.6. Formato de la orden Taler#

The Taler order format describes the JSON that must be POSTed to the merchant backend to create an order. It is the prototype from which the merchant backend will create the actual contract terms.

There are different versions for order format; they are described in detail in the Reference manual.

Nota

Los importes financieros se especifican siempre como una cadena con el formato "MONEDA:VALOR_DECIMAL".

This section provides an overview of the most common fields:

importe

Especifica el importe total que el cliente debe pagar al comerciante.

max_fee

Este es el importe total máximo de comisiones de depósito que el comerciante está dispuesto a pagar. Si las comisiones de depósito de las monedas superan este importe, el cliente debe incluirlo en el total del pago. La comisión se especifica utilizando el mismo formato utilizado para amount.

max_wire_fee

Comisión máxima por transferencia aceptada por el comerciante (la cuota del cliente se dividirá por el factor wire_fee_amortization, y se reducirá aún más si las comisiones de depósito son inferiores a max_fee). Por defecto, si falta es cero.

amortizacion de comisiones

¿A lo largo de cuántas transacciones de clientes espera el comerciante amortizar los gastos de transferencia de media? Si la comisión por transferencia del intercambio es superior a max_wire_fee, la diferencia se divide por este número para calcular la contribución esperada del cliente a la comisión por transferencia. La contribución del cliente puede reducirse aún más por la diferencia entre max_fee y la suma de las comisiones de depósito reales. Opcional, el valor por defecto si falta es 1. Los valores cero y negativos no son válidos y también se interpretan como 1.

pay_url

Qué URL acepta pagos. Esta es la URL donde la cartera POST monedas.

fulfillment_url

A qué URL debe dirigirse el monedero para obtener el cumplimiento, por ejemplo el HTML o PDF de un artículo comprado, o un sistema de seguimiento de pedidos de envíos, o una simple página Web legible por humanos que indique el estado del contrato.

orden_id

Identificador alfanumérico, libremente definible por el comerciante. Utilizado por el comerciante para identificar la transacción de forma única.

resumen

Resumen breve y legible del contrato. Para utilizar cuando se muestra el contrato en una sola línea, por ejemplo en el historial de transacciones del cliente.

marca de tiempo

Hora a la que se generó la oferta.

pay_deadline

Fecha límite en la que el comerciante desea que la bolsa transfiera definitivamente el dinero adeudado de este contrato. Una vez que expire este plazo, la bolsa agregará todos los depósitos cuyos contratos hayan superado la «fecha límite de devolución» y ejecutará un pago por transferencia grande para ellos. Los importes se redondearán a la unidad de transferencia; si el importe total sigue siendo inferior a la unidad de transferencia, no se desembolsará.

plazo_de_devolución

Fecha límite hasta la que el comerciante está dispuesto (y es capaz) de realizar reembolsos por el contrato utilizando Taler. Tenga en cuenta que la bolsa Taler retendrá el pago en custodia al menos hasta esta fecha límite. Hasta este momento, el comerciante podrá firmar un mensaje para activar un reembolso al cliente. Pasado este plazo, ya no será posible reembolsar al cliente. Debe ser inferior a pay_deadline.

productos

Matriz de productos que se están vendiendo al cliente. Cada entrada contiene una tupla con los siguientes valores:

descripción

Descripción del producto.

cantidad

Cantidad de los artículos que se van a enviar. Puede especificar una unidad (por ejemplo, 1 kg) o solo la cantidad.

precio

Precio por cantidad de unidades de este producto enviadas a la ubicación_de_entrega dada. Tenga en cuenta que normalmente la suma de todos los precios debe sumar el importe total del contrato, pero puede ser diferente debido a descuentos o porque los precios individuales no están disponibles.

producto_id

ID único del producto en el catálogo del vendedor. Por lo general, puede elegirse libremente, ya que sólo tiene significado para el comerciante, pero debe ser un número en el rango [0,2^{51}).

impuestos

Mapa de los impuestos aplicables que debe pagar el comerciante. La etiqueta es el nombre del impuesto, es decir, IVA, impuesto sobre las ventas o impuesto sobre la renta, y el valor es el importe del impuesto aplicable. Obsérvese que se permiten etiquetas arbitrarias, siempre que se utilicen para identificar el régimen fiscal aplicable. El regulador puede especificar los detalles. Esto se utiliza para declarar al cliente qué impuestos pretende pagar el comerciante, y puede ser utilizado por el cliente como recibo. También es probable que la información sea utilizada por las auditorías fiscales del comerciante.

fecha_entrega

Hora a la que debe entregarse el producto en el lugar_de_entrega.

lugar_entrega

Esto debería dar una etiqueta en el mapa locations, especificando dónde debe entregarse el artículo.

Los valores pueden omitirse si no son aplicables. Por ejemplo, si una compra es sobre un paquete de productos que no tienen precios individuales o IDs de producto, el product_id o el price pueden no estar especificados en el contrato. Del mismo modo, para los productos virtuales entregados directamente a través del URI de cumplimiento, no existe delivery_location.

comerciante
dirección

Esto debería dar una etiqueta en el mapa locations, especificando dónde se encuentra el comerciante.

nombre

Debe indicar un nombre legible para el comerciante.

jurisdicción

Esto debería dar una etiqueta en el mapa locations, especificando la jurisdicción bajo la cual este contrato debe ser arbitrado.

lugares

Mapa asociativo de las ubicaciones utilizadas en el contrato. Las etiquetas de los lugares en este mapa pueden elegirse libremente y utilizarse siempre que se requiera un lugar en otras partes del contrato. De este modo, si se requiere la misma ubicación muchas veces (como la dirección comercial del cliente o del comerciante), sólo es necesario enumerarla (y transmitirla) una vez, y se puede hacer referencia a ella a través de la etiqueta. Una lista no exhaustiva de atributos de ubicación es la siguiente:

nombre

Nombre del destinatario de la entrega, ya sea una empresa o una persona.

país

Nombre del país de entrega, tal como figura en un paquete postal, por ejemplo «Francia».

estado

Nombre del estado para la entrega, tal como figura en un paquete postal, por ejemplo «NY».

región

Nombre de la región de entrega, tal como figura en un paquete postal.

provincias

Nombre de la provincia de entrega, tal como figura en un paquete postal.

ciudad

Nombre de la ciudad de entrega, tal como figura en un paquete postal.

código postal

Código postal de entrega, como el que figura en un paquete postal.

calle

Nombre de la calle de entrega, tal como figura en un paquete postal.

número_calle

Número de la calle (número de la casa) de entrega, tal como figura en un paquete postal.

Nota

Las ubicaciones no están obligadas a especificar todos estos campos, y también se les permite tener campos adicionales. Los renderizadores de contratos deben renderizar al menos los campos enumerados anteriormente, y deben renderizar los campos que no entiendan como una lista clave-valor.