Создание счета на оплату

Метод позволяет создать счет на оплату без строгого указания монеты и сети, вы можете указать оплату 30 USD и список доступных к оплате монет/сетей, пользователь сам выберет в чем ему удобнее оплатить. Сумма автоматически пересчитается в выбранную монету для оплаты

Создание счета на оплату

post
Header parameters
x-api-public-keystringOptional

Публичный API-ключ

x-api-signaturestringOptional

Подпись тела запроса приватным API-ключем

Content-typestringOptional

Тип тела запроса

Example: application/json
Body

Тело запроса для создания инвойса

externalIdstringOptional

Уникальный идентификатор в системе мерчанта, для предотвращения дублирования создания инвойсов

Example: merchantExternalId123
orderstringOptional

Идентификатор ордера в системе мерчанта

Example: Order #123456
descriptionstringOptional

Описание ордера

Example: Payment by order #123456
externalUserIdstringOptional

Внешний идентификатор пользователя в вашей системе. При указании идентификатора будет использован функционал раздела "Персональные адреса" - будет зарезервирован статический адрес под данного пользователя, но вебхук придет на указанный в этом запросе адрес

Example: 10099
payerEmailstringOptional

Почта плательщика. Если указана в связке с параметром 'externalUserId' - будет создан пользователь с таким email в разделе "Персональные адреса"

Example: [email protected]
currencystringRequired

Монеты для оплаты. Можно указывать любую доступную монету, в том числе фиатную. На странице инвойса сумма в указанной монете будет пересчитана к доступным для оплаты монет

Example: USD
amountstringRequired

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

Example: 20
includeFeebooleanOptional

Флаг позволяет включить в сумму к оплате комиссию сети блокчейна выбранного для оплаты. Будет полезно чтобы заложить свои издержки на вывод монет после оплаты.

additionalFeesstring[]Optional

Массив с названиями тарифов, который позволяет включить в сумму к оплате комиссии по указанным тарифам

Example: SEPA_WITHDRAWAL
insurancePercentstringOptional

Позволяет добавить к сумме оплаты указанный процент

Example: 1
slippagePercentstringOptional

При открытия страници инвойса пользователь может провести на ней столько времени что курс смениться. Если после перехода к оплате сумма измениться больше указанного процента, то сумма к оплате будет пересчитана по текущему курсу

Example: 2
paymentTolerancePercentstringOptional

Допустимый процент недоплаты ОРДЕРА. Например, после выбора монеты инвойса был создан ордер на 100 USDT. Если параметр установлен как 1.5%, то ордер завершится с успехом при оплате 98.5 USDT

Example: 1.5
webhookURLstringOptional

URL для уведомлений при изменении статуса инвойса или полученной суммы

Example: https://merchant.domain/webhooks/invoice
returnURLstringOptional

URL для указания в качестве "Вернуться в магазин" на странице оплаты

Example: https://merchant.domain/
lifetimeintegerOptional

Время жизни инвойса в минутах

Responses
200Success
application/json
post
POST /api-gateway/make-invoice HTTP/1.1
Host: ocp.onchainpay.io
Content-Type: application/json
Accept: */*
Content-Length: 448

{
  "externalId": "merchantExternalId123",
  "order": "Order #123456",
  "description": "Payment by order #123456",
  "externalUserId": "10099",
  "payerEmail": "[email protected]",
  "currency": "USD",
  "amount": "20",
  "includeFee": true,
  "additionalFees": [
    "SEPA_WITHDRAWAL"
  ],
  "insurancePercent": "1",
  "slippagePercent": "2",
  "paymentTolerancePercent": "1.5",
  "webhookURL": "https://merchant.domain/webhooks/invoice",
  "returnURL": "https://merchant.domain/",
  "lifetime": 1,
  "currencies": [
    []
  ]
}
200Success
{
  "success": true,
  "response": {
    "id": "c02b226c-07f9-4a1a-bedb-1087fab230a6",
    "externalId": "merchantExternalId123",
    "externalUserId": "10099",
    "payerEmail": "[email protected]",
    "orderId": "4b3399ee-3690-4984-8c39-a911c8b0aad4",
    "orderLink": "https://payment.domain/4b3399ee-3690-4984-8c39-a911c8b0aad4",
    "invoiceLink": "https://invoices.domain/c02b226c-07f9-4a1a-bedb-1087fab230a6",
    "status": "INIT",
    "order": "Order #123456",
    "description": "Payment by order #123456",
    "currency": "USD",
    "amount": "20",
    "receivedNetwork": "USDT",
    "receivedCurrency": "USDT",
    "receivedAmount": "100.32",
    "receivedAmountInInvoiceCurrency": "100.94",
    "rate": "100.32",
    "includeFee": true,
    "additionalFees": [
      "SEPA_WITHDRAWAL"
    ],
    "insurancePercent": "1",
    "slippagePercent": "2",
    "paymentTolerancePercent": "1.5",
    "webhookURL": "https://merchant.domain/webhooks/invoice",
    "returnUrl": "https://merchant.domain/",
    "expiresAt": "2025-06-09T13:18:41.525Z",
    "createdAt": "2025-06-09T13:18:11.525Z",
    "currencies": [
      {
        "currency": "USDT",
        "networks": [
          {
            "name": "ethereum",
            "amount": "25"
          }
        ]
      }
    ]
  }
}

Last updated