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Первинне джерело ↗
Спочатку джерела · Не інвестиційна порада