RU

Как протестировать криптоплатежи без реальных денег

Тестовые криптоплатежи в SnapEX Pay

Прежде чем переводить магазин, биллинг или бота на криптоплатежи, хочется увидеть весь путь целиком: счёт создан, клиент выбрал монету, платёж подтверждён, а ваша система отметила заказ оплаченным. В SnapEX Pay всё это можно проверить, не отправив ни одной монеты.

Что такое тестовый счёт

Тестовый счёт — обычный счёт SnapEX Pay с environment = test. Он проходит те же статусы и отправляет те же вебхуки, что и боевой, только в каждом событии data.environment = "test". Реальный баланс он не меняет.

Отдельных тестовых ключей нет: используется тот же API-ключ, меняется одно поле в запросе.

Создать тестовый счёт через API

Добавьте "environment": "test" в запрос создания счёта:

curl -sS -X POST https://pay.snapex.pro/api/v1/merchant/invoices \
  -H "Authorization: Bearer <ваш API-ключ>" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -H "Idempotency-Key: order-15-test" \
  -d '{
    "amount_usd": "15.00",
    "environment": "test",
    "external_id": "order-15"
  }'

Ключу нужно право invoices.write. В ответе — ссылка на оплату, как и у боевого счёта.

Или создать его в кабинете мерчанта

В кабинете откройте «Счета» и переключите режим на «Тест». Счета, созданные там, будут тестовыми, а список покажет только тестовые счета — с настоящими платежами они не смешиваются.

Оплатить

Откройте ссылку на оплату. На странице есть пометка Test. Выберите любую монету и сеть: страница покажет тестовый (ненастоящий) адрес, а примерно через 10 секунд платёж подтвердится сам. Ничего отправлять не нужно.

Что проверить у себя

  • Доставку вебхука. На ваш адрес приходит invoice.paid с data.environment = "test". Проверьте, что подпись сходится и что повторная доставка с тем же Webhook-Id не отмечает заказ оплаченным второй раз.
  • Статус заказа. Заказ в вашей системе становится оплаченным только по invoice.paid.
  • Тест и бой не смешиваются. Убедитесь, что после запуска ваш код игнорирует тестовые события или держит тестовые заказы отдельно.

Тестовый режим в готовых модулях

Тестовый режим, который создаёт тестовые счета, есть в модулях для WHMCS, BILLmanager, WooCommerce, CS-Cart, FOSSBilling, Paymenter и Remnawave. В WHMCS кнопку оплаты в это время видят только вошедшие администраторы, в WooCommerce способ оплаты видят только менеджеры магазина; в BILLmanager и CS-Cart тестовый способ оплаты ограничивают тестовым клиентом или группой. Оформите заказ, оплатите его на странице SnapEX Pay и проверьте, что заказ стал оплаченным, затем выключите тестовый режим. Инструкции по каждому модулю — на pay.snapex.pro.

Запуск

Уберите "environment": "test" (или выключите тестовый режим в модуле) — следующие счета будут боевыми. Тестовые платежи к боевым заказам не применяются.

Полный справочник API — документация SnapEX Pay API.

Готовы принимать криптовалюту?

Создайте аккаунт мерчанта и получите API-ключ. 1% с платежа, без абонентской платы.