ウォレットの境界を定義する
ウォッチオンリーウォレットは、プライベートな支出キーを保持せずに支払いを検出できます。拡張公開キーは依然として機密性の高いウォレット活動を明らかにするため、保護する必要があります。Lightning 統合はオンラインウォレットを必要とする場合があり、追加の運用リスクをもたらします。
フルスタック向けのサイズ
Bitcoin バックエンド、データベース、Web サービス、オプションの Lightning ノードでは、ストレージとメモリの要件が異なります。小規模なマシンを選ぶ前に、現在サポートされているデプロイ手順と成長要件を確認してください。
マーチャントインターフェースを保護する
専用のホスト名、HTTPS、強力なログイン保護、制限された管理アクセスを使用してください。サーバーを最新の状態に保ち、受信側アプリケーションで Webhook 署名またはサポートされている検証メカニズムを確認してください。ブラウザのリダイレクトのみに基づいて商品を発送しないでください。
バックアップと照合
ストアの設定、データベース、ウォレットの復旧情報、Lightning 固有の素材を関連ドキュメントに従って保護してください。復旧をテストし、特に有効期限、過少支払い、返金に関して請求書を決済システムと照合してください。
デプロイとチェーン戦略を確認する
現在サポートされているデプロイ手順、専用のホスト名、検証済みの HTTPS ルートを使用してください。サポートされている場合、プルーニングされたチェーンは継続的なストレージ要件を削減できますが、再スキャンと復旧のニーズを理解しておく必要があります。現在のチェーンサイズだけでディスクを選択しないでください。フルスタックと成長のための余裕を残してください。
- 外部テストから決済コールバックを検証する
- 本番ストアの前にテスト決済を利用する
- 請求書の決済ポリシーを確認
公式ドキュメント: BTCPay のデプロイオプション
支出キーを意図した場所に保管する
ウォッチオンリー設定では、サーバーに支出キーを与えることなく、拡張公開キーから支払いを検出できます。xpub はウォレット活動を明らかにする可能性があるため機密です。ホットウォレットは支出能力をオンラインに置くことでこのリスクを変えます。ウォレットと Lightning のカストディを別々に確認し、サポートされているバックアップ手順に従ってください。
公式ドキュメント: BTCPayウォレットモデル
選択したスタックに合わせてデプロイチェックリストを作成する
専用ドメイン、サポート対象のデプロイ方法、想定するチェーンモード、同期に十分なディスク容量から始めてください。インストール前に上流のDockerジェネレーターと選択したコンポーネントを確認し、別のマシンで一貫して再構築できるよう、機密でないデプロイ設定を保持してください。顧客にチェックアウトを表示する前に、ドメイン解決、証明書の発行、管理者アカウントの所有権を確認してください。汎用的なDocker Composeの例は、すべてのオプションのBTCPayコンポーネントが設定されている証拠にはなりません。
- どのインスタンス所有者が更新、監視、バックアップ、インシデント対応を管理するかを決定してください。
- リバースプロキシの公開と、プライベートな Bitcoin RPC、データベース、Lightning 管理を分離してください。
- 履歴のある支払いを含むウォレットを接続する前に、プルーニングされたバックエンドの復旧/再スキャンの制限を文書化してください。
- 価値のある注文を履行する前に、統合向けのサポート対象テスト環境または小規模な管理された支払い演習を維持してください。
公式ドキュメント: BTCPay Server:導入の選択肢 · BTCPay Server: サポート対象のDockerデプロイ
シードをインポートせずに、未着のウォレット支払いを調査する
ストアは、支出キーを別のデバイスに残したまま、ウォレットのxpub/導出情報を利用できます。選択したウォレットで受信とリカバリ経路をテストしてください。BTCPayが請求書の支払いを認識しているのに外部ウォレットに表示されない場合は、資金が消えたと判断する前に、その導出スキームとアドレスのギャップリミットの動作を確認してください。未使用の生成アドレスが長く続くと、ウォレットの検出に影響することがあります。リカバリ用の単語をサーバーにコピーするのではなく、対応しているウォレットの診断機能を使用してください。
公式ドキュメント: BTCPay Server: ウォレットと導出のトラブルシューティング
履行前に請求書を照合する
請求書識別子を記録し、フルフィルメント処理を冪等にしてください。ブラウザがショップに戻るのはナビゲーションイベントであり、決済の証明ではありません。認証済みのサーバー連携を通じて支払状態を検証し、期限切れ、遅延、不足支払の請求書を明示的に処理し、未解決の結果に対する確認経路を維持してください。コールバックが繰り返された場合でも、成功応答を返すことで注文を二重に出荷またはクレジットしないでください。
- 有効期限直前に到着する支払いをテストし、注文が正しい請求書に関連付けられたままであることを確認します。
- データベース、ストア設定、ウォレットの復旧情報を、テスト済みの独立したバックアップに保管してください。
- Lightningには流動性とチャネルバックアップという別個の責任が加わります。昨日のVPS全体を復元することは、安全な汎用の復旧手順ではありません。
- BTCPayインスタンスをホストしても、KoalaVPSの顧客チェックアウトにLightningやXMRが追加されるわけではありません。このホスティングサイトの支払い方法は、公開されている7つの経路のままです。
公式ドキュメント: Bitcoin開発者ガイド:決済検証 · LND: 災害復旧 · Core Lightning: ウォレットとチャネルのバックアップ