Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

A reliable Bitcoin checkout is more than displaying a wallet address. Your backend must create each invoice, save the provider’s invoice ID against the order, authenticate every notification, apply provider-specific confirmation rules, and reconcile against the provider record when delivery is delayed or missing. Build those controls before enabling fulfillment, and treat partial, late, overpaid, expired, invalid, and refunded payments as separate states rather than a single paid flag.

This checklist covers a merchant-operated BTCPay Server integration and a third-party processor such as BitPay. Their credentials, webhook signatures, status names, confirmation timing, and settlement semantics are different, so isolate those differences behind a provider-specific adapter.

What a secure Bitcoin payment integration must guarantee

The integration should answer four questions for every order: which payment request belongs to it, whether the notification is authentic, whether the payment has reached your fulfillment threshold, and whether your ledger agrees with the provider’s current record. A browser redirect can show that a customer returned from checkout, but it is not proof that funds were received or settled.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Correlation: persist the provider invoice ID beside your internal order ID before accepting notifications.
  • Authentication: verify webhook signatures where the provider supplies them, or retrieve the invoice through an authenticated API before trusting an unsigned notification.
  • State accuracy: inspect all status fields and provider-specific exception states.
  • Idempotency: make duplicate deliveries and retrying requests harmless.
  • Auditability: retain invoice, event, amount, asset, confirmation, settlement, refund, and state-transition records.

Choose the payment model before writing code

Merchant-operated BTCPay Server

BTCPay Server routes payments to wallets controlled by the merchant. You operate the instance, wallet configuration, backups, updates, access control, and incident response. This model gives you direct custody and control, but those operational responsibilities remain yours. Verify the deployed BTCPay version and installed plugins because capabilities and field behavior can vary by instance.

#1 Best Overall
Sale
Compressed Air Duster,130000RPM Super Power Cordless Air Duster,Rechargeable Brushless Blower,3 Gear Adjustable Blower with LED Light,Dust Remover for Computer/House/Outdoor/Car
  • Powerful Turbo Fan:CAGIWIRU Electric Air Duster have reached speed up to 130000RPM,Can efficient remove dust and debris.With LED light and Three Adjustable Speed to meet with different cleaning tasks.
  • With Attached USB C Fasting Charging cable.Charing 3 hours,Enjoy up to 240 minutes of use on the lowest setting, For third speed can use for 25mins.with four charging options to meet with your needs.
  • Wide Application: attached 5 different nozzles,making it suitable for a variety of scenes, such as car,pet, pc, keyboards, and other electronic devices. It also serves for office and home clean duster.
  • Handy Design & Portable:Cordless air duster electric nozzle is Light weight and small size, design and comfortable to hold and space saving, convenient to carry around. You can put it in your room or inside the car without taking up space.
  • Economical &Reusable: Built durable materials with a long-lasting battery,our CAGIWIRU air duster it's a sustainable alternative to disposable air cans.

Third-party processing

A processor such as BitPay supplies an account, API, notification system, and its own confirmation and settlement workflow. The provider’s commercial terms, supported jurisdictions, settlement options, and account requirements are not universal; verify them for the merchant’s location and date. Do not assume that a processor’s event names or trust model match BTCPay.

On-chain and Lightning rails

Decide which rails your checkout exposes. On-chain payments wait for blockchain processing and, depending on policy, confirmations. Lightning can provide immediate payment events where the selected provider and wallet support it. Your adapter should record the rail used because timing, fees, expiry behavior, and exception handling can differ.

Design the order and payment records

Create a separate payment record instead of storing one Boolean field such as paid=true. At minimum, keep:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Internal order ID and a non-sensitive checkout identifier.
  • Provider name, environment, invoice ID, checkout URL, and payment rail.
  • Requested amount, currency or asset, exchange-rate details supplied by the provider, and invoice creation and expiry times.
  • Raw notification metadata, event or transition identifiers, receipt time, and verification result.
  • Provider status, additional status fields, confirmation information, settlement and refund records.
  • Every local state transition, the actor or process that made it, and the reason for manual intervention.

