# HTML формы и ссылки

HTML формы и ссылки являются одним из методов создания новых счетов.

Используется как простой и самый быстрый способ добавления оплаты криптовалютой на сайтах, интернет-магазинах и в ботах.

Способ имеет одно ограничение: таким образом можно создать одновременно не более 50 активных (неоплаченных) счетов.

## HTML формы

Поместите следующую HTML структуру формы в любое место на странице, где вы хотите отобразить кнопку оплаты:

<pre class="language-html"><code class="lang-html">&#x3C;form method="post" action="https://dash.bitsby.app/invoices/createFromForm">
<strong>  &#x3C;input type="hidden" name="securityKey" value="e54mc20bzkrf9evty">
</strong>  &#x3C;input type="hidden" name="projectId" value="9deea1e2-0c08-41a3-bdc2-a34eada3892d">
  &#x3C;input type="hidden" name="amountFiat" value="10.55">
  &#x3C;input type="hidden" name="currencyFiat" value="EUR">
  &#x3C;input type="hidden" name="timeToPay" value="6">
  &#x3C;input type="hidden" name="description" value="12 months license for BITSBY">
  &#x3C;input type="hidden" name="serviceData" value="{&#x26;quot;userId&#x26;quot;:100,&#x26;quot;orderId&#x26;quot;:500}">
  &#x3C;input type="hidden" name="output" value="errors">
  &#x3C;input type="submit" value="Pay">
&#x3C;/form>
</code></pre>

Вы можете декорировать кнопку Pay в любой формат под дизайн своей страницы используя CSS стили.

## Параметры формы

<table data-full-width="true"><thead><tr><th>Параметр</th><th>Тип данных</th><th>Описание</th><th>Пример</th><th>Обязательный?</th></tr></thead><tbody><tr><td><code>securityKey</code></td><td>String</td><td>Ключ безопасности из настроек проекта</td><td>e54mc20bzkrf9evty</td><td>да</td></tr><tr><td><code>projectId</code></td><td>UUID</td><td>ID проекта в формате UUID</td><td>1c48b092-9878-48f5-b441-07a8a48e7b54</td><td>да</td></tr><tr><td><code>amountFiat</code></td><td>Float</td><td>Сумма в фиатной валюте</td><td>10.55</td><td>да</td></tr><tr><td><code>currencyFiat</code></td><td>String</td><td>Валюта фиата. Допустимые значения: USD, EUR, RUB</td><td>EUR</td><td>да</td></tr><tr><td><code>timeToPay</code></td><td>Integer</td><td>Время в часах на оплату счета. Допустимые значения: 0.5, 1, 3, 6, 12</td><td>6</td><td>да</td></tr><tr><td><code>description</code></td><td>String</td><td>Описание товара или услуги. Отображается покупателю на платежной странице</td><td>Лицензия на 12 месяцев для BITSBY</td><td>нет</td></tr><tr><td><code>serviceData</code></td><td>String</td><td>Служебные данные. НЕ отображается покупателю. При оплате счета передается в webhook URL магазина. Эти данные используются для связи счета и платежа с покупателем в интернет магазине продавца. Удобно использовать данные в формате JSON</td><td>{"userId":100,"orderId":500}</td><td>нет</td></tr><tr><td><code>output</code></td><td>String</td><td><p>Используется для отладки формы. Если установить этот параметр, тогда будут выводится детальная информация об ошибках.</p><p>В рабочем режиме данный параметр использовать нельзя.<br>Допустимые значения: errors</p></td><td>errors</td><td>нет</td></tr></tbody></table>

## Ссылки

Ссылку для создания счета удобно использовать в чат ботах, передавать другим пользователям в чатах. Но также можно использовать и на обычных страницах.

Ссылка использует все те-же параметры, что и HTML форма. Пример:

```html
https://dash.bitsby.app/invoices/createFromForm?securityKey=e54mc20bzkrf9evty&projectId=9deea1e2-0c08-41a3-bdc2-a34eada3892d&amountFiat=10.55&currencyFiat=EUR&timeToPay=6&description=12 months license for BITSBY&serviceData={"userId":100,"orderId":500}&output=errors
```

## Ключ безопасности

Используется для проверки актуальности формы. В случае, если будет указана неверная комбинация ключа безопасности и ID проекта - пользователь получит ошибку создания счета.

Для чего нужен ключ безопасности? В случае, если для вас стал неактуален метод создания счетов по HTML формам и ссылкам - вы просто генерируете в настройках проекта новый ключ безопасности и все формы и ссылки на сайтах перестают работать (создавать счета).

## Webhook и уведомления

Счета, создаваемые этим методом идентичным счетам, созданным через личный кабинет или API. Соответственно при оплате этих счетов сработают все уведомления, которые были настроены в проекте.
