Engineering / Checklist

Integrate a Bitcoin invoice API

Model invoice state, callbacks and reconciliation before writing checkout code.

An invoice integration is a state machine. Its job is to keep business records consistent even when requests are retried or notifications arrive out of order.

01 / Keep credentials server-side

Create the invoice from a trusted backend with narrowly scoped API credentials. Validate the order and amount on that backend instead of trusting values submitted by the browser.

02 / Persist the relationship

Store the invoice identifier with the internal order reference. Choose a retry strategy that does not accidentally create conflicting payment requests. Log operational identifiers without secrets.

03 / Process events defensively

Authenticate callbacks using the provider’s documented scheme. Make event processing idempotent and check allowed state transitions. Do not fulfill an order simply because the customer returned to a success URL.

04 / Reconcile independently

Use a scheduled reconciliation process to identify missing or delayed notifications. Compare authoritative invoice state with your order records and send ambiguous cases for review.

Reference documentationBTCPay Greenfield API ↗

Planning guidance. Confirm procedures against your software version’s documentation and seek qualified support for your environment. Reviewed October 31, 2026.