Use an order identifier for correlation. Avoid copying names, addresses, or other personal information into invoice metadata unless the integration has a clear requirement and an appropriate retention policy. BIP 70 permits merchant data such as an invoice number to match a payment request, but warns that a malicious client may modify that data; authenticate it with a merchant-controlled key or rely on your server-side invoice mapping.

Rank #2
EVEO® Screen Cleaner Spray Kit (Streak-Free) TV Screen Cleaner for Smart TV, Lcd, LEd, Oled | Computer Screen Cleaner Spray and Wipe Microfiber Cloth - TV, Monitor, Laptop, iPad, Car - 6.7oz 1 Pack
  • Screen Cleaner is Your Screen’s New Bestfriend! - EVEO is proud to present a screen cleaner that’s perfectly suited for your TV. Meet your new screen cleaner, computer screen cleaner, laptop cleaner, iPad cleaner, Macbook,tv cleaner or any other electronic device. Our screen cleaner spray and wipe along with the included plush microfiber cloth, easily removes dust, fingerprints & other smudges on the screen’s surface. Clean effectively for a streak-free screen
  • Gentle on your Screens - Our screen cleaner spray and wipes is compatible to be used even for the most sensitive LCD, LED, CRT, and OLED screens in proper use. Be at ease knowing that this product is compatible with all the major brands: LG, SONY, Samsung, Sharp, iPad, iPhone, Android screens, Kindle, PC monitors - we’ve got you covered! Can be used as LCD screen cleaner, tv cleaner, smart tv screen cleaner, and more
  • Premium Super Soft Plush Microfiber Cloth - Included in this efficient screen cleaning kit. This screen cleaner spray and wipe has our signature plush microfiber cloth specially designed to comply with screens and monitors and leave them streak-free. Has been shown to effectively absorbs stubborn stains, zero streaks, and no fiber shedding. Always use this together with our screen cleaner for the best results
  • Easy-to-Use Screen Cleaner Kit + microfiber cleaning cloth - The EVEO Screen Cleaning Kit will easily be your new favorite tool when it comes to taking care of the things you love most, quick and easy solution for a streak-free screen. Simply screw on the sprayer gun on the screen cleaner bottle. Spray the cleaning liquid onto the microfiber cloth, then wipe the screen until desired cleanliness & shine is achieved.
  • Quality Screen Care Kit Worth Purchasing - Enjoy a convenient Screen Cleaner anytime, anywhere you need it. Your satisfaction is our top priority. We stand behind the quality of our products and that’s why, you shouldn’t be worrying at all. We manufacture the Best Screen Cleaner. and can be used for laptop cleaning kit, laptop screen cleaner, tv screen cleaner for smart tv. MacBook screen cleaner, monitor cleaner or screen cleaner spray for electronic devices with microfiber cleaning cloth

