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

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

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

POSThttps://ocp.payonchain.org/api-gateway/make-invoice
Header parameters
Body
advancedBalanceId*string

Идентификатор авансового баланса для списания комиссий

externalIdstring

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

orderstring

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

descriptionstring

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

currency*string

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

amount*string

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

includeFeeboolean

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

additionalFeesarray of string

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

insurancePercentstring

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

slippagePercentstring

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

webhookURLstring

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

returnURLstring

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

lifetime*integer

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

currencies*array of array of any

Список монет и сетей доступных для оплаты, при указании пустого массива будут выбраны все монеты/сети доступные в системе

Response
Body
success*boolean

Признак успешности запроса

response*MakeInvoiceResponse (object)

Тело ответа инвойса

Request
const response = await fetch('https://ocp.payonchain.org/api-gateway/make-invoice', {
    method: 'POST',
    headers: {
      "Content-Type": "application/json"
    },
    body: JSON.stringify({
      "advancedBalanceId": "ba5716df-58c4-48f8-9401-68f6069fb4ff",
      "currency": "USD",
      "amount": "20",
      "currencies": [
        []
      ]
    }),
});
const data = await response.json();
Response
{
  "success": false,
  "response": {
    "id": "9f3318d2-66e6-4035-9841-055a83da8974",
    "advancedBalanceId": "ba5716df-58c4-48f8-9401-68f6069fb4ff",
    "externalId": "merchantExternalId123",
    "orderId": "e1e82e4e-7495-418a-8d58-7fd3ef5a0331",
    "orderLink": "https://payment.domain/e1e82e4e-7495-418a-8d58-7fd3ef5a0331",
    "invoiceLink": "https://invoices.domain/9f3318d2-66e6-4035-9841-055a83da8974",
    "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": false,
    "additionalFees": [
      "SEPA_WITHDRAWAL"
    ],
    "insurancePercent": "1",
    "slippagePercent": "2",
    "webhookURL": "https://merchant.domain/webhooks/invoice",
    "returnUrl": "https://merchant.domain/",
    "expiresAt": "2024-04-15T10:51:18.511Z",
    "createdAt": "2024-04-15T10:50:48.511Z",
    "currencies": [
      {
        "currency": "USDT",
        "networks": [
          {
            "name": "ethereum",
            "amount": "25"
          }
        ]
      }
    ]
  }
}

Last updated