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 amax_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 entremax_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 laubicació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
.
- 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 elprice
pueden no estar especificados en el contrato. Del mismo modo, para los productos virtuales entregados directamente a través del URI de cumplimiento, no existedelivery_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.