Payment Docs
Способы оплаты

Криптовалюта

Заказы в RUB или USD, которые плательщик оплачивает криптовалютой

Перед тем как начать

Этот способ оплаты доступен не всем мерчантам. Уточните доступность у вашего менеджера.

Обзор

Оплата криптовалютой — это обычный заказ в фиатной валюте: вы создаёте его в RUB или USD, а плательщик переводит эквивалент в криптовалюте. Дополнительные поля не нужны: способ оплаты определяется терминалом, к которому подключён ваш сервис.

Валюта заказаЧем платит плательщикКто выбирает токен
RUB, USDКриптовалютой, например USDT (TRC-20) или BTCНастройки терминала, а не плательщик

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

Пример запроса

Отправьте обычный запрос на создание заказа в RUB или USD:

curl -X POST "https://api.1capital.capital/v1/orders" \
  -H "Content-Type: application/json" \
  -H "X-Api-Token: YOUR_API_TOKEN" \
  -d '{
    "amount": "5000.00",
    "currency": "RUB",
    "serviceId": 3,
    "externalId": "order_12345",
    "purpose": "Оплата заказа #12345",
    "successUrl": "https://example.com/success",
    "failUrl": "https://example.com/fail",
    "callbackUrl": "https://example.com/webhooks/payments"
  }'

Ответ

В ответе возвращается стандартный объект заказа. Заказ создаётся со статусом CREATED; перенаправьте плательщика на paymentLink, чтобы он завершил оплату.

Поля объекта заказа

Заказы с оплатой криптовалютой приходят с paymentType: "CARD": отдельного типа оплаты для криптовалюты нет. Чтобы отличить такие заказы, используйте terminalId.

Что видит плательщик

Перенаправьте плательщика на paymentLink. В зависимости от терминала он попадает на одну из двух страниц:

  • страницу оплаты провайдера, где и завершает оплату;
  • нашу платёжную форму с реквизитами перевода:
    • адрес кошелька и его QR-код;
    • точная сумма в токене;
    • тег / memo, если он нужен сети. Перевод без него не зачисляется, поэтому плательщик должен указать его в точности как на форме;
    • таймер: сколько ещё действуют реквизиты.

Реквизиты кошелька показываются только на платёжной форме. API их не возвращает: вывести их в своём интерфейсе нельзя.

Итоговая сумма

Сумма заказа с оплатой криптовалютой может отличаться от запрошенной. Если плательщик перевёл меньше нужного, заказ остаётся в PENDING до истечения срока оплаты: в это время плательщик ещё может доплатить. После этого заказ закрывается как COMPLETED на фактически оплаченную сумму в валюте заказа. Поле amount заказа обновляется до этого значения.

Зачисляйте плательщику amount из webhook-уведомления или из запроса статуса, а не сумму из своего запроса. Перевод, поступивший после истечения срока оплаты, заказ не меняет.

Статусы

У заказов с оплатой криптовалютой обычные статусы заказа:

СтатусКогда
PENDINGЖдём перевод и его подтверждение в сети или доплату недостающей суммы
COMPLETEDПеревод подтверждён. amount — фактически оплаченная сумма, см. Итоговая сумма
EXPIREDДо истечения срока оплаты ничего не оплачено
FAILEDОшибка оплаты на стороне провайдера

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

Тестовый режим

На тестовом терминале перевод не выполняется; статус заказа зависит от суммы, как и для других способов оплаты: 1000 — COMPLETED, 1001 — CANCELED, 1002 — FAILED, 1003 — COMPLETED, затем REFUND, любая другая сумма — EXPIRED через 5 минут.

Рекомендации

  • Берите оплаченную сумму из webhook-уведомления, а не из своего запроса: после недоплаты она может быть меньше.
  • Дождитесь COMPLETED, прежде чем выдавать товар: перевод в сети — ещё не подтверждённая оплата.

Следующие шаги

На этой странице