Payments
Crypto Payments — Hosted checkout & API for 110+ coins White Label — Your brand on the entire payment flow Processing — Auto-convert, withdrawals & controls Payouts — Mass crypto payouts by API or file Platform — Marketplace payments & commissions
Swap Plugins Affiliate Pricing Blog Docs Contact
Language
Sign in
All articles

Webhooks and Idempotency: Building a Reliable Crypto Integration

A short, practical guide for developers: how to verify CryptoPayr webhooks, handle retries safely with idempotency, and never double-fulfil an order.

CryptoPayr Jul 8, 2026 2.00 min read

If you are integrating CryptoPayr yourself, two concepts will make your checkout bulletproof: signed webhooks and idempotency. Get these right and you will never double-ship an order or trust a forged callback.

Verify every webhook

When a payment changes state, CryptoPayr POSTs your webhook_url a JSON body and signs it with your API key using HMAC-SHA256, in the X-CryptoPayr-Signature header. Recompute it and compare before you trust anything:

$sig = hash_hmac('sha256', $rawBody, $YOUR_API_KEY);
if (!hash_equals($sig, $_SERVER['HTTP_X_CRYPTOPAYR_SIGNATURE'])) { http_response_code(401); exit; }

Only act on the payload once the signature matches and the status is COMPLETED.

Make fulfilment idempotent

Networks retry. You may receive the same webhook more than once, so fulfilment must be safe to run repeatedly. The pattern:

  1. Look up the order by its tid.
  2. If it is already marked fulfilled, return 200 and stop.
  3. Otherwise, fulfil it and mark it fulfilled in the same transaction.

On the create side, send an Idempotency-Key header with POST /api/v1/payment/create so a retried create returns the original payment instead of making a second one.

Respond fast, do work async

Acknowledge the webhook quickly with a 200, then do any slow fulfilment work in a background job. Slow webhook responses invite more retries.

Test before you ship

Run a small real payment end to end and confirm your handler marks the order paid exactly once. The full reference lives in the API docs.

Grab an API key and build a checkout you can trust.

Start accepting crypto today

Open a free CryptoPayr account and take your first crypto payment the same day.

Get started for free

Keep reading

📝 Guides

Pre Transaction Checks Stop Crypto Fraud for Users and Merchants

Protect users and merchants from crypto fraud: keep seeds offline, revoke approvals, use strong passwords, and add real time checks to block scams.

Aug 29, 2026 · 17.00 min Read →
📝 Guides

Custodial vs Non-Custodial Gateways: What Merchants Should Pick

Discover the key differences between custodial and non-custodial gateways to choose the right one for your merchant needs. Make an informed decision!

Aug 28, 2026 · 9.00 min Read →
📝 Guides

Who Pays Gas Fees on Ethereum, and Can You Avoid Them?

Discover who pays gas fees on Ethereum, explore how costs can shift, and learn strategies to minimize your expenses.

Aug 27, 2026 · 9.00 min Read →