Payment Links
Payment links allow you to accept crypto payments without writing any code. Create a link, share it with your customers, and get paid.
How It Works
- Create a Payment Plan in the dashboard with amount, recipient, and supported tokens
- Share the generated link via email, social media, or embed it on your website
- Customer pays by connecting their wallet and completing the transaction
- You get notified via webhook when the payment is confirmed on-chain
Payment Link Format
https://donutme.xyz/{locale}/pay/{linkId}| Parameter | Description |
|---|---|
locale | Language prefix (one of en, zh-TW, zh-CN, ja, ko, vi, es, pt-BR) |
linkId | Unique payment plan identifier |
Customizing Checkout Appearance
Each project can customize the checkout page appearance:
- Banner Image — Displayed at the top of the checkout page
- Cover Image — Your project logo/avatar
- Accent Color — Primary brand color for buttons and highlights
- Shape — Cover image border radius style
Configure these in Project Settings → Checkout Appearance.
Embedding Payment Links
You can embed the checkout page in an iframe:
HTML
<iframe
src="https://donutme.xyz/en/pay/{linkId}"
width="100%"
height="700"
frameborder="0"
allow="payment; clipboard-write"
></iframe>The iframe communicates payment completion via postMessage:
JavaScript
window.addEventListener("message", (event) => {
if (event.data?.type === "donutme:payment-completed") {
console.log("Payment completed:", event.data.payload);
// payload: { paidAmount, redirectUrl }
}
});Test Mode
Enable Test Mode in the dashboard to use testnet networks (Sepolia, BSC Testnet) without spending real funds. Test mode payment links are visually distinguished with a test badge.
