Создание счета на оплату
Метод позволяет создать счет на оплату без строгого указания монеты и сети, вы можете указать оплату 30 USD и список доступных к оплате монет/сетей, пользователь сам выберет в чем ему удобнее оплатить. Сумма автоматически пересчитается в выбранную монету для оплаты
Публичный API-ключ
Подпись тела запроса приватным API-ключем
Тип тела запроса
application/json
Тело запроса для создания инвойса
Уникальный идентификатор в системе мерчанта, для предотвращения дублирования создания инвойсов
merchantExternalId123
Идентификатор ордера в системе мерчанта
Order #123456
Описание ордера
Payment by order #123456
Внешний идентификатор пользователя в вашей системе. При указании идентификатора будет использован функционал раздела "Персональные адреса" - будет зарезервирован статический адрес под данного пользователя, но вебхук придет на указанный в этом запросе адрес
10099
Почта плательщика. Если указана в связке с параметром 'externalUserId' - будет создан пользователь с таким email в разделе "Персональные адреса"
[email protected]
Монеты для оплаты. Можно указывать любую доступную монету, в том числе фиатную. На странице инвойса сумма в указанной монете будет пересчитана к доступным для оплаты монет
USD
Сумма к оплате в указанной монете. На странице инвойса сумма будет пересчитана по курсу к доступным для оплаты монетам
20
Флаг позволяет включить в сумму к оплате комиссию сети блокчейна выбранного для оплаты. Будет полезно чтобы заложить свои издержки на вывод монет после оплаты.
Массив с названиями тарифов, который позволяет включить в сумму к оплате комиссии по указанным тарифам
SEPA_WITHDRAWAL
Позволяет добавить к сумме оплаты указанный процент
1
При открытия страници инвойса пользователь может провести на ней столько времени что курс смениться. Если после перехода к оплате сумма измениться больше указанного процента, то сумма к оплате будет пересчитана по текущему курсу
2
Допустимый процент недоплаты ОРДЕРА. Например, после выбора монеты инвойса был создан ордер на 100 USDT. Если параметр установлен как 1.5%, то ордер завершится с успехом при оплате 98.5 USDT
1.5
URL для уведомлений при изменении статуса инвойса или полученной суммы
https://merchant.domain/webhooks/invoice
URL для указания в качестве "Вернуться в магазин" на странице оплаты
https://merchant.domain/
Время жизни инвойса в минутах
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": [
[]
]
}
{
"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