End-to-end implementation procedure

  1. Select and document the provider contract. Record the API version, invoice fields, webhook event types, status transitions, expiry rules, confirmation requirements, refund method, retry behavior, and supported rails. Keep this mapping in the provider adapter rather than in checkout business logic.
  2. Create least-privilege credentials. For BTCPay, prefer a store-scoped API key with only invoice creation, invoice viewing, webhook configuration, and any explicitly required refund permissions. Never place a token, private signing key, or secret in browser JavaScript, a mobile app, a URL, or a client-visible log. Encrypt secrets at rest and define rotation and revocation procedures. BitPay’s API may require signed requests through its facade or token model; follow the credential type required by your account.
  3. Create the invoice on your backend. When checkout begins, validate the cart and amount, create the internal order in a pending state, call the provider, and persist the returned invoice ID and checkout link in one controlled transaction. If persistence fails, do not present a payment link whose invoice cannot be matched to an order. Return or redirect the customer to the provider checkout page only after the mapping is durable.
  4. Register an HTTPS notification endpoint. Use a dedicated route such as POST /payments/webhooks/{provider}. Keep it reachable without a login page, but protect it with signature verification, provider authentication, rate limits, and monitoring. Separate webhook receipt from fulfillment work so a valid request can receive a prompt success response while slower accounting or email jobs run asynchronously.
  5. Verify before parsing business data. For BTCPay, calculate HMAC-SHA256 over the exact raw request body with the store webhook secret and compare it with the supplied signature using a constant-time comparison. Do this before parsing JSON or reading invoice fields for side effects. Preserve the raw bytes because whitespace or re-serialization changes the signed message. For BitPay, IPN notifications are not signed by default; use the notification to trigger an authenticated invoice retrieval and treat the retrieved record as authoritative.
  6. Match the invoice and reject ambiguity. Look up the stored provider invoice ID, confirm that it belongs to the expected merchant account and order, and verify amount, currency or asset, and environment. Never let a customer-supplied order number select an arbitrary invoice. Unknown, reused, or mismatched IDs should be logged and quarantined for review.
  7. Apply an idempotent transition. Store an event or transition key, or compute a deterministic fingerprint from provider ID, status, and event time. If the same delivery arrives again, return success without sending another fulfillment email, shipping order, credit, or refund. BitPay supports an optional guid on POST requests to make requests idempotent; use it where applicable.
  8. Choose the fulfillment threshold explicitly. Map provider states to local states such as invoice_created, payment_seen, confirmed, settled, exception, and refunded. Release digital goods or start shipping only at the threshold approved for the product’s risk and value.
  9. Reconcile independently. Schedule API reads for open and recently changed invoices. If a webhook is late, duplicated, malformed, or missing, fetch the provider record and compare it with your local payment. A successful browser return must never bypass this check.

Webhook security and delivery behavior

BTCPay signature handling

BTCPay documents an HMAC-SHA256 signature based on the event payload and the store webhook secret. Read the request body once as raw bytes, calculate the expected digest, and compare it safely. Reject invalid signatures with no state change. Keep the secret out of source control, rotate it through a controlled deployment, and alert on repeated verification failures.

Acknowledge a valid delivery promptly. If downstream work is unavailable, persist the verified event and queue it rather than timing out and causing needless retries. Your handler must tolerate at-least-once delivery: providers can retry after a timeout, and an operator may manually redeliver an event during testing.

BitPay IPN handling

BitPay’s integration notes state that IPNs are not signed by default. An IPN therefore indicates that you should retrieve the invoice, not that you may finalize payment. Authenticate that retrieval with the API credentials, verify the returned invoice ID and order mapping, and apply state only from the response that your server obtained directly.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Transport and protocol considerations

Use HTTPS for checkout and notification URLs, validate certificates, and restrict administrative endpoints separately from public webhook routes. BIP 70 describes secure payment-request identity and transport as defenses against address-substitution attacks, but wallet support for the protocol is not universal. Do not claim BIP 70 protection unless the wallet and integration actually implement it.

Rank #3
Sale
BladeHawks RGB Gaming Mouse Pad Extra Large Extended 31.5x12 Inch-Black | LED mouse pad with 14 lighting modes, covers keyboard & mouse, anti-slip rubber base, waterproof surface, USB powered
  • 【Large size】:Measuring 800 x 300 mm/ 31. 5×12 inches, which is wider and taller than others. Large mouse pad can perfectly fit your keyboard and mouse of any size, and there is also ample space for peripherals such as phones, tablets, etc.
  • 【LED backlight mouse pad】:Blade Hawks RGB mouse pad provides 7 static modes and 7 dynamic modes will give you the options you are looking for. Power-off memory function remembers the last lighting mode you selected. The super glow fiber Chroma will give you a colorful gaming setup that you want.
  • 【Anti-slip rubber base】:Made from Natural rubber, this gaming mousepad will firmly grip your desktop, allowing you to enjoy the ultimate precision in the games you are most passionate about. It also comes with a texture that enhances this ability even further.
  • 【Smooth and waterproof surface】: Micro-textured cloth surface, for extremely precise mouse control and a smooth movement. When liquid splashes on the gaming mouse pad, it forms water droplets and slides down. Will not delay your work or gameplay.
  • 【Plug and play】: This mouse and keyboard pad is powered by USB, plug and play, no driver required. One button control light modes. Press one time to change the lighting mode, press twice to change the brightness, press and hold about 3 seconds turn ON/OFF.

Provider states and when to fulfill

