495 / 691PAY·PROC

Bitcoin Payment Processor

Процессор биткоин-платежей

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

Bitcoin Payment Processor создаёт платёжные запросы, сопоставляет поступившие платежи с заказами и поддерживает их учёт. Он может работать под собственным управлением или предоставляться как сервис. Это не правило консенсуса Bitcoin, а название процессор не определяет, кто контролирует средства.

Магазин создаёт заказ, а его сервер запрашивает у процессора счёт с суммой и валютой. Он сохраняет связь внутреннего номера заказа с идентификатором счёта. Клиент получает платёжную страницу или QR-код, а процессор отслеживает поступление. Без этой связи нельзя надёжно определить, какой заказ оплачивается; сам возврат в браузер не доказывает оплату. [BTCPay Server — eCommerce integration]

BTCPay Server может выводить адреса получения из публичных данных существующего кошелька без его закрытого ключа. Это отличается от горячего кошелька на сервере и от доступа к средствам узла Lightning. Провайдер может удерживать средства до выплаты. Оценивайте фактическое владение ключами, разрешения и возможность вывода, а не только название продукта или слово non-custodial. [BTCPay Server — General FAQ] [BitPay — Configuring settlements]

Обычный счёт BTCPay Server фиксирует курс на ограниченное время. Истечение срока не означает, что более поздний перевод не поступит. Недоплата, переплата и запоздалая оплата имеют разные состояния и требуют последующих процедур. Сохраняйте исходную сумму и применённый курс; при изменении цены новый запрос может требовать другое количество сатоши. [BTCPay Server — Invoice lifecycle]

BTCPay Server различает Processing, ожидающий настроенных подтверждений, и Settled; успешные Lightning-платежи переходят в Settled без ожидания блока. Названия состояний других провайдеров нельзя механически приравнивать: BitPay прямо предупреждает, что paid не гарантирует оплату. Магазину нужно правило выдачи товара для конкретного состояния и способа оплаты. Ручное изменение состояния не создаёт сетевого подтверждения. [BTCPay Server — Invoice lifecycle] [BitPay — Invoice webhooks]

BTCPay проверяет webhook с помощью HMAC-SHA256 над исходными байтами тела и общим секретом. BitPay описывает неподписанные IPN: уведомление служит поводом запросить состояние счёта через API, а не самостоятельным надёжным доказательством. Уведомления могут повторяться. Поэтому интеграция должна надёжно распознавать повторно доставленное событие и предотвращать вторую отправку того же заказа; после сбоя сохранённые состояния необходимо сверить с процессором. [BTCPay Server — Webhook validation example] [BitPay — Invoice webhooks]

Подтверждение платежа клиента может не совпадать по времени с выплатой провайдера. BitPay позволяет настроить валюту расчёта и банковский счёт или криптовалютный адрес; изменение может требовать одобрения. Проверяйте доступные валюты, лимиты, сроки, комиссии и контроль средств до выплаты. Прямое поступление в собственный кошелёк не использует автоматически эту модель выплаты провайдером. [BitPay — Configuring settlements] [BTCPay Server — General FAQ]

Возврат требует новой выплаты и проверки получателя; он не изменяет исходную биткоин-транзакцию. Разделяйте претензию по заказу, решение о сумме возврата и фактическую отправку денег. Сохраняйте связи заказ–счёт–платёж, курсы, комиссии и возвраты. Экспорт отчёта помогает вести учёт, но сам не решает все местные бухгалтерские обязанности или спор о доставке. Даже подтверждённый перевод сам по себе не определяет юридическую окончательность сделки: проверяйте претензии, возможный механизм chargeback и обязательства с учётом платёжного пути, договора и юрисдикции. [BTCPay Server — Refunds] [BTCPay Server — Reporting] [BitPay — Merchant and shopper terms]

Протестируйте успешную, неполную, запоздалую и многократно уведомлённую оплату, а также восстановление после сбоя. Выдавайте API-ключу только необходимые разрешения и ограничивайте его соответствующим магазином. Не передавайте лишние данные клиента в метаданных. Учитывайте хостинг, обновления, ликвидность и поддержку; бесплатная программа не означает нулевых эксплуатационных затрат. Доступность сервиса, владение ключами и правильность интеграции — отдельные условия. [BTCPay Server — eCommerce integration] [BTCPay Server — Lightning operations]

Пример · PAY·PROC

То же уведомление — не новая покупка

В условной интеграции у заказа OBJ-101 сохранён идентификатор счёта. После проверки завершения расчёта система создаёт отправку один раз. Если позже приходит повторное уведомление того же события, она связывает его с уже исполненным заказом и не создаёт новую отправку. Сам показ страницы благодарности не должен запускать этот переход.

Для полной картины прочитайте эту статью вместе с BTCPay Server, Bitcoin Point of Sale, Merchant Adoption, Lightning Network, Bitcoin. На эту статью также ссылаются Alza Bitcoin payments, Merchant Adoption, BTCPay Server, Bitcoin Point of Sale.

01Каждый ли платёжный процессор хранит мои биткоины?

Нет. Некоторые решения только создают запросы и отслеживают поступления в ваш кошелёк, другие управляют средствами до выплаты. Даже одна программа может использовать разные модели кошельков. Определяющими являются ключи, разрешения и фактическое движение средств, а не само название процессор.

02Может ли магазин отправить товар после возвращения клиента с платёжной страницы?

Самого возвращения недостаточно. Магазин должен проверить соответствующий счёт и его состояние по процедуре данного процессора. Уведомления проверяют согласно документации, а повторная доставка не должна запускать ещё одно исполнение. Выдача товара зависит от выбранных условий подтверждения оплаты.

DOC · 001BTCPay Server — eCommerce integrationДокументация ↗DOC · 002BTCPay Server — General FAQДокументация ↗DOC · 003BTCPay Server — Invoice lifecycleДокументация ↗DOC · 004BTCPay Server — Webhook validation exampleДокументация ↗DOC · 005BitPay — Invoice webhooksДокументация ↗DOC · 006BitPay — Configuring settlementsДокументация ↗DOC · 007BTCPay Server — RefundsДокументация ↗DOC · 008BTCPay Server — ReportingДокументация ↗DOC · 009BTCPay Server — Lightning operationsДокументация ↗DOC · 010BitPay — Merchant and shopper termsПервичный источник ↗
Сначала источники · Не является инвестиционной рекомендацией