# Crear una factura

## Solicitud

```bash
curl -X POST https://api.bitsby.app/invoices/create \
  -H "Authorization: Token MSvL2ltaDZdWVjmZURURMVWhqSJLT2NURjhL2Fla1Z1T1IxQTltKs1T3Ay" \
	-F "projectId=9deea1e2-0c08-41a3-bdc2-a34eada3892d" \
	-F "amountFiat=10.55" \
	-F "currencyFiat=EUR" \
	-F "description=12 months license for BITSBY" \
	-F "serviceData={\"userId\":100,\"orderId\":500}" \
	-F "timeToPay=12"
```

## Parámetros de la solicitud

| Parámetro      | Tipo de dato | Descripción                                                                                                                                                                | Ejemplo                              | ¿Obligatorio? |
| -------------- | ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------ | ------------- |
| `projectId`    | UUID         | ID del proyecto en formato UUID                                                                                                                                            | 1c48b092-9878-48f5-b441-07a8a48e7b54 | sí            |
| `amountFiat`   | Float        | Importe en moneda fiat                                                                                                                                                     | 10.55                                | sí            |
| `currencyFiat` | String       | Moneda fiat. Valores permitidos: USD, EUR, RUB                                                                                                                             | EUR                                  | sí            |
| `description`  | String       | Descripción del producto o servicio. Se muestra al cliente en la página de pago                                                                                            | 12 months license for BITSBY         | no            |
| `serviceData`  | String       | Identificador del pedido en el lado de la tienda. No se muestra al cliente. Estos datos asocian la factura y el pago con el cliente en la tienda del comercio. JSON es un formato cómodo para ellos | {"userId":100,"orderId":500}         | no            |
| `timeToPay`    | Float        | Tiempo para pagar la factura, en horas. Valores permitidos: 0.5, 1, 3, 6, 12                                                                                               | 1                                    | sí            |

## Ejemplo de respuesta

```json
{
   "result":"success",
   "data":{
      "id":"ade9550d-3dc7-4fd3-b94e-3b4c12aaaa0c",
      "uid":"MXNj4m8HhcM4",
      "createDatetime":"2024-02-29 15:20:24",
      "timeToPayDatetime":"2024-03-01 03:20:24",
      "commissionFiatUSD":0.1,
      "amountFiatUSD":10,
      "url":"https:\/\/dash.bitsby.app\/invoices\/pay\/MXNj4m8HhcM4"
   }
}
```

## Parámetros de la respuesta

| Parámetro           | Descripción                                                                                                    |
| ------------------- | -------------------------------------------------------------------------------------------------------------- |
| `id`                | ID de la factura en formato UUID                                                                               |
| `uid`               | ID de la factura (para el cliente)                                                                             |
| `createDatetime`    | Fecha y hora de creación de la factura (UTC)                                                                   |
| `timeToPayDatetime` | Fecha y hora hasta la que la factura es válida (UTC). El cliente debe pagar la factura antes de esa hora       |
| `commissionFiatUSD` | Importe de la comisión del servicio. Se calcula a partir del importe `amountFiatUSD`                           |
| `amountFiatUSD`     | Importe en USD, calculado al crear la factura a partir de `invoice.amountFiat` al tipo de cambio actual        |
| `url`               | Enlace a la página de pago para el cliente. Envía este enlace al cliente para pagar la factura                 |