Names and meanings are provider-specific. Keep a translation table in code and review it whenever the provider changes its API or your instance adds a plugin.

Provider State or field Operational meaning Recommended handling
BTCPay Server status plus additionalStatus The full invoice picture requires both properties; additional states can identify partial, late, or overpaid payments. Fetch and evaluate both fields. Do not mark an apparently expired invoice failed until you have checked for a late or partial payment.
BitPay paid An early signal that does not represent a payment guarantee. Do not finalize fulfillment from this notification alone; retrieve the invoice and wait for your chosen threshold.
BitPay confirmed BitPay’s stage after an initial blockchain validation. Use only if your risk policy accepts this stage and the current provider contract defines it as sufficient.
BitPay complete BitPay’s later validation and settlement stage. Often the safer threshold for irreversible or high-value fulfillment, subject to your account policy.

BTCPay documentation describes on-chain processing and settlement notifications as separated by an average block-finding interval, while corresponding Lightning events can occur immediately after one another. BitPay documentation gives examples of roughly 10 minutes to one confirmation and roughly 20 minutes to a two-confirmation completion stage. These are provider documentation estimates, not guaranteed arrival times; network conditions, provider policy, and account settings can change the result.

Reconciliation that survives missed events

Periodic recovery job

Run a job that queries invoices in pending, payment-seen, confirmed, exception, and recently completed states. Use a narrow time window first, then a slower historical sweep. Respect provider rate limits and record the last successful cursor or timestamp so a temporary outage does not create a gap.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Comparison rules

For each retrieved invoice, compare the provider invoice ID, internal order ID, requested amount, currency or asset, payment rail, provider status, additional status, confirmation count, settlement record, and refund record. Flag any mismatch instead of silently overwriting local data. A manual reviewer should see both versions and the exact time each was observed.

Rank #4
Sale
Vaydeer Wrist Rest for Keyboard and Mouse, Computer Ergonomic Wrist Support Pad, Soft Memory Foam Arm Cushion for Desk, Palm Hand Office Laptop Typing
  • 【Softer and More Comfortable】Vaydeer wrist rest has unique diamond pattern, which is the combination of softness and aesthetics. The materials of wrist rest are improved into higher quality memory foam and covered with silky smooth lycra. The computer wrist rest makes you as comfortable and cushiony as like rest your wrists on clouds.
  • 【Ergonomic Wrist Saver】The wrist rests for keyboard and mouse comes with a 17.32×3.15×0.83 inch keyboard wrist pad and a 5.94×3.15×0.83 inch mouse wrist support. Based on ergonomic design, the unique concave shape is the perfect fit for your wrist joints. The wrist rest pad fits most computer keyboards and laptops, improve hand and wrist posture, release your wrist and arm stress.
  • 【Non-Slip Rubber Bottom】Featuring an anti-skid silicone base on the bottom, this wrist keyboard support stays firmly in place on your desk, preventing the padding from sliding around, ensuring stable and consistent wrist support during extended computer sessions.
  • 【Better Experience & Pain Relief】Our keyboard arm rest is beneficial to alleviate the soreness caused by direct contact and friction between your arm and a hard desk surface, reducing the risk of wrist fatigue or carpal tunnel. The soft texture of memory foam can evenly distribute the pressure around your wrists and provide good support with just enough give.
  • 【Helpful in Multiple Scenarios】Whether you're working, studying, writing, typing, gaming, this keyboard and mouse rest combo is an essential accessory to add comfort and support to your hands and wrists. It’s also a great gift for men, women, family, friend, coworker, gamer, teacher, etc.

Ledger and fulfillment controls

Post a single accounting entry for the accepted payment and separate entries for fees, refunds, charge adjustments, or manual corrections. Fulfillment should be triggered by an idempotent transition, not by every reconciliation run. If local state says fulfilled but the provider record does not support the threshold, freeze further automation and investigate credentials, mapping, or a possible forged event.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Exceptions, refunds, and customer communication

Partial payments

Keep the order open or move it to a review queue according to your policy. Record the amount received and the remaining amount; do not silently treat a partial transfer as paid.

Overpayments

