Привет, Хабр! В своей прошлой статье я рассказывал, как подключить приём криптовалют своими руками без использования сторонних сервисов. В этой статье я расскажу, как можно принимать платежи криптовалютой без поднятия full ноды и без связанных с этим сложностей. Но, как это всегда бывает, за удобство придётся платить. В качестве агрегатора рассматривается PayKassa, так как позволяет со среднерыночными комиссиями принимать платежи анонимно, без необходимости подтверждения своей личности и данных о компании. Регистрация очень простая, с настройкой несколько сложнее. Советую создать 2 магазина, один для разработки и тестирования, а второй – "боевой". Для локальной разработки очень удобно использовать ngrok и указать соответсвующий домен (заранее проверив, что он свободен). Создание магазина максимально простое: В открывшейся форме большинство полей не должны вызывать затруднений: Для тестового магазина удобнее всего будет указать любой свободный домен ngrok. "URL обработчика" – это адрес, куда будет стучаться PayKassa для уведомления о том, что статус заказа изменился. "URL успешной / неуспешной оплаты" – адреса, куда пользователя будут направлять после совершения оплаты. На них можно разместить простую страницу с описанием того, что пользователю требуется сделать после успешной / неуспешной оплаты. После создания нам понадобится ID магазина:  Далее, при желании, можно указать в настройках, кто платит комиссию и какие платежные системы вы хотите подключить. Это всё, что требуется для начала приёма платежей. В статье будет использоваться значение true для параметра test во всех запросах. Чтобы перейти в боевой режим достаточно его не указывать. У PayKassa есть простая обёртка на PHP для работы с API, но для остальных языков написание подобной обёртки тоже не должно вызывать сложностей. А для большего понимания процесса все примеры будут сопровождаться примером запросов с использованием curl. Я не нашел возможости использования готовых страниц с выбором способа оплаты, но это и не всегда требуется. Тем более, сделать её самостоятельно достаточно просто. На странице для разработчиков имеется соответствие платежных систем внутренним ID:  В качестве валюты будем везде использовать Bitcoin (system: 11, currency: "BTC"). Платежное API PayKassa находится по адресу https://paykassa.pro/sci/0.3/index.php (на момент написания статьи) и поддерживает два метода: sci_create_order для получения URL оплаты и sci_confirm_order для проверки статуса платежа. Пример получения URL для оплаты с использованием curl: С использованием библиотеки PHP (ссылка на paykassa_sci.class.php): Для работы с API в других языках будет удобно написать небольшую обёртку и использовать её: Для ruby: Получение url для оплаты: Для node.js: Использование: Для python: Использование: Сам запрос представляет собой обычный multipart form/data POST запрос. Описание параметров: В ответ вам придёт подобный JSON: Из него нам интересен ключ error и data.url. Если error равен false — то можно перенаправлять пользователя по адресу, указанному в data.url. Если перейти по этому адресу в не тестовом режиме, то можно увидеть страницу оплаты:  После совершения платежа PayKassa обратится к вам на сервер по адресу, указанному в поле "URL обработчика" при создании магазина. Это обращение будет содержать только идентификатор заказа, без его статуса. Чтобы получить статус заказа (успешно он обработан или нет) – требуется совершить запрос с указанием полученного идентификатора: Пример для ruby: Пример Python: Ну и пример для node.js: В ответ придёт подобный JSON: Здесь всё стандартно — если error равно false – значит, платеж для заказа data.order_id на сумму data.amount прошел успешно. data.amount содержит фактически полученную сумму платежа. В зависимости от вашей логики обработки заказов и выставления платежей иногда его надо проверять (например, зачисление средств, где пользователь сам указывает сумму), иногда нет (например, если пользователь никак не может повлиять напрямую на выставляемую сумму заказа или мы зачисляем на баланс пользователя сумму без учёта комиссии). Также, стоит заметить, что примерно в это же время пользователь перенаправляется на URL успешной / неуспешной оплаты. На этом процесс базовой интеграции можно считать успешно завершенным. Как видите, интеграция агрегатора оказалась гораздо проще, чем реализация приёма платежей самому. Если ваши объёмы меньше $100-$1000 в месяц — то такой способ для вас, скорее всего, окажется более выгодным. Разработчик