Skip to main content

Payment Links

A pay link is a persistent, shareable URL tied to a specific order or invoice. It allows customers to pay with Bitcoin even when a direct checkout integration is not practical — or when payment happens asynchronously, such as via email or PDF invoice.


These are two different things, and the distinction matters.

A pay link is the merchant-facing payment request for one specific order. Your system creates it once, stores it, and gives it to the customer. It stays valid for 30 days (configurable).

A Bitcoin invoice is the technical payment request Coinsnap generates only when the customer actually clicks to pay. It locks the current exchange rate and expires after 15 minutes if unpaid.

Pay Link (your order reference)
→ Customer opens it
→ Customer clicks "Pay with Bitcoin"
→ Coinsnap generates Bitcoin invoice (current exchange rate, 15 min expiry)
→ Customer pays via Lightning or Bitcoin
→ Pay link is marked as settled

If the Bitcoin invoice expires unpaid, the pay link itself remains valid. The customer can reopen it and a fresh invoice is generated at the new exchange rate. This is what makes pay links suitable for async payment flows — the link doesn't die just because a payment attempt expired.

Pay LinkBitcoin Invoice
CreatedOnce, per orderPer payment attempt
Who sees itMerchant creates it, customer opens itCustomer sees it on the payment page
Expires30 days (configurable)15 minutes after opening
ReusableYes — generates a new invoice on each attemptNo

Pay links are the right choice whenever direct checkout integration is not possible or not practical.

Option A — After order confirmation The customer places an order. After the order is created in your system, you generate a pay link and show it on the confirmation page as an alternative payment option.

Option B — In the order confirmation email Generate the pay link after the order is created and include it in the email. The customer can pay later, when convenient.

Option C — In the customer account area The order is created as unpaid. The customer logs in and clicks "Pay with Bitcoin" from their order overview. The pay link is always available as long as the order is unpaid.

Option D — Attached to an invoice PDF or email For B2B and invoice-based billing, the pay link replaces bank transfer instructions. Instead of:

Please transfer EUR 149.00 to IBAN DE12... with reference ORD-2026-1045

you include:

Pay this invoice with Bitcoin: [link]

All payment details are already embedded in the link. The customer clicks, reviews, and pays.


Other use cases

  • Accounting and ERP systems — generate Bitcoin payment options for existing invoices from external software
  • Marketplaces and B2B ordering portals — add Bitcoin as an alternative payment method without modifying the checkout
  • Donations and tips — use a dedicated payment form flow instead of the current pay-link create API, which presently requires a fixed amount

How your system and Coinsnap relate

Your eCommerce system manages the order. Coinsnap manages the Bitcoin payment flow. The pay link connects both.

  • Your system is the source of truth for the order and invoice number
  • Coinsnap provides the hosted payment page and processes the Bitcoin payment
  • The orderId you pass when creating the pay link is the key reference for reconciliation — it appears in every webhook event

Next steps