Capture the excess amount and the customer reference. Decide whether to apply it to the order, hold it, or return it, and document approval requirements before launch.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Late and expired invoices

An invoice can be nominally expired while a payment is partial or late. Check BTCPay’s additional status fields and the provider’s current invoice record before cancelling an order. Explain to customers whether a late transfer will be fulfilled, refunded, or manually reviewed.

Best Value
Sale
Under Desk Cable Management Tray No Drill, Metal Mesh Cable Management Under Desk with Clamp Mount, 2 Hole Cable Tray with Wire Management and Cord Organizer for Home Office Standing Desk
  • 【No Drill Mounted】Cable management tray can be assembled in as little as 3 minutes or less-simply. Side clips easily clampe the edge of desk, pass through the holes on the sides, and secure excess cables with baskets. Desk cable management supports inward or outward installation to meet your needs in different scenarios, and provides you with great convenience when collecting and organizing wires.
  • 【Rubber Pad Protects Desk】Wire organizer under desk built-in soft rubber pads on the clamp protect your desk from scratches, so you will not damage your furniture or office.
  • 【Sturdy and Beautiful】Cord management under desk is made of high-quality carbon steel and holds about 15 lbs. The wire basket has 2 holes on each side of the tray to enable your cables to pass freely. Cable baskets are suitable for desk thickness use from 0.4" to 2.4".
  • 【Space Saving & Keep Organized】Desk cable management tray holds all your power cords, outlet strips, USB hubs and computer transformers hidden from your feet, and the data cables will not enter the vacuum cleaner to keep your desk clean and tidy. Desk wire organizer is also suitable for use in the kitchen and outdoors.
  • 【Reduce Safety Risks】Cable tray under desk keeps all plugs away from your kids, no more worry about tripping. Using 2 holes wire tray saves extra space, helps you easily cabling and wire protection. The mesh design is not easy to accumulate dust, but avoids safety accidents caused by messy wires.

Invalid payments

Quarantine transactions that use the wrong asset, wrong network, malformed destination, or otherwise fail provider validation. Never credit an order from an unverified transaction hash supplied by the customer.

Refunds

Define who can approve refunds, which wallet or provider workflow sends them, how the destination address is authenticated, and how the refund is linked to the original invoice. BTCPay provides invoice-refund and pull-payment workflows, but exact steps depend on the integration and wallet setup. Record the refund identifier and completion state separately from the original payment.

Testing checklist before production

Use a test store, sandbox, or controlled low-value environment where available. Exercise every branch below and retain logs proving the expected transition:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Normal on-chain payment through the selected fulfillment threshold.
  • Lightning payment where the integration supports it.
  • Duplicate webhook delivery and duplicate API response.
  • Invalid signature or malformed notification.
  • Endpoint timeout followed by provider redelivery.
  • Missed notification recovered through an API lookup.
  • Partial, overpaid, late, expired, and invalid invoices.
  • Customer return to the merchant site before settlement.
  • Refund creation, retry, completion, and reconciliation.
  • Provider outage, credential revocation, secret rotation, and database recovery.

Verify that only authenticated events change state, repeated events create no duplicate side effects, and every manual decision leaves an audit record. BTCPay documentation also describes manual redelivery for testing; use that facility to confirm your retry and idempotency behavior.

Operations and launch review

  • Keep API keys and webhook secrets in a managed secret store, with access limited to the payment service.
  • Monitor signature failures, unknown invoice IDs, amount mismatches, reconciliation gaps, queue age, and repeated provider errors.
  • Back up wallet data, payment records, and transition logs; test restoration rather than assuming backups work.
  • Document who owns server updates, plugin review, wallet security, incident response, and customer support.
  • Set alerts for invoices that remain unresolved beyond their expiry plus your review window.
  • Review provider documentation and your actual BTCPay instance after upgrades; never copy event names, signature assumptions, retry timing, or settlement semantics from another adapter.

Before launch, obtain a written answer for each order state: who can change it, what evidence is required, whether fulfillment is automatic, and how the customer is informed. That decision record is as important as the API code because it defines the boundary between a blockchain observation and a business commitment